CatWar Script

Новый мод-скрипт для браузерной игры CatWar. Админы скрипта летом вышли и потрогали траву.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         CatWar Script
// @version      1.0.1
// @description  Новый мод-скрипт для браузерной игры CatWar. Админы скрипта летом вышли и потрогали траву.
// @author       Krivodushie & Psiii
// @copyright    2024 Запал (https://catwar.su/cat1562064) & Весело (https://catwar.su/cat590698)
// @license      MIT; https://opensource.org/licenses/MIT
// @match        *://catwar.su/*
// @grant        GM_xmlhttpRequest
// @grant        GM.xmlHttpRequest
// @grant        GM_addStyle
// @namespace https://greasyfork.org/users/1354145
// ==/UserScript==

'use strict';

const version = 'v1.0'
const csDefaults = {
     'textTemplates': true //               ШАБЛОНЫ В ЛС
      ,'toggleTT': false //                  Сворачивать ли шаблоны ЛС по умолчанию
      ,'ttReplaceTheme': true //             Заменять ли тему сообщения названием шаблона?
     ,'ttBlog': true //                     ШАБЛОНЫ В БЛОГАХ И ЛЕНТЕ
      ,'toggleTTBlog': true //               Сворачивать ли шаблоны БЛОГОЛЕНТЫ по умолчанию
      ,'ttReplaceThemeB': true //            Вставлять ли название шаблона как название поста?
     ,'ttChat': true //                     ШАБЛОНЫ В ЧАТЕ
      ,'toggleTTChat': true //               Сворачивать ли шаблоны ЧАТА по умолчанию

     ,'inGameClock': false //               ЧАСЫ В ИГРОВОЙ
      ,'isClockMoscow': true //              Московсике ли часы?
      ,'isDateShow': true //                 Показывать ли дату?
      ,'movableClocks': false //             Перетаскиваемые часы
      ,'clockFontWeight': '17' //            Размер шрифта часов

    ,'customDefects': true //              ОТОБРАЖЕНИЕ ДЕФЕКТОВ В ИГРОВОЙ
     ,'cdSColors': true //                   Выделять ли клетку цветом?
     ,'cdSRamki': true //                    Выделять ли клетку рамкой? (Да/Нет)
     ,'cdOpacity': "0.3" //                  Прозрачность выделения клетки
     ,'cdSIcon': true //                     Показывать ли иконки дефектов в игровой?
     ,'cdCRani': "#4646ff" //                РАНЫ (ЦВЕТ)
      ,'cdSRani1': true //                    1 стадия
      ,'cdSRani2': true //                    2 стадия
      ,'cdSRani3': true //                    3 стадия
      ,'cdSRani3B': true //                   3 стадия (!)
      ,'cdSRani4': true //                    4 стадия
      ,'cdSRani4B': true //                   4 стадия (!!!)
     ,'cdCPoison': "#ff4646" //              ОТРАВЛЕНИЕ (ЦВЕТ)
      ,'cdSPoison1': true //                  1 стадия
      ,'cdSPoison2': true //                  2 стадия
      ,'cdSPoison3': true //                  3 стадия
      ,'cdSPoison3B': true //                 3 стадия (!)
      ,'cdSPoison4': true //                  4 стадия
      ,'cdSPoison4B': true //                 4 стадия (!!!)
     ,'cdCTrauma': "#46ffef" //             УШИБЫ (ЦВЕТ)
      ,'cdSTrauma1': true //                  1 стадия
      ,'cdSTrauma2': true //                  2 стадия
      ,'cdSTrauma3': true //                  3 стадия
      ,'cdSTrauma3B': true //                 3 стадия (!)
      ,'cdSTrauma4': true //                  4 стадия
      ,'cdSTrauma4B': true //                 4 стадия (!!!)
     ,'cdCDrown': "#68ff46" //               ПЕРЕЛОМЫ (ЦВЕТ)
      ,'cdSDrown1': true //                   1 стадия
      ,'cdSDrown2': true //                   2 стадия
      ,'cdSDrown3': true //                   3 стадия
      ,'cdSDrown3B': true //                  3 стадия (!)
      ,'cdSDrown4': true //                   4 стадия
      ,'cdSDrown4B': true //                  4 стадия (!!!)
     ,'cdCGryaz': "#9446ff" //               ГРЯЗЬ (ЦВЕТ)
      ,'cdSGryaz1': true //                   1 стадия
      ,'cdSGryaz2': true //                   2 стадия
      ,'cdSGryaz3': true //                   3 стадия
      ,'cdSGryaz3B': true //                  3 стадия (!)
      ,'cdSGryaz4': true //                   4 стадия
      ,'cdSGryaz4B': true //                  4 стадия (!!!)
     ,'cdSCough': true //                    КАШЕЛЬ
      ,'cdCCough': "#eeff46" //               Цвет кашля
     ,'cdSPodstilki': true //                ПОДСТИЛКИ
      ,'cdCPodstilki': "#79553d" //           Цвет подстилок
     ,'cdSDivers': false //                  НЫРЯЮЩИЕ (Показываются картиночкой)

    ,'customItems': true //                 ОТОБРАЖЕНИЕ ПОЛЕЗНЫХ РЕСУРСОВ В ИГРОВОЙ
     ,'ciSHerb': true //                     Травы
      ,'ciCHerb': '#2bff75' //                Цвет трав
     ,'ciSMoss': false //                    Мох
      ,'ciCMoss': '#2bff75' //                Цвет мха
     ,'ciSWeb': false //                     Паутина
      ,'ciCWeb': '#2bff75' //                 Цвет паутины
     ,'ciSStick': false //                   Ветки
      ,'ciCStick': '#2bff75' //               Цвет веток
     ,'ciSDust': false //                    Пыль
      ,'ciCDust': '#c096e2' //                Цвет пыли
     ,'ciSMusor': false //                   Мусор
      ,'ciCMusor': '#ff2b2b' //               Цвет мусора
     ,'ciOpacity': '0.25' //                 Прозрачность выделения клеток с предметами

 //                                        ЛИЧНЫЕ СООБЩЕНИЯ
    ,'dontReadenLS': false //               Непрочитанные ЛС для себя
    ,'timerForLS': false //                 Таймер до удаления ЛС

 //                                        ИГРОВАЯ - БОЕРЕЖИМ
    ,'phoneFightPanel': false //            Переместить кнопочки боережима для телефонщиков
    ,'friendlyCatWar': false //             Удалить кнопки захода в опасные БР
    ,'deleteFPTitles': false //             Убрать тайтлы у кнопок боережима
    ,'showButterflyBots': false //          Показывать бота-бабочку для прокачки бу
    ,'fightWarning': false //               Уведомление о введении в опасный БР
    ,'fightWarningVol': 1
    ,'fightWarningHref': 'https://github.com/CatWarScript/CatWarScript/raw/main/audios/attackAlarm.mp3'
    ,'shortFightLog': false //              Сокращать лог БР

 //                                         СПИСОК ДРУЗЕЙ И ВРАГОВ
    ,'showEnemy': true //                    Показывать котиков из списка врагов в Игровой?
     ,'enemyList': [] //                     Список врагов (обновляется при обновлении страницы списка врагов)
     ,'enemyColor': '#FFA500' //             Цвет выделения врагов в игровой

 //                                        РАЗНОЕ
    ,'brightGameField': false //            Выключить затемнение поля игровой
    ,'nightLagsWarning': true //            Предупреждение о лагах в 3-4 ночи
    ,'darkCatTooltip': false //             Тёмное окошко информации о котах
    ,'boneCorrectTimer': false //           Таймер ношения костоправов
    ,'toggleBoneTimer': false //            Свернуть таймер ношения костоправов
    ,'hideWoundWarning': true //            Скрыть предупреждение о ранах
    ,'hideFieldButton': false //            Кнопочка "Скрыть поле" для ПК-версии сайта
    ,'newInfoBlock': true //
     ,'ahbHistory': false //                  История
     ,'ahbRelatives': false //                Родственные связи
     ,'ahbParameter': false //                Параметры и навыки
    ,'actionEndTimer': true //             Таймер до окончания действия как на телефоне
    ,'diverSiren': false //                Громкие звуки при большом сне на нырялках
     ,'diverSirenMinutes' : 35 //           На какой минуте начинает срабатывать сирена?
     ,'diverSirenVol': 0.7 //               Громкость звука (Дефолтный звук сирена минус 10 социальный кредит)
     ,'diverSirenHref' : "https://github.com/CatWarScript/CatWarScript/raw/main/audios/soundDiver.mp3"
     ,'dsY': 50
     ,'dsX': 50
    ,'kalinnikFunction': false //          Не включайте это
     ,'kalinnikFunctionVolume': 0.7 //      (Пожалуйста)
    ,'smellTimer': false //                Таймер до следующего нюха
     ,'smellTimerVol': 0.7 //               Громкость таймера нюха
     ,'smellTimerHref': 'https://github.com/CatWarScript/CatWarScript/raw/main/audios/actionEnd.mp3' //             Ссылка на звук таймера нюха
    ,'newLS': false //                     Уведомлять о новых ЛС
     ,'newLSVol': 0.7 //                    Громкость уведомления о новом ЛС
    ,'newChat': false //                   Уведомлять о новых сообщениях в Чате
     ,'newChatVol': 0.7 //                  Громкость уведомления о новом чате
    ,'eatenNote': false //                 Уведомление о поднятии в игровой
    ,'eatenNoteVol': 0.7 //                 Громкость уведомления о поднятии
    ,'messageSound': 'https://catwar.su/new_message.mp3'


    ,'treeMap': true //                    ОКОШКО ЛАЗАЛОК
     ,'tmResetNote': true //                Уведомление при изменении карты
     ,'tmResetVolume': 0.5 //               Громкость уведомления об изменении карты
     ,'tmResetSource': 'https://github.com/CatWarScript/CatWarScript/raw/main/audios/refresh.mp3'
     ,'tmShowVolume': true //               Показывать громкость звуков в чате?
     ,'tmClearConfirm': true //             Запрашивать подтверждение при очистке карты?
     ,'tmFolded': true //                   Окошко изначально свёрнуто?
     ,'tmBTNSShowMap': false //             Показывать карту на игровой
     ,'tmSelectedMap': 5 //                 Выбранная карта
     ,'tmVariant': 1 //                     Вариант визуала окошка ЛУ
     ,'tmTecPosY': 50 //                    Пиксели окошка сверху
     ,'tmTecPosX': 50 //                    Пиксели окошка слева
     ,'tmTecFolNames': ['А', 'Б', 'В', 'Г']
     ,'tmTecFolStatus':[true, true, true, true]
     ,'tmTecLocNames': ['1А', '2А', '3А', '4А', '5А', '6А', '1Б', '2Б', '3Б', '4Б', '5Б', '6Б', '1В', '2В', '3В', '4В', '5В', '6В', '1Г', '2Г', '3Г', '4Г', '5Г', '6Г']
     ,'tmTecLocStatus':[true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true]

 //                                        СТИЛИ
    ,'selTheme': 0
    ,'setka': false //                      Сетка (включить её крч)
    ,'cageGrid': true //                    Сетка ячеек локации
    ,'cageGridVar': false
     ,'cgColor': "#ffffff" //                Цвет сетки ячеек
     ,'cgOpacity': "0.25" //                 Прозрачность сетки
    ,'desighnColors': false //    (beta)    Основные моменты в стилях в зависимости от дизайна
     ,'dsghnClr': '#random' //    (beta)     Цвет 1
     ,'dsghnClr2': '#random' //   (beta)     Цвет 2
     ,'dsghnImg': '' //           (beta)     Фоновое изображение
    ,'customGame': true //        (beta)   ПОЛЬЗОВАТЕЛЬСКАЯ КАСТОМНАЯ ИГРОВАЯ (Настройки)
     ,'compactTool': true //      (beta)    Инструмент отладки на страничке настройки кастомной игровой
     ,'ctTecPosX': 50 //          (beta)    Положение инструмента отладки (Слева)
     ,'ctTecPosY': 50 //          (beta)    Положение инструмента отладки (Сверху)
     ,'playerCustom': false //    (beta)    Включить кастомную компактную игровую
     ,'cgpcImport': '' //         (beta)    Окошко импорта кастомной компактной игровой
     ,'cgpcExport': '' //         (beta)    Окошко экспорта кастомной компактной игровой
    ,'compactDefault1': false //  (beta)    Компактная игровая (Вариант 1)
    ,'compactDefault2': false //  (beta)    Компактная игровая (Вариант 2)
    ,'compactDefault3': false //  (beta)    Компактная игровая (Вариант 3)

    ,'cgBorderWid': 3 ,'cgBorderType': 'solid' ,'cgBorderCol': '#000000' ,'cgBorderRad': 6 ,'cgIsBorderRad': true
    ,'cgBodyCol': '#ff0000' ,'cgFieldWid': '' ,'cgFieldHei': '' ,'cgFieldX': 500 ,'cgFieldY': 500 ,'cgIsFieldFix': false
    ,'cgParWid': 500 ,'cgParHei': 500 ,'cgParX': 500 ,'cgParY': 500 ,'cgParCol': '#ffdead', 'cgParFCol': '#000000'
    ,'cgTOSWid': 500 ,'cgTOSHei': 500 ,'cgTOSX': 500 ,'cgTOSY': 500, 'cgTOSCol': '#000000'
    ,'cgSkyWid': 500 ,'cgSkyHei': 500 ,'cgSkyX': 500 ,'cgSkyY': 500
    ,'cgSmallWid': 500 ,'cgSmallHei': 500 ,'cgSmallX': 500 ,'cgSmallY': 500, 'cgSmallCol': '#ffdead', 'cgSmallFCol': '#000000'
    ,'cgOCLWid': 500 ,'cgOCLHei': 500 ,'cgOCLX': 500 ,'cgOCLY': 500, 'cgOCLFCol': '#000000'
    ,'cgChatWid': 500 ,'cgChatHei': 500 ,'cgChatX': 500 ,'cgChatY': 500 ,'cgChatCol': '#f57a00', 'cgChatFCol': '#000000'
    ,'cgClockWid': 500 ,'cgClockHei': 500 ,'cgClockX': 500 ,'cgClockY': 500 ,'cgClockCol': '#ffdead', 'cgClockFCol': '#000000'
    ,'cgTBWid': 500 ,'cgTBHei': 500 ,'cgTBX': 500 ,'cgTBY': 500 ,'cgTBCol': '#ffdead', 'cgTBFCol': '#000000'
    ,'cgHisWid': 500 ,'cgHisHei': 500 ,'cgHisX': 500 ,'cgHisY': 500 ,'cgHisCol': '#ffdead', 'cgHisFCol': '#000000'
    ,'cgDeysWid': 500 ,'cgDeysHei': 500 ,'cgDeysX': 500 ,'cgDeysY': 500 ,'cgDeysCol': '#ffdead', 'cgDeysFCol': '#000000'
    ,'cgRotWid': 500 ,'cgRotHei': 500 ,'cgRotX': 500 ,'cgRotY': 500 ,'cgRotCol': '#ffdead', 'cgRotFCol': '#000000'
    ,'cgLocWid': 500 ,'cgLocHei': 500 ,'cgLocX': 500 ,'cgLocY': 500 ,'cgLocCol': '#ffffff', 'cgLocFCol': '#000000'
    ,'cgRSWid': 500 ,'cgRSHei': 500 ,'cgRSX': 500 ,'cgRSY': 500 ,'cgRSCol': '#ffdead', 'cgRSFCol': '#000000'
    ,'cgParAlertWid': 'h' ,'cgParAlertHei': 'u' ,'cgParAlertCol': 'i' ,'cgParAlertX': 500 ,'cgParAlertY': 500 ,'cgParAlertFCol': '#000000'
    ,'cgInfoH2DelMargins': true
    ,'cgInfoH2FontSize': 22
    ,'cgDelRSH2': false
    ,'cgDelHisH2': false
    ,'cgDelParH2': false
    ,'cgSeparateLocation': true
    ,'cgLocFW': 17 // фонт вейт локации
    ,'cgFontSize': 14 // Фонт вейт всего нахуй
    ,'cgBorders': true
    ,'cgTbBorder': true
    ,'cgSmallFW': 14 // Смалл фонт вейт
    ,'cgYouBG': '' // Фон упомянания
    ,'cgYouFC': '' // Цвет упомянания
    ,'cgInputCol': '#ffffff'
    ,'cgInputFCol': '#000000'
    ,'cgInputBorders': true
    ,'cgIsTBBorderRad': true
    ,'cgIsLocBorderRad': true
    ,'cgDeleteScrolls': true
    ,'cgChatSliderCol': '#fece2f'
    ,'cgChatSliderBorderCol': '#d19405'
    ,'cgChatSliderLineCol': '#ebebeb'
    ,'cgChatSliderLineBorder': '#a5a5a5'

 //                                         БИБЛИОТЕКА КОСТЮМОВ
    ,'costumeLibrary': true //               Включить библиотеку костюмов
     ,'clLakeUniverse': true //              Озёрная Вселенная
     ,'clSeaUniverse': false //              Морская Вселенная
     ,'clCreatorUniverse': false //          Вселенная Творцов
     ,'watermarkCostumes': false //          Наш значок у костюмов из библиотеки
     ,'clMemeCostumes': true //              Показывать ли мемные костюмы
     ,'clRemoveAllTongues': false //        Спрятать все языки.. (К.. Куда?.. 😲)
     ,'clRemoveAllCostumes': false //       Убрать все костюмы
};

const globals = {};
for (var key in csDefaults) {
  let settings = getSettings(key);
  if (settings === null) {
    globals[key] = csDefaults[key];
  }
  else {
    if (Array.isArray(csDefaults[key])) {
      globals[key] = JSON.parse(settings);
    }
    else if (typeof csDefaults[key] === 'number') {
      globals[key] = parseFloat(settings);
    }
    else {
      globals[key] = settings;
    }
  }
}

function getSettings(key) {
  let setting = 'cs_n_' + key;
  let val = window.localStorage.getItem(setting);
  switch (val) {
    case null:
      return null;
    case 'true':
      return true;
    case 'false':
      return false;
    default:
      return val;
  }
}

function setSettings(key, val) {
  let setting = 'cs_n_' + key;
  window.localStorage.setItem(setting, String(val));
  globals[key] = val; // Записываем новое значение в globals
}

function removeSettings(key) {
  let setting = 'cs_n_' + key;
  window.localStorage.removeItem(setting);
}

function resetSettings(settingsToReset) {
    for (var i = 0; i < settingsToReset.length; i++) {
      let key = settingsToReset[i];
      removeSettings(key);
    }
    for (i = 0; i < settingsToReset.length; i++) {
      let key = settingsToReset[i];
      globals[key] = csDefaults[key];
    }
    $('.cs-set').each(function() {
      let key = this.id;
      if (settingsToReset.includes(key)) {
        let val = csDefaults[key];
        if (this.type === 'checkbox') {
          this.checked = val;
        }
        else {
          this.value = val;
        }
      }
    });
  }

  const audioGlobal = new Audio();
  audioGlobal.autoplay = false;
  audioGlobal.loop = false;
  function playAudio(src, vlm) {
    //console.log('playAudio fired, src', src,'vlm', vlm);
    let audio = audioGlobal;
    audio.src = src;
    audio.volume = vlm;
    audio.play();
  }

function nightLagsWarning() {
  function showWarning() {
    let now = new Date();
    now.setHours(now.getUTCHours() + 3);
    let hours = now.getHours();
    let minutes = now.getMinutes();
    if ((hours === 2 && minutes >= 50) || (hours === 3) || (hours === 4 && minutes <= 10)) {
      if ($('#warning').length === 0) {
        let warningHtml = `<div id="warning" style="background: white; font-weight: bold; text-align: justify; padding: 2px 10px; position: fixed; z-index: 1;">
                          Настоятельно рекомендуем Вам покинуть локации для лазания и ныряния в промежутке с 03:00 до 04:00 по МСК. В случае продолжения нахождения на них не используйте горячие клавиши при перемещении между локациями, а также не нажимайте на переходы по несколько раз. Некоторый контент может находиться под данным уведомлением. <a id="hideWarning" href="#">Скрыть</a>
                          </div>`;
        $('body').prepend(warningHtml);
        $('#hideWarning').click(function() {
          $('#warning').remove();
        });
      }
    }
    else {
      $('#warning').remove();
    }
  }
  showWarning();
}


function hexToRGBA(hexCode, opacity) {
  if (!/^#[0-9A-Fa-f]{6}$/.test(hexCode)) {
    console.error("Неверный HEX-код:", hexCode);
    return;
  }
  let r = parseInt(hexCode.substring(1, 3), 16);
  let g = parseInt(hexCode.substring(3, 5), 16);
  let b = parseInt(hexCode.substring(5, 7), 16);
  return `rgba(${r}, ${g}, ${b}, ${opacity})`;
}


function appendToElementOrPrependFallback(primaryElement, secondaryElement, elementToAdd) {
  if ($(primaryElement).length) {
    $(primaryElement).append(elementToAdd);
  }
  else {
    $(secondaryElement).before(elementToAdd);
  }
}
 // Я был сонненький и функции назвал ущербно конечно
function appendToElementOrFallback(primaryElement, secondaryElement, elementToAdd) {
  if ($(primaryElement).length) {
    $(primaryElement).append(elementToAdd);
  }
  else {
    $(secondaryElement).after(elementToAdd);
  }
}


const pageurl = window.location.href;
const isCW3 = (/^https:\/\/\w?\.?catwar.su\/cw3(?!(\/kns|\/jagd))/.test(pageurl));
const isSite = !(/^https:\/\/\w?\.?catwar.su\/cw3(\/kns|\/jagd)?.*/.test(pageurl));
const isDM = (/^https:\/\/\w?\.?catwar.su\/ls/.test(pageurl));
const isSett = (/^https:\/\/\w?\.?catwar.su\/settings/.test(pageurl));
const isMyCat = (/^https:\/\/\w?\.?catwar.su\/$/.test(pageurl));
const isAll = (/^https:\/\/\w?\.?catwar.su\/.*/.test(pageurl));
const isFae = (/^https:\/\/\w?\.?catwar.su\/fae/.test(pageurl));
const isBlogs = (/^https:\/\/\w?\.?catwar.su\/(blogs|sniff)/.test(pageurl));
const isChat = (/^https:\/\/\w?\.?catwar.su\/chat/.test(pageurl));
const isCustom = (/^https:\/\/\w?\.?catwar.su\/scriptcustomcw3/.test(pageurl));

try {
  if (isCW3) cw3();
  if (isDM) dm();
  if (isSite) site();
  if (isSett) sett();
  if (isMyCat) myCat();
  if (isAll) all();
  if (isFae) fae();
  if (isBlogs) blogs();
  if (isChat) chat();
  if (isCustom) custom();
}
catch (error) {
  console.error("An error occurred: ", error);
}

// ...
// ...
// ...

function sett() {
  let cssForSett = `
   <style>

    td#tableContent::-webkit-scrollbar {
    width: 10px; }

    td#tableContent::-webkit-scrollbar-track {
    background: var(--cwsc-scrl-1) !important;
    border-radius: 3px; }

    td#tableContent::-webkit-scrollbar-thumb {
    background: var(--cwsc-scrl-2) !important;
    border-radius: 3px; }

    table#tableCWScSet {
    font-family: Montserrat;
    outline: 5px solid var(--cwsc-brdr-1);
    margin: 10px;
    border-radius: 15px !important;
    color: var(--cwsc-txt-1);
    width: 98%; }

    td#tableHeader {
    vertical-align: top !important;
    background-color: var(--cwsc-bckg-1);
    color: var(--cwsc-txt-2);
    border-radius: 10px 0px 0px 10px !important;
    border: 4px solid var(--cwsc-brdr-2);
    border-top: none;
    border-bottom: none;
    border-left: none;
    width: 30%; }

    td#tableHeader>table {
    width: 100%; }

    tr#cwsSetHeader {
    border: 4px solid var(--cwsc-brdr-2);
    border-top: none;
    border-left: none;
    border-right: none; }

    div#cwsSet>b {
    display: flex !important;
    justify-content: center;
    text-transform: uppercase;
    color: var(--cwsc-txt-2);
    font-size: 28px;
    letter-spacing: 20px;
    padding: 15px 0px;
    margin-left: 20px; }

    div#headerButtons {
    position: relative;
    width: 100%;
    padding: 15px 0px;
    padding-top: 15px; }

    div#headerButtons>a:not([id="info"])::before{
    content: "✦ "; }

    div#headerButtons>a {
    display: inline-block;
    margin: 10px 20px; }

    div#headerButtons>a.active {
    transition: 0.5s;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 2px;
    color: var(--cwsc-txt-3) !important; }

    div#headerButtons>a.active:hover {
    transition: 0.5s;
    text-decoration: none;
    filter: brightness(140%); }

    div#headerButtons>a.passive {
    transition: 0.5s;
    text-decoration: none;
    letter-spacing: 2px;
    color: var(--cwsc-txt-2) !important; }

    div#headerButtons>a.passive:hover {
    transition: 0.5s;
    text-decoration: none;
    filter: brightness(140%); }

    a#info {
    display: flex !important;
    justify-content: center;
    position: relative;
    top: 395px;
    letter-spacing: 10px !important;
    margin-right: 10px !important; }

/* div#headerButtons>a#info::before {
content: "✦ "; }

div#headerButtons>a#info::after {
content: " ✦"; } */

    div.contacts {
    display: flex;
    justify-content: center;
    position: relative;
    top: 395px; }

    div.contacts>div {
    background-color: var(--cwsc-bckg-5);
    border-radius: 10px;
    margin: 15px;
    padding: 2px 3px 0px 3px; }

    div.contacts>div:hover {
    background-color: var(--cwsc-bckg-4); }

    a#vk {
    filter: var(--cwsc-fltr-vk); }

    a#vk:hover {
    filter: none; }

    a#tg {
    filter: var(--cwsc-fltr-tg); }

    a#tg:hover {
    filter: none; }

    a#bs {
    filter: var(--cwsc-fltr-bs); }

    a#bs:hover {
    filter: none; }

    td#tableContent {
    display: block;
    overflow: auto;
    background-color: var(--cwsc-bckg-2);
    border-radius: 0px 10px 10px 0px !important;
    min-height: 700px !important;
    max-height: 700px !important;
    padding-left: 10px;
    padding-bottom: 10px; }

/*     div#search  {
    display: block !important;
    width: 95% !important;
    background-color: var(--cwsc-bckg-4);
    border-radius: 10px;
    font-size: 25px;
    margin: 10px;
    padding: 10px; } */

/* div#cwsSetList input.cs-set[type="checkbox"] {
margin: 0px 3px 0px 4px; } */

div#trSetHead, div#cwmodTrSetHead {
width: 100%;
display: flex;
flex-wrap: wrap; }

div#trOne, div#cwmodTrOne {
width: 100%;
display: flex; }

div#trTwo {
width: 100%;
display: flex;
flex-wrap: wrap; }

div#cwmodTrTwo {
width: 100%;
display: flex; }

div#trThree, div#cwmodTrThree {
width: 100%;
display: flex; }

div#trFour, div#cwmodTrFour {
width: 100%;
display: flex; }

div#trFive, div#cwmodTrFive {
width: 100%;
display: flex; }

div#trSix, div#cwmodTrSix {
width: 100%;
display: flex; }

div#cwsSetListHeader, div#cwmodSetListHeader {
width: 100%;
background-color: var(--cwsc-bckg-4);
display: grid;
align-content: space-between;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div#cwsSetListHeader h2, div#cwmodSetListHeader h2 {
margin: 0px; }

#cwmod-settings h2 {
text-indent: 0px !important; }

div#sbClock, div#sbFight, div#sbCostumes, div#sbTrees {
width: 50%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: stretch;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div#sbBoneCorrect, div#sbLS, div#cmSite, div#cmGame, div#cmImEx {
width: 100%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: space-between;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div#sbTemplates, div#sbOthers {
width: 50%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: stretch;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div#cmObj, div#cmLocation, div#cmChat, div#cmKns, div#cmStyle, div#cmPlayers {
width: 50%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: stretch;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div#sbGame {
width: 100%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: space-between;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

input#ahbRelatives {
margin-bottom: 20px; }

div#sbStyles {
width: 100%;
background-color: var(--cwsc-bckg-3);
display: grid;
align-content: space-between;
margin: 15px 15px 0px 0px;
padding: 8px;
border-radius: 5px; }

div.setHead>p {
margin: 0px;
font-weight: 600;
font-size: 16px;
margin-bottom: 5px; }

div.setHead {
border-bottom: 4px solid var(--cwsc-brdr-4);
width: 100% !important;
height: 24px !important;
margin-bottom: 4px; }

div#cmImEx details {
margin: 15px 0px; }

div#cmImEx>table {
margin: 10px 0px; }

div#cmImEx>table p {
margin: 0px; }

table#defectTable, table#itemTable, table#templateTable, table#replaceTable {
border: 4px solid var(--cwsc-brdr-5); }

table#templateTable, table#replaceTable {
margin: 5px 0px; }

table#defectTable tr td, table#itemTable tr td, table#templateTable tr td, table#replaceTable tr td {
border: 2px dotted var(--cwsc-brdr-1);
width: 100px;
height: 20px;
text-align: center; }

table#defectTable tr td input, table#itemTable tr td input, table#templateTable tr td input, table#replaceTable tr td input {
margin: 4px 7px; }

table#defectTable tr td input[type=color], table#itemTable tr td input[type=color]  {
width: 50px !important;
height: 25px; }

table#defectTable>tbody>tr:first-of-type, table#defectTable>tbody>tr:nth-of-type(2), table#defectTable>tbody>tr:nth-of-type(8), table#defectTable>tbody>tr:nth-of-type(11)>td:nth-of-type(2),
table#itemTable>tbody>tr:first-of-type, table#itemTable>tbody>tr:nth-of-type(2), table#itemTable>tbody>tr:nth-of-type(5), table#itemTable>tbody>tr:nth-of-type(8), table#itemTable>tbody>tr:nth-of-type(11),
table#templateTable>tbody>tr:first-of-type, table#templateTable>tbody>tr:nth-of-type(4), table#replaceTable>tbody>tr:first-of-type {
background-color: var(--cwsc-bckg-4) !important;
font-weight: 600;
font-size: 13px; }

table#defectTable>tbody>tr:first-of-type, table#itemTable>tbody>tr:first-of-type {
font-size: 15px; }

table#defectTable>tbody>tr:not(:first-of-type), table#itemTable>tbody>tr:not(:first-of-type), table#templateTable>tbody>tr:not(:first-of-type), table#replaceTable>tbody>tr:not(:first-of-type) {
background-color: var(--cwsc-bckg-7); }


div#libLastUpd>small>i>p {
margin: 0; }

div#libCustom {
margin: 10px 0px 5px; }

div#cwmodMenuList, div#cwmodCustSet {
margin: 10px 0px 10px; }

div#cwsSetList .ui-slider-horizontal {
background: var(--cwsc-bckg-2) !important;
border: 1px solid var(--cwsc-brdr-4) !important;
border-radius: 5px;
width: 100% !important; }

table.sliderTable {
margin: 3px 0px 20px;
width: 100%; }

td.csSlider {
width: 35% !important; }

td.csLabel label {
margin: 0px 10px !important; }

div#cwsSetList .ui-slider-horizontal .ui-slider-handle {
background: var(--cwsc-bckg-4) !important;
border: 1px solid var(--cwsc-brdr-4) !important;
border-radius: 15px; }

table#lastUpdtTable {
display: grid;
justify-content: end;
margin: 0px; }

table#lastUpdtTable p {
margin: 0px; }

table#tmVarTable {
display: grid;
justify-content: center;
margin: 10px 0px; }

table#tmVarTable label {
display: grid;
justify-content: start;
margin: 0px 15px 0px 0px; }

button#formButton:hover, button#customButton:hover, button#clearDontReadButton:hover, select#tmVariant:hover, select#selTheme:hover, input.cs-set[type="color"]:hover, input.cs-set[type="number"]:hover, input#inputImport:hover, button#inputExport:hover, input#outputExport:hover, select#cwmodTheme:hover, select#cw3Bkg:hover, input#cw3BkgImg:hover, select#cw3BkgSize:hover, select#cw3BkgPos:hover, input.cwmod-settings[type="text"]:hover, input.cwmod-settings[type="number"]:hover, input.cwmod-data-export:hover, input.cwmod-data-import:hover, input.cwmod-data-merge:hover, input#clear-ym-storage:hover, button#resetDefectSettings:hover, button#resetItemSettings:hover {
border: 2px solid var(--cwsc-brdr-2) !important; }

button#formButton {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: fit-content;
padding: 2px 5px;
margin: 10px 0px;
text-decoration: none;
font-size: 13px; }

button#customButton {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: fit-content;
padding: 2px 5px;
margin: 10px 10px 10px 0px;
text-decoration: none;
font-size: 13px; }

button#clearDontReadButton {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: fit-content;
padding: 2px 5px;
margin: 0px 0px;
text-decoration: none;
font-size: 13px; }

select#tmVariant, select#selTheme {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
padding: 1px 5px; }

select#cwmodTheme, div#cwmod-settings input.cwmod-settings[type="text"]:not(input#cw3BkgImg), input.cwmod-data-export, input.cwmod-data-import {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
margin: 5px 0px;
padding: 1px 5px; }

select#cw3Bkg, input#cw3BkgImg, select#cw3BkgSize, select#cw3BkgPos {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
margin: 3px 0px;
padding: 1px 5px;
width: 80% !important; }

div#cwsSetList input.cs-set[type="color"], div#cwsSetList input.cs-set[type="number"], div#cwmod-settings input.cwmod-settings[type="number"] {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 1px solid var(--cwsc-brdr-4);
border-radius: 3px;
text-align: center;
margin: 2px;
height: 22px !important;
width: 55px !important; }

input#inputImport, input#outputExport {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 1px solid var(--cwsc-brdr-4);
border-radius: 3px;
margin: 2px;
height: 22px !important;
width: 50% !important; }

input.cwmod-data-merge {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 1px solid var(--cwsc-brdr-4);
border-radius: 3px;
margin: 2px;
height: 22px !important;
width: 20% !important; }

input#clear-ym-storage {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 1px solid var(--cwsc-brdr-4);
border-radius: 3px;
margin: 2px;
height: 22px !important;
width: 90% !important; }

div#cwsSetList input#cgColor[type="color"] {
margin: 10px 0px; }

table#gridTable, table#defTable, table#customTable {
width: 50%; }

table#impExpTable {
width: 50%;
margin: 15px 0px; }

table#impExpTable td {
padding: 0px 5px 10px; }

button#inputExport {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: fit-content;
padding: 2px 5px;
margin: 0px 0px;
text-decoration: none;
font-size: 13px; }

button#resetDefectSettings, button#resetItemSettings {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: 35%;
padding: 2px 5px;
margin: 0px 0px 10px;
text-decoration: none;
font-size: 13px; }

   </style>`
  $('head').append(cssForSett);

  const html = `<br><br><table id="tableCWScSet"><tbody><tr><td id="tableHeader"><table><tbody><tr id="cwsSetHeader"><td>
    <div id="cwsSet"><b>Настройки</b></div></td></tr><tr id="cwsSetMods"><td>
    <div class="header" div id="headerButtons">
      <a href="#" class="active" data-target="1">CatWar Script</a><br>
      <a href="#" class="passive" data-target="2">Варомод</a><br>
      <a href="#" class="passive" data-target="3">CW:Shed</a><br>
      <!--<a href="#" id="info" class="passive" data-target="4">✦ О нас ✦</a>-->
    </div><br></td></tr></tbody></table>
     <div class="contacts">
       <div><a id="vk" href="https://vk.com/cwscript" target="_blank">
         <svg viewBox="0 0 48 48" width="48px" height="48px" version="1.1" id="svg1" sodipodi:docname="icons8-vk-circled.svg" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs1" /><sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="15.604167" inkscape:cx="24" inkscape:cy="24" inkscape:window-width="1680" inkscape:window-height="987" inkscape:window-x="1672" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="layer1" /><g inkscape:groupmode="layer" id="layer1" inkscape:label="Layer 1"><path id="circle1" style="display:inline;fill:#1976d2" d="M 24,4 A 20,20 0 0 0 4,24 20,20 0 0 0 24,44 20,20 0 0 0 44,24 20,20 0 0 0 24,4 Z M 12.890625,17 h 2.642578 c 0.660999,0 0.913969,0.29436 1.167969,1.068359 C 17.874171,22.000355 19.627579,25 20.517578,25 20.847578,25 21,24.840937 21,23.960938 V 20.337891 C 20.898,18.468892 20,18.307624 20,17.640625 20,17.319625 20.212141,17 20.619141,17 h 4.648437 C 25.826578,17 26,17.319673 26,18.013672 v 5.185547 C 26,23.786218 26.446047,24 26.623047,24 c 0.33,0 0.64,0.016 1.25,-0.625 1.880998,-2.214998 3.513672,-5.574219 3.513672,-5.574219 C 31.564719,17.399782 31.870251,17 32.53125,17 h 2.617188 c 0.585999,0 0.834609,0.263 0.849609,0.625 0.006,0.125 -0.01455,0.265016 -0.06055,0.416016 -0.33,1.600998 -3.715453,6.351562 -3.689453,6.351562 C 32.104047,24.638578 32.009,24.815 32,25 c -0.009,0.176 0.06105,0.360094 0.248047,0.621094 0.279,0.399999 0.886954,1.135907 1.501953,1.878906 1.109999,1.341999 1.99936,2.750172 2.193359,3.326172 C 35.984359,30.983172 36.003,31.124 36,31.25 35.986,31.745 35.637296,32 35.029297,32 h -2.619141 c -0.991999,0 -1.305158,-0.982002 -3.035156,-3 -1.499999,-1.749998 -2.277204,-2 -2.658203,-2 -0.534,0 -0.71775,0.132595 -0.71875,0.933594 V 30.90625 C 25.998047,31.573249 25.826436,32 24.148438,32 21.37844,32 18.249998,30.124997 15.875,26.875 12.600003,22.393004 12,18.494437 12,17.773438 12,17.373438 12.127626,17 12.890625,17 Z" /></g></svg>
       </a></div>
       <div><a id="tg" href="https://t.me/cwscript" target="_blank">
         <svg viewBox="0 0 48 48" width="48px" height="48px" version="1.1" id="svg3" sodipodi:docname="icons8-telegram-app.svg" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs3" /><sodipodi:namedview id="namedview3" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:zoom="15.604167" inkscape:cx="24" inkscape:cy="24" inkscape:window-width="1680" inkscape:window-height="987" inkscape:window-x="1672" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="layer2" /><g inkscape:groupmode="layer" id="layer2" inkscape:label="Layer 1"><path id="circle1" style="fill:#29b6f6" d="M 24 4 A 20 20 0 0 0 4 24 A 20 20 0 0 0 24 44 A 20 20 0 0 0 44 24 A 20 20 0 0 0 24 4 z M 33.375 14 C 33.667 14 34 14.125 34 14.5 C 34 14.75 33.949219 15 33.949219 15 L 30.203125 34.126953 C 30.203125 34.126953 30.042982 35 28.958984 35 C 28.382986 35 28.085937 34.726562 28.085938 34.726562 L 23 30.505859 L 19.574219 33.878906 C 19.574219 33.878906 19.425562 33.993047 19.226562 33.998047 C 19.157564 34.000047 19.083812 33.989078 19.007812 33.955078 L 19.007812 33.957031 C 19.007812 33.957031 18.749734 33.933107 18.427734 32.912109 C 18.106736 31.892111 16 26 16 26 L 16.007812 25.996094 L 16.001953 25.992188 L 10.90625 24.636719 C 10.90625 24.636719 10 24.374998 10 23.625 C 10 23.000002 10.933594 22.701172 10.933594 22.701172 L 32.248047 14.234375 C 32.247047 14.233375 32.9 13.999 33.375 14 z " /></g></svg>
       </a></div>
       <div><a id="bs" href="https://boosty.to/cwscript" target="_blank">
         <svg width="48" height="48" viewBox="0 0 48 47" version="1.1" id="svg4" sodipodi:docname="logoLetterB.4ec8e (1).svg" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview4" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:zoom="8.9571167" inkscape:cx="19.481716" inkscape:cy="24.059081" inkscape:window-width="1680" inkscape:window-height="987" inkscape:window-x="1672" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg4" /><defs id="defs4"><linearGradient id="linear0" gradientUnits="userSpaceOnUse" x1="6.4215002" y1="-6.46875" x2="-34.537899" y2="88.152298" gradientTransform="scale(0.557143,0.546512)"><stop offset="0" style="stop-color:rgb(93.72549%,47.058824%,16.078431%);stop-opacity:1;" id="stop1" /><stop offset="0.28" style="stop-color:rgb(94.117647%,41.176471%,16.470588%);stop-opacity:1;" id="stop2" /><stop offset="0.63" style="stop-color:rgb(94.509804%,36.862745%,17.254902%);stop-opacity:1;" id="stop3" /><stop offset="1" style="stop-color:rgb(94.509804%,35.294118%,17.254902%);stop-opacity:1;" id="stop4" /></linearGradient></defs><g id="surface1" transform="translate(4.5004891,0.0390625)"><path style="fill:url(#linear0);fill-rule:evenodd;stroke:none" d="M 9.34375,0 1.242188,28.027344 0.949219,29.011719 c -2.789063,9.636719 0.398437,17.785156 11.769531,17.910156 1.457031,-3.65625 3.46875,-8.699219 6.042969,-15.132813 H 12.601562 L 19.203125,8.847656 C 19.21875,8.792969 19.242188,8.738281 19.269531,8.6875 L 21.78125,0 Z M 27.753906,25.339844 12.761719,46.921875 h 0.234375 c 11.074218,0 22.453125,-8.191406 25.261718,-17.914063 2.621094,-9.03125 -1.832031,-16.503906 -11.332031,-17.496093 l -5.53125,13.828125 z m 0,0" id="path4" /></g></svg>
       </a></div>
     </div></td><td id="tableContent"><!--<div id="search">CatWar Script</div>--><table><tbody><tr><td>
     <div class="content">
     <div class="active" id="div1">
<div id="cwsSetList">
<div id="trSetHead">
    <div id="cwsSetListHeader"><h2>Настройки CatWar Script ${version} </h2></div>
</div>




<div id="trOne">
    <div id="sbClock"><div class="setHead" id="clockHead"><p>Часы</p></div>
       <div><input class="cs-set" id="inGameClock" type="checkbox"${globals.inGameClock?' checked':''}><label for="inGameClock">Часы в игровой</label></div>
       <div><input class="cs-set" id="showDate" type="checkbox"${globals.isDateShow?' checked':''}><label for="showDate">Показывать дату</label></div>
       <div><input class="cs-set" id="movableClocks" type="checkbox"${globals.movableClocks?' checked':''}><label for="movableClocks">Перетаскиваемый блок часов<br><small><i>!!! Не работает на телефонах</i></small></label></div>
       <table><tr><td><div><input class="cs-set" id="deviceTime" type="radio" name="timeSource"${!globals.isClockMoscow?' checked':''}><label for="deviceTime">Время с устройства</label></div></td><td>
       <div><input class="cs-set" id="moscowTime" type="radio" name="timeSource"${globals.isClockMoscow?' checked':''}><label for="moscowTime">Московское время</label></div></td></tr></table>
       <div><input class="cs-set" id="clockFontWeight" type="number"${globals.clockFontWeight?' checked':''} style="width: 55px;"> <label for="clockFontWeight">Размер шрифта часов</label></div>
    </div>
    <div id="sbFight"><div class="setHead" id="fightHead"><p>Боевой режим</p></div>
       <div><input class="cs-set" id="phoneFightPanel" type="checkbox"${globals.phoneFightPanel?' checked':''}><label for="phoneFightPanel">Удобная панель боережима для телефонщиков</label></div>
       <div><input class="cs-set" id="friendlyCatWar" type="checkbox"${globals.friendlyCatWar?' checked':''}><label for="friendlyCatWar">Убрать кнопки входа в опасные режимы</label></div>
       <div><input class="cs-set" id="shortFightLog" type="checkbox"${globals.shortFightLog?' checked':''}><label for="shortFightLog">Сокращать лог боережима</label></div>

       <div><input class="cs-set" id="fightWarning" type="checkbox"${globals.fightWarning?' checked':''}><label for="fightWarning">Звуковое уведомление при нападении на вас</label></div>
       <table><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="fightWarningVol"></div></td><td class="csLabel"><label for="fightWarningVol"><small><i>Громкость функции</i></small></label></td></tr></table>

       <div><input class="cs-set" id="deleteFPTitles" type="checkbox"${globals.deleteFPTitles?' checked':''}><label for="deleteFPTitles">Убрать подписи к кнопкам<br><small><i>!!! Только для телефонов</i></small></label></div>
    </div>

</div><div id="trTwo">
    <div id="sbBoneCorrect"><div class="setHead" id="boneCorrectHead"><p>Костоправы</p></div>
       <div><input class="cs-set" id="boneCorrectTimer" type="checkbox"${globals.boneCorrectTimer?' checked':''}><label for="boneCorrectTimer">Таймер для снятия костоправов</label></div>
       <div><input class="cs-set" id="toggleBoneTimer" type="checkbox"${globals.toggleBoneTimer?' checked':''}><label for="toggleBoneTimer">Изначально сворачивать блок таймера костоправов</label></div>
    </div>
    <div id="sbLS"><div class="setHead" id="lsHead"><p>Личные сообщения</p></div>
       <div id="dntRnd"><div id="dontRdnLS"><input class="cs-set" id="dontReadenLS" type="checkbox"${globals.dontReadenLS?' checked':''}><label for="dontReadenLS">Непрочитанные сообщения только для себя</label></div><br>
       <button type="button" id="clearDontReadButton">Обнулить счётчик непрочитанных ЛС</button><br><br>
       <div><input class="cs-set" id="timerForLS" type="checkbox"${globals.timerForLS?' checked':''}><label for="timerForLS">Выделение сообщений, которые скоро удалятся<br><small><i>!!! Выделяет непрочитанные сообщения, которые были получены/отправлены от 6 до 14 дней назад</i></small></label></div>
    </div></div>

</div><div id="trThree">
    <div id="sbTrees"><div class="setHead" id="treesHead"><p>Лазательные локации</p></div>
       <div><input class="cs-set" id="treeMap" type="checkbox"${globals.treeMap?' checked':''}><label for="treeMap">Минное поле в игровой</label></div>
       <div><input class="cs-set" id="tmFolded" type="checkbox"${globals.tmFolded?' checked':''}><label for="tmFolded">Изначально сворачивать окошко</label></div>
       <div><input class="cs-set" id="tmShowVolume" type="checkbox"${globals.tmShowVolume?' checked':''}><label for="tmShowVolume">Громкость в чате от ботов</label></div>
       <div><input class="cs-set" id="tmResetNote" type="checkbox"${globals.tmResetNote?' checked':''}><label for="tmResetNote">Звуковое уведомление при смене карты</label></div>

       <table><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="tmResetVolume"></div></td><td class="csLabel"><label for="tmResetVolume"><small><i>Громкость функции</i></small></label></td></tr></table>

       <table><tr><td><input class="cs-set" id="tmTecPosX" type="number"${globals.tmTecPosX?' checked':''} style="width: 55px;" step="5"></td><td>
       <input class="cs-set" id="tmTecPosY" type="number"${globals.tmTecPosY?' checked':''} style="width: 55px;" step="5"></td><td>
       <label for="tmTecPosY"> Расположение окошка по X/Y px</label></td></tr></table>

       <table id="tmVarTable"><tr><td><label for="tmVariant">Внешний вид редактора</label></td><td>
       <select class="cs-set" id="tmVariant">
       <option value="0">Классический</option>
       <option value="1">Компактный</option>
       <option value="2">Горизонтальный</option>
       </select></td></tr></table>
    </div>
    <div id="sbCostumes"><div class="setHead" id="costumesHead"><p>Библиотека костюмов</p></div>

       <!-- Наикраще мiсце для хорошего сексу бiблиотека бiблиотека... -->
       <div><input class="cs-set" id="costumeLibrary" type="checkbox"${globals.costumeLibrary?' checked':''}><label for="costumeLibrary">Библиотека костюмов</label></div>
       <div><input class="cs-set" id="watermarkCostumes" type="checkbox"${globals.watermarkCostumes?' checked':''}><label for="watermarkCostumes">Значок у костюмов, добавленных библиотекой</label></div>
       <div><input class="cs-set" id="clRemoveAllCostumes" type="checkbox"${globals.clRemoveAllCostumes?' checked':''}><label for="clRemoveAllCostumes">Убрать сайтовые костюмы</label></div>
       <div><input class="cs-set" id="clRemoveAllTongues" type="checkbox"${globals.clRemoveAllTongues?' checked':''}><label for="clRemoveAllTongues">Убрать все языки</label></div>

       <div id="libCustom"><div><input class="cs-set" id="clLakeUniverse" type="checkbox"${globals.clLakeUniverse?' checked':''}><label for="clLakeUniverse">Озёрная вселенная</label></div>
       <div><input class="cs-set" id="clSeaUniverse" type="checkbox"${globals.clSeaUniverse?' checked':''}><label for="clSeaUniverse">Морская вселенная</label></div>
       <div><input class="cs-set" id="clCreatorUniverse" type="checkbox"${globals.clCreatorUniverse?' checked':''}><label for="clCreatorUniverse">Вселенная творцов</label></div>
       <div><input class="cs-set" id="clMemeCostumes" type="checkbox"${globals.clMemeCostumes?' checked':''}><label for="clMemeCostumes">Шуточные костюмы</label></div></div>

       <button onclick="window.open('https://docs.google.com/forms/d/e/1FAIpQLSdXz5vKVU1Pk3U1BAAQTjq-LFYw0WX3-kkC_KUcReaNMt5E-Q/viewform', '_blank')" id="formButton">Заполнить форму</button>
       <table id="lastUpdtTable"><tr><td><small><i><p>Последнее обновление: </p></i></small></td><td><small><i><span id="lastUpdateDate"></span></i></small></div></td></tr></table>
    </div>

</div><div id="trFour">
    <div id="sbTemplates"><div class="setHead" id="templatesHead"><p>Шаблоны</p></div>
    <table id="templateTable"><tr><td colspan="3">Отображать шаблоны</td></tr>
    <tr><td><label for="textTemplates">Сообщения</label></td>
    <td><label for="ttChat">Чаты</label></td>
    <td><label for="bloglentTextTemplates">Блоги и лента</label></td></tr>
    <tr><td><input class="cs-set" id="textTemplates" type="checkbox"${globals.textTemplates?' checked':''}></td>
    <td><input class="cs-set" id="ttChat" type="checkbox"${globals.ttChat?' checked':''}></td>
    <td><input class="cs-set" id="bloglentTextTemplates" type="checkbox"${globals.bloglentTextTemplates?' checked':''}></td></tr>

    <tr><td colspan="3">Изначально сворачивать</td></tr>
    <tr><td><label for="textTemplates">Сообщения</label></td>
    <td><label for="ttChat">Чаты</label></td>
    <td><label for="bloglentTextTemplates">Блоги и лента</label></td></tr>
    <tr><td><input class="cs-set" id="toggleTT" type="checkbox"${globals.toggleTT?' checked':''}></td>
    <td><input class="cs-set" id="toggleTTChat" type="checkbox"${globals.toggleTTChat?' checked':''}></td>
    <td><input class="cs-set" id="toggleTTBlog" type="checkbox"${globals.toggleTTBlog?' checked':''}></td></tr></table>


    <table id="replaceTable"><tr><td colspan="2">Вставлять название шаблона в заголовок</td></tr>
    <tr><td>Сообщения</td>
    <td>Блоги и лента</td></tr>
    <tr><td><input class="cs-set" id="ttReplaceTheme" type="checkbox"${globals.ttReplaceTheme?' checked':''}></td>
    <td><input class="cs-set" id="ttReplaceThemeB" type="checkbox"${globals.ttReplaceThemeB?' checked':''}></td></tr></table>
    </div>
    <div id="sbOthers"><div class="setHead" id="othersHead"><p>Прочее</p></div>
         <div><input class="cs-set" id="nightLagsWarning" type="checkbox"${globals.nightLagsWarning?' checked':''}><label for="nightLagsWarning">Предупреждение о соблюдении осторожности на водах и лазательных локациях в период с 03:00 по 04:00 по МСК</label></div>
         <div><input class="cs-set" id="hideWoundWarning" type="checkbox"${globals.hideWoundWarning?' checked':''}><label for="hideWoundWarning">Убрать предупреждение "Вы ранены" со всех страниц сайта</label></div>
         <div><input class="cs-set" id="kalinnikFunction" type="checkbox"${globals.kalinnikFunction?' checked':''}><label for="kalinnikFunction" title="Включает озвучку в Игровой с песнями инстасамки">Функция для Калинника<br><small>!!! Не включайте это</small></label></div>
    <div class="volumeDivs"><table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="kalinnikFunctionVolume"></div></td><td class="csLabel"><label for="kalinnikFunctionVolume"><small><i>Громкость функции</i></small></label></td></tr></table></div>
    </div>

</div><div id="trFive">
    <div id="sbGame"><div class="setHead" id="gameHead"><p>Игровая</p></div>
       <div><input class="cs-set" id="showButterflyBots" type="checkbox"${globals.showButterflyBots?' checked':''}><label for="showButterflyBots">Выделять бота-бабочку в Игровой</label></div>
       <div><input class="cs-set" id="darkCatTooltip" type="checkbox"${globals.darkCatTooltip?' checked':''}><label for="darkCatTooltip">Тёмное окошко при наведении на персонажа в Игровой</label></div>
       <div><input class="cs-set" id="brightGameField" type="checkbox"${globals.brightGameField?' checked':''}><label for="brightGameField">Не затемнять поле Игровой</label></div>
       <div><input class="cs-set" id="setka" type="checkbox"${globals.setka?' checked':''}><label for="setka">Включить сетку</label></div>

       <table id="gridTable"><tr><td><div><input class="cs-set" name="cageGridVar" id="cageGrid" type="radio"${globals.cageGrid?' checked':''}><label for="cageGrid">Стандартная сетка</label></div></td><td>
       <div><input class="cs-set" name="cageGridVar" id="cageGridV" type="radio"${globals.cageGridV?' checked':''}><label for="cageGridV">Сетка как в Варомоде</label></div></td></tr></table>

       <div><input class="cs-set" id="cgColor" type="color"${globals.cgColor?' checked':''} style="width: 35px;"><label for="cgColor"> Цвет сетки ячеек локации</label></div>
       <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="cgOpacity"></div></td><td class="csLabel"><label for="cgOpacity"><small><i>Прозрачность</i></small></label></td></tr></table>

       <div id="sbSiren">
         <div><input class="cs-set" id="cdSDivers" type="checkbox"${globals.cdSDivers?' checked':''}><label for="cdSDivers">Выделять ныряющих в Игровой</label></div>
         <div><input class="cs-set" id="diverSiren" type="checkbox"${globals.diverSiren?' checked':''}><label for="diverSiren">Звуковое уведомление при определённом сне на водах</label></div>
         <div><input class="cs-set" id="diverSirenMinutes" type="number"${globals.diverSirenMinutes?' checked':''} style="width: 40px;" step="5" max="40" min="5"> <label for="diverSirenMinutes">При каком сне начинает срабатывать</label></div>
         <input class="cs-set" id="dsX" type="number"${globals.dsX?' checked':''} style="width: 55px;" step="5"> <input class="cs-set" id="dsY" type="number"${globals.dsY?' checked':''} style="width: 55px;" step="5"><label for="dsY"> Расположение окошка по X/Y px</label>
         <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="diverSirenVol"></div></td><td class="csLabel"><label for="diverSirenVol"><small><i>Громкость функции</i></small></label></td></tr></table>
       </div>
       <div><input class="cs-set" id="ahbHistory" type="checkbox"${globals.ahbHistory?' checked':''}><label for="ahbHistory">Автоматически сворачивать Историю</label></div>
       <div><input class="cs-set" id="ahbParameter" type="checkbox"${globals.ahbParameter?' checked':''}><label for="ahbParameter">Автоматически сворачивать Параметры и навыки</label></div>
       <div><input class="cs-set" id="ahbRelatives" type="checkbox"${globals.ahbRelatives?' checked':''}><label for="ahbRelatives">Автоматически сворачивать Родственные связи</label></div>
       <div><input class="cs-set" id="smellTimer" type="checkbox"${globals.smellTimer?' checked':''}><label for="smellTimer">Таймер нюха</label></div>
       <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="smellTimerVol"></div></td><td class="csLabel"><label for="smellTimerVol"><small><i>Громкость функции</i></small></label></td></tr></table>
       <div><input class="cs-set" id="newLS" type="checkbox"${globals.newLS?' checked':''}><label for="newLS">Уведомлять о новых личных сообщениях</label></div>
       <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="newLSVol"></div></td><td class="csLabel"><label for="newLSVol"><small><i>Громкость функции</i></small></label></td></tr></table>
       <div><input class="cs-set" id="newChat" type="checkbox"${globals.newChat?' checked':''}><label for="newChat">Уведомлять о новых сообщениях в чате</label></div>
       <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="newChatVol"></div></td><td class="csLabel"><label for="newChatVol"><small><i>Громкость функции</i></small></label></td></tr></table>
       <div><input class="cs-set" id="eatenNote" type="checkbox"${globals.eatenNote?' checked':''}><label for="eatenNote">Уведомлять, если тебя подняли в Игровой</label></div>
       <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="eatenNoteVol"></div></td><td class="csLabel"><label for="eatenNoteVol"><small><i>Громкость функции</i></small></label></td></tr></table>
    </div>

</div><div id="trSix">
    <div id="sbStyles"><div class="setHead" id="stylesHead"><p>Кастомизация</p></div>
       <br><div>
         <select class="cs-set" id="selTheme">
           <option value="0">Основная CatWar Script</option>
           <option value="1">Вторая CatWar Script</option>
           <option value="2">Третья CatWar Script</option>
         </select><label for="selTheme"> Палитра блоков CatWar Script</label>
       </div>

       <table id="customTable"><tr><td><button onclick="window.open('https://catwarscript.github.io/cw3edit', '_blank')" id="customButton">Конструктор игровой</button></td>
       <td><div><input class="cs-set" id="playerCustom" type="checkbox"${globals.playerCustom?' checked':''}><label for="playerCustom">Игровая из конструктора игровой</label></div></td></tr></table>






<table id="impExpTable"><tr><td><label for="inputImport">Импорт настроек</label></td><td><input type="text" id="inputImport"></td></tr>
<tr><td><button id="inputExport">Экспорт настроек</button></td><td><input id="outputExport"></td></tr></table>

       <div id="sbDefects">
         <div><input class="cs-set" id="cdSColors" type="checkbox"${globals.cdSColors?' checked':''}><label for="cdSColors">Выделять клетки с больными игроками<br><small><i>!!! Галочки слева отвечают за выделение недуга в целом, справа – за особое выделение для третьей и четвёртой стадии</i></small></label></label></div>
         <table id="defTable"><tr><td><div><input class="cs-set" id="cdSRamkiFalse" type="radio" name="iscdsramki"${!globals.cdSRamki?' checked':''} value="false"><label for="cdSRamkiFalse">Выделять всю клетку</label></div></td>
         <td><div><input class="cs-set" id="cdSRamkiTrue" type="radio" name="iscdsramki"${globals.cdSRamki?' checked':''} value="true"><label for="cdSRamkiTrue">Выделять рамку клетки</label></div></td></tr></table>
         <div><input class="cs-set" id="cdSIcon" type="checkbox"${globals.cdSIcon?' checked':''}><label for="cdSIcon">Показывать иконки дефектов</div><br>
         <table id="defectTable">
           <tr><td colspan="3">Подсветка болезней</td></tr>
           <tr>
             <td>Раны</td>
             <td>Отравление</td>
             <td>Ушибы</td>
           </tr><tr>
             <td><input class="cs-set" id="cdCRani" type="color"${globals.cdCRani?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="cdCPoison" type="color"${globals.cdCPoison?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="cdCTrauma" type="color"${globals.cdCTrauma?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSRani1" type="checkbox"${globals.cdSRani1?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSPoison1" type="checkbox"${globals.cdSPoison1?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSTrauma1" type="checkbox"${globals.cdSTrauma1?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSDrown2" type="checkbox"${globals.cdSDrown2?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSPoison1" type="checkbox"${globals.cdSPoison2?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSGryaz2" type="checkbox"${globals.cdSGryaz2?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSRani3" type="checkbox"${globals.cdSRani3?' checked':''}><input class="cs-set" id="cdSRani3B" type="checkbox"${globals.cdSRani3B?' checked':''}></td>
             <td><input class="cs-set" id="cdSPoison3" type="checkbox"${globals.cdSPoison3?' checked':''}><input class="cs-set" id="cdSPoison3B" type="checkbox"${globals.cdSPoison3B?' checked':''}></td>
             <td><input class="cs-set" id="cdSTrauma3" type="checkbox"${globals.cdSTrauma3?' checked':''}><input class="cs-set" id="cdSTrauma3B" type="checkbox"${globals.cdSTrauma3B?' checked':''}></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSRani4" type="checkbox"${globals.cdSRani4?' checked':''}><input class="cs-set" id="cdSRani4B" type="checkbox"${globals.cdSRani4B?' checked':''}></td>
             <td><input class="cs-set" id="cdSPoison4" type="checkbox"${globals.cdSPoison4?' checked':''}><input class="cs-set" id="cdSPoison4B" type="checkbox"${globals.cdSPoison4B?' checked':''}></td>
             <td><input class="cs-set" id="cdSTrauma4" type="checkbox"${globals.cdSTrauma4?' checked':''}><input class="cs-set" id="cdSTrauma4B" type="checkbox"${globals.cdSTrauma4B?' checked':''}></td>
           </tr><tr>
             <td>Переломы</td>
             <td>Кашель</td>
             <td>Грязь</td>
           </tr><tr>
             <td><input class="cs-set" id="cdCDrown" type="color"${globals.cdCDrown?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="cdCCough" type="color"${globals.cdCCough?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="cdCGryaz" type="color"${globals.cdCGryaz?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSDrown1" type="checkbox"${globals.cdSDrown1?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSCough" type="checkbox"${globals.cdSCough?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td><input class="cs-set" id="cdSGryaz1" type="checkbox"${globals.cdSGryaz1?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSDrown2" type="checkbox"${globals.cdSDrown2?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
             <td>Подстилки</td>
             <td><input class="cs-set" id="cdSGryaz2" type="checkbox"${globals.cdSGryaz2?' checked':''}><input class="cs-set" type="checkbox" disabled checked="true"></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSDrown3" type="checkbox"${globals.cdSDrown3?' checked':''}><input class="cs-set" id="cdSDrown3B" type="checkbox"${globals.cdSDrown3B?' checked':''}></td>
             <td><input class="cs-set" id="cdCPodstilki" type="color"${globals.cdCPodstilki?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="cdSGryaz3" type="checkbox"${globals.cdSGryaz3?' checked':''}><input class="cs-set" id="cdSGryaz3B" type="checkbox"${globals.cdSGryaz3B?' checked':''}></td>
           </tr><tr>
             <td><input class="cs-set" id="cdSDrown4" type="checkbox"${globals.cdSDrown4?' checked':''}><input class="cs-set" id="cdSDrown4B" type="checkbox"${globals.cdSDrown4B?' checked':''}></td>
             <td><input class="cs-set" id="cdSPodstilki" type="checkbox"${globals.cdSPodstilki?' checked':''}></td>
             <td><input class="cs-set" id="cdSGryaz4" type="checkbox"${globals.cdSGryaz4?' checked':''}><input class="cs-set" id="cdSGryaz4B" type="checkbox"${globals.cdSGryaz4B?' checked':''}></td>
           </tr>
         </table><br>
           <button id="resetDefectSettings">Сбросить настройки дефектов</button>
         <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="cdOpacity"></div></td><td class="csLabel"><label for="cdOpacity"><small><i>Прозрачность</i></small></label></td></tr></table>
       </div><br>

       <div id="sbItems">
         <table id="itemTable">
           <tr><td colspan="3">Подсветка ресурсов</td></tr>
           <tr>
             <td>Травы</td>
             <td>Мох</td>
           </tr><tr>
             <td><input class="cs-set" id="ciCHerb" type="color"${globals.ciCHerb?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="ciCMoss" type="color"${globals.ciCMoss?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td><input class="cs-set" id="ciSHerb" type="checkbox"${globals.ciSHerb?' checked':''}>
             <td><input class="cs-set" id="ciSMoss" type="checkbox"${globals.ciSMoss?' checked':''}>
           </tr><tr>
             <td>Паутина</td>
             <td>Пыль</td>
           </tr><tr>
             <td><input class="cs-set" id="ciCWeb" type="color"${globals.ciCWeb?' checked':''} style="width: 35px;"></td>
             <td><input class="cs-set" id="ciCDust" type="color"${globals.ciCDust?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td><input class="cs-set" id="ciSWeb" type="checkbox"${globals.ciSWeb?' checked':''}>
             <td><input class="cs-set" id="ciSDust" type="checkbox"${globals.ciSDust?' checked':''}>
           </tr><tr>
             <td colspan="2">Ветки, вьюнки, костоправы</td>
           </tr><tr>
             <td colspan="2"><input class="cs-set" id="ciCStick" type="color"${globals.ciCStick?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td colspan="2"><input class="cs-set" id="ciSStick" type="checkbox"${globals.ciSStick?' checked':''}>
           </tr><tr>
             <td colspan="2">Травящие предметы</td>
           </tr><tr>
             <td colspan="2"><input class="cs-set" id="ciCMusor" type="color"${globals.ciCMusor?' checked':''} style="width: 35px;"></td>
           </tr><tr>
             <td colspan="2"><input class="cs-set" id="ciSMusor" type="checkbox"${globals.ciSMusor?' checked':''}>
           </tr>
         </table><br>
         <button id="resetItemSettings">Сбросить настройки предметов</button>
         <table class="sliderTable"><tr><td class="csSlider"><div class="cs-set cs-set-sl" id="ciOpacity"></div></td><td class="csLabel"><label for="ciOpacity"><small><i>Прозрачность</i></small></label></td></tr></table>
       </div>
    </div>
</div>
       </div>
     </div>
  <div id="div2"><h2>Варомод</h2><p>
Данный мод добавляет множество полезных функций, среди которых многим известные:<br>
– Калькуляторы активности и лун;<br>
– Заметки об игроках;<br>
– Отображение аватарок в комментариях под постами;<br>
– Снежинки в Игровой, когда идёт снег;<br>
И многое другое! С полным списком функций вы сможете ознакомиться при установке данного скрипта.<br>
<a href="https://openuserjs.org/scripts/CatWarScript/CatWar_Mod" target="_blank">Ссылка на установку</a> | <a href="https://github.com/CatWarScript/CatWarScript/raw/main/CatWarMod/CatWarMod.user.js" target="_blank">Альт. ссылка</a></p>
     </div>
  <div id="div3"><h2>CW: Shed</h2>
    <p>Данный мод добавляет множество полезных функций, среди которых многим известные:<br>
– Отображение ID в личных сообщениях, чате, а также отображение ID котов, находящихся во рту;<br>
– Всевозможные звуковые уведомления: о новых сообщениях в ЛС и чате, при нападении на вас, при поднятии вашего персонажа и т.д;<br>
– Отдельный блок с гибкой настройкой уведомлений для действий, где вы сможете настроить на какие действия будет срабатывать функция;<br>
– Разноцветные параметры и навыки с полной кастомизацией;<br>
– Лог чистильщиков, отображающий поднятия и опускания игроков, а также прочие дополнительные данные о них.<br>
И многое другое! С полным списком функций вы сможете ознакомиться при установке данного скрипта.<br>
<a href="https://abstract-class-shed.github.io/cwshed/CW_Shed.user.js" target="_blank">Ссылка на установку</a></p>
     </div>
    </div>
        </div></div></div>
        </div></div></div>
        </td></tr></tbody></table></td></tr></tbody></table>`

$(document).ready(function() {
  $('#clockFontWeight').val(globals.clockFontWeight);
  $('#cstmDfctWounds').val(globals.cstmDfctWounds);
  $('#diverSirenVol').val(globals.diverSirenVol);
  $('#diverSirenMinutes').val(globals.diverSirenMinutes);
  $('#diverSirenHref').val(globals.diverSirenHref);
  $('#cdCRani').val(globals.cdCRani);
  $('#cdCPoison').val(globals.cdCPoison);
  $('#cdCTrauma').val(globals.cdCTrauma);
  $('#cdCDrown').val(globals.cdCDrown);
  $('#cdCCough').val(globals.cdCCough);
  $('#cdCGryaz').val(globals.cdCGryaz);
  $('#cdOpacity').val(globals.cdOpacity);
  $('#ciCHerb').val(globals.ciCHerb);
  $('#ciCMoss').val(globals.ciCMoss);
  $('#ciCWeb').val(globals.ciCWeb);
  $('#ciCStick').val(globals.ciCStick);
  $('#ciCDust').val(globals.ciCDust);
  $('#ciCMusor').val(globals.ciCMusor);
  $('#ciOpacity').val(globals.ciOpacity);
  $('#cdCPodstilki').val(globals.cdCPodstilki);
  $('#cgOpacity').val(globals.cgOpacity);
  $('#cgColor').val(globals.cgColor);
  $('#dsX').val(globals.dsX);
  $('#dsY').val(globals.dsY);
  $('#kalinnikFunctionVolume').val(globals.kalinnikFunctionVolume);
  $('#smellTimerVol').val(globals.smellTimerVol);
  $('#smellTimerHref').val(globals.smellTimerHref);
  $('#newLSVol').val(globals.newLSVol);
  $('#newChatVol').val(globals.newChatVol);
  $('#eatenNoteVol').val(globals.eatenNoteVol);
  $('#tmTecPosX').val(globals.tmTecPosX);
  $('#tmTecPosY').val(globals.tmTecPosY);
  if (globals.tmVariant !== null) {
    $('#tmVariant').val(globals.tmVariant);
  }
  if (globals.selTheme !== null) {
    $('#selTheme').val(globals.selTheme);
  }
});

function peredvinutBloki(importFrom, exportTo) {
  const sourceDivSelector = importFrom; // Двигаемое
  const targetDivSelector = exportTo; // Куда вставляем
  const sourceDiv = $(sourceDivSelector);
  const targetDiv = $(targetDivSelector);
  if (sourceDiv.length > 0 && targetDiv.length > 0) {
    targetDiv.empty();
    sourceDiv.appendTo(targetDiv);
  }
}

    $(document).ready(function(){
     $('.content > div:not(:first)').hide();
      $('.header a').click(function(e){
      e.preventDefault();
      var target = $(this).data('target');
       $('.content > div').hide();
       $('#div' + target).show();
       $('.header a').removeClass('active').addClass('passive');
       $(this).removeClass('passive').addClass('active');
      });
    });
$(document).ready(function() { let clickCount = 0; $("#clRemoveAllTongues").click(function(e) {clickCount++;if (clickCount >= 3) {clickCount = 0; $("label[for*='clRemoveAllTongues']").after('<img src="https://voz.vn/attachments/1657775494064-png.1264140/" width="99%">'); } }); });
    $(document).ready(function() {
     peredvinutBloki("div#cwmod-settings", "#div2")
     peredvinutBloki("div#cwa_sett", "#div3")
    });

$(document).ready(function() {
  setTimeout(function() {
    const deleteLinks = $('a[href="del"]:contains("Удалить персонажа")');
    $('#cwsSet hr, #cwsSet div hr, #cwsSet div div hr').addClass('legit');

    // Добавляем класс 'legit' к hr с id 'uwu-hr'
    $('#uwu-hr').addClass('legit');
    $('div#uwusettings hr').addClass('legit');
    deleteLinks.each(function() {
      const previousHR = $(this).prevAll('hr');
      previousHR.addClass('legit');
    });

    // Удаляем все hr, кроме тех, которые имеют класс 'legit'
    $('hr:not(.legit)').remove();
  }, 700);
});

  appendToElementOrFallback('#branch', 'a[href="del"]', html);

  function handleSliderChange(event, ui) {
    let key = $(this).attr('id');
    let val = ui.value;
    setSettings(key, val);
    console.log(key, ': ', val, '.');
  }

function clearDontReadMessages() {
  localStorage.setItem('dontReadenCount', 0);
  for (let i = 0; i < localStorage.length; i++) {
    let key = localStorage.key(i);
    if (key.startsWith('message')) {
      localStorage.removeItem(key);
    }
    updateDontReadCounter1();
  }
}

$(document).ready(function() {
  const targetElements = document.querySelectorAll('a[data-target="2"]');
  let clickCount = 0;

  targetElements.forEach(element => {
    element.addEventListener('click', () => {
      clickCount++;
      if (clickCount >= 15) {
        if (confirm("Вы уверены, что хотите очистить localStorage? Все настройки всех модов будут сброшены! Сделайте копии ваших настроек и сохранённых ЛС. Карты лазалок восстановлению не подлежат.")) {
          localStorage.clear();
          alert('Все настройки очищены!');
        }
      }
    });
  });
});
$('#clearDontReadButton').on('click', clearDontReadMessages);

  $('.cs-set').not('.cs-set-sl').on('change', function() {
      let key = this.id;
      let val = this.type === 'checkbox' ? this.checked : this.value;
      if (this.tagName === 'SELECT') {
        val = $(this).prop('selectedIndex');
      }
      setSettings(key, val);
      console.log(key, ': ', val, '.');
  });
  $(document).ready(function() {
      $('.cs-set-sl').each(function() {
          let key = $(this).attr('id');
          let initialValue = globals[key];
$(this).slider({
            slide: handleSliderChange,
            value: initialValue,
            min: 0,
            max: 1,
            step: 0.1,
            create: function(event, ui) {
                $(this).width(200);
            }
        });
      });
  });
      $('input[name="timeSource"]').on('change', function() {
      setSettings('isClockMoscow', this.id === 'moscowTime');
    });
        $('input[name="cageGridVar"]').on('change', function() {
      setSettings('cageGridVar', this.id === 'cageGridV');
    });

$('input[name="iscdsramki"]').on('change', function() {
  setSettings('cdSRamki', this.value === 'true');
});

  $(function() {
    let sound = null;

    $(document).on('slidechange', '.ui-slider', function() {
      const sliderId = $(this).attr('id');
      let soundId;

      if (sliderId === 'diverSirenVol') {
        soundId = globals.diverSirenHref;
      } else if (sliderId === 'smellTimerVol') {
        soundId = globals.smellTimerHref;
      } else if (sliderId === 'newLSVol' || sliderId === 'newChatVol') {
        soundId = globals.messageSound;
      } else if (sliderId === 'eatenNoteVol') {
        soundId = globals.smellTimerHref;
      } else if (sliderId === 'fightWarningVol') {
        soundId = globals.fightWarningHref;
      } else if (sliderId === 'tmResetVolume') {
        soundId = globals.tmResetSource;
      }

      if (soundId) {
        if (sound) {
          sound.pause();
          sound = null;
        }
        sound = new Audio(soundId);
        sound.volume = $(`#${sliderId}`).slider('value');
        sound.play();
        sound.onended = () => {
          sound = null;
        };
      }
    });
  });

  let settingsToResetDfct = [ 'customDefects', 'cdSColors', 'cdSRamki', 'cdOpacity', 'cdSIcon', 'cdCRani', 'cdSRani1', 'cdSRani2', 'cdSRani3', 'cdSRani3B', 'cdSRani4', 'cdSRani4B', 'cdCPoison', 'cdSPoison1', 'cdSPoison2', 'cdSPoison3', 'cdSPoison3B', 'cdSPoison4', 'cdSPoison4B', 'cdCTrauma', 'cdSTrauma1', 'cdSTrauma2', 'cdSTrauma3', 'cdSTrauma3B', 'cdSTrauma4', 'cdSTrauma4B', 'cdCDrown', 'cdSDrown1', 'cdSDrown2', 'cdSDrown3', 'cdSDrown3B', 'cdSDrown4', 'cdSDrown4B', 'cdCGryaz', 'cdSGryaz1', 'cdSGryaz2', 'cdSGryaz3', 'cdSGryaz3B', 'cdSGryaz4', 'cdSGryaz4B', 'cdSCough', 'cdCCough', 'cdSPodstilki', 'cdCPodstilki', 'cdSDivers' ];
  let settingsToResetItm = [ 'customItems', 'ciSHerb', 'ciCHerb', 'ciSMoss', 'ciCMoss', 'ciSWeb', 'ciCWeb', 'ciSStick', 'ciCStick', 'ciSDust', 'ciCDust', 'ciSMusor', 'ciCMusor', 'ciOpacity' ];
  $('#resetDefectSettings').on('click', function() { resetSettings(settingsToResetDfct); });
  $('#resetItemSettings').on('click', function() { resetSettings(settingsToResetItm); });

  $(document).ready(function() {
    function toggleCustomDefectDelay() { $('#cstmDfctWounds, #cstmDfctBruise, #cstmDfctShowRamki, #cstmDfctFractures, #cstmDfctPoison, #cstmDfctCough, #cstmDfctDirt, #cstmDfctOpacity, #cstmDfctShowColors, #cstmDfctShowNum, #cstmDfctShowHighDirt, #cstmDfctShowLowDirt, #cstmDfctShow34WoundBetter, #cstmDfctShowAllBetter').prop('disabled', !$('#customDefectDelay').is(':checked')); }
    $('#customDefectDelay').change(toggleCustomDefectDelay);
    toggleCustomDefectDelay();

    function toggleCustomItemsDelay() { $('#cstmItmHerbDelay, #cstmItmHerbClr, #cstmItmMossDelay, #cstmItmMossClr, #cstmItmWebDelay, #cstmItmWebClr, #cstmItmStickDelay, #cstmItmStickClr, #cstmItmDustDelay, #cstmItmDustClr, #cstmItmOpacity, #cstmItmMusorDelay, #cstmItmMusorClr').prop('disabled', !$('#customItemsDelay').is(':checked')); }
    $('#customItemsDelay').change(toggleCustomItemsDelay);
    toggleCustomItemsDelay();

    function toggleTimeBlock() { $('#deviceTime, #moscowTime, #showDate, #movableClocks').prop('disabled', !$('#inGameClock').is(':checked')); }
    $('#inGameClock').change(toggleTimeBlock);
    toggleTimeBlock();

    function toggleCustomDefectColor() { $('#cdSRamkiFalse, #cdSRamkiTrue').prop('disabled', !$('#cdSColors').is(':checked')); }
    $('#cdSColors').change(toggleCustomDefectColor);
    toggleCustomDefectColor();
  });

  $(document).ready(function() {
    function toggleSetka() { $('#cageGrid, #cageGridV, #cgColor, #cgOpacity').prop('disabled', !$('#setka').is(':checked')); }
    $('#setka').change(toggleSetka);
    toggleSetka();
  });


      const inputImport = document.getElementById('inputImport');
      const inputExport = document.getElementById('inputExport');

      function importSettings() {
        try {
          const importedSettings = JSON.parse(inputImport.value);
          Object.keys(importedSettings).forEach(key => {
            const localStorageKey = 'cs_n_' + key;
            if (typeof importedSettings[key] === 'string' && !isNaN(parseFloat(importedSettings[key]))) {
              globals[key] = parseFloat(importedSettings[key]);
              window.localStorage.setItem(localStorageKey, parseFloat(importedSettings[key]));
            } else {
              globals[key] = importedSettings[key];
              window.localStorage.setItem(localStorageKey, importedSettings[key]);
            }
          });

          alert('Настройки импортированы успешно');
        } catch (error) {
          alert('Ошибка при импорте настроек');
        }
      }

      function exportSettings() {
        const settingsToExport = {};
        ['cgBorderWid', 'cgBorderType', 'cgBorderCol', 'cgBorderRad', 'cgIsBorderRad', 'cgBodyCol', 'cgFieldWid', 'cgFieldHei', 'cgFieldX', 'cgFieldY', 'cgIsFieldFix', 'cgParWid', 'cgParHei', 'cgParX', 'cgParY', 'cgParCol', 'cgParFCol', 'cgTOSWid', 'cgTOSHei', 'cgTOSX', 'cgTOSY', 'cgTOSCol', 'cgSkyWid', 'cgSkyHei', 'cgSkyX', 'cgSkyY', 'cgSmallWid', 'cgSmallHei', 'cgSmallX', 'cgSmallY', 'cgSmallCol', 'cgSmallFCol', 'cgOCLWid', 'cgOCLHei', 'cgOCLX', 'cgOCLY', 'cgOCLFCol', 'cgChatWid', 'cgChatHei', 'cgChatX', 'cgChatY', 'cgChatCol', 'cgChatFCol', 'cgClockWid', 'cgClockHei', 'cgClockX', 'cgClockY', 'cgClockCol', 'cgClockFCol', 'cgTBWid', 'cgTBHei', 'cgTBX', 'cgTBY', 'cgTBCol', 'cgTBFCol', 'cgHisWid', 'cgHisHei', 'cgHisX', 'cgHisY', 'cgHisCol', 'cgHisFCol', 'cgDeysWid', 'cgDeysHei', 'cgDeysX', 'cgDeysY', 'cgDeysCol', 'cgDeysFCol', 'cgRotWid', 'cgRotHei', 'cgRotX', 'cgRotY', 'cgRotCol', 'cgRotFCol', 'cgLocWid', 'cgLocHei', 'cgLocX', 'cgLocY', 'cgLocCol', 'cgLocFCol', 'cgRSWid', 'cgRSHei', 'cgRSX', 'cgRSY', 'cgRSCol', 'cgRSFCol', 'cgInfoH2DelMargins', 'cgInfoH2FontSize', 'cgDelRSH2', 'cgDelHisH2', 'cgDelParH2', 'cgSeparateLocation', 'cgLocFW', 'cgFontSize', 'cgBorders', 'cgTbBorder', 'cgSmallFW', 'cgYouBG', 'cgYouFC', 'cgInputCol', 'cgInputFCol', 'cgInputBorders', 'cgIsTBBorderRad', 'cgIsLocBorderRad', 'cgDeleteScrolls', 'cgChatSliderCol', 'cgChatSliderBorderCol', 'cgChatSliderLineCol', 'cgChatSliderLineBorder'].forEach(key => {
          settingsToExport[key] = globals[key];
        });
        inputExport.value = JSON.stringify(settingsToExport, null, 2);
        document.getElementById('outputExport').value = JSON.stringify(settingsToExport, null, 2);

      }
      inputImport.addEventListener('change', importSettings);
      inputExport.addEventListener('click', exportSettings);

  $('#nightLagsWarning').on('change', function() {
    if (!this.checked) {
      let userConfirmation = confirm("Вы уверены, что хотите отключить предупреждение о ночных лагах?");
      if (!userConfirmation) {
        this.checked = true;
      }
    }
  });
      (function() { // ДАТА ОБНОВЛЕНИЯ БИБЛИОТЕКИ КОСТЮМОВ
        const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/DATE/last-update-date.html?raw=true';
        $.ajax({
            url: githubUrl,
            dataType: 'text',
            success: function(data) {
                $('span#lastUpdateDate').empty().append(data);
            }});})();
  $(document).ready(function() { let clickCount = 0; const videoUrls = ['https://www.youtube-nocookie.com/embed/1rd4P7uMvvQ?si=TkZTp3GZbxxvcYqV&controls=0', 'https://www.youtube-nocookie.com/embed/elaSoKe1gFw?si=Q5JWB-t06mRZDLra&controls=0', 'https://www.youtube-nocookie.com/embed/8Jk_5Yry_SE?si=cGZXfc39MZl9W9_I&controls=0' ]; $("a.active[data-target='1']").click(function(e) {e.preventDefault(); clickCount++;if (clickCount >= 5) {clickCount = 0; const randomIndex = Math.floor(Math.random() * videoUrls.length); const randomVideoUrl = videoUrls[randomIndex]; const iframe = document.createElement('iframe'); iframe.width = '99%'; iframe.height = '530px'; iframe.src = randomVideoUrl; iframe.title = 'YouTube video player'; iframe.frameborder = '0'; iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'; iframe.allowfullscreen = true; iframe.referrerpolicy = 'strict-origin-when-cross-origin'; $("#tableContent").empty().append(iframe); } }); });
}




// ...
// ...
// ...

function dm() {
  if (globals['dontReadenLS']) {

    function updateDontReadenMessages() {
      $('#messList tr').each(function() {
        if (!$(this).hasClass('msg_notRead') && !$(this).find('.dontReadButton').length) {
          $(this).append('<td><button class="dontReadButton">Н</button></td>');
          let messageId = $(this).find('a.msg_open').data('id');
          if (localStorage.getItem('message' + messageId)) {
            $(this).addClass('dontReaden');
          }
        }
      });
    }

    $(document).on('click', '.dontReadButton', function() {
      let row = $(this).closest('tr');
      let messageId = row.find('a.msg_open').data('id');
      if (row.hasClass('dontReaden')) {
        row.removeClass('dontReaden');
        localStorage.removeItem('message' + messageId);
      }
      else {
        row.addClass('dontReaden');
        localStorage.setItem('message' + messageId, true);
      }
      updateDontReadCounter1();
    });

    $(document).on('click', '.msg_open', function() {
      let row = $(this).closest('tr');
      if (row.hasClass('dontReaden')) {
        let messageId = row.find('a.msg_open').data('id');
        row.removeClass('dontReaden');
        localStorage.removeItem('message' + messageId);
        updateDontReadCounter();
      }
    });

    setInterval(function() {
      updateDontReadenMessages();
      updateDontReadCounter();
    }, 1000);

    let dontreadencss = `
     <style>.dontReaden {
     background-color: var(--cwsc-bckg-6); }
     </style>`
    $('head').append(dontreadencss);
  }

  // Чипсеки

  if (globals['textTemplates']) {
    function checkForForm() {
      let form = document.querySelector('#write_form');
      if (form && !form.classList.contains('templates-added')) {
        add_templates();
        form.classList.add('templates-added');
      }
    }
    checkForForm();
    let observer = new MutationObserver((mutationsList, observer) => {
      for (let mutation of mutationsList) {
        if (mutation.type === 'childList') {
          checkForForm();
        }
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });

    function add_templates() {
      if (window.location.href.includes("https://catwar.su/ls?new")) {
        $(document).ready(function() {
          setTimeout(function() {
            initScript();
          }, 70);
        });

        function initScript() {
          let templates = localStorage.getItem('templates') ? JSON.parse(localStorage.getItem('templates')) : [];

          function renderTemplates() {
            let list = $('.patternlist');
            list.empty();
            templates.forEach(function(template, index) {
              let templateText = '<div class="patternline"><a href="#" class="name" data-index="' + index + '">' + template.name + '</a> <div id="del-edit"><a href="#" class="delete" data-index="' + index + '">[X]</a> <a href="#" class="edit" data-index="' + index + '">[✍]</a></div><hr>';
              list.append(templateText);
            });
          }
          let writeForm = $('form#write_form');
          if (writeForm.length === 0) {
            return;
          }
          writeForm.find('.patternblock').remove();
          writeForm.prepend('<div class="patternblock"><b>Шаблоны</b><div class="patternlist"></div></div>');
          let patternBlock = writeForm.find('.patternblock');
          let createButton = $('<a href="#" id="createButton">Создать новый шаблон</a>').click(function(e) {
            e.preventDefault();
            $(this).hide();
            let inputField = $('<input type="text" id="templateName" placeholder="Введите название шаблона"></input>');
            let okButton = $('<button type="button" id="templateBtnOK" class="templateBtns">OK</button>').click(function() {
              let templateName = inputField.val();
              if (templateName) {
                let currentContent = $('#text').val();
                let newTemplate = {
                  name: templateName,
                  content: currentContent
                };
                templates.push(newTemplate);
                localStorage.setItem('templates', JSON.stringify(templates));
                renderTemplates();
                inputField.remove();
                okButton.remove();
                cancelButton.remove();
                createButton.show();
              }
            });
            let cancelButton = $('<button id="templateBtnUndo" class="templateBtns">Отмена</button>').click(function() {
              inputField.remove();
              okButton.remove();
              cancelButton.remove();
              createButton.show();
            });
            $(this).after(inputField, okButton, '  ', cancelButton);
          });
          patternBlock.append(createButton);
          writeForm.off('click', '.delete').on('click', '.delete', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateName = templates[templateIndex].name;
            if (confirm('Точно ли вы хотите удалить шаблон "' + templateName + '"?')) {
              templates.splice(templateIndex, 1);
              localStorage.setItem('templates', JSON.stringify(templates));
              renderTemplates();
            }
          });
          writeForm.off('click', '.edit').on('click', '.edit', function(e) {
            $('#templateBtnSaveChanges').show();
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let template = templates[templateIndex];
            if (template) {
              let templateContent = template.content;
              $('#text').val(templateContent);
              let saveButton = $('#templateBtnSaveChanges');
              if (saveButton.length === 0) {
                saveButton = $('<button id="templateBtnSaveChanges">Сохранить шаблон</button><br><br>');
                writeForm.append(saveButton);

              }
              saveButton.off('click').click(function(e) {
                e.preventDefault();
                let editedContent = $('#text').val();
                templates[templateIndex].content = editedContent;
                localStorage.setItem('templates', JSON.stringify(templates));
                renderTemplates();
                $('#text').val('');
                $('#templateBtnSaveChanges').hide();
              });
            }
          });
          writeForm.on('click', '.name', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let template = templates[templateIndex];
            if (template) {
              $('#text').val(template.content);
              if (globals['ttReplaceTheme']) {
                $('#subject').val(template.name);
              }
            }
          });
          renderTemplates();

          function togglePatternBlock() {
            $('.patternblock').slideToggle();
          }
          let toggleButton = $('<button id="togglePatternBlockButton" type="button">Ш</button>').click(togglePatternBlock);
          $('button[data-code="b"]').before(toggleButton);
          if (globals['toggleTT']) {
            $('.patternblock').hide();
          }
        }
      }
    }
    let css = `
        <style>
          div.patternlist::-webkit-scrollbar {
          width: 8px; }
          div.patternlist::-webkit-scrollbar-track {
          background: var(--cwsc-scrl-1) !important;
          border-radius: 3px; }
          div.patternlist::-webkit-scrollbar-thumb {
          background: var(--cwsc-scrl-2) !important;
          border-radius: 3px; }
          div.patternblock {
          font-family: Montserrat;
          outline: 5px solid var(--cwsc-brdr-1);
          background-color: var(--cwsc-bckg-1);
          color: var(--cwsc-txt-1);
          border-radius: 10px !important;
          margin: 15px 5px; }
          div.patternblock>b {
          display: flex !important;
          justify-content: center;
          text-transform: uppercase;
          color: var(--cwsc-txt-2);
          font-size: 25px;
          letter-spacing: 25px;
          padding: 10px 0px;
          margin-left: 25px; }
          div.patternlist {
          max-height: 170px;
          overflow: auto;
          background-color: var(--cwsc-bckg-2);
          border-top: 4px solid var(--cwsc-brdr-2);
          border-radius: 0px 0px 10px 10px;
          padding: 6px 0px 0px 0px}
          div.patternline>hr {
          border: 0.5px solid var(--cwsc-brdr-4);
          margin: 6px 0px 0px 0px; }
          div.patternline:hover {
          background: var(--cwsc-brdr-4) !important;
          transition: 0.8s; }
          div.patternline {
          transition: 0.8s;
          padding-top: 6px; }
          div.patternline a {
          color: var(--cwsc-txt-1); }
          div.patternline a:hover {
          color: var(--cwsc-txt-4); }
          .patternline>a.name {
          display: block;
          margin: 0px 0px 0px 10px; }
          div#del-edit {
          display: flex;
          justify-content: flex-end;
          margin: -15px 0px 0px 0px;
          height: 18px; }
          div#del-edit>a {
          margin: 0px 3px; }
          div#del-edit>a.edit {
          position: relative;
          bottom: 1px; }
          input#templateName {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 1px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          width: 200px !important;
          margin: 6px 10px 4px 10px; }
          button#templateBtnOK, button#templateBtnUndo, button#templateBtnSaveChanges {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 2px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          padding: 1px 15px;
          margin: 0px 5px; }
          button#templateBtnOK:hover, button#templateBtnUndo:hover, button#templateBtnSaveChanges:hover {
          border: 1px solid var(--cwsc-brdr-2); }
          a#createButton {
          display: inline-block;
          color: var(--cwsc-txt-4);
          padding: 6px; }
          button#togglePatternBlockButton {
          background-color: var(--cwdf-bckg-1);
          color: var(--cwdf-txt-1);
          border: none;
          margin-right: 5px; }
          button#togglePatternBlockButton:hover {
          outline: 1px solid var(--cwdf-brdr-2); }
        </style>`
    $('head').append(css);
  }

if (globals['timerForLS']) {
  let script = document.createElement('script');
  script.src = "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js";
  document.getElementsByTagName('head')[0].appendChild(script);

  let stylesAdded = false;

  function updateMessageStyles() {
    if (typeof moment !== "undefined") {
      let now = moment();
      $('#messList tr').each(function(index, element) {
        if (index === 0) return;
        if ($(element).attr('class') === 'msg_read') {
          return;
        }
        let dateText = $(element).find('td:nth-child(3)').text();
        let messageDate = moment(dateText, 'YYYY-MM-DD HH:mm:ss');
        let diffDays = now.diff(messageDate, 'days');
        if (diffDays >= 6 && diffDays <= 14) {
          $(element).addClass('old-message');
        } else {
          $(element).removeClass('old-message');
        }
      });
      if (!stylesAdded) {
        let css = `
          <style>
            .old-message {
              background-color: var(--cwsc-bckg-8);
            }
          </style>
        `;
        $('head').append(css);
        stylesAdded = true;
      }
    } else {
      setTimeout(updateMessageStyles, 100);
    }
  }
  updateMessageStyles();
  setInterval(updateMessageStyles, 1000);
}


}

// ...
// ...
// ...

function cw3() {
  if (globals['inGameClock']) {
    if (globals['movableClocks']) {
      (function() {
        function injectDateTime() {
          let htmlClock = `
        <div id="clockContainer">
        <div id="clock"></div>
        <div id="date"></div>
        </div>`
          $("body").append(htmlClock);
          let cssClock = `<style>
          div#clockContainer {
          position: absolute;
          z-index: 9999;
          cursor: move;
          font-family: Montserrat;
          background-color: var(--cwsc-bckg-5);
          border: 3px solid var(--cwsc-brdr-4);
          border-radius: 5px;
          color: var(--cwsc-txt-5);
          padding: 6px 10px;
          font-weight: bold;
          font-size: ${globals.clockFontWeight}px !important; }
        </style>`
          $('head').append(cssClock);

          var dateTimeContainer = document.getElementById('clockContainer');
          var savedPosition = JSON.parse(localStorage.getItem('dateTimePosition'));
          if (savedPosition) {
            dateTimeContainer.style.left = savedPosition.left;
            dateTimeContainer.style.top = savedPosition.top;
          }
          else {
            dateTimeContainer.style.left = '0px';
            dateTimeContainer.style.top = '0px';
          }
          let isDragging = false;
          let initialX = 0;
          let initialY = 0;
          dateTimeContainer.addEventListener('mousedown', function(e) {
            isDragging = true;
            initialX = e.pageX - parseInt(dateTimeContainer.style.left);
            initialY = e.pageY - parseInt(dateTimeContainer.style.top);
          });
          document.addEventListener('mousemove', function(e) {
            if (isDragging) {
              e.preventDefault();
              dateTimeContainer.style.right = 'unset';
              dateTimeContainer.style.left = (e.pageX - initialX) + 'px';
              dateTimeContainer.style.top = (e.pageY - initialY) + 'px';
            }
          });
          document.addEventListener('mouseup', function() {
            isDragging = false;
            if (dateTimeContainer) {
              var currentPosition = {
                left: dateTimeContainer.style.left,
                top: dateTimeContainer.style.top
              };
              localStorage.setItem('dateTimePosition', JSON.stringify(currentPosition));
            }
          });
        }
        window.addEventListener('load', injectDateTime);
      })();
    }
    if (!globals['movableClocks']) {
      let clockHtml = `
         <div id="clockContainer">
         <div id="clock"></div>
         <div id="date"></div>
         </div>
         <style>
          div#clockContainer {
          font-family: Montserrat;
          background-color: var(--cwsc-bckg-5);
          border: 3px solid var(--cwsc-brdr-4);
          color: var(--cwsc-txt-5);
          font-weight: bold;
          font-size: ${globals.clockFontWeight}px !important; }
         </style>`
      if (!globals.playerCustom) {
           let clockHtml1 = `<style>div#clockContainer {padding: 6px 10px;}</style>`
           $('head').append(clockHtml1);
      }
      $('#tr_actions').after(clockHtml);
    }
  }

  // Сухареки

  if (globals.showEnemy) {
    $('head').append('<style id="enemyList"></style>');
    $(document).ready(function() {
      globals.enemyList.forEach(enemyId => {
        const selector = `div.cage_items:has(span span span.cat_tooltip u a[href*="${enemyId}"])`;
        $('#enemyList').append(`
          ${selector} {
            outline: 5px solid ${globals.enemyColor};
            outline-offset: -5px;
            padding-bottom: 16px; }

        `);
      });
    });
  }


    $(document).ready(function() {
    if (globals.ahbHistory) {
      $('div#history_block').hide();
    }
    if (globals.ahbParameter) {
      $('div#parameters_block').hide();
    }
    if (globals.ahbRelatives) {
      $('div#relatives_block').hide();
    }
    });


  if (globals.newLS) {
    let lastLSCount = 0;
    setInterval(() => {
      const newLSCount = parseInt($('#newls').html().replace(/\D/gi, ''), 10) || 0;
      if (newLSCount !== lastLSCount) {
        if (newLSCount > lastLSCount) {
          playAudio(globals.messageSound, globals.newLSVol);
        }
        lastLSCount = newLSCount;
      }
    }, 1000);
  }

  if (globals.newChat) {
    let lastChatCount = 0;
    setInterval(() => {
      const newChatCount = parseInt($('#newchat').html().replace(/\D/gi, ''), 10) || 0;
      if (newChatCount !== lastChatCount) {
        if (newChatCount > lastChatCount) {
          playAudio(globals.messageSound, globals.newChatVol);
        }
        lastChatCount = newChatCount;
      }
    }, 1000);
  }



  if (globals.setka) {
    let variable = "";
    let color = globals.cgColor;
    let opacity = globals.cgOpacity;
    variable = hexToRGBA(color, opacity);
    if (globals.cageGridVar) {
      let css = `<style>.cage {box-shadow: inset 1px 1px 1px rgba(0, 0, 0, ${globals.cgOpacity}), inset -1px -1px 1px ${variable};}</style>`
    $('head').append(css);
    } else {
      let css = `<style>.cage {box-shadow: inset 0px ${globals.cgOpacity}px 0px ${globals.cgOpacity}px ${globals.cgColor};}</style>`
    $('head').append(css);
    }
  }

  if (globals.customDefects) {
    $('head').append(`<style id="customDefectStyle">
            #tr_field [style*='defects'] {
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -khtml-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            }

            ol.mouth>li>div>div[style*='defects'] {
            border: none !important;
            background-color: none !important;
            outline: none !important; }

            div#itemList>div>img[style*='defects'] {
            border: none !important;
            background-color: none !important;
            outline: none !important; }
            </style>`); // Добавляем стуле для кастомных дефектов
    // РАНЫ
      if (globals.cdSRani1) { // РАНЫ 1 СТАДИЯ
        if (globals.cdSIcon) { // КОД ИКОНОК
          if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
            let css = `#tr_field [style*='wound/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%201Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
            let css = `#tr_field [style*='wound/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Раны%201.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }

        if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
          let variable = "";
          let color = globals.cdCRani;
          let opacity = globals.cdOpacity;
          variable = hexToRGBA(color, opacity);
          if (globals.cdSRamki) { // КОД РАМОК
            let css = `#tr_field [style*='wound/1'] {
            outline: 5px solid ${variable};
            outline-offset: -5px;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
            let css = `#tr_field [style*='wound/1'] {
            background-color: ${variable} !important;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
        }
      }
      if (globals.cdSRani2) { // РАНЫ 1 СТАДИЯ
        if (globals.cdSIcon) { // КОД ИКОНОК
          if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
            let css = `#tr_field [style*='wound/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%202Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
            let css = `#tr_field [style*='wound/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Раны%202.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }

        if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
          let variable = "";
          let color = globals.cdCRani;
          let opacity = globals.cdOpacity;
          variable = hexToRGBA(color, opacity);
          if (globals.cdSRamki) { // КОД РАМОК
            let css = `#tr_field [style*='wound/2'] {
            outline: 5px solid ${variable};
            outline-offset: -5px;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
            let css = `#tr_field [style*='wound/2'] {
            background-color: ${variable} !important;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
        }
      }
      if (globals.cdSRani3) { // РАНЫ 3 СТАДИЯ
        if (globals.cdSIcon) { // КОД ИКОНОК
          if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
            if (globals.cdSRani3B) {
              let css = `#tr_field [style*='wound/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%203!Р.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            } else {
              let css = `#tr_field [style*='wound/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%203Р.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            }
          }
          if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
            if (globals.cdSRani3B) {
              let css = `#tr_field [style*='wound/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Rany_3_33.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            } else {
              let css = `#tr_field [style*='wound/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Раны%203.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            }
          }
        }

        if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
          let variable = "";
          let color = globals.cdCRani;
          let opacity = globals.cdOpacity;
          variable = hexToRGBA(color, opacity);
          if (globals.cdSRamki) { // КОД РАМОК
            let css = `#tr_field [style*='wound/3'] {
            outline: 5px solid ${variable};
            outline-offset: -5px;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
            let css = `#tr_field [style*='wound/3'] {
            background-color: ${variable} !important;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
        }
      }
      if (globals.cdSRani4) { // РАНЫ 4 СТАДИЯ
        if (globals.cdSIcon) { // КОД ИКОНОК
          if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
            if (globals.cdSRani4B) {
              let css = `#tr_field [style*='wound/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%204!!!Р.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            } else {
              let css = `#tr_field [style*='wound/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Раны%204Р.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            }
          }
          if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
            if (globals.cdSRani4B) {
              let css = `#tr_field [style*='wound/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Rany_4_33__33__33.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            } else {
              let css = `#tr_field [style*='wound/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Раны%204.png) !important;}
              `
              $('style#customDefectStyle').append(css);
            }
          }
        }

        if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
          let variable = "";
          let color = globals.cdCRani;
          let opacity = globals.cdOpacity;
          variable = hexToRGBA(color, opacity);
          if (globals.cdSRamki) { // КОД РАМОК
            let css = `#tr_field [style*='wound/4'] {
            outline: 5px solid ${variable};
            outline-offset: -5px;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
          if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
            let css = `#tr_field [style*='wound/4'] {
            background-color: ${variable} !important;
            padding-top: 16px; }`
            $('style#customDefectStyle').append(css);
          }
        }
      }

    // ОТРАВЛЕНИЕ
    if (globals.cdSPoison1) { // ОТРАВЛЕНИЕ 1 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='poisoning/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%201Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Отравление%201.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCPoison;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='poisoning/1'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/1'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSPoison2) { // ОТРАВЛЕНИЕ 2 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='poisoning/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%202Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Отравление%202.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCPoison;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='poisoning/2'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/2'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSPoison3) { // ОТРАВЛЕНИЕ 3 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSPoison3B) {
            let css = `#tr_field [style*='poisoning/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%203!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='poisoning/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%203Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSPoison3B) {
            let css = `#tr_field [style*='poisoning/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Otravlenie_3_33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='poisoning/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Отравление%203.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCPoison;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='poisoning/3'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/3'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSPoison4) { // ОТРАВЛЕНИЕ 4 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSPoison4B) {
            let css = `#tr_field [style*='poisoning/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%204!!!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='poisoning/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Отравление%204Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSPoison4B) {
            let css = `#tr_field [style*='poisoning/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Otravlenie_4_33__33__33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='poisoning/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Отравление%204.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCPoison;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='poisoning/4'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='poisoning/4'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }

    // УШИБЫ
    if (globals.cdSTrauma1) { // УШИБЫ 1 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='trauma/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%201Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ушибы%201.png) !important; }
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCTrauma;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='trauma/1'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/1'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSTrauma2) { // УШИБЫ 2 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='trauma/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%202Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ушибы%202.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCTrauma;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='trauma/2'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/2'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSTrauma3) { // УШИБЫ 3 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSTrauma3B) {
            let css = `#tr_field [style*='trauma/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%203!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='trauma/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%203Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSTrauma3B) {
            let css = `#tr_field [style*='trauma/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ushiby_3_33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='trauma/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ушибы%203.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCTrauma;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='trauma/3'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/3'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSTrauma4) { // УШИБЫ 4 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSTrauma4B) {
            let css = `#tr_field [style*='trauma/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%204!!!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='trauma/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Ушибы%204Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSTrauma4B) {
            let css = `#tr_field [style*='trauma/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ushiby_4_33__33__33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='trauma/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Ушибы%204.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCTrauma;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='trauma/4'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='trauma/4'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }

    // ПЕРЕЛОМЫ
    if (globals.cdSDrown1) { // ПЕРЕЛОМЫ 1 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='drown/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%201Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='drown/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Переломы%201.png) !important; }
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCDrown;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='drown/1'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='drown/1'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSDrown2) { // ПЕРЕЛОМЫ 2 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='drown/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%202Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='drown/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Переломы%202.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCDrown;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='drown/2'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='drown/2'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSDrown3) { // ПЕРЕЛОМЫ 3 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSDrown3B) {
            let css = `#tr_field [style*='drown/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%203!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='drown/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%203Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSDrown3B) {
            let css = `#tr_field [style*='drown/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Perelomy_3_33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='drown/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Переломы%203.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCDrown;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='drown/3'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='drown/3'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSDrown4) { // ПЕРЕЛОМЫ 4 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSDrown4B) {
            let css = `#tr_field [style*='drown/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%204!!!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='drown/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Переломы%204Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSDrown4B) {
            let css = `#tr_field [style*='drown/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Perelomy_4_33__33__33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='drown/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Переломы%204.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCDrown;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='drown/4'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='drown/4'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    // ГРЯЗЬ
    if (globals.cdSGryaz1) { // ГРЯЗЬ 1 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='dirt/base/1/1'], #tr_field [style*='dirt/base/2/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%201Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/1'], #tr_field [style*='dirt/base/2/1'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Грязь%201.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCGryaz;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='dirt/base/1/1'], #tr_field [style*='dirt/base/2/1'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/1'], #tr_field [style*='dirt/base/2/1'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSGryaz2) { // ГРЯЗЬ 2 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          let css = `#tr_field [style*='dirt/base/1/2'], #tr_field [style*='dirt/base/2/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%202Р.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/2'], #tr_field [style*='dirt/base/2/2'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Грязь%202.png) !important;}
          `
          $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCGryaz;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='dirt/base/1/2'], #tr_field [style*='dirt/base/2/2'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/2'], #tr_field [style*='dirt/base/2/2'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSGryaz3) { // ГРЯЗЬ 3 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSGryaz3B) {
            let css = `#tr_field [style*='/dirt/base/1/3.png'], #tr_field [style*='dirt/base/2/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%203!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='/dirt/base/1/3.png'], #tr_field [style*='dirt/base/2/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%203Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSGryaz3B) {
            let css = `#tr_field [style*='/dirt/base/1/3.png'], #tr_field [style*='dirt/base/2/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Gryaz_3_33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='/dirt/base/1/3.png'], #tr_field [style*='dirt/base/2/3'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Грязь%203.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }
      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCGryaz;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='dirt/base/1/3'], #tr_field [style*='dirt/base/2/3'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/3'], #tr_field [style*='dirt/base/2/3'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
    if (globals.cdSGryaz4) { // ГРЯЗЬ 4 СТАДИЯ
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
          if (globals.cdSGryaz4B) {
            let css = `#tr_field [style*='/dirt/base/1/4.png'], #tr_field [style*='dirt/base/2/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%204!!!Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='/dirt/base/1/4.png'], #tr_field [style*='dirt/base/2/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Грязь%204Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
          if (globals.cdSGryaz4B) {
            let css = `#tr_field [style*='/dirt/base/1/4.png'], #tr_field [style*='dirt/base/2/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Gryaz_4_33__33__33.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          } else {
            let css = `#tr_field [style*='/dirt/base/1/4.png'], #tr_field [style*='dirt/base/2/4'] {content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Грязь%204.png) !important;}
            `
            $('style#customDefectStyle').append(css);
          }
        }
      }
      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCGryaz;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='dirt/base/1/4'], #tr_field [style*='dirt/base/2/4'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='dirt/base/1/4'], #tr_field [style*='dirt/base/2/4'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }

    // КАШЕЛЬ
    if (globals.cdSCough) {
      if (globals.cdSIcon) { // КОД ИКОНОК
        if (globals.cdSRamki) { // ИКОНКИ С РАМКАМИ
            let css = `#tr_field [style*='disease/1']{content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/БолезниР/Кашель%201Р.png) !important;}
            `
            $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// ИКОНКИИ БЕЗ РАМОК
            let css = `#tr_field [style*='disease/1']{content: url(https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/Болезни/Кашель%201.png) !important;}
            `
            $('style#customDefectStyle').append(css);
        }
      }

      if (globals.cdSColors) { // КОД ЦВЕТНЫХ КЛЕТОК
        let variable = "";
        let color = globals.cdCCough;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) { // КОД РАМОК
          let css = `#tr_field [style*='disease/1']{
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {// КОД БЕЗ РАМОК
          let css = `#tr_field [style*='disease/1']{
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
      }
    }
  }

  if (globals['cdSDivers']) {
    let cstmDfctDivers = `
        <style id="dfctDivers">
        #tr_field [style*='/cw3/cats/0/costume/7.png'], [style*='/cw3/cats/-1/costume/7.png'] {
        content: url(https://i.ibb.co/dG6mhTj/image.png) !important;
        padding-top: 16px !important;
        padding-left: 1.5px !important;}
        </style>`
    $('head').append(cstmDfctDivers);
  }
  if (globals['cdSPodstilki']) {
        let variable = "";
        let color = globals.cdCPodstilki;
        let opacity = globals.cdOpacity;
        variable = hexToRGBA(color, opacity);
        if (globals.cdSRamki) {
          let css = `#tr_field [style*='/cw3/cats/0/costume/295.png'], [style*='/cw3/cats/-1/costume/295.png'], [style*='/cw3/cats/1/costume/295.png'] {
          outline: 5px solid ${variable};
          outline-offset: -5px;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
        if (!globals.cdSRamki) {
          let css = `#tr_field [style*='/cw3/cats/0/costume/295.png'], [style*='/cw3/cats/-1/costume/295.png'], [style*='/cw3/cats/1/costume/295.png'] {
          background-color: ${variable} !important;
          padding-top: 16px; }`
          $('style#customDefectStyle').append(css);
        }
  }

  // Кыр сосичка
  if (globals['customItems']) {
    let cstmItmStyle = `<style id='cstmItmStyle'></style>`
    $('head').append(cstmItmStyle);

    if (globals['ciSHerb']) {
        let variable = "";
        let color = globals.ciCHerb;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmHerbs = `
        .cage_items[style*='things/13.png'],.cage_items[style*='things/15.png'], .cage_items[style*='things/17.png'], .cage_items[style*='things/19.png'], .cage_items[style*='things/21.png'], .cage_items[style*='things/23.png'], .cage_items[style*='things/25.png'], .cage_items[style*='things/26.png'], .cage_items[style*='things/106.png'], .cage_items[style*='things/108.png'], .cage_items[style*='things/109.png'], .cage_items[style*='things/110.png'], .cage_items[style*='things/111.png'], .cage_items[style*='things/112.png'], .cage_items[style*='things/115.png'], .cage_items[style*='things/116.png'], .cage_items[style*='things/119.png'], .cage_items[style*='things/655.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmHerbs);
    }
    if (globals['ciSMoss']) {
        let variable = "";
        let color = globals.ciCMoss;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmMoss = `
        .cage_items[style*='things/75.png'], .cage_items[style*='things/78.png'], .cage_items[style*='things/95.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmMoss);
    }
    if (globals['ciSWeb']) {
        let variable = "";
        let color = globals.ciCWeb;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmWeb = `
        .cage_items[style*='things/20.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmWeb);
    }
    if (globals['ciSStick']) {
        let variable = "";
        let color = globals.ciCStick;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmSticks = `
        .cage_items[style*='things/565.png'], .cage_items[style*='things/566.png'], .cage_items[style*='things/562.png'], .cage_items[style*='things/563.png'], .cage_items[style*='things/3993.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmSticks);
    }
    if (globals['ciSDust']) { // Отображение Звёздной Пыли
        let variable = "";
        let color = globals.ciCDust;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmDust = `
        .cage_items[style*='things/94.png'], .cage_items[style*='things/385.png'], .cage_items[style*='things/386.png'], .cage_items[style*='things/387.png'], .cage_items[style*='things/388.png'], .cage_items[style*='things/389.png'], .cage_items[style*='things/390.png'], .cage_items[style*='things/391.png'], .cage_items[style*='things/392.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmDust);
    }
    if (globals['ciSMusor']) {
        let variable = "";
        let color = globals.ciCMusor;
        let opacity = globals.ciOpacity;
        variable = hexToRGBA(color, opacity);
      let cstmItmMusor = `
        .cage_items[style*='things/985.png'], .cage_items[style*='things/986.png'], .cage_items[style*='things/987.png'], .cage_items[style*='things/988.png'], .cage_items[style*='things/989.png'] {
        background-color: ${variable} !important;}
        .cage_items[style*='things/44.png'], .cage_items[style*='things/180.png'] {
        background-color: ${variable} !important;}
        .cage_items[style*='things/77.png'] {
        background-color: ${variable} !important;}
        .cage_items[style*='things/7801.png'], .cage_items[style*='things/7802.png'], .cage_items[style*='things/7803.png'], .cage_items[style*='things/7804.png'], .cage_items[style*='things/7805.png'], .cage_items[style*='things/7806.png'] {
        background-color: ${variable} !important;}`
      $('#cstmItmStyle').append(cstmItmMusor);
    }
  }

  // Луковые колечьки


  if (globals.playerCustom) {
    let itemlistwid = globals.cgRotWid;
    itemlistwid = itemlistwid - 12;
    let blockmesswid = globals.cgDeysWid
    blockmesswid = blockmesswid - 20;
    let chatmsghei = globals.cgChatHei;
let formHeight = $('form#chat_form').outerHeight(true);
chatmsghei = chatmsghei - formHeight;
chatmsghei = chatmsghei - 22;
      let css = `
        <style>`
        css += `
          body {
  background-color: ${globals.cgBodyCol};
    font-size: ${globals.cgFontSize}px !important;
  }
      #main_table {
        background: 0 !important;
        }
      #parameter {
        position: absolute;
        top: ${globals.cgParY}px;
        left: ${globals.cgParX}px;
        width: ${globals.cgParWid}px;
        height: ${globals.cgParHei}px;
        background: ${globals.cgParCol} !important;
        color: ${globals.cgParFCol} !important;}
      td#history {
        position: absolute;
        top: ${globals.cgHisY}px;
        left: ${globals.cgHisX}px;
        width: ${globals.cgHisWid}px;
        height: ${globals.cgHisHei}px;
        background: ${globals.cgHisCol} !important;
        color: ${globals.cgHisFCol} !important;
        padding: 6px;
        overflow: auto;}
      td#history a {
        color: ${globals.cgHisFCol} !important;}
      .ui-icon-gripsmall-diagonal-se {
        position: absolute;
        bottom: 1px;
        right: 1px; }
      div#clockContainer {
        position: absolute;
        top: ${globals.cgClockY}px;
        left: ${globals.cgClockX}px;
        width: ${globals.cgClockWid}px;
        height: ${globals.cgClockHei}px;
        font-size: ${globals.clockFontWeight}px !important;
        background-color: ${globals.cgClockCol} !important;
        color:${globals.cgClockFCol} !important;
        font-weight: bolder;
        font-family: Montserrat;
        display: grid;
        align-content: center;}
      div#clockContainer div#clock, div#clockContainer div#date {
        margin-left: 4px;}

      #tr_chat {
        position: absolute;
        top: ${globals.cgChatY}px;
        left: ${globals.cgChatX}px;
        width: ${globals.cgChatWid}px;
        height: ${globals.cgChatHei}px;
        background: ${globals.cgChatCol} !important;
        color: ${globals.cgChatFCol} !important;}
      #chat_form {
        margin: 5px;
        padding: 0;
        width: 100%;}
      span.chat_text {
        width: 80% !important;}
      #volume {
        margin: 2px;
        margin-top: 4px;}
      #chat_msg {
        position: relative;
        width: 100%;
        height: ${chatmsghei}px;}
      #cws_chat_msg {
        position: relative;
        width: 100%;
        height: 30%;}
      .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header {
        background: ${globals.cgChatSliderCol} !important;
        border: ${globals.cgChatSliderBorderCol} 1px solid;}
      /* #volume{
        background-color: var(--BBO) !important;
        border: var(--BRDR) solid 2px !important;
        color: var(--TXT) !important;} */
      .ui-slider .ui-slider-handle {
        background: ${globals.cgChatSliderCol} !important;
        border: ${globals.cgChatSliderBorderCol} !important; }
      .ui-slider {
        background: ${globals.cgChatSliderLineCol} !important;
        border: ${globals.cgChatSliderLineBorder} !important; }

        #msg_send, #mit, #mitok, input#text {
        background-color: ${globals.cgInputCol}!important;
        color: ${globals.cgInputFCol}!important;
        }
      #sky {
        position: absolute;
        top: ${globals.cgSkyY}px;
        left: ${globals.cgSkyX}px; /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
        width: ${globals.cgSkyWid}px;
        height: ${globals.cgSkyHei}px;}

      #tr_tos {
        display: block;
        position: absolute;
        top: ${globals.cgTOSY}px;
        left: ${globals.cgTOSX}px;
        width: ${globals.cgTOSWid}px;
        height: ${globals.cgTOSHei}px;
        background: ${globals.cgTOSCol} !important;
        text-align: center;}

      #tr_actions {
        position: absolute;
        top: ${globals.cgDeysY}px;
        left: ${globals.cgDeysX}px;
        width: ${globals.cgDeysWid}px;
        height: ${globals.cgDeysHei}px;
        background: ${globals.cgDeysCol} !important;
        padding: 6px !important;
        overflow: auto;
        color: ${globals.cgDeysFCol} !important;}
      #tr_actions a {
        color: ${globals.cgDeysFCol} !important;}
      #block_mess {
        position: absolute;
        width: ${blockmesswid}px;
        padding: 0px;
        text-align: center !important;}
      #dein {
        width: 100%;
        height: 100%;
        overflow: auto;}
      #akten {
        width: 100%;
        height: 100%;}

      #family {
        position: absolute;
        top: ${globals.cgRSY}px;
        left: ${globals.cgRSX}px;
        width: ${globals.cgRSWid}px;
        height: ${globals.cgRSHei}px;
        background:${globals.cgRSCol} !important;
        padding: 6px;
        color: ${globals.cgRSFCol} !important;}
      #family a {
        color: ${globals.cgRSFCol} !important;}

      .small {
        display: block;
        position: absolute;
        top: ${globals.cgSmallY}px;
        left: ${globals.cgSmallX}px;
        width: ${globals.cgSmallWid}px;
        height: ${globals.cgSmallHei}px;
        background: ${globals.cgSmallCol} !important;
        font-size: ${globals.cgSmallFW}px;
        text-align: center;
        font-weight: bold;
        color: ${globals.cgSmallFCol} !important;}
      .small a {
        color: ${globals.cgSmallFCol} !important;}
      span.small ~ br, span.other_cats_list ~ br {
        display: none;}

      span.other_cats_list {
        position: absolute;
        top: ${globals.cgOCLY}px;
        left: ${globals.cgOCLX}px;
        color: var(--TXT)}

      #tr_mouth {
        position: absolute;
        top: ${globals.cgRotY}px;
        left: ${globals.cgRotX}px;
        width: ${globals.cgRotWid}px;
        height: ${globals.cgRotHei}px;
        background: ${globals.cgRotCol} !important;
        padding: 6px !important;
        overflow: auto;
        color: ${globals.cgRotFCol} !important;}
      #tr_mouth a {
        color: ${globals.cgRotFCol} !important;}

      #itemList {
        width: ${itemlistwid}px;
        }

      #app>p:not([id])::before {
        content: 'Тёмные баллы: ';
        font-weight: bold;
      }

      #app>p:not([id]) {
        display: block;
        position: absolute;
        top: ${globals.cgTBY}px;
        left: ${globals.cgTBX}px;
        width: ${globals.cgTBWid}px;
        height: ${globals.cgTBHei}px;
        background: ${globals.cgTBCol} !important;
        text-align: center;
        color: ${globals.cgTBFCol} !important;}
      #cages_div {
      opacity: 1 !important;
      }
      #app p:not([id])>b {
        display: none;
      }
      a#parameters-alert {
      position: absolute;
      top: ${globals.cgParAlertY}px;
      left: ${globals.cgParAlertX}px;
      color: ${globals.cgParAlertFCol}
      }

      `
      if (globals.cgBorders) {
        css+= `td#parameter, tr#tr_tos, #sky, div#clockContainer, td#history, td#family, span.small, tr#tr_chat, tr#tr_actions, tr#tr_mouth, #location {
       border: ${globals.cgBorderWid}px ${globals.cgBorderType} ${globals.cgBorderCol} !important;}`
      }
      if (globals.cgTbBorder) {
        css+= `#app>p:not([id]) {
        border: ${globals.cgBorderWid}px ${globals.cgBorderType} ${globals.cgBorderCol} !important;}`
      }
      if (globals.cgIsBorderRad) {
        css+= `td#parameter, tr#tr_tos, #sky, div#clockContainer, td#history, td#family, span.small, tr#tr_chat, tr#tr_actions, tr#tr_mouth {
        border-radius: ${globals.cgBorderRad}px;}`
      }
      if (globals.cgIsTBBorderRad) {
        css+= `#app>p:not([id]) {
        border-radius: ${globals.cgBorderRad}px;}`
      }
      if (globals.cgIsLocBorderRad) {
        css+= `#location {
        border-radius: ${globals.cgBorderRad}px;}`
      }
      if (globals.cgInputBorders) {
        css+= `#msg_send, #mit, #mitok, input#text {
        border: ${globals.cgBorderWid}px ${globals.cgBorderType} ${globals.cgBorderCol} !important;}`
      }
      if (globals.cgInfoH2DelMargins) {
        css+= `tr#tr_info td table#info_main tbody tr td h2 {
        margin: 0;
        }`
      }
      if (globals.cgDelRSH2) {
        css+= `table#info_main tbody tr td#family h2 {display: none;}`
      }
      if (globals.cgDelHisH2) {
        css+= `table#info_main tbody tr td#history h2 {display: none;}`
      }
      if (globals.cgDelParH2) {
    css+= `table#info_main tbody tr td#parameter h2 a:first-of-type {display: none;}`
      }
      if (1 == 1) {
        css+= `tr#tr_info td table#info_main tbody tr td h2 {font-size: ${globals.cgInfoH2FontSize}px;}`
      }
      if (globals.cgSeparateLocation) {
        css+= `
      #location {
        display: block;
        position: fixed;
        top: ${globals.cgLocY}px;
        left: ${globals.cgLocX}px;
        width: ${globals.cgLocWid}px;
        height: ${globals.cgLocHei}px;
        background: ${globals.cgLocCol} !important;
        font-size: ${globals.cgLocFW}px;
        text-align: center;
        font-weight: bold;
        color: ${globals.cgLocFCol} !important;}

      #history_block div {
        font-size: 0;
        background-color: transparent !important;}`
      }
  if (globals.cgDeleteScrolls) {
  css+= `  ::-webkit-scrollbar {
    width: 18px;
}

::-webkit-scrollbar-track {
    background: transparent !important;
}

::-webkit-scrollbar-thumb {
    background: transparent !important;
}

::-webkit-scrollbar-corner {
    background: transparent !important;
}`
  }
      if (globals.cgIsFieldFix) {
    css+= `tr#tr_field {
    position: absolute;
    top: ${globals.cgFieldY}px;
    left: ${globals.cgFieldX}px;}
    `
  }

      css+= `</style>`
      $('head').append(css);
  }

  if (globals['phoneFightPanel']) { // Панелька боережима для телефонщиков
    let dangerModes = $('input[value="T+1"], input[value="T+2"], input[value="T+3"]').clone();
    $('input[value="T+1"], input[value="T+2"], input[value="T+3"]').remove();
    $('#fightLog').after(dangerModes);
    if ($('#fteams-wrap').length === 0) { // Проверка на наличие модифицированного БР
      // Если элемента нет, меняем стиль окна бр
      $('#fightPanel').css('height', 'auto');
    }
    let fightPanelStyle = `
        <style id="fightPanelStyle">
        [value="T+1"] {
        position: relative;
        bottom: 0px;
        left: 0px;
        width: 65px !important;}
        [value="T+2"] {
        position: relative;
        bottom: 0px;
        left: 31px;
        width: 65px !important;}
        [value="T+3"] {
        position: relative;
        bottom: 0px;
        left: 62px;
        width: 65px !important;}
       .hotkey {
        margin-left: 15px;
        width: 40px;
        border-radius: 2px;}
        img#block {
        transform: scale(105%);
        position: relative;
        left: 5px;
        top: 1.8px;}
        </style>`
    $('head').append(fightPanelStyle);
  }

  // Френдли кетвар лучшая функция
  if (globals['friendlyCatWar']) {
    $('#fightPanel input[value="T+1"]').remove();
    $('#fightPanel input[value="T+2"]').remove();
    $('#fightPanel input[value="T+3"]').remove();
  }

  // Чупачупсеки

  if (globals['darkCatTooltip']) {
    let darkCss = `
        <style>
        span.cat_tooltip, span.cat_tooltip>a, span.cat_tooltip>u>a {
        color: #a2abb5c7 !important; }

        span.cat_tooltip {
        background: #1a1d22ed !important;
        border: #4f4f59 0.5px solid !important;
        filter: brightness(105%); }

        span.cat_tooltip>[src*="odoroj"] {
        filter: brightness(70%) contrast(90%); }

        span.cat_tooltip>span.online {
        filter: brightness(190%) contrast(50%) opacity(95%); }
        </style>`
    $('head').append(darkCss);
  }

  // Газеровочька


  if (globals['showButterflyBots']) {
    let butterflyCss = `
        <style>
        /* ОБЫЧНАЯ */
        img[src*='things/990.png'] {
        border: 15px solid rgba(255, 170, 0, .6); }

        ol.mouth>li>img[src*='things/990.png'] {
        border: none; }

        div#itemList>div>img[src*='things/990.png'] {
        border: none; }

        /* КРАСИВАЯ */
        img[src*='things/991.png'] {
        border: 15px solid rgba(255, 170, 0, .6); }

        ol.mouth>li>img[src*='things/991.png'] {
        border: none; }

        div#itemList>div>img[src*='things/991.png'] {
        border: none; }

        /* РЕДКАЯ */
        img[src*='things/992.png'] {
        border: 15px solid rgba(255, 170, 0, .6); }

        ol.mouth>li>img[src*='things/992.png'] {
        border: none; }

        div#itemList>div>img[src*='things/992.png'] {
        border: none; }
        </style>`
    $('head').append(butterflyCss);
  }

  // Лимонадек

  if (globals['brightGameField']) {
    let brightCss = `
        <style>
          div#cages_div {
          opacity: 1 !important; }
        </style>`
    $('head').append(brightCss);
  }

  // Чокопайчеки

  if (globals['deleteFPTitles']) {
    let fptitlesCss = `
        <style>
        div#fightPanel input.hotkey:hover {
        pointer-events: none;
        }
        </style>`
    $('head').append(fptitlesCss);
  }






  if (globals["costumeLibrary"]) {
    (function() {
  const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/COSTUMES/catwarScript_Costumes.css?raw=true';
  $.ajax({
    url: githubUrl,
    dataType: 'text',
    success: function(data) {
      $('head').append('<style>' + data + '</style>');
    }});})();
    if (globals["watermarkCostumes"]) {
        (function() {
  const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/CatWarScript/main/COSTUMES/catwarScript_CostumesW.css?raw=true';
  $.ajax({
    url: githubUrl,
    dataType: 'text',
    success: function(data) {
      $('head').append('<style>' + data + '</style>');
    }});})();}

    if (globals["clLakeUniverse"]) {
        (function() { // ОБЫЧНЫЕ КОСТЮМЫ ОЗЁРКА
            const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/OV/costumes.css?raw=true';
            $.ajax({
                url: githubUrl,
                dataType: 'text',
                success: function(data) {
                    $('head').append('<style>' + data + '</style>');
                }});})();
        if (globals["clMemeCostumes"]) {
            (function() { // МЕМНЫЕ КОСТЮМЫ ОЗЁРКА
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/OV/costumesMEME.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
            if (globals["watermarkCostumes"]) {
                (function() { // ВАТЕРМАРКИ ДЛЯ МЕМНЫХ КОСТЮМОВ ОЗЁРКА
                    const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/OV/watermarkMEME.css?raw=true';
                    $.ajax({
                        url: githubUrl,
                        dataType: 'text',
                        success: function(data) {
                            $('head').append('<style>' + data + '</style>');
                        }});})();
            }
        }
        if (globals["watermarkCostumes"]) {
            (function() { // ВАТЕРМАРКИ ДЛЯ КОСТЮМОВ ОЗЁРКА
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/OV/watermark.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
        }
    }
    if (globals["clSeaUniverse"]) {
        (function() { // ОБЫЧНЫЕ КОСТЮМЫ МОРСКАЯ
            const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/MV/costumes.css?raw=true';
            $.ajax({
                url: githubUrl,
                dataType: 'text',
                success: function(data) {
                    $('head').append('<style>' + data + '</style>');
                }});})();
        if (globals["clMemeCostumes"]) {
            (function() { // МЕМНЫЕ КОСТЮМЫ МОРСКАЯ
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/MV/costumesMEME.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
            if (globals["watermarkCostumes"]) {
                (function() { // ВАТЕРМАРКИ ДЛЯ МЕМНЫХ КОСТЮМОВ МОРСКАЯ
                    const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/MV/watermarkMEME.css?raw=true';
                    $.ajax({
                        url: githubUrl,
                        dataType: 'text',
                        success: function(data) {
                            $('head').append('<style>' + data + '</style>');
                        }});})();
            }
        }
        if (globals["watermarkCostumes"]) {
            (function() { // ВАТЕРМАРКИ ДЛЯ КОСТЮМОВ МОРСКАЯ
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/MV/watermark.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
        }
    }
    if (globals["clCreatorUniverse"]) {
        (function() { // ОБЫЧНЫЕ КОСТЮМЫ ТВОРЦЫ
            const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/VT/costumes.css?raw=true';
            $.ajax({
                url: githubUrl,
                dataType: 'text',
                success: function(data) {
                    $('head').append('<style>' + data + '</style>');
                }});})();
        if (globals["clMemeCostumes"]) {
            (function() { // МЕМНЫЕ КОСТЮМЫ ТВОРЦЫ
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/VT/costumesMEME.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
            if (globals["watermarkCostumes"]) {
                (function() { // ВАТЕРМАРКИ ДЛЯ МЕМНЫХ КОСТЮМОВ ТВОРЦЫ
                    const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/VT/watermarkMEME.css?raw=true';
                    $.ajax({
                        url: githubUrl,
                        dataType: 'text',
                        success: function(data) {
                            $('head').append('<style>' + data + '</style>');
                        }});})();
            }
        }
        if (globals["watermarkCostumes"]) {
            (function() { // ВАТЕРМАРКИ ДЛЯ КОСТЮМОВ ТВОРЦЫ
                const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/VT/watermark.css?raw=true';
                $.ajax({
                    url: githubUrl,
                    dataType: 'text',
                    success: function(data) {
                        $('head').append('<style>' + data + '</style>');
                    }});})();
        }
    }
  }

    (function() {
        const githubUrl = 'https://raw.githubusercontent.com/CatWarScript/costumes/main/MERO/costumes.css?raw=true';
        $.ajax({
            url: githubUrl,
            dataType: 'text',
            success: function(data) {
                $('head').append('<style>' + data + '</style>');
            }});})();

  if (globals.clRemoveAllTongues) {
    $('head').append(`<style>div[style*=tongue]{display: none;}</style>`)
  }
  if (globals.clRemoveAllCostumes) {
    $('head').append(`<style>div[style*=costume]{display: none;}</style>`)
  }

  if (globals.shortFightLog) {
    $(document).ready(function () {
      let prevLog = '';
      let prevClass = '';
      let hitCount = 1;
      const fightLogObserver = new MutationObserver(mutations => {
        mutations.forEach(mutation => {
          if (mutation.type === 'childList') {
            mutation.addedNodes.forEach(node => {
              if (node.nodeType === Node.ELEMENT_NODE && node.tagName === 'SPAN' && !$(node).hasClass('cws-hit-count')) {
                const thisLog = $(node).html();
                const thisClass = $(node).attr('class');
                if (thisLog === prevLog && thisClass === prevClass) {
                  const $previousSpan = $(node).prev('span:not(.cws-hit-count)');
                  if ($previousSpan.length > 0) {
                    $previousSpan.remove();
                  }
                  $(node).remove();
                  $('#fightLog > br:first-child').remove();
                  const $hitCountSpan = $('.cws-hit-count').first();
                  hitCount++;
                  $hitCountSpan.attr('count', hitCount);
                  $hitCountSpan.html(' (х' + hitCount + ')');
                } else {
                  $('<span class="cws-hit-count ' + thisClass + '" count=1></span>').insertAfter($(node));
                  hitCount = 1;
                }
                prevLog = thisLog;
                prevClass = thisClass;
              }
            });
          }
        });
      });
      fightLogObserver.observe($('#fightLog')[0], { childList: true });
    });
  }

  if (globals.smellTimer) {
    $(document).ready(function () {
      $('.small').first().append(` | Нюх через: <span id="cws_smell_timer" value=0>0 с</span>`);

      let firstNote = "";
      let rang = true;

      function smellTimerTick() {
        let val = parseInt($('#cws_smell_timer').attr('value'));
        if (val) {
          rang = false;
          val--;
          $('#cws_smell_timer').attr('value', val);
          let str = '';
          let hr = parseInt(val / 3600);
          let mi = parseInt((val - hr * 3600) / 60);
          let se = parseInt(val - (hr * 3600 + mi * 60));
          str += (hr) ? hr + ' ч ' : '';
          str += (mi || hr) ? mi + ' мин ' : '';
          str += se + ' с';
          $('#cws_smell_timer').html(str);
        } else if (globals.smellTimer && !rang) {
          playAudio(globals.smellTimerHref, globals.smellTimerVol);
          rang = true;
        }
      }
      setInterval(smellTimerTick, 1000);

      let firstClick = setInterval(function () {
         if ($('#smell_icon').length) {
           firstNote = $('#error').html();
           $('#smell_icon').click();
           clearInterval(firstClick);
         }
       }, 500);

      const deinElement = $('#dein');
      const smell_timer = {
        "0": 3600,
        "1": 3600,
        "2": 3600,
        "3": 3600,
        "4": 1800,
        "5": 1200,
        "6": 900,
        "7": 720,
        "8": 600,
        "9": 0
      };

       const observer = new MutationObserver(mutations => {
         mutations.forEach(mutation => {
           if (mutation.type === 'childList') {
             if (deinElement.find('a[data-id=14]').length > 0) {
               $('#cws_smell_timer').attr('value', 0);
               $('#cws_smell_timer').html('0 с');
             }
           }
         });
       });

       observer.observe(deinElement[0], { childList: true, subtree: true });

      const errorObserver = new MutationObserver(mutations => {
        mutations.forEach(mutation => {
          if (mutation.type === 'childList' || mutation.type === 'characterData') {
            let html = $('#error').html();
            if (html && html.indexOf('Следующее обнюхивание') !== -1) {
              let text = html.replace('Следующее обнюхивание будет доступно через ', '');
              let smellMin = (text.match(/(\d+) мин/g) == null) ? 0 : parseInt(text.match(/(\d+) мин/g)[0].replace(/\D/g, ''));
              let smellSec = parseInt(text.match(/(\d+) с/g)[0].replace(/\D/g, ''));
              let totalSec = smellMin * 60 + smellSec;
              $('#cws_smell_timer').attr('value', totalSec);
              $('#cws_smell_timer').html(smellMin + ' мин ' + smellSec + ' с');
              if (firstNote !== "") {
                $('#error').html(firstNote);
                firstNote = "";
              }
            } else if (html.indexOf('Время прошло, вы можете обнюхать землю или любого игрока') !== -1) {
              $('#cws_smell_timer').attr('value', 0);
              $('#cws_smell_timer').html('0 с');
              if (firstNote !== "") {
                $('#error').html(firstNote);
                firstNote = "";
              }
            } else if (html.indexOf('Час уже прошёл') !== -1 && firstNote !== "") {
              $('#error').html(firstNote);
              firstNote = "";
            }
          }
        });
      });
      errorObserver.observe($('#error')[0], { childList: true, subtree: true, characterData: true });

      $(document).on('click', 'a[data-id=13], a[data-id=14]', function () {
        let smell_lv = $('#smell b').text();
        let smell_time = smell_timer[smell_lv];
        let str = '';
        let mi = smell_time / 60;
        let se = smell_time - mi * 60;
        str += (mi) ? mi + ' мин ' : '';
        str += se + ' с';
        $('#cws_smell_timer').attr('value', smell_time);
        $('#cws_smell_timer').html(str);
        rang = true;
      });
       let checkInterval = setInterval(function() {
         if ($('a[data-id=14]').length) {
           $('#cws_smell_timer').attr('value', 0);
           $('#cws_smell_timer').html('0 с');
           clearInterval(checkInterval);
         }
       }, 1000);
    });
  }

if (globals.fightWarning) {
  let last_note, noteFirst = true;
  const targetNode = document.getElementById('ist');
  const config = { subtree: true, childList: true };
  const observer = new MutationObserver(mutations => {
    for (const mutation of mutations) {
      if (mutation.type === 'childList') {
        last_note = $(targetNode.innerHTML.split('.')).get(-2);
        if (last_note !== undefined) {
          if (last_note.indexOf("в боевую стойку, поскольку на меня напал") !== -1 && !noteFirst) {
            playAudio(globals.fightWarningHref, globals.fightWarningVol);
          }
          noteFirst = false;
        }
      }
    }
  });
  observer.observe(targetNode, config);
}
  if (globals.eatenNote) {
    const targetNode = document.getElementById('block_mess');
    let soundPlayed = false;
    let intervalId;
    let titleChange = false;

    function checkForNotification() {
      if (targetNode.innerHTML.indexOf("Вы не сможете выбраться") !== -1 ||
          targetNode.innerHTML.indexOf("Вас кто-то поднял!") !== -1) {
        if (!soundPlayed) {
          $('title').text("Во рту / Поднят!");
          let audio1 = audioGlobal;
          audio1.src = globals.smellTimerHref;
          audio1.volume = globals.eatenNoteVol;
          audio1.play();
          soundPlayed = true;
          titleChange = true;
        } else {

        }
      } else {
        if (titleChange) {
          $('title').text('Игровая / CatWar');
          titleChange = false;
        } else {
          // 7
        }
        soundPlayed = false;
        clearInterval(intervalId);
        intervalId = setInterval(checkForNotification, 1000);
      }
    }

    intervalId = setInterval(checkForNotification, 1000);
  }


    if (globals["diverSiren"]) {
      $(document).ready(function() {
        let sirenPlaying = false;
        let sirenSound = null;
        let previousWidth = 0;
        let observer = null;
        let sirenTime = globals.diverSirenMinutes * 3;
        sirenTime = 150 - sirenTime;
        console.log(sirenTime)
        function playSiren() {
          if (sirenPlaying) {
            return;
          }
          sirenSound = new Audio(globals.diverSirenHref);
          sirenSound.volume = globals.diverSirenVol;
          sirenSound.onloadedmetadata = () => {
            sirenSound.play();
            sirenPlaying = true;
            sirenSound.onended = () => {
              sirenPlaying = false;
            };
          };
        }
        function startObserver() {
          const greenBar = $('#dream_table .parameter td:first-child');
          previousWidth = parseFloat(greenBar.css('width'));
          observer = new MutationObserver(mutations => {
            mutations.forEach(mutation => {
              if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
                const newWidth = parseFloat(greenBar.css('width'));
                if (newWidth <= sirenTime && newWidth < previousWidth && !sirenPlaying) {
                  playSiren();
                }
                if (newWidth > previousWidth) {
                  sirenPlaying = false;
                }
                previousWidth = newWidth;
              }
            });
          });
          observer.observe(greenBar[0], { attributes: true });
        }
        function stopObserver() {
          if (observer) {
            observer.disconnect();
          }
          if (sirenPlaying) {
            sirenSound.pause();
            sirenPlaying = false;
          }
        }
        const sirenHtml = `
        <div id="sblock">
          <span id="sheader">Нырялочки</span>
          <button id="startButton" class="sirenButtons">Я иду нырять!</button><br>
          <button id="stopButton" class="sirenButtons">Я нанырялся</button><br>
        </div>`
          const cssS = `
<style>
button.sirenButtons {
background-color: var(--cwsc-inpt-1);
color: var(--cwsc-txt-4) !important;
border: 2px solid var(--cwsc-brdr-3);
border-radius: 3px !important;
width: 100px;
padding: 2px 5px;
margin: 0px 0px;
text-decoration: none;
font-size: 13px; }

button.sirenButtons:hover {
border: 2px solid var(--cwsc-brdr-2) !important; }

div#sblock {
position: absolute;
top: ${globals.dsY}px;
left: ${globals.dsX}px;
height: 80px;
width: 130px;
background-color: var(--cwsc-bckg-3);
border: 3px solid var(--cwsc-brdr-1) !important;
border-radius: 7px !important;
z-index: 50;
font-family: Montserrat;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-align: center;}

div#sblock button {
margin-top: 4px;}

span#sheader {
background-color: var(--cwsc-bckg-1);
border: 1px solid var(--cwsc-brdr-1);
color: var(--cwsc-txt-4);
height: 23px;
display: grid;
justify-content: center;
align-content: center;}
</style>`
$('head').append(cssS);
$('body').on('click', '#startButton', function() {
console.log('startObserver called');
startObserver();
$('#sblock').animate({ backgroundColor: '#65754b' }, 500);
});

$('body').on('click', '#stopButton', function() {
console.log('stopObserver called');
stopObserver();
$('#sblock').animate({ backgroundColor: '#994e4e' }, 500);
});
        $('body').append(sirenHtml);
    $("#sblock").draggable({
      containment: "document",
      handle: "span#sheader",
      drag: function () {
        let offset = $(this).offset();
        let xPos = offset.left;
        let yPos = offset.top;
        setSettings('dsX', offset.left);
        setSettings('dsY', offset.top);
      }
    });
      });
    }

  if (globals['treeMap']) {
    if (globals.tmResetNote) {
      let lastNote, noteFirst = true;
      const targetNode = document.getElementById('ist');
      const config = { subtree: true, childList: true };
      const observer = new MutationObserver(mutations => {
        for (const mutation of mutations) {
          if (mutation.type === 'childList') {
            lastNote = $(targetNode.innerHTML.split('.')).get(-2); // Последняя запись в истории
            if (lastNote !== undefined) {
              if (/Услышала? оглушительн/.test(lastNote) && !noteFirst) {
                console.log("Обновилась лазательная локация");
                playAudio(globals.tmResetSource, globals.tmResetVolume);
              }
              noteFirst = false; // История была уже прочитана 1 раз, и страница не только что загрузилась
            }
          }
        }
      });
      observer.observe(targetNode, config);
    }

    if (globals.tmShowVolume) {
      $('head').append(`<style>.vlm0 > .nick[style*="italic"]:after {content:" [0]";}
      .vlm1 > .nick[style*="italic"]:after {content:" [1]";}
      .vlm2 > .nick[style*="italic"]:after {content:" [2]";}
      .vlm3 > .nick[style*="italic"]:after {content:" [3]";}
      .vlm4 > .nick[style*="italic"]:after {content:" [4]";}
      .vlm5 > .nick[style*="italic"]:after {content:" [5]";}
      .vlm6 > .nick[style*="italic"]:after {content:" [6]";}
      .vlm7 > .nick[style*="italic"]:after {content:" [7]";}
      .vlm8 > .nick[style*="italic"]:after {content:" [8]";}
      .vlm9 > .nick[style*="italic"]:after {content:" [9]";}
      .vlm10 > .nick[style*="italic"]:after {content:" [10]";}</style>`);
    }

    $('#app').ready(function () {
      let tmSvgMinus = `<svg id="svgPlus" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 8.4666666 8.466668" version="1.1" id="svg1" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" sodipodi:docname="Минус.svg">
      <sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="20.377441" inkscape:cx="15.998084" inkscape:cy="15.973547" inkscape:window-width="1680" inkscape:window-height="987" inkscape:window-x="1672" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="layer1"/>
      <defs id="defs1">
      <inkscape:path-effect effect="fillet_chamfer" id="path-effect4" is_visible="true" lpeversion="1" nodesatellites_param="F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1" radius="1" unit="px" method="auto" mode="F" chamfer_steps="1" flexible="false" use_knot_distance="true" apply_no_radius="true" apply_with_radius="true" only_selected="false" hide_knots="false"/>
      <inkscape:path-effect effect="fillet_chamfer" id="path-effect2" is_visible="true" lpeversion="1" nodesatellites_param="F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1" radius="1" unit="px" method="auto" mode="F" chamfer_steps="1" flexible="false" use_knot_distance="true" apply_no_radius="true" apply_with_radius="true" only_selected="false" hide_knots="false"/>
      </defs>
      <g inkscape:label="Слой 1" inkscape:groupmode="layer" id="layer1">
      <path d="M 7.7079536,4.7312995 H 4.9921105 A 0.26458333,0.26458333 135 0 0 4.7275272,4.9958828 V 7.8591123 A 0.26458333,0.26458333 135 0 1 4.4629439,8.1236956 H 4.0037225 A 0.26458333,0.26458333 45 0 1 3.7391392,7.8591123 V 4.9958828 A 0.26458333,0.26458333 45 0 0 3.4745559,4.7312995 H 0.75871306 A 0.26458333,0.26458333 45 0 1 0.49412973,4.4667162 V 3.9999504 A 0.26458333,0.26458333 135 0 1 0.75871306,3.7353671 H 3.4745559 A 0.26458333,0.26458333 135 0 0 3.7391392,3.4707838 V 0.60755435 A 0.26458333,0.26458333 135 0 1 4.0037225,0.34297102 H 4.4629439 A 0.26458333,0.26458333 45 0 1 4.7275272,0.60755435 V 3.4707838 A 0.26458333,0.26458333 45 0 0 4.9921105,3.7353671 H 7.7079536 A 0.26458333,0.26458333 45 0 1 7.9725369,3.9999504 V 4.4667162 A 0.26458333,0.26458333 135 0 1 7.7079536,4.7312995 Z" id="text2" style="font-size:3.175px;display:none;fill:#c9bdb0;fill-opacity:1;stroke:#220a00;stroke-width:0;stroke-linecap:round;stroke-linejoin:round" aria-label="+" inkscape:path-effect="#path-effect2" inkscape:original-d="M 7.9725369,4.7312995 H 4.7275272 V 8.1236956 H 3.7391392 V 4.7312995 H 0.49412973 V 3.7353671 H 3.7391392 V 0.34297102 h 0.988388 V 3.7353671 h 3.2450097 z"/>
      <path d="M 7.7079536,4.7312995 H 0.75871306 A 0.26458333,0.26458333 45 0 1 0.49412973,4.4667162 l 0,-0.4667658 A 0.26458333,0.26458333 135 0 1 0.75871306,3.7353671 l 6.94924054,0 A 0.26458333,0.26458333 45 0 1 7.9725369,3.9999504 V 4.4667162 A 0.26458333,0.26458333 135 0 1 7.7079536,4.7312995 Z" id="path2" style="font-size:3.175px;display:inline;fill:#c9bdb0;fill-opacity:1;stroke:#220a00;stroke-width:0;stroke-linecap:round;stroke-linejoin:round" aria-label="+" inkscape:path-effect="#path-effect4" inkscape:original-d="M 7.9725369,4.7312995 H 0.49412973 V 3.7353671 H 7.9725369 Z" sodipodi:nodetypes="ccccc"/>
      </g>
      </svg>`
            let tmSvgPlus = `<svg id="svgMinus" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"; xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"; xmlns="http://www.w3.org/2000/svg"; xmlns:svg="http://www.w3.org/2000/svg"; width="32" height="32" viewBox="0 0 8.4666666 8.466668" version="1.1" id="svg1" inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" sodipodi:docname="Плюс.svg">
      <sodipodi:namedview id="namedview1" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="20.377441" inkscape:cx="15.998084" inkscape:cy="15.973547" inkscape:window-width="1680" inkscape:window-height="987" inkscape:window-x="1672" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="layer1"/>
      <defs id="defs1">
      <inkscape:path-effect effect="fillet_chamfer" id="path-effect4" is_visible="true" lpeversion="1" nodesatellites_param="F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1" radius="1" unit="px" method="auto" mode="F" chamfer_steps="1" flexible="false" use_knot_distance="true" apply_no_radius="true" apply_with_radius="true" only_selected="false" hide_knots="false"/>
      <inkscape:path-effect effect="fillet_chamfer" id="path-effect2" is_visible="true" lpeversion="1" nodesatellites_param="F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1 @ F,0,0,1,0,0.26458333,0,1" radius="1" unit="px" method="auto" mode="F" chamfer_steps="1" flexible="false" use_knot_distance="true" apply_no_radius="true" apply_with_radius="true" only_selected="false" hide_knots="false"/>
      </defs>
      <g inkscape:label="Слой 1" inkscape:groupmode="layer" id="layer1">
      <path d="M 7.7079536,4.7312995 H 4.9921105 A 0.26458333,0.26458333 135 0 0 4.7275272,4.9958828 V 7.8591123 A 0.26458333,0.26458333 135 0 1 4.4629439,8.1236956 H 4.0037225 A 0.26458333,0.26458333 45 0 1 3.7391392,7.8591123 V 4.9958828 A 0.26458333,0.26458333 45 0 0 3.4745559,4.7312995 H 0.75871306 A 0.26458333,0.26458333 45 0 1 0.49412973,4.4667162 V 3.9999504 A 0.26458333,0.26458333 135 0 1 0.75871306,3.7353671 H 3.4745559 A 0.26458333,0.26458333 135 0 0 3.7391392,3.4707838 V 0.60755435 A 0.26458333,0.26458333 135 0 1 4.0037225,0.34297102 H 4.4629439 A 0.26458333,0.26458333 45 0 1 4.7275272,0.60755435 V 3.4707838 A 0.26458333,0.26458333 45 0 0 4.9921105,3.7353671 H 7.7079536 A 0.26458333,0.26458333 45 0 1 7.9725369,3.9999504 V 4.4667162 A 0.26458333,0.26458333 135 0 1 7.7079536,4.7312995 Z" id="text2" style="font-size:3.175px;display:inline;fill:#c9bdb0;fill-opacity:1;stroke:#220a00;stroke-width:0;stroke-linecap:round;stroke-linejoin:round" aria-label="+" inkscape:path-effect="#path-effect2" inkscape:original-d="M 7.9725369,4.7312995 H 4.7275272 V 8.1236956 H 3.7391392 V 4.7312995 H 0.49412973 V 3.7353671 H 3.7391392 V 0.34297102 h 0.988388 V 3.7353671 h 3.2450097 z"/>
      <path d="M 7.7079536,4.7312995 H 0.75871306 A 0.26458333,0.26458333 45 0 1 0.49412973,4.4667162 l 0,-0.4667658 A 0.26458333,0.26458333 135 0 1 0.75871306,3.7353671 l 6.94924054,0 A 0.26458333,0.26458333 45 0 1 7.9725369,3.9999504 V 4.4667162 A 0.26458333,0.26458333 135 0 1 7.7079536,4.7312995 Z" id="path2" style="font-size:3.175px;display:inline;fill:#c9bdb0;fill-opacity:1;stroke:#220a00;stroke-width:0;stroke-linecap:round;stroke-linejoin:round" aria-label="+" inkscape:path-effect="#path-effect4" inkscape:original-d="M 7.9725369,4.7312995 H 0.49412973 V 3.7353671 H 7.9725369 Z" sodipodi:nodetypes="ccccc"/>
      </g>
      </svg>`
      let tmHtml = `
       <div id="tmBlock">
        <div id="tmHeader"><table><tbody><tr><td><p>Минное поле v2</p></td><td><span id="tmHeaderPlusMinus">${tmSvgPlus}${tmSvgMinus}</span></td></tr></tbody></table></div>
       </div>`

      if (1==1) {
       $('body').append(tmHtml);
      }

      if (globals.tmVariant == 0) {
        let tmBlockThings = `
              <div id="blockThings">
        <span class="tmThings"> <!-- КНОПКА 0 -->
          <input type="radio" checked name="tmThing" class="tmThingList" id="tmThing0" value="0" mark="tmThingSafe">
          <label for="tmThing0"><span class="tmThingValues">[0]</span> Без звука</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 1 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing1" value="1" mark="tmThingSafe">
          <label for="tmThing1"><span class="tmThingValues">[1]</span> Едва различимый звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 2 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing2" value="2" mark="tmThingSafe">
          <label for="tmThing2"><span class="tmThingValues">[2]</span> Тихий звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 3 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing3" value="3" mark="tmThingSafe">
          <label for="tmThing3"><span class="tmThingValues">[3]</span> Приглушённый звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 4 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing4" value="4" mark="tmThingSafe">
          <label for="tmThing4"><span class="tmThingValues">[4]</span> Громкий звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 5 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing5" value="5" mark="tmThingSafe">
          <label for="tmThing5"><span class="tmThingValues">[5]</span> Очень громкий звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 6 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing6" value="6" mark="tmThingSafe">
          <label for="tmThing6"><span class="tmThingValues">[6]</span> Очень громкий звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА 7 -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThing7" value="7" mark="tmThingSafe">
          <label for="tmThing7"><span class="tmThingValues">[7]</span> Очень громкий звук</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА ОПАСНАЯ КЛЕТКА -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThingX" value="X" mark="tmThingUnsafe">
          <label for="tmThingX"><span class="tmThingValues">[X]</span> Опасная клетка</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА БЕЗОПАСНАЯ КЛЕТКА -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThingOK" value="" mark="tmThingSafe">
          <label for="tmThingOK"><span class="tmThingValues">[Б]</span> Безопасная клетка</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА ПЕРЕХОДА -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThingP" value="П" mark="tmThingPerehod">
          <label for="tmThingP"><span class="tmThingValues">[П]</span> Клетка перехода</label>
        </span><br>
        <span class="tmThings"> <!-- КНОПКА ОЧИСТКИ -->
          <input type="radio" name="tmThing" class="tmThingList" id="tmThingC" value="" mark="">
          <label for="tmThingC"><span class="tmThingValues">[О]</span> Очистить</label>
        </span><br>
      </div>`

        if (1==1) {
         $('#tmBlock').append(tmBlockThings);
        }

      }
      if (globals.tmVariant != 0) {
        let tmBlockThings = `
        <div id="blockThings">
        <table><tbody><tr><td>
          <span class="tmThings"> <!-- КНОПКА 0 -->
            <input type="radio" checked name="tmThing" class="tmThingList" id="tmThing0" value="0" mark="tmThingSafe">
            <label for="tmThing0"><span class="tmThingValues">[0]</span><small class="tmThingValue"> Без звука</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 1 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing1" value="1" mark="tmThingSafe">
            <label for="tmThing1"><span class="tmThingValues">[1]</span><small class="tmThingValue"> Едва различимый звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 2 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing2" value="2" mark="tmThingSafe">
            <label for="tmThing2"><span class="tmThingValues">[2]</span><small class="tmThingValue"> Тихий звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 3 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing3" value="3" mark="tmThingSafe">
            <label for="tmThing3"><span class="tmThingValues">[3]</span><small class="tmThingValue"> Приглушённый звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 4 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing4" value="4" mark="tmThingSafe">
            <label for="tmThing4"><span class="tmThingValues">[4]</span><small class="tmThingValue"> Громкий звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 5 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing5" value="5" mark="tmThingSafe">
            <label for="tmThing5"><span class="tmThingValues">[5]</span><small class="tmThingValue"> Очень громкий звук</small></label>
          </span><br>

          </td><td>

          <span class="tmThings"> <!-- КНОПКА 6 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing6" value="6" mark="tmThingSafe">
            <label for="tmThing6"><span class="tmThingValues">[6]</span><small class="tmThingValue"> Очень громкий звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА 7 -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThing7" value="7" mark="tmThingSafe">
            <label for="tmThing7"><span class="tmThingValues">[7]</span><small class="tmThingValue"> Очень громкий звук</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА ОПАСНАЯ КЛЕТКА -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThingX" value="X" mark="tmThingUnsafe">
            <label for="tmThingX"><span class="tmThingValues">[X]</span><small class="tmThingValue"> Опасная клетка</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА БЕЗОПАСНАЯ КЛЕТКА -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThingOK" value="" mark="tmThingSafe">
            <label for="tmThingOK"><span class="tmThingValues">[Б]</span><small class="tmThingValue"> Безопасная клетка</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА ПЕРЕХОДА -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThingP" value="П" mark="tmThingPerehod">
            <label for="tmThingP"><span class="tmThingValues">[П]</span><small class="tmThingValue"> Клетка перехода</small></label>
          </span><br>
          <span class="tmThings"> <!-- КНОПКА ОЧИСТКИ -->
            <input type="radio" name="tmThing" class="tmThingList" id="tmThingC" value="" mark="">
            <label for="tmThingC"><span class="tmThingValues">[О]</span><small class="tmThingValue"> Очистить клетку</small></label>
          </span><br>

          <tr></tbody></table>
        </div>`

        if (1==1) {
         $('#tmBlock').append(tmBlockThings);
        }
      }

      // КНОПКА ПОКАЗАТЬ НА ПОЛЕ
      let tmShowMapSpan = `
      <div id="tmShowMap"><input class="tmBTNS" id="tmBTNSShowMap" type="checkbox"${globals.tmBTNSShowMap?' checked':''}><label for="tmBTNSShowMap">Переносить на игровую</label></div>`

      if (1==1) {
       $('#tmBlock').append(tmShowMapSpan);
      }

      // БЛОК ДЛЯ ПАПОК
      let tmFolderBlock = `
      <div id="tmFolderBlock"></div>`

      if (1==1) {
       $('#tmBlock').append(tmFolderBlock);
      }
      // САМИ ПАПКИ
      for (let i = 0; i <= 3; i++) {
        if (globals.tmTecFolStatus[i] || !i) {
          $('#tmFolderBlock').append(`<input type="radio" name="tmFolder" class="tmFolders" value="${i}" id="tmFolder${i}">
          <label class="tmFolderLabel" for="tmFolder${i}">${globals.tmTecFolNames[i]}</label>`);
        }
      }

      let tmLocBlock = `
      <div id="tmLocBlock"></div>`

      if (1==1) {
       $('#tmBlock').append(tmLocBlock);
      }
      for (let i = 0; i <= 5; i++) {
        if (globals.tmTecLocStatus[i] || !i) {
          $('#tmLocBlock').append(`<input type="radio" name="tmLoc" class="tmLocs" value="${i}" id="tmLoc${i}">
          <label class="tmLocLabel" folder="0" for="tmLoc${i}">${globals.tmTecLocNames[i]}</label>`);
        }
      }

      for (let i = 6; i <= 23; i++) {
        let k = parseInt(i / 6.0);
        if (globals.tmTecLocStatus[i] && globals.tmTecFolStatus[k]) {
          $('#tmLocBlock').append(`<input type="radio" name="tmLoc" class="tmLocs" value="${i}" id="tmLoc${i}">
          <label class="tmLocLabel" style="display:none;" folder="${k}" for="tmLoc${i}">${globals.tmTecLocNames[i]}</label>`);
        }
      }

      const tmFieldDef = `<tbody><tr><td class="tmThingSafe"></td><td class="tmThingSafe"></td><td class="tmThingSafe"></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody>`;
      let tmMaps = getSettings('tmMaps') === null ? [tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef, tmFieldDef] : JSON.parse(getSettings('tmMaps'));

      let tmFieldBlock = `
      <div id="blockField"></div>`

      if (1==1) {
       $('#tmBlock').append(tmFieldBlock);
      }
      // ЗАГРУЖЕННЫЕ КАРТЫ ЛОКАЦИЙ
      for (let i = 0; i <= 23; i++) {
        if (globals.tmTecLocStatus[i]) {
          if (i !== globals.tmSelectedMap) {
            $('#blockField').append(`<table class="tmTable" style="display:none;" page="${i}">${tmMaps[i]}</table>`);
          } else {
            $('#blockField').append(`<table class="tmTable" page="${globals.tmSelectedMap}">${tmMaps[globals.tmSelectedMap]}</table>`);
          }
        }
      }

      // КНОПКА ОЧИСТКИ ЛОКАЦИИ
      let tmClearButton = `
      <button id="tmClearButton">Очистить всё поле</button>`

      if (1==1) {
       $('#tmBlock').append(tmClearButton);
      }

      let tmAllCSS = `
      <style>
        .tmpmFolded {display: none;}
        div#tmBlock {
      -webkit-touch-callout: none;
        -webkit-user-select: none;
         -khtml-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none; }
      </style>`

      if (1==1) {
       $('head').append(tmAllCSS);
      }

      if (globals['tmVariant'] == 0) { // ВИНТАЖНЫЙ ВАРИАНТ
        let tmCSS = `
        <style>
      div#tmBlock {
      overflow: hidden;
      position: absolute;
      width: 270px;
      top: ${globals.tmTecPosY}px;
      left: ${globals.tmTecPosX}px;
      background-color: var(--cwsc-bckg-3);
      color: var(--cwsc-txt-1);
      border: 3px solid var(--cwsc-brdr-1) !important;
      border-radius: 10px;
      z-index: 500; }

      .tmTable .tmThingSafe { background-color: var(--tm-safe); }
      .tmTable .tmThingUnsafe { background-color: var(--tm-unsafe); }
      .tmTable .tmThingPerehod { background-color: var(--tm-location); }

      .tmLocs, .tmFolders { display:none; }

      #cages .tmThingSafe { background-color: var(--tm-safe-cage); }
      #cages .tmThingUnsafe { background-color: var(--tm-unsafe-cage); }
      #cages .tmThingPerehod { background-color: var(--tm-location-cage); }

      .tmLocLabel, .tmFolderLabel {
      display: inline-block;
      color: black;
      padding: 2px 10px; }

      .tmTable td {
      font-size: 11pt;
      text-align: center;
      vertical-align: middle;
      height: 30px;
      width: 22px;
      border: 1px solid var(--cwsc-brdr-3); }

      .tmThingList:checked + label span.tmThingValues {
      font-weight: bold; }

      small.tmThingValue {
      display: none; }

      .tmLocs:checked + .tmLocLabel, .tmFolders:checked + .tmFolderLabel {
      background-color: var(--cwsc-bckg-2);
      border: 2px solid var(--cwsc-brdr-1); }

      #tmBlock.folded { height: 25px; }

      div#tmHeader {
      display: grid;
      align-content: center;
      font-family: Montserrat;
      background-color: var(--cwsc-bckg-1);
      border: 1px solid var(--cwsc-brdr-1) !important;
      color: var(--cwsc-txt-4);
      border-radius: 0px;
      font-size: 16px;
      font-weight: 500;
      height: 25px; }

      div#tmHeader p {
      display: grid;
      align-content: center;
      border-right: 2px dashed var(--cwsc-brdr-5) !important;
      width: 225px;
      height: 28px;
      padding: 0;
      margin: 0; }

      span#tmHeaderPlusMinus {
      display: grid;
      justify-content: end;
      height: 29px;
      padding: 0;
      margin: 0; }

      svg#svgMinus, svg#svgPlus {
      transform: scale(65%);
      height: 26px;
      padding: 0;
      margin: 0; }

      div#tmHeader>table>tbody>tr>td {
      text-align: center; }

      div#blockThings {
      margin: 5px; }

      div#tmShowMap {
      display: flex;
      justify-content: center;
      align-items: center;
      border: 2px dashed var(--cwsc-brdr-3);
      border-left: none;
      border-right: none;
      margin: 10px 0px;
      padding: 5px 0px; }

      div#tmFolderBlock {
      display: flex;
      justify-content: space-evenly;
      margin: 5px; }

      div#tmLocBlock {
      display: flex;
      justify-content: space-evenly;
      margin: 5px; }

      label.tmLocLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 36px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      label.tmFolderLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 58px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      div#blockField {
      display: flex;
      justify-content: center;
      margin: 10px; }

      table.tmTable {
      background-color: var(--cwsc-bckg-7) !important; }

      button#tmClearButton {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      width: 252px;
      padding: 3px 10px;
      margin: 0px 10px 10px; }
        </style>`

        if (1==1) {
         $('head').append(tmCSS);
        }
      }

    if (globals['tmVariant'] == 1) { // КОМПАКТНЫЙ ВАРИАНТ
      let tmCSS = `
      <style>
      div#tmBlock {
      overflow: hidden;
      position: absolute;
      width: 270px;
      top: ${globals.tmTecPosY}px;
      left: ${globals.tmTecPosX}px;
      background-color: var(--cwsc-bckg-3);
      color: var(--cwsc-txt-1);
      border: 3px solid var(--cwsc-brdr-1) !important;
      border-radius: 10px;
      z-index: 500; }

      .tmTable .tmThingSafe { background-color: var(--tm-safe); }
      .tmTable .tmThingUnsafe { background-color: var(--tm-unsafe); }
      .tmTable .tmThingPerehod { background-color: var(--tm-location); }

      .tmLocs, .tmFolders { display:none; }

      #cages .tmThingSafe { background-color: var(--tm-safe-cage); }
      #cages .tmThingUnsafe { background-color: var(--tm-unsafe-cage); }
      #cages .tmThingPerehod { background-color: var(--tm-location-cage); }

      .tmLocLabel, .tmFolderLabel {
      display: inline-block;
      color: black;
      padding: 2px 10px; }

      .tmTable td {
      font-size: 11pt;
      text-align: center;
      vertical-align: middle;
      height: 30px;
      width: 22px;
      border: 1px solid var(--cwsc-brdr-3); }

      .tmThingList:checked + label span.tmThingValues {
      font-weight: bold; }

      small.tmThingValue {
      display: none; }

      .tmLocs:checked + .tmLocLabel, .tmFolders:checked + .tmFolderLabel {
      background-color: var(--cwsc-bckg-2);
      border: 2px solid var(--cwsc-brdr-1); }

      #tmBlock.folded { height: 25px; }

      div#tmHeader {
      display: grid;
      align-content: center;
      font-family: Montserrat;
      background-color: var(--cwsc-bckg-1);
      border: 1px solid var(--cwsc-brdr-1) !important;
      color: var(--cwsc-txt-4);
      border-radius: 0px;
      font-size: 16px;
      font-weight: 500;
      height: 25px; }

      div#tmHeader p {
      display: grid;
      align-content: center;
      border-right: 2px dashed var(--cwsc-brdr-5) !important;
      width: 225px;
      height: 28px;
      padding: 0;
      margin: 0; }

      span#tmHeaderPlusMinus {
      display: grid;
      justify-content: end;
      height: 29px;
      padding: 0;
      margin: 0; }

      svg#svgMinus, svg#svgPlus {
      transform: scale(65%);
      height: 26px;
      padding: 0;
      margin: 0; }

      div#tmHeader>table>tbody>tr>td {
      text-align: center; }

      div#blockThings {
      display: grid;
      text-align: center;
      margin: 5px; }

      div#tmShowMap {
      display: flex;
      justify-content: center;
      align-items: center;
      border: 2px dashed var(--cwsc-brdr-3);
      border-left: none;
      border-right: none;
      margin: 10px 0px;
      padding: 5px 0px; }

      div#tmFolderBlock {
      display: flex;
      justify-content: space-evenly;
      margin: 5px; }

      div#tmLocBlock {
      display: flex;
      justify-content: space-evenly;
      margin: 5px; }

      label.tmLocLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 36px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      label.tmFolderLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 58px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      div#blockField {
      display: flex;
      justify-content: center;
      margin: 10px; }

      table.tmTable {
      background-color: var(--cwsc-bckg-7) !important; }

      button#tmClearButton {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      width: 252px;
      padding: 3px 10px;
      margin: 0px 10px 10px; }
      </style>`

      if (1==1) {
       $('head').append(tmCSS);
      }
    }

      if (globals['tmVariant'] == 2) { // ГОРИЗОНТАЛЬНЫЙ ВАРИАНТ
        let tmCSS = `
        <style>
      div#tmBlock {
      overflow: hidden;
      position: absolute;
      width: 270px;
      top: ${globals.tmTecPosY}px;
      left: ${globals.tmTecPosX}px;
      background-color: var(--cwsc-bckg-3);
      color: var(--cwsc-txt-1);
      border: 3px solid var(--cwsc-brdr-1) !important;
      border-radius: 10px;
      width: 495px;
      z-index: 500; }

      .tmTable .tmThingSafe { background-color: var(--tm-safe); }
      .tmTable .tmThingUnsafe { background-color: var(--tm-unsafe); }
      .tmTable .tmThingPerehod { background-color: var(--tm-location); }

      .tmLocs, .tmFolders { display:none; }

      #cages .tmThingSafe { background-color: var(--tm-safe-cage); }
      #cages .tmThingUnsafe { background-color: var(--tm-unsafe-cage); }
      #cages .tmThingPerehod { background-color: var(--tm-location-cage); }

      .tmLocLabel, .tmFolderLabel {
      display: inline-block;
      color: black;
      padding: 2px 10px; }

      .tmTable td {
      font-size: 11pt;
      text-align: center;
      vertical-align: middle;
      height: 30px;
      width: 22px;
      border: 1px solid var(--cwsc-brdr-3); }

      .tmThingList:checked + label span.tmThingValues {
      font-weight: bold; }

      small.tmThingValue {
      display: none; }

      .tmLocs:checked + .tmLocLabel, .tmFolders:checked + .tmFolderLabel {
      background-color: var(--cwsc-bckg-2);
      border: 2px solid var(--cwsc-brdr-1); }

      #tmBlock.folded { height: 25px; }

      div#tmHeader {
      display: grid;
      align-content: center;
      font-family: Montserrat;
      background-color: var(--cwsc-bckg-1);
      border: 1px solid var(--cwsc-brdr-1) !important;
      color: var(--cwsc-txt-4);
      border-radius: 0px;
      font-size: 16px;
      font-weight: 500;
      height: 25px; }

      div#tmHeader p {
      display: grid;
      align-content: center;
      border-right: 2px dashed var(--cwsc-brdr-5) !important;
      width: 450px;
      height: 28px;
      padding: 0;
      margin: 0; }

      span#tmHeaderPlusMinus {
      display: grid;
      justify-content: end;
      height: 29px;
      padding: 0;
      margin: 0; }

      svg#svgMinus, svg#svgPlus {
      transform: scale(65%);
      height: 26px;
      padding: 0;
      margin: 0; }

      div#tmHeader>table>tbody>tr>td {
      text-align: center; }

      div#blockThings {
      margin: 5px; }

      div#tmShowMap {
      display: flex;
      justify-content: center;
      align-items: center;
      border: 2px dashed var(--cwsc-brdr-3);
      border-left: none;
      border-right: none;
      width: 195px;
      margin: 10px 5px;
      padding: 5px 0px; }

      div#tmFolderBlock {
      display: flex;
      flex-direction: column;
      position: absolute;
      top: 28px;
      left: 135px;
      width: 60px;
      margin: 5px; }

      div#tmLocBlock {
      display: flex;
      justify-content: space-evenly;
      position: absolute;
      top: 28px;
      left: 200px;
      width: 290px;
      margin: 5px; }

      label.tmLocLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 36px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      label.tmFolderLabel {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      padding: 0px;
      width: 58px;
      text-align: center;
      margin: 5px 0px;
      font-size: 13px; }

      div#blockField {
      position: absolute;
      top: 55px;
      left: 213px;
      margin: 10px; }

      table.tmTable {
      background-color: var(--cwsc-bckg-7) !important; }

      button#tmClearButton {
      background-color: var(--cwsc-inpt-1);
      color: var(--cwsc-txt-4);
      border: 2px solid var(--cwsc-brdr-3);
      border-radius: 3px !important;
      width: 185px;
      padding: 3px 10px;
      margin: 0px 10px 63px; }
        </style>`

        if (1==1) {
         $('head').append(tmCSS);
        }
      }

      let proj = globals.tmBTNSShowMap;
      let page = globals.tmSelectedMap;
      let text = '0';
      let mark = 'tmThingSafe';

      $("#tmBlock").draggable({
        containment: "document",
        handle: "#tmHeader",
        drag: function () {
          let offset = $(this).offset();
          let xPos = offset.left;
          let yPos = offset.top;
            setSettings('tmTecPosX', offset.left);
            setSettings('tmTecPosY', offset.top);
        }
      });

      let selFolder = getSettings('tmSelFolder');
      if (selFolder !== null) {
        if (!$('#tmFolder' + selFolder).length) {
          selFolder = '0';
        }
        $('#tmFolder' + selFolder).click();
        $('.tmLocLabel').hide();
        $('.tmLocLabel[folder=' + selFolder + ']').show();
        let selectedLoc = getSettings('tmSelectedMap');
        $('#tmLoc' + selectedLoc).click();
      }

      function tmSetStyle($elem, style) {
        $elem.removeClass('tmThingSafe tmThingUnsafe tmThingPerehod').addClass(style);
        if (proj) {
          let col = $elem.index();
          let row = $elem.parent().index();
          $('#cages > tbody > tr').eq(row).children().eq(col).removeClass('tmThingSafe tmThingUnsafe tmThingPerehod').addClass(style);
        }
      }
      function tmDraw() {
        $('.tmTable[page=' + page + '] td.tmThingSafe, .tmTable[page=' + page + '] td.tmThingUnsafe, .tmTable[page=' + page + '] td.tmThingPerehod').each(function () {
          let col = $(this).index();
          let row = $(this).parent().index();
          $('#cages > tbody > tr').eq(row).children().eq(col).addClass($(this)[0].classList.value);
            if ($(this).hasClass('tmThingSafe') || $(this).hasClass('tmThingSafeDef')) {
              $('#cages > tbody > tr').eq(row).children().eq(col).addClass('tmThingSafe');
            }
            else if ($(this).hasClass('tmThingUnsafe')) {
              $('#cages > tbody > tr').eq(row).children().eq(col).addClass('tmThingUnsafe');
            }
            else if ($(this).hasClass('tmThingPerehod')) {
              $('#cages > tbody > tr').eq(row).children().eq(col).addClass('tmThingPerehod');
            }
        })
      }

      $('body').on('change', 'input[name="tmFolder"]', function () {
        let folder = $(this).val();
        setSettings('tmSelFolder', folder);
        $('.tmLocLabel').hide();
        $('.tmLocLabel[folder=' + folder + ']').show();
        $('.tmLocLabel[folder=' + folder + ']')[0].click();
      });

      $('body').on('change', 'input[name="tmLoc"]', function () {
        $('.tmTable[page=' + page + ']').hide();
         page = $(this).val();
        $('.tmTable[page=' + page + ']').show();
         setSettings('tmSelectedMap', page)
        if (proj) {
          $('#cages > tbody > tr > td.tmThingSafe').each(function () {
            $(this).removeClass('tmThingSafe')
          });
          $('#cages > tbody > tr > td.tmThingUnsafe').each(function () {
            $(this).removeClass('tmThingUnsafe')
          });
          $('#cages > tbody > tr > td.tmThingPerehod').each(function () {
            $(this).removeClass('tmThingPerehod')
          });
          tmDraw();
        }
      });

      $('body').on('click', '#tmClearButton', function () {
        let ok = true;
        if (globals.tmClearConfirm) {
          ok = confirm('Очистить поле?');
        }
        if (ok) {
          $('.tmTable .tmThingSafeDef').removeClass('tmThingSafeDef');
          $('.tmTable[page=' + page + '] td:not(.tmThingPerehod)').each(function () {
            $(this).html('');
            tmSetStyle($(this), '');
          });
          tmMaps[page] = $('.tmTable[page=' + page + ']').html();
          setSettings('tmMaps', JSON.stringify(tmMaps));
        }
      });

      $('body').on('change', 'input[name="tmThing"]', function () {
        text = $(this).val();
        mark = $(this).attr('mark');
      });

      $('body').on('click', '.tmTable td', function () {
        $(this).html(text).removeClass('tmThingSafe tmThingUnsafe tmThingPerehod').addClass(mark);
        if (proj) {
          let col = $(this).index();
          let row = $(this).parent().index();
          $('#cages > tbody > tr').eq(row).children().eq(col).removeClass('tmThingSafe tmThingUnsafe tmThingPerehod').addClass(mark);
        }
        tmMaps[page] = $('.tmTable[page=' + page + ']').html();
        setSettings('tmMaps', JSON.stringify(tmMaps));
      });

      if (globals['tmFolded']) {
        $('#tmBlock').addClass('folded');
        $('svg#svgPlus').hide();
      }
      if (!globals['tmFolded']) {
        $('svg#svgMinus').hide();
      }

      $('body').on('click', 'svg#svgMinus', function () {
        $('#tmBlock').toggleClass('folded');
        $('svg#svgMinus').hide();
        $('svg#svgPlus').show();
      });
      $('body').on('click', 'svg#svgPlus', function () {
        $('#tmBlock').toggleClass('folded');
        $('svg#svgPlus').hide();
        $('svg#svgMinus').show();
      });

      $(document).ready(function () {
        if ($('#tmBTNSShowMap').prop('checked')) {
          proj = true;
          tmDraw();
        }
      });

      $('body').on('change', '#tmBTNSShowMap', function () {
        if ($(this).prop('checked')) {
          proj = true;
          tmDraw();
        } else {
          proj = false;
          $('#cages > tbody > tr > td.tmThingSafe').removeClass('tmThingSafe');
          $('#cages > tbody > tr > td.tmThingUnsafe').removeClass('tmThingUnsafe');
          $('#cages > tbody > tr > td.tmThingPerehod').removeClass('tmThingPerehod');
        }
      });

      $('.tmBTNS').on('change', function() {
        let key = this.id;
        let val = this.type === 'checkbox' ? this.checked : this.value;
        setSettings(key, val);
      });
    });
  }
let currentSoundIndex = 0;
let soundPlaying = false;
let soundInstance = null;

const sounds = [
  'https://github.com/CatWarScript/myFiles/raw/main/instasamkaLispiha.mp3?raw=true',
  'https://github.com/CatWarScript/myFiles/raw/main/instasamkaPusijusi.mp3?raw=true',
  'https://github.com/CatWarScript/myFiles/raw/main/instasamkaZadengida.mp3?raw=true'
];

function playRandomSound() {
  if (soundPlaying) {
    return;
  }
  const randomIndex = Math.floor(Math.random() * sounds.length);
  soundInstance = new Audio(sounds[randomIndex]);
  soundInstance.volume = globals.kalinnikFunctionVolume;
  soundInstance.onended = () => {
    soundPlaying = false;
    currentSoundIndex = (currentSoundIndex + 1) % sounds.length;
  };

  if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    navigator.mediaDevices.getUserMedia({ audio: true })
      .then(stream => {
        soundInstance.play();
        soundPlaying = true;
      })
      .catch(err => {
        console.error("Микрофон выключен:", err);
      });
  } else {
    soundInstance.onloadedmetadata = () => {
      setTimeout(() => {
        soundInstance.play();
        soundPlaying = true;
      }, 1000);
    };
  }
}
window.onload = () => {
  if (globals && globals.kalinnikFunction) {
    playRandomSound();
  }
};
}

// ...
// ...
// ...

function myCat() {
function getBackgroundColorHex() {
    let backgroundColor = $('#site_table').css('background-color');
    let bodyColor = $('body').css('color');
    let bodyBg = $('body').css('background-image');
    let rgb = backgroundColor.match(/rgba?\(([^)]+)\)/)[1].split(',').map(Number);
    let rgb2 = bodyColor.match(/rgba?\(([^)]+)\)/)[1].split(',').map(Number);
    let hex = rgb.reduce((acc, val) => {
        let hexVal = val.toString(16).padStart(2, '0');
        return acc + hexVal;
    }, '#');
    let hex2 = rgb2.reduce((acc, val) => {
        let hexVal = val.toString(16).padStart(2, '0');
        return acc + hexVal;
    }, '#');
    hex = hex.slice(0, 7);
    hex2 = hex2.slice(0, 7);
    let dsghnImg = bodyBg.match(/url\((['"])(.*?)\1\)/)[2];
    globals['dsghnClr'] = hex;
    globals['dsghnClr2'] = hex2;
    globals['dsghnImg'] = dsghnImg;
    setSettings('dsghnClr', hex);
    setSettings('dsghnClr2', hex2);
    setSettings('dsghnImg', dsghnImg);
}

getBackgroundColorHex();
console.log(globals['dsghnClr']);
console.log(globals['dsghnClr2']);
console.log(globals['dsghnImg']);

  if (globals['boneCorrectTimer']) {
    let boneCorrectDiv = `
        <br><br><div id="timer">
        <b>Костоправы</b><div id="timerMain">
        <input type="number" id="days" min="0" value='0' class="templateInputs">
        <label for="days">Введите дни</label><br>
        <input type="number" id="hours" min="0" value='0' max="23" class="templateInputs">
        <label for="hours">Введите часы</label><br>
        <input type="number" id="minutes" min="0" value='0' max="59" class="templateInputs">
        <label for="minutes">Введите минуты</label><br>
        <div id="buttons"><button id="start" class="boneCorrectBtns">Запустить таймер</button> <button id="reset" class="boneCorrectBtns">Отменить таймер</button></div></div>
        <span id="message"></span>
        </div><br>`

    function toggleBoneTimer() {
      $('#timer').slideToggle();
    }
    let toggleButton = $('<br><button id="toggleBoneCorrectButton" type="button">Калькулятор костоправов</button>').click(toggleBoneTimer);
    appendToElementOrPrependFallback('#pr', '#education-show', toggleButton);
    appendToElementOrPrependFallback('#pr', '#education-show', boneCorrectDiv);
    let cssBoneCorrect = `
        <style>
          div#timer {
          font-family: Montserrat;
          outline: 5px solid var(--cwsc-brdr-1);
          background-color: var(--cwsc-bckg-1);
          color: var(--cwsc-txt-1);
          border-radius: 10px !important;
          margin: 5px 5px; }

          div#timerMain {
          background-color: var(--cwsc-bckg-2);
          border-top: 4px solid var(--cwsc-brdr-2);
          border-radius: 0px 0px 10px 10px;
          padding: 7px; }

          div#timerMain label {
          font-weight: bold;
          color: var(--cwsc-txt-1); }

          div#timer>b {
          display: flex !important;
          justify-content: center;
          text-transform: uppercase;
          color: var(--cwsc-txt-2);
          font-size: 25px;
          letter-spacing: 18px;
          padding: 10px 0px;
          margin-left: 18px; }

          input.templateInputs {
          background-color: var(--cwsc-inpt-1);
          color: var(--cwsc-txt-4);
          border: 1px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          width: 65px;
          height: 28px;
          margin: 0px 5px 5px 10px; }

          div#buttons {
          display: flex !important;
          justify-content: center;
          margin: 10px 0px 3px 0px; }

          button.boneCorrectBtns {
          background-color: var(--cwsc-inpt-1);
          color: var(--cwsc-txt-4);
          border: 2px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          padding: 3px 10px;
          margin: 0px 10px; }

          button.boneCorrectBtns:hover {
          border: 2px solid var(--cwsc-brdr-2); }

          span#message {
          display: inline-block;
          text-align: center;
          color: var(--cwsc-txt-4);
          margin: 5px 0px; }


          button#toggleBoneCorrectButton {
          background-color: var(--cwdf-bckg-1);
          color: var(--cwdf-txt-1);
          border: 1px solid var(--cwdf-brdr-1);
          font-family: Verdana;
          font-size: .9em; }

          button#toggleBoneCorrectButton:hover {
          border: 1px solid var(--cwdf-brdr-2); }
        </style>`
    $('head').append(cssBoneCorrect);
    if (globals['toggleBoneTimer']) {
      $('#timer').hide();
    }
  }
}

// ...
// ...
// ...

function all() {
  function addFont() {
    let link = document.createElement('link');
    link.href = 'https://fonts.googleapis.com/css?family=Montserrat';
    link.rel = 'stylesheet';
    document.head.appendChild(link);

    if (globals['selTheme'] == 0) {
      let cssDlyaCWScripta = `
       <style id="cssPalette">
      :root {
      --desBckg1: ${(globals['dsghnClr'])};
      --desClr1: ${(globals['dsghnClr2'])};
      --desBckgImg1: url(${(globals['dsghnImg'])});
    }
:root {
--cwsc-scrl-1: #332f3c !important;
--cwsc-scrl-2: #8d5353 !important;
--cwsc-inpt-1: #2e2c31 !important;
--cwsc-inpt-2: #2e2c31 !important;
--cwsc-bttn-1: #2e2c31 !important;

--cwsc-bckg-1: #332f3c !important;
--cwsc-bckg-2: #615b6b !important;
--cwsc-bckg-3: #858093 !important;
--cwsc-bckg-4: #a19ca6 !important;
--cwsc-bckg-5: #1d1b24 !important;
--cwsc-bckg-6: #DBAEFF !important;
--cwsc-bckg-7: #6b627150 !important;
--cwsc-bckg-8: #cd5062 !important;

--cwsc-brdr-1: #332f3c !important;
--cwsc-brdr-2: #8d5353 !important;
--cwsc-brdr-3: #1b1311 !important;
--cwsc-brdr-4: #0c0b0f15 !important;
--cwsc-brdr-5: #c9bdb090 !important;

--cwsc-txt-1: #110d18 !important;
--cwsc-txt-2: #c2bcb8 !important;
--cwsc-txt-3: #bd5e5e !important;
--cwsc-txt-4: #bcb7c2 !important;
--cwsc-txt-5: #a99bbf !important;

--cwsc-fltr-vk: hue-rotate(22deg) contrast(10%) brightness(90%);
--cwsc-fltr-tg: hue-rotate(37deg) contrast(15%) brightness(88%);
--cwsc-fltr-bs: hue-rotate(220deg) contrast(12%) brightness(87%);

--tm-safe: rgba(255,255,255,.5);
--tm-unsafe: rgba(51, 42, 75, .45);
--tm-location: rgba(255,255,255,1);
--tm-safe-cage: rgba(247, 255, 236, .25);
--tm-unsafe-cage: rgba(18, 11, 43, .5);
--tm-location-cage: rgba(247, 255, 236, .5);

--cwdf-bckg-1: #333;
--cwdf-brdr-1: #000;
--cwdf-brdr-2: #ff0;
--cwdf-txt-1: #fff;
--cwdf-txt-2: #000; }
       </style>`
      $('head').append(cssDlyaCWScripta);
    }
    if (globals['selTheme'] == 1) {
      let cssDlyaCWScripta = `
       <style id="cssPalette">
      :root {
      --desBckg1: ${(globals['dsghnClr'])};
      --desClr1: ${(globals['dsghnClr2'])};
      --desBckgImg1: url(${(globals['dsghnImg'])});
    }
      :root {
      --cwsc-scrl-1: #3F2D29;
      --cwsc-scrl-2: #AD7B3C;
      --cwsc-inpt-1: #342521;
      --cwsc-inpt-2: #1d1514;
      --cwsc-bttn-1: #342521;

      --cwsc-bckg-1: #3F2D29;
      --cwsc-bckg-2: #75524C;
      --cwsc-bckg-3: #A47C74;
      --cwsc-bckg-4: #D1BCB7;
      --cwsc-bckg-5: #CAAC88;
      --cwsc-bckg-6: #DBAEFF;
      --cwsc-bckg-7: #75524C50;
      --cwsc-bckg-8: #cd5062;

      --cwsc-brdr-1: #3F2D29;
      --cwsc-brdr-2: #AD7B3C;
      --cwsc-brdr-3: #1b1311;
      --cwsc-brdr-4: #5f494540;
      --cwsc-brdr-5: #c9bdb090;

      --cwsc-txt-1: #180E0D;
      --cwsc-txt-2: #CAAC88;
      --cwsc-txt-3: #AD7B3C;
      --cwsc-txt-4: #c9bdb0;
      --cwsc-txt-5: #372a1e;

      --cwsc-fltr-vk: hue-rotate(152deg) contrast(35%) brightness(40%);
      --cwsc-fltr-tg: hue-rotate(167deg) contrast(40%) brightness(38%);
      --cwsc-fltr-bs: hue-rotate(350deg) contrast(37%) brightness(37%);

      --tm-safe: rgba(255,255,255,.6);
      --tm-unsafe: rgba(204,102,0,.45);
      --tm-location: rgba(255,255,255,1);
      --tm-safe-cage: rgba(247, 255, 236, .2);
      --tm-unsafe-cage: rgba(43, 11, 11, .5);
      --tm-location-cage: rgba(247, 255, 236, .4);

      --cwdf-bckg-1: #333;
      --cwdf-brdr-1: #000;
      --cwdf-brdr-2: #ff0;
      --cwdf-txt-1: #fff;
      --cwdf-txt-2: #000; }
       </style>`
      $('head').append(cssDlyaCWScripta);
    }
    if (globals['selTheme'] == 2) {
      let cssDlyaCWScripta = `
       <style id="cssPalette">

      :root {
      --desBckg1: ${(globals['dsghnClr'])};
      --desClr1: ${(globals['dsghnClr2'])};
      --desBckgImg1: url(${(globals['dsghnImg'])});
    }
:root {
--cwsc-scrl-1: #393E41;
--cwsc-scrl-2: #8d5353;
--cwsc-inpt-1: #2e2c31;
--cwsc-inpt-2: #2e2c31;
--cwsc-bttn-1: #2e2c31;

--cwsc-bckg-1: #393E41;
--cwsc-bckg-2: #777678;
--cwsc-bckg-3: #a19da3;
--cwsc-bckg-4: #96939B;
--cwsc-bckg-5: #807d83;
--cwsc-bckg-6: #DBAEFF;
--cwsc-bckg-7: #92889950;
--cwsc-bckg-8: #cd5062;

--cwsc-brdr-1: #393E41;
--cwsc-brdr-2: #b2883f;
--cwsc-brdr-3: #1b1311;
--cwsc-brdr-4: #514c5440;
--cwsc-brdr-5: #c9bdb090;

--cwsc-txt-1: #110d18;
--cwsc-txt-2: #c5baad;
--cwsc-txt-3: #bd5e5e;
--cwsc-txt-4: #c2bdb7;
--cwsc-txt-5: #121116;

--cwsc-fltr-vk: hue-rotate(22deg) contrast(25%) brightness(40%);
--cwsc-fltr-tg: hue-rotate(37deg) contrast(30%) brightness(38%);
--cwsc-fltr-bs: hue-rotate(220deg) contrast(27%) brightness(37%);

--tm-safe: rgba(255,255,255,.6);
--tm-unsafe: rgba(204,102,0,.45);
--tm-location: rgba(255,255,255,1);
--tm-safe-cage: rgba(247, 255, 236, .2);
--tm-unsafe-cage: rgba(43, 11, 11, .5);
--tm-location-cage: rgba(247, 255, 236, .4);

--cwdf-bckg-1: #333;
--cwdf-brdr-1: #000;
--cwdf-brdr-2: #ff0;
--cwdf-txt-1: #fff;
--cwdf-txt-2: #000; }
       </style>`
      $('head').append(cssDlyaCWScripta);
    }
   };
  addFont();

  // Wenomechainasama
  // Tumajarbisaun

  if (globals['dontReadenLS']) {
    function updateDontReadCounter() {
      let count = localStorage.getItem('dontReadenCount');
      if (count > 0) {
        if ($('#newls').length) {
          if ($('#dontReadCounter').length) {
            $('#dontReadCounter').text('(' + count + ')');
          }
          else {
            let counter = $('<span id="dontReadCounter">(' + count + ')</span>');
            $('#newls').after(counter);
          }
        }
        else if ($('div.kn6').length) {
          if ($('#dontReadCounter').length) {
            $('#dontReadCounter').text('(' + count + ')');
          }
          else {
            let counter = $('<span id="dontReadCounter">(' + count + ')</span>');
            $('div.kn6').after(counter);
          }
        }
      }
      else {
        $('#dontReadCounter').remove();
      }
      $(document).ready(function() {
        $('#dontReadCounter').click(function(e) {
          e.preventDefault();
        });
        $('#dontReadCounter').click();
      });
    }

    setInterval(updateDontReadCounter, 1000);

    let cssDontReadLS = `
        <style>
          .dontReadButton:hover {
          border: 1px solid var(--cwdf-brdr-2); }

          .dontReadButton {
          background-color: var(--cwdf-bckg-1);
          color: var(--cwdf-txt-1);
          border: 1px solid var(--cwdf-brdr-1);
          font-family: Verdana;
          font-size: .9em; }

          #dontReadCounter {
          background-color: var(--cwsc-bckg-6);
          font-weight: 700;
          color: var(--cwdf-txt-2);
          text-decoration: none !important; }
        </style>`
    $('head').append(cssDontReadLS);
  }

  // Wifenlooof

  function updateClock() {
    setInterval(() => {
      const now = new Date();
      let time;
      if (globals['isClockMoscow']) {
        time = now.toLocaleTimeString('ru-RU', {
          timeZone: 'Europe/Moscow',
          hour12: false
        });
      }
      else {
        time = now.toLocaleTimeString('ru-RU', {
          hour12: false
        });
      }
      $('#clock').text(time);

      if (globals['isDateShow']) {
        updateDate(now);
      }
      else {
        $('#date').text('');
      }
    }, 1000);
  }

  function updateDate(now) {
    const daysOfWeek = ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'];
    const monthsOfYear = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
    const date = daysOfWeek[now.getDay()] + ', ' + now.getDate() + ' ' + monthsOfYear[now.getMonth()];
    $('#date').text(date);
  }

  $(document).ready(function() {
    $('#inGameClock').prop('checked', globals['inGameClock']);
    $('#deviceTime').prop('checked', !globals['isClockMoscow']);
    $('#moscowTime').prop('checked', globals['isClockMoscow']);
    $('#showDate').prop('checked', globals['isDateShow']);
    $('#inGameClock').on('change', function() {
      setSettings('inGameClock', this.checked);
      updateClock();
    });
    $('#showDate').on('change', function() {
      setSettings('isDateShow', this.checked);
    });
    $('.cs-chapter').on('click', function() {
      updateClock();
    });
    updateClock();
  });

  // Eselifterbraun
  if (globals['boneCorrectTimer']) {
    let timerId;
    function updateTimerMessage() {
      let timerStart = localStorage.getItem('timerStart');
      let timerDuration = localStorage.getItem('timerDuration');
      if (timerStart && timerDuration) {
        let timeLeft = timerDuration - (Date.now() - timerStart);
        if (timeLeft > 0) {
          let secondsLeft = Math.floor(timeLeft / 1000);
          let minutesLeft = Math.floor(secondsLeft / 60);
          let hoursLeft = Math.floor(minutesLeft / 60);
          let daysLeft = Math.floor(hoursLeft / 24);
          secondsLeft %= 60;
          minutesLeft %= 60;
          hoursLeft %= 24;
          $('#message').text(`До окончания таймера осталось: ${daysLeft} дней, ${hoursLeft} часов, ${minutesLeft} минут, ${secondsLeft} секунд`);
        }
        else {
          $('#message').text('Таймер истёк, Вы можете снять костоправ!');
          localStorage.removeItem('timerStart');
          localStorage.removeItem('timerDuration');
        }
      }
      else {
        $('#message').text('');
      }
    }
    $('#start').click(function() {
      if (timerId) {
        clearTimeout(timerId);
      }
      let days = parseInt($('#days').val()) || 0;
      let hours = parseInt($('#hours').val()) || 0;
      let minutes = parseInt($('#minutes').val()) || 0;
      let time = ((days * 24 + hours) * 60 + minutes) * 60 * 1000;
      timerId = setTimeout(function() {
        alert('Таймер истёк, Вы можете снять костоправ!');
        localStorage.removeItem('timerStart');
        localStorage.removeItem('timerDuration');
        $('#message').text('Таймер истёк, Вы можете снять костоправ!');
      }, time);
      localStorage.setItem('timerStart', Date.now());
      localStorage.setItem('timerDuration', time);
      updateTimerMessage();
    });
    $('#reset').click(function() {
      clearTimeout(timerId);
      timerId = null;
      $('#days').val('');
      $('#hours').val('');
      $('#minutes').val('');
      localStorage.removeItem('timerStart');
      localStorage.removeItem('timerDuration');
      $('#message').text('');
    });
    setInterval(updateTimerMessage, 1000);
    let timerStart = localStorage.getItem('timerStart');
    let timerDuration = localStorage.getItem('timerDuration');
    if (timerStart && timerDuration) {
      let timeLeft = timerDuration - (Date.now() - timerStart);
      if (timeLeft > 0) {
        timerId = setTimeout(function() {
          alert('Таймер истёк, Вы можете снять костоправ!');
          localStorage.removeItem('timerStart');
          localStorage.removeItem('timerDuration');
          $('#message').text('Таймер истёк, Вы можете снять костоправ!');
        }, timeLeft);
      }
      else {
        alert('Таймер истёк, Вы можете снять костоправ!');
        localStorage.removeItem('timerStart');
        localStorage.removeItem('timerDuration');
      }
    }
    updateTimerMessage();
  }

  // Anweculbetugtbaby

  if (globals['hideWoundWarning']) {
    setTimeout(function() {
      $('#warningAboutWound').remove
    }, 1000);
  };

  // Aslonskysrblu

  if (globals['nightLagsWarning']) {
    nightLagsWarning();
  }

  // Yuaksoinocenow

   /* $(document).ready(function() {
  const $trChat = $('#tr_chat');
  const backgroundColor = $trChat.css('background-color');
  const rgbColor = backgroundColor.match(/rgb\((\d+), (\d+), (\d+)\)/);
  const r = parseInt(rgbColor[1]);
  const g = parseInt(rgbColor[2]);
  const b = parseInt(rgbColor[3]);
  const brightnessFactor = 1.2; // Коэффициент яркости
  const newR = Math.round(r * brightnessFactor);
  const newG = Math.round(g * brightnessFactor);
  const newB = Math.round(b * brightnessFactor);
  $trChat.css('background-color', `rgb(${newR}, ${newG}, ${newB})`);
}); */
}

// ...
// ...
// ...

function fae () {
  $('p:has(input#blogs_blacklist)').after(`<input class="cs-set" id="showEnemy" type="checkbox"${globals.showEnemy?' checked':''}><label for="showEnemy"> Отображать котов из списка врагов в Игровой</label>`);
  $(document).ready(function() {
    setTimeout(function() {
      var enemyLinks = $("#enemyList .remove");
      var enemyIds = [];
      enemyLinks.each(function() {
        var id = $(this).data("id");
        enemyIds.push(id);
      });
      console.log("Список ID врагов:", enemyIds);
      setSettings('enemyList', JSON.stringify(enemyIds));
    }, 1500);
  });

  $('.cs-set').on('change', function() {
    let key = this.id;
    let val = this.type === 'checkbox' ? this.checked : this.value;
    if (this.tagName === 'SELECT') {
      val = $(this).prop('selectedIndex');
    }
    setSettings(key, val);
    console.log(key, ': ', val, '.')
  });
}

function site() {
  if (globals['hideWoundWarning']) {
    $('#warningAboutWound').remove();
  };
}


function blogs() {
  if (globals['ttBlog']) {
    function checkForForm() {
      let form = document.querySelector('#creation_form:first-of-type');
      if (form && !form.classList.contains('templates-added')) {
        add_templates();
        form.classList.add('templates-added');
      }
    }
    checkForForm();
    let observer = new MutationObserver((mutationsList, observer) => {
      for (let mutation of mutationsList) {
        if (mutation.type === 'childList') {
          checkForForm();
        }
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });

    function add_templates() {
      if (window.location.href.includes("https://catwar.su/blogs?creation") || window.location.href.includes("https://catwar.su/sniff?creation")) {
        $(document).ready(function() {
          setTimeout(function() {
            initScript();
          }, 70);
        });

        function initScript() {
          let templatesB = localStorage.getItem('templatesB') ? JSON.parse(localStorage.getItem('templatesB')) : [];

          function renderTemplates() {
            let list = $('.patternlist');
            list.empty();
            templatesB.forEach(function(templateB, index) {
              let templateText = '<div class="patternline"><a href="#" class="name" data-index="' + index + '">' + templateB.name + '</a> <div id="del-edit"><a href="#" class="delete" data-index="' + index + '">[X]</a> <a href="#" class="edit" data-index="' + index + '">[✍]</a></div><hr>';
              list.append(templateText);
            });
          }
          let writeForm = $('#creation_form:first-of-type');
          if (writeForm.length === 0) {
            return;
          }
          writeForm.find('.patternblock').remove();
          writeForm.prepend('<div class="patternblock"><b>Шаблоны</b><div class="patternlist"></div></div>');
          let patternBlock = writeForm.find('.patternblock');
          let createButton = $('<a href="#" id="createButton">Создать новый шаблон</a>').click(function(e) {
            e.preventDefault();
            $(this).hide();
            let inputField = $('<input type="text" id="templateName" placeholder="Введите название шаблона"></input>');
            let okButton = $('<button type="button" id="templateBtnOK" class="templateBtns">OK</button>').click(function() {
              let templateName = inputField.val();
              if (templateName) {
                let currentContent = $('#creation-text').val();
                let newTemplate = {
                  name: templateName,
                  content: currentContent
                };
                templatesB.push(newTemplate);
                localStorage.setItem('templatesB', JSON.stringify(templatesB));
                renderTemplates();
                inputField.remove();
                okButton.remove();
                cancelButton.remove();
                createButton.show();
              }
            });
            let cancelButton = $('<button id="templateBtnUndo" class="templateBtns">Отмена</button>').click(function() {
              inputField.remove();
              okButton.remove();
              cancelButton.remove();
              createButton.show();
            });
            $(this).after(inputField, okButton, '  ', cancelButton);
          });
          patternBlock.append(createButton);
          writeForm.off('click', '.delete').on('click', '.delete', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateName = templatesB[templateIndex].name;
            if (confirm('Точно ли вы хотите удалить шаблон "' + templateName + '"?')) {
              templatesB.splice(templateIndex, 1);
              localStorage.setItem('templatesB', JSON.stringify(templatesB));
              renderTemplates();
            }
          });
          writeForm.off('click', '.edit').on('click', '.edit', function(e) {
            $('#templateBtnSaveChanges').show();
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateB = templatesB[templateIndex];
            if (templateB) {
              let templateContent = templateB.content;
              $('#creation-text').val(templateContent);
              let saveButton = $('#templateBtnSaveChanges');
              if (saveButton.length === 0) {
                saveButton = $('<button id="templateBtnSaveChanges">Сохранить шаблон</button><br><br>');
                writeForm.append(saveButton);

              }
              saveButton.off('click').click(function(e) {
                e.preventDefault();
                let editedContent = $('#creation-text').val();
                templatesB[templateIndex].content = editedContent;
                localStorage.setItem('templatesB', JSON.stringify(templatesB));
                renderTemplates();
                $('#creation-text').val('');
                $('#templateBtnSaveChanges').hide();
              });
            }
          });
          writeForm.on('click', '.name', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateB = templatesB[templateIndex];
            if (templateB) {
              $('#creation-text').val(templateB.content);
              if (globals['ttReplaceThemeB']) {
                $('#creation-title').val(templateB.name);
              }
            }
          });
          renderTemplates();

          function togglePatternBlock() {
            $('.patternblock').slideToggle();
          }
          let toggleButton = $('<button id="togglePatternBlockButton" type="button">Ш</button>').click(togglePatternBlock);
          $('button[data-code="b"]').before(toggleButton);
          if (globals['toggleTTBlog']) {
            $('.patternblock').hide();
          }
        }
      }
    }
    let css = `
        <style>
          div.patternlist::-webkit-scrollbar {
          width: 8px; }

          div.patternlist::-webkit-scrollbar-track {
          background: var(--cwsc-scrl-1) !important;
          border-radius: 3px; }

          div.patternlist::-webkit-scrollbar-thumb {
          background: var(--cwsc-scrl-2) !important;
          border-radius: 3px; }

          div.patternblock {
          font-family: Montserrat;
          outline: 5px solid var(--cwsc-brdr-1);
          background-color: var(--cwsc-bckg-1);
          color: var(--cwsc-txt-1);
          border-radius: 10px !important;
          margin: 15px 5px; }

          div.patternblock>b {
          display: flex !important;
          justify-content: center;
          text-transform: uppercase;
          color: var(--cwsc-txt-2);
          font-size: 25px;
          letter-spacing: 25px;
          padding: 10px 0px;
          margin-left: 25px; }

          div.patternlist {
          max-height: 170px;
          overflow: auto;
          background-color: var(--cwsc-bckg-2);
          border-top: 4px solid var(--cwsc-brdr-2);
          border-radius: 0px 0px 10px 10px;
          padding: 6px 0px 0px 0px}

          div.patternline>hr {
          border: 0.5px solid var(--cwsc-brdr-4);
          margin: 6px 0px 0px 0px; }

          div.patternline:hover {
          background: var(--cwsc-brdr-4) !important;
          transition: 0.8s; }

          div.patternline {
          transition: 0.8s;
          padding-top: 6px; }

          div.patternline a {
          color: var(--cwsc-txt-1); }

          div.patternline a:hover {
          color: var(--cwsc-txt-4); }

          .patternline>a.name {
          display: block;
          margin: 0px 0px 0px 10px; }

          div#del-edit {
          display: flex;
          justify-content: flex-end;
          margin: -15px 0px 0px 0px;
          height: 18px; }

          div#del-edit>a {
          margin: 0px 3px; }

          div#del-edit>a.edit {
          position: relative;
          bottom: 1px; }

          input#templateName {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 1px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          width: 200px !important;
          margin: 6px 10px 4px 10px; }

          button#templateBtnOK, button#templateBtnUndo, button#templateBtnSaveChanges {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 2px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          padding: 1px 15px;
          margin: 0px 5px; }

          button#templateBtnOK:hover, button#templateBtnUndo:hover, button#templateBtnSaveChanges:hover {
          border: 1px solid var(--cwsc-brdr-2); }

          a#createButton {
          display: inline-block;
          color: var(--cwsc-txt-4);
          padding: 6px; }

          button#togglePatternBlockButton {
          background-color: var(--cwdf-bckg-1);
          color: var(--cwdf-txt-1);
          border: none;
          margin-right: 5px; }

          button#togglePatternBlockButton:hover {
          outline: 1px solid var(--cwdf-brdr-2); }
        </style>`
    $('head').append(css);
  }
}

function chat() {
    if (globals['ttChat']) {
    function checkForForm() {
      let form = document.querySelector('#mess_form');
      if (form && !form.classList.contains('templates-added')) {
        add_templates();
        form.classList.add('templates-added');
      }
    }
    checkForForm();
    let observer = new MutationObserver((mutationsList, observer) => {
      for (let mutation of mutationsList) {
        if (mutation.type === 'childList') {
          checkForForm();
        }
      }
    });
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });

    function add_templates() {
      if (window.location.href.includes("https://catwar.su/chat")) {
        $(document).ready(function() {
          setTimeout(function() {
            initScript();
          }, 70);
        });

        function initScript() {
          let templatesC = localStorage.getItem('templatesC') ? JSON.parse(localStorage.getItem('templatesC')) : [];

          function renderTemplates() {
            let list = $('.patternlist');
            list.empty();
            templatesC.forEach(function(template, index) {
              let templateText = '<div class="patternline"><a href="#" class="name" data-index="' + index + '">' + template.name + '</a> <div id="del-edit"><a href="#" class="delete" data-index="' + index + '">[X]</a> <a href="#" class="edit" data-index="' + index + '">[✍]</a></div><hr>';
              list.append(templateText);
            });
          }
          let writeForm = $('form#mess_form');
          if (writeForm.length === 0) {
            return;
          }
          writeForm.find('.patternblock').remove();
          writeForm.prepend('<div class="patternblock"><b>Шаблоны</b><div class="patternlist"></div></div>');
          let patternBlock = writeForm.find('.patternblock');
          let createButton = $('<a href="#" id="createButton">Создать новый шаблон</a>').click(function(e) {
            e.preventDefault();
            $(this).hide();
            let inputField = $('<input type="text" id="templateName" placeholder="Введите название шаблона"></input>');
            let okButton = $('<button type="button" id="templateBtnOK" class="templateBtns">OK</button>').click(function() {
              let templateName = inputField.val();
              if (templateName) {
                let currentContent = $('#mess').html();
                let newTemplate = {
                  name: templateName,
                  content: currentContent
                };
                templatesC.push(newTemplate);
                localStorage.setItem('templatesC', JSON.stringify(templatesC));
                renderTemplates();
                inputField.remove();
                okButton.remove();
                cancelButton.remove();
                createButton.show();
              }
            });
            let cancelButton = $('<button id="templateBtnUndo" class="templateBtns">Отмена</button>').click(function() {
              inputField.remove();
              okButton.remove();
              cancelButton.remove();
              createButton.show();
            });
            $(this).after(inputField, okButton, '  ', cancelButton);
          });
          patternBlock.append(createButton);
          writeForm.off('click', '.delete').on('click', '.delete', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateName = templatesC[templateIndex].name;
            if (confirm('Точно ли вы хотите удалить шаблон "' + templateName + '"?')) {
              templatesC.splice(templateIndex, 1);
              localStorage.setItem('templatesC', JSON.stringify(templatesC));
              renderTemplates();
            }
          });
          writeForm.off('click', '.edit').on('click', '.edit', function(e) {
            $('#templateBtnSaveChanges').show();
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateC = templatesC[templateIndex];
            if (templateC) {
              let templateContent = templateC.content;
              $('#mess').html(templateContent);
              let saveButton = $('#templateBtnSaveChanges');
              if (saveButton.length === 0) {
                saveButton = $('<button id="templateBtnSaveChanges">Сохранить шаблон</button><br><br>');
                writeForm.append(saveButton);
              }
              saveButton.off('click').click(function(e) {
                e.preventDefault();
                let editedContent = $('#mess').html();
                templatesC[templateIndex].content = editedContent;
                localStorage.setItem('templatesC', JSON.stringify(templatesC));
                renderTemplates();
                $('#mess').html('');
                $('#templateBtnSaveChanges').hide();
              });
            }
          });
          writeForm.on('click', '.name', function(e) {
            e.preventDefault();
            let templateIndex = $(this).data('index');
            let templateC = templatesC[templateIndex];
            if (templateC) {
              $('#mess').html(templateC.content);
            }
          });
          renderTemplates();

          function togglePatternBlock() {
            $('.patternblock').slideToggle();
          }
          let toggleButton = $('<button id="togglePatternBlockButton" type="button">Ш</button>').click(togglePatternBlock);
          $('button[data-code="b"]').before(toggleButton);
          if (globals['toggleTTChat']) {
            $('.patternblock').hide();
          }
        }
      }
    }
    let css = `
        <style>
          div.patternlist::-webkit-scrollbar {
          width: 8px; }

          div.patternlist::-webkit-scrollbar-track {
          background: var(--cwsc-scrl-1) !important;
          border-radius: 3px; }

          div.patternlist::-webkit-scrollbar-thumb {
          background: var(--cwsc-scrl-2) !important;
          border-radius: 3px; }

          div.patternblock {
          font-family: Montserrat;
          outline: 5px solid var(--cwsc-brdr-1);
          background-color: var(--cwsc-bckg-1);
          color: var(--cwsc-txt-1);
          border-radius: 10px !important;
          width: 98.2%;
          margin: 15px 5px; }

          div.patternblock>b {
          display: flex !important;
          justify-content: center;
          text-transform: uppercase;
          color: var(--cwsc-txt-2);
          font-size: 25px;
          letter-spacing: 25px;
          padding: 10px 0px;
          margin-left: 25px; }

          div.patternlist {
          max-height: 170px;
          overflow: auto;
          background-color: var(--cwsc-bckg-2);
          border-top: 4px solid var(--cwsc-brdr-2);
          border-radius: 0px 0px 10px 10px;
          padding: 6px 0px 0px 0px}

          div.patternline>hr {
          border: 0.5px solid var(--cwsc-brdr-4);
          margin: 6px 0px 0px 0px; }

          div.patternline:hover {
          background: var(--cwsc-brdr-4) !important;
          transition: 0.8s; }

          div.patternline {
          transition: 0.8s;
          padding-top: 6px; }

          div.patternline a {
          color: var(--cwsc-txt-1); }

          div.patternline a:hover {
          color: var(--cwsc-txt-4); }ы

          .patternline>a.name {
          display: block;
          margin: 0px 0px 0px 10px; }

          div#del-edit {
          display: flex;
          justify-content: flex-end;
          margin: -15px 0px 0px 0px;
          height: 18px; }

          div#del-edit>a {
          margin: 0px 3px; }

          div#del-edit>a.edit {
          position: relative;
          bottom: 1px; }

          input#templateName {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 1px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          width: 200px !important;
          margin: 6px 10px 4px 10px; }

          button#templateBtnOK, button#templateBtnUndo, button#templateBtnSaveChanges {
          background-color: var(--cwsc-inpt-2);
          color: var(--cwsc-txt-4);
          border: 2px solid var(--cwsc-brdr-3);
          border-radius: 3px !important;
          padding: 1px 15px;
          margin: 0px 5px; }

          button#templateBtnOK:hover, button#templateBtnUndo:hover, button#templateBtnSaveChanges:hover {
          border: 1px solid var(--cwsc-brdr-2); }

          a#createButton {
          display: inline-block;
          color: var(--cwsc-txt-4);
          padding: 6px; }

          button#togglePatternBlockButton {
          background-color: var(--cwdf-bckg-1);
          color: var(--cwdf-txt-1);
          border: none;
          margin-right: 5px; }

          button#togglePatternBlockButton:hover {
          outline: 1px solid var(--cwdf-brdr-2); }
        </style>`
    $('head').append(css);
  }
}

function custom() {};

    function updateDontReadCounter1() {
      let count = 0;
      for (let i = 0; i < localStorage.length; i++) {
        let key = localStorage.key(i);
        if (key.startsWith('message')) {
          count++;
        }
      }
      localStorage.setItem('dontReadenCount', count);
      $('#dontReadCounter').text(count > 0 ? '(' + count + ')' : '');
    }