Enstyler

MyDealz Enstyler enhanced features

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

// ==UserScript==
// @name        Enstyler
// @namespace   dealz.rrr.de
// @description MyDealz Enstyler enhanced features
// @author      gnadelwartz
// @license     LGPL-3.0; http://www.gnu.org/licenses/lgpl-3.0.txt
// @include     https://www.dealabs.com/*
// @include     https://nl.pepper.com/*
// @include     https://www.preisjaeger.at/*
// @include     https://www.mydealz.de/*
// @include     https://www.hotukdeals.com/*
// @include     https://userstyles.org/styles/128262/*
// @include     https://www.amazon.*
// @version     20.07.292
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_xmlhttpRequest
// @require     https://unpkg.com/umbrellajs
// @require     https://cdn.jsdelivr.net/gh/gnadelwartz/Enstyler@808bbfb40f089845f4d96e07eca419b14c73d86c/translations.js
// @require     https://cdn.jsdelivr.net/gh/gnadelwartz/GM_config@3bfccb1cb4238694566ec491ee83d8df94da18d5/GM_config-min.js
// @require     https://cdn.jsdelivr.net/gh/gnadelwartz/lz-string@a96e60cb8df3892ef8e4c4c700af9110122fbe61/lz-string.min.js
// @require     https://cdn.jsdelivr.net/gh/gnadelwartz/sjcl@20de886688dcabda2da1a42cd89790aacc987b09/sjcl.js
// @require     https://cdn.jsdelivr.net/gh/delight-im/ShortURL@5ddbfe89528637ff73212200773db876bbd0bebd/JavaScript/ShortURL.min.js
// @run-at      document-start
// ==/UserScript==
// @ the original development source with comments can be found here: https://greatest.deepsurf.us/de/scripts/24244-enstylerjs-develop
// @ if you don't trust this minimized script use the development source.
function EnstylerInit() {
  (enUserLogin = u(".avatar--type-nav").length) ? (enUserName = (enUserName = u(".navDropDown a").attr(enHREF)).replace(/.*\/profile\/([^\/]+).*/, "$1"), GM_setValue("enCSyncUser", enUserName)) : enUserName = GM_getValue("enCSyncUser", ""), 
  enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1");
}

function EnstylerDealActions() {
  if (enTransTags = 5, myDealAction) {
    u("footer logo--brandmark").length && (enDealFooter = "%0D%0A%0D%0A-- %0D%0A" + u("#footer > div:nth-child(1)  p.size--all-l.text--b").first().text());
    var e = enLocParser.pathname;
    switch ("" != enUserName && (e = e.replace(enUserName + "/", "")), enDealAdd = enDealAction[0], !0) {
     case e.endsWith("profile/diskussion"):
     case enUserLogin && e.endsWith(enUserName):
      enDealAdd += enDealAction[2];
    }
    enDealAdd = enLangLocalize(enDealAdd + enDealAction[3] + enDealAction[5], enDealLang, enLANG), enSocialAdd = enLangLocalize(enDealAction[6] + enDealAction[4], enDealLang, enLANG), enCommentAdd = enLangLocalize(enDealAction[3] + enDealAction[5], enDealLang, enLANG);
  }
  EnstylerDealActionsDo();
}

function EnstylerDealActionsDo() {
  var e, t, n, a, o, i, r, l, s, c, d, p;
  enMyCSSID = enUserKey(""), (myDealAction || myTouch || myFixHtml || myVotebar || myPrice || enBlackTemp == enValOff) && (s = u(".thread--type-list, .cept-listing--card").length, u("article").not(".enClassActionDone, ." + enClassHidden).each(function(f) {
    if (u(f).addClass("enClassActionDone"), !u(f).hasClass("threadWidget--type-card--item")) if (null !== (e = u(f).attr(enID))) {
      if (n = u(f).find(".thread-title a"), c = "c" != e[0], enBlackTemp != enValOff && (c ? s ? (d = (u(f).find(".thread-title a").text() + " @" + u(f).find("a.user").text()).replace(unwantedRegex[1], " "), 
      l = null !== (l = u(f).find(".vote-temp")).text() ? parseInt(l.text()) : 9999) : (l = 9999, d = "") : (d = (u(f).find(".userHtml").text() + " @" + u(f).find("a.user").text()).replace(unwantedRegex[1], " "), 
      l = 0), (!enWhiteTrue || !d.match(enWhite)) && (enBlackTemp >= l || enBlackTrue && d.match(enBlack)))) {
        var g = u(f).parent();
        g.hasClass("threadCardLayout--card") ? g.addClass(enClassHidden) : u(f).addClass(enClassHidden), enBlacklisted++;
      }
      myFixHtml && u(f).find(".userHtml").each(function(e) {
        u(e).html(u(e).html().replace(/[^ -~¡-ÿ✘►○●✰€≠]+|(&nbsp;)+|(\n\r)+|<\/p>|<div>/g, " ").replace(/<\/div>/g, "<br>").replace(/<p>|<br>( *<br>)+/g, "<br><br>").replace(/(<li>)(<br>)+|<br>*(<br><\/li>)/g, "$1"));
      }), myPrice && c && (d = u(f).find(".thread-price.text--b")).length && ((o = u(f).find(".cept-dealBtn")).hasClass("ico--type-redirect-white") ? o.html(d.html()) : o.html(d.html() + '<span class="ico ico--type-redirect-white size--all-xl space--l-1"></span>'), 
      u(f).find(".cept-tb").html(d.html())), myDealAction && c && (s || (n = u(f).find(".thread-title"), enTransTags = 20), enTranslateGoogle(n), (i = u(f).find(".vote-temp")).length && (i = parseInt(i.text()), 
      myVotebar && (l = u(f).find(".vote-temp").attr("class").replace(/.*charcoal|.*vote-temp--/i, ""), 0 > (r = i / (myVotescale / 70) + 5) && (r *= -3), p = f, s || (p = u(u(f).find("div").first())), u(p).prepend('<div class="votebar vote-progress voteBar--' + l + '" style="width: ' + r + '%;"></div>'), 
      u(f).hasClass("thread--type-card") && (i = 0), i > myVotescale / 2.51 ? u(p).prepend(enDealFlame) : -myVotescale / 10.1 > i && u(p).prepend(enDealIce))), s ? (u(f).find("span.meta-ribbon.hide--toW3").removeClass("hide--toW3"), 
      u(f).find(".threadGrid-title .thread-title.lineClamp--2").removeClass("lineClamp--2"), a = enMinimzeHref(n.first().outerHTML.replace(/\n|\r|\t/g, "").replace(/^.*href="/, "").replace(/".*/, "")), o = enDealComposeAction(u(f), n.text(), a, enDealAdd.replace(enPATTERN[enTITLE], n.text())), 
      u(f).find(".cept-comment-link").append(o)) : (o = enDealComposeAction(u(f), n.text(), enMinimzeHref(enLocParser.toString()), enSocialAdd.replace(enPATTERN[enTITLE], n.text())), u(f).find("a.btn--twitter").parent().append(o))), 
      (t = u(f).find(".userHtml")).length && enTranslateGoogle(t);
    } else u(f).remove();
  }), EnstylerBlacklistShow());
}

function enDealComposeAction(e, t, n, a) {
  return 100 > (t = encodeURIComponent(("Gnadelwartz" == enUserName ? "KayDealz" : enInterName) + ": " + t.replace(/\r|\n|\t/g, " ").replace(/  */g, " "))).length && e.find("span.thread-price").length && (t += encodeURIComponent(" -> " + e.find("span.thread-price").text().replace(/ |\t/g, ""))), 
  n = enMinimzeHref(n), a.replace(enPATTERN[enHREF], "\n\r" + n).replace(enPATTERN[enTEXT], truncStringWord(t, 160, "%20") + "&body=" + t + "%0D%0A%0D%0A" + n + enDealFooter);
}

function enMinimzeHref(e) {
  return e = e.replace(/(.*)\/.*-/, "$1/md-"), enCCMail && !e.startsWith("https://dealz.rrr.de/") && (e = e.replace(/^https:\/\/.*?\//, "https://dealz.rrr.de/" + enInterName + "/") + "?ID=" + enMyCSSID), 
  e;
}

function EnstylerBlacklist() {
  enUserLogin && !GM_config.get("enConfWhitelist").includes(enUserName) && GM_config.set("enConfWhitelist", "@" + enUserName + "," + GM_config.get("enConfWhitelist"));
  var e = GM_config.get("enConfBlacklist").replace(unwantedRegex[0], "");
  enBlack = RegExp(e.replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), (enBlackTrue = !" ".match(enBlack)) || "" == e || alert(confLang("regexfailed")), enWhite = RegExp(GM_config.get("enConfWhitelist").replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), 
  enWhiteTrue = !" ".match(enWhite), enBlackTemp = GM_config.get("enCBlackC"), enBlackTrue = enBlackTrue && enBlackTemp != enValOff;
}

function EnstylerBlacklistShow() {
  enConfDefs.default.enCUnblackL.label = enUnblackText.replace(enPATTERN[enTEXT], enBlacklisted);
}

function EnstylerBlacklistUnhide() {
  enBlacklisted = 0, EnstylerBlacklistShow(), u("." + enClassHidden).removeClass(enClassHidden);
}

function EnstylerFixedNav() {
  var e = u(".subNavMenu .subNavMenu-layer").first();
  if (GM_config.get("enCNavF")) if ("/deals/" != enSection && "/gutscheine/" != enSection) {
    var t = u("header.js-sticky").html();
    u("header.forceLayer").replace('<header class="enFixedNav">' + t + "</header>");
    var n = myFixedCSS.every;
    enSection == EnstylerSiteConfig("discussion") && (n += myFixedCSS.discus), (u(".nav-subheadline").length || "/profile/" == enSection) && (n += myFixedCSS.subnav), addStyleString(n);
  } else e = u(".vote-box").first();
  e && e.after(enMenuButton);
}

function EnstylerDealTime() {
  TodayStart.setHours(0, 0, 0, 0), today = enLangLocalize('<span class="hide--toW2"><EN-LANG:today>&nbsp;</span>', enTimeLang, enLANG), oclock = enLangLocalize('<span class="hide--toW2">&nbsp;<EN-LANG:oclock></span>', enTimeLang, enLANG), 
  yesterday = enLangLocalize("<EN-LANG:yesterday> ", enTimeLang, enLANG), EnstylerDealTimeDo();
}

function EnstylerDealTimeDo() {
  if (myDealTime) {
    var e, t, n, a = Date.now();
    u(".meta-ribbon, time, .metaRibbon").not("." + EnstylerTimeSeen).each(function(o) {
      if (u(o).addClass(EnstylerTimeSeen), !(e = u(o).html()).includes(" am ")) {
        switch (DealDate.setTime(a - (60 * parseInt(e.replace(/.* ([0-9].*) [hu].*|.*/, "$1")) + parseInt(e.replace(/.* ([0-9].*) m.*|.*/, "$1"))) * enTime2Min), t = (a - DealDate) / enTime2Min, n = DealDate.toString().slice(16, 21), 
        !0) {
         case 5 > n.length || 60 > t:
          return;

         case t > 1440:
          e += "&nbsp;(" + n + oclock + ")";
          break;

         case TodayStart > DealDate:
          e = yesterday + n + oclock;
          break;

         default:
          e += "&nbsp;(" + today + n + oclock + ")";
        }
        u(o).html(e);
      }
    });
  }
}

function EnstylerLastSeen() {
  if (LastSeenOnce) if (LastSeenOnce = !1, enSection.match(enMainSectionMatch)) {
    if (enSeArt = GM_getValue(enSec, ""), SyncLastSeen(), EnstylerLastSeenDo(), "" == enLocParser.search) {
      var e = !1;
      u("article").not(".threadWidget-item").each(function(t) {
        e || 0 != u(t).find(".cept-pinned-flag").length || (GM_setValue(enSec, u(t).attr(enID)), GM_setValue(enSec + "Last", enSeArt), SaveLastSeen(), e = !0);
      });
    }
  } else EnstylerLastSeenLast();
}

function EnstylerLastSeenDo() {
  if ("" != enSec) if (GM_setValue("enLastCheck" + enSec, Date.now() / enMs2Min), enSeArt) {
    GM_setValue(enSec + "Last", enSeArt);
    var e = u("#" + enSeArt);
    e.addClass("enClassMarkArticle"), enLaArt.startsWith("thread_") && (e = u("#" + enLaArt)).addClass("enClassMarkArticleLoad");
  } else GM_setValue(enSec, "thread_1");
}

function EnstylerLastSeenLast() {
  var e = GM_getValue(enNewestBase + "LastSec", "");
  GM_setValue(e, GM_getValue(e + "Last", ""));
}

function enCheckUpdates() {
  var e = Date.now() / enMs2Min - GM_getValue("enLastUpdateCheck", "0");
  10 > GM_getValue("MyCSS", "").length && (e = -1), (e > enUpdInt || 0 > e) && enUpdateCSS();
}

function enUpdateCSS() {
  var e = parseInt(Date.now() / enMs2Min), t = enComposeUpdateOpt();
  enCacheExternalResource(enUpdateUrl + t, MyCSS), GM_setValue("enLastUpdateCheck", e), enSaveMyCSS();
}

function enComposeUpdateOpt() {
  var e = GM_getValue(enCssOpt, "");
  if ("" == e || !e.startsWith("#")) return "";
  var t = (e = e.replace(/\n/g, "")).split(";");
  e = "";
  for (var n = 0; n < t.length; n++) if ("" != t[n]) {
    var a = t[n].split(":");
    2 > a.length || (e += "&" + a[1].slice(0, -1) + "=" + a[1]);
  }
  return "?" + e.slice(1);
}

function EnstylerMenuActions() {
  EnstylerAddNav("Main", "<EN-LANG:enstyler>", '<EN-LANG:enhref>" target="_blank', "enMainHomepage", "home"), EnstylerAddNav("Main", "Enstyler Discussion", "https://t.me/joinchat/IvvRthRhMcX6rDQU-pZrWw", "enMainHomepage", "page"), 
  EnstylerAddNav("MainButton", "<EN-LANG:settings>", showEnstylerConfig, EnstylerButton, "gear-grey"), EnstylerAddNav("Main", "Deal-O-Mat / Telegram Groups", "https://dealz.rrr.de/deal-O-mat/", "enMainHomepage", "home");
}

function EnstylerAddNav(e, t, n, a, o) {
  void 0 !== o && "" != o || (o = enNavIconPat);
  var i = !1, r = enMenuItemCode[e].replace(enPATTERN[enID], a).replace(enPATTERN[enTEXT], t);
  o != enNavIconPat && (r = r.split(enNavIconPat).join("#" + o)), "function" == typeof n ? i = !0 : r = r.replace(enPATTERN[enHREF], n), "M" == e[0] && ("" == enAddMain && u(".nav-link.navMenu-trigger").on("click", function() {
    setTimeout(EnstylerMainDo, 200);
  }), enAddMain += r, i && (enAddMainFunc[enAddMainCount++] = {
    ID: a,
    target: n
  }));
}

function EnstylerMainDo() {
  if (!enAddMainDone) {
    enAddMainDone = !0, u(".popover-content nav .navMenu-div").first().insertAdjacentHTML("beforebegin", enLangLocalize(enAddMain, enMenuLang, enLANG));
    var e = u(".popover--mainNav"), t = 35 * (enAddMain.split(enNavEntry).length - 1) + parseInt(e.attr("style").split("height: ")[1]);
    e.attr("style", e.attr("style").replace(/height: [0-9.]*px/, "height: " + t + "px"));
    for (var n = 0; enAddMainCount > n; n++) u("section #" + enAddMainFunc[n].ID).on("click", enAddMainFunc[n].target);
  }
}

function confLang(e) {
  return enLangLocalize("<EN-LANG:" + e + ">", enConfigLang, enLANG);
}

function confMess(e) {
  return enLangLocalize("<EN-LANG:" + e + ">", enMessageLang, enLANG);
}

function showEnstylerConfig() {
  u("body").prepend('<div id="enOverDim"></div>'), GM_config.open(), document.getElementById("main").click(), enGMConfigOpen = !0;
}

function closeEnstylerConfig() {
  u("#enOverDim").remove(), enGMConfigOpen = !1;
}

function confLangOpen() {
  u('.GM_config button[id$="_saveBtn"]').html(confLang("save")), u('.GM_config button[id$="_closeBtn"]').html(confLang("close")), u("#GM_config_resetLink").html(confMess("reset"));
}

function EnstylerSyncIDShow() {
  enSyncKey != enValOff && (u('.GM_config input[id$="_field_enCSync"]').first().value = confLang("sync") + " " + enUserKey(""));
}

function SyncSettings() {
  EnGetValue("", enSetValue), EnGetValue(enSettings, enSetSettings);
}

function SaveSettings() {
  EnSaveValue(enCssOpt, GM_getValue(enCssOpt, "")), enSaveMyCSS();
  for (var e = "", t = 0; t < enSaveSettings.length; t++) e += enSaveSettings[t] + "=" + GM_config.get(enSaveSettings[t]) + "&";
  EnSaveValue(enSettings, e);
}

function SaveLastSeen() {
  enAutoSync && (Date.now() / enMs2Min - GM_getValue("enLastCheck" + enSec, "0") > 5 && (delay = 500), setTimeout(function() {
    EnSaveValue(enSec, GM_getValue(enSec, ""));
  }, 1 * enMs2Min / 2));
}

function SyncLastSeen() {
  if (enAutoSync) {
    var e = Date.now() / enMs2Min, t = e - GM_getValue("enLastCheck" + enSec, "0");
    (t > 1 || 0 > t) && (GM_setValue("enLastCheck" + enSec, e), EnGetValue(enSec, enSetLastSeen));
  }
}

function enSetLastSeen(e, t) {
  enLaArt = t, EnstylerLastSeenDo(), enLaArt.replace(/thread_/i, "") > enSeArt.replace(/thread_/i, "") && enSetValue(e + "Last", t);
}

function enSaveMyCSS() {
  EnSaveValue("", extraCSS + GM_getValue(MyCSS, "").replace(/^.*?{/, "").replace(/} *@-moz-document.*/, ""), !1);
}

function enSetSettings(e, t) {
  for (var n = t.split("&"), a = 0; a < n.length; a++) {
    var o = n[a].split("=");
    o.length >= 2 && enSaveSettings.includes(o[0]) && ("false" == o[1] ? GM_config.fields[o[0]].value = !1 : GM_config.fields[o[0]].value = o[1], GM_config.fields[o[0]].reload());
  }
}

function enAmazonMobileRedirect() {
  var e = enLocParser.href;
  return !!e.startsWith("https://www.amazon") && (GM_config.get("enCRedirect") && (e.includes("/gp/aw/d/") ? window.location.replace(e.replace("/gp/aw/d/", "/dp/")) : e.includes("/gp/aw/ol/") && window.location.replace(e.replace("/gp/aw/ol/", "/gp/offer-listing/"))), 
  !0);
}

function EnstylerStart() {
  EnstylerShowPage(), EnstylerFixedNav(), EnstylerLastSeen(), EnstylerDealTime(), EnstylerBlacklist(), EnstylerDealActions();
}

function EnstylerRedo() {
  EnstylerShowPage(), EnstylerLastSeenDo(), EnstylerDealTimeDo(), EnstylerDealActionsDo();
}

function EnstylerShowPage() {
  if (myDealTime) {
    var e = u(".search-input");
    e.lenth || e.nodes[0].setAttribute("placeholder", enShowDate + enLangLocalize(" <EN-LANG:oclock>", enTimeLang, enLANG) + ("/" == enLocParser.pathname ? " (home" : " (" + enLocParser.pathname.replace(/(^.*)[\/]|-.*/g, "")) + (enLocParser.search.length ? " |" + enLocParser.search.replace(/.*=/, "") + "|" : "") + ")");
  }
}

function EnstylerDelayedInit() {
  var e = shadeRGBColor(getStyle(u(".nav").first(), "background-color"), .1), t = shadeRGBColor(getStyle(u(".btn--mode-special").first(), "background-color"), .1), n = shadeRGBColor(e, .7), a = medainRGBColor(getStyle(u("#main").first(), "background-color")) > 100 ? "" : ".notification-item {color: #111;} body, .user, .thread-title, .subNavMenu-link, .mute--text2 {color: #aaa !important} .notification-item--read, .card-title, .mute--text, .userHtml-quote, .userHtml .userHtml-quote-source, .widget-title, .linkGrey, .thread-userOptionLink, .btn--mode-white--dark, .btn--mode-boxSec, .thread--expired.thread--type-card, .thread--expired.thread--type-list {color: #888;} article, section {border: 1px #666 solid} img, .votebar, .vote-tempIco, .vote-temp, .vote-temp--hot, .text--color-red, .vote-btn, .emoji, .ico, .dot {filter: grayscale(.25);}";
  addStyleString(" .GM_config {background-color: " + e + " !important; color: " + n + ";} .GM_config select {background-color: " + e + " !important;} .GM_config .section_header, .GM_config .config_header {background-color: " + shadeRGBColor(e, -.25) + " !important; color: " + n + " !important;} .nav-link-text:hover, .js-navDropDown-messages:hover, .js-navDropDown-activities:hover  { background-color: " + shadeRGBColor(e, .1) + " !important;} .GM_config input[type=button] { background-color: " + t + " !important; border-color: " + t + " !important; min-width: 10em;} .GM_config input[type=button]:hover, .btn--mode-special:hover { background-color: " + shadeRGBColor(t, .2) + " !important; border-color: " + shadeRGBColor(t, .2) + " !important;} .bg--inverted { background-color: " + t + " }" + a), 
  EnstylerMenuActions(), isMobile ? u("#main").on("DOMSubtreeModified", debounce(300, function() {
    window.requestAnimationFrame(EnstylerRedo);
  })) : u(".js-pagi-bottom").on("DOMSubtreeModified", debounce(200, function() {
    window.requestAnimationFrame(EnstylerRedo);
  }));
}

function WaitForBody() {
  if (!enAmazonMobileRedirect()) if (u("#messages-list").length || u("#footer").length) {
    if (enEarlyInit(), enLocParser.pathname.match(enDisableScript)) return;
    WaitForDOM();
  } else window.requestAnimationFrame(WaitForBody);
}

function WaitForDOM() {
  var e = getStyle(u(".nav, #navigation").first(), "background-color").replace(/[^\(]*/, "");
  u(".vwo-deal-button, #footer").length && "" != e ? MAIN() : window.requestAnimationFrame(function() {
    setTimeout(WaitForDOM, 80);
  });
}

function enEarlyInit() {
  addStyleString(GM_getValue("Enstyler2_CSS", ""), 'domain("' + enLocParser.hostname), enCCMail = GM_config.get("enCCMail"), myDealAction = GM_config.get("enCDealA"), myTouch = GM_config.get("enCTouch"), 
  myCompact = GM_config.get("enCCompact"), myPrice = GM_config.get("enCPrice"), myFixHtml = GM_config.get("enCFixHtml"), myVotescale = GM_config.get("enCDealVbar"), myVotebar = myVotescale != enValOff, 
  myDealTime = GM_config.get("enCDealT"), myPrice && (extraCSS += ".threadGrid-title .flex, .threadGrid-title .overflow--fade {display: none;}"), myCompact && (extraCSS += ".threadGrid {padding: .3em !important;} .threadGrid-headerMeta, .threadGrid-title {height: 2.8em;}.thread-title {white-space: nowrap;} .threadGrid-headerMeta {height: 2.3em;} .thread--compact .threadGrid-image {display: none}.space--mt-2, .space--mv-2 {margin-top: .25em;} .vote-box {height: 2.1em} .votebar {top: 0;} .threadTempBadge-icon {font-size: 1.3em !important;}", 
  myPrice && (enCSS += ".threadGrid-headerMeta, .threadGrid-title {height: 2em !important;}")), myTouch && (extraCSS += "article .footerMeta-actionSlot .ico::before, article .threadItem-footerMeta .ico::before, article .threadCardLayout--row--small .ico::before, .thread-userOptionLink.ico:before {-webkit-transform: scale(1.7); transform: scale(1.7); width: 1.5em; left: .4em;}.ico--reduce3 {left: .5em;} #emergency {transform: scale(1.5); margin-left: .7em;}article a.btn--ctrl--fixed {-webkit-transform: scale(1.2); transform: scale(1.2); left: 0; margin-left: 3em; min-width: 4em;}.vote-down, .vote-up {padding-top: 0.25em; padding-bottom: 0.25em} .thread-avatar { width: 2.3em; height: 2.3em;}"), 
  myVotebar || (extraCSS += ".threadTempBadge { display: unset; }"), myDealAction && (extraCSS += "button.meta-ribbon-btn.hide--fromW3 {display: none}"), addStyleString(enCSS + extraCSS + enNavCSS);
}

function MAIN() {
  EnstylerInit(), enCheckUpdates(), document.body.appendChild(enGMFrame), addStyleString(".bg--off {background-color: " + shadeRGBColor(getStyle(u(".bg--main").first(), "background-color"), -.08) + "!important;}"), 
  setTimeout(EnstylerDelayedInit, 400), EnstylerStart();
}

function enUserstyleDo() {
  if (!u("#EnstylerButton").length) {
    document.body.appendChild(enGMFrame), addStyleString(enCSS + ".advancedsettings_hidden {max-width: 640px; border-radius: 8px; background-color: #ffffff; margin-bottom: 30px; padding: 30px; display: flex; flex-direction: row; flex-wrap: wrap; margin-top: 14px;} #ownedButtons {visibility: visible; border: 1px solid red;} #top_android_button, .android_button_banner, .walking, .overlay_background { display: none !important; }"), 
    addStyleString(GM_getValue("Enstyler2_CSS", ""), "url(https://userstyles.org");
    var e = setInterval(function() {
      u("#style-settings").length && (u("#EnstylerButton").length || createEnstylerButton(), clearInterval(e));
    }, 1e3);
  }
}

function createEnstylerButton() {
  u("#advancedsettings_area").attr("class", "advancedsettings_shown"), u(".advanced_button").remove(), input.setAttribute("style", "font-size: 1.3em; padding: 0.7em; background-color: #69be28; color: white; border-radius: 8px; border: 1px solid grey; margin-top: 1em; font-weight: bold;"), 
  u("#style-settings").before(input), window.scrollTo(100, 400), enSetOptions();
}

function saveEnstylerCSS() {
  enSaveOptions(), setTimeout(window.close, 1e3);
}

function enSaveOptions() {
  var e, t, n, a = "";
  u("#style-settings select").each(function(o) {
    e = u(o).attr(enID), t = o.value, n = u("option[value=" + t + "]").text(), a += "#" + e + ":" + t + ":" + n + ";\n";
  }), u("#style-settings input[type=text]").each(function(o) {
    e = u(o).attr(enID), t = o.value, a += "#" + e + ":" + t + ":" + (n = "RGB-Clolor") + ";\n";
  }), u("#style-settings input:checked").each(function(o) {
    e = u(o).attr(enID), t = o.value, n = u("label[for=" + e + "]").text(), a += "#" + e + ":" + t + ":" + n + ";\n";
  }), GM_config.set("saveOpt", a), GM_setValue(enCssOpt, a);
}

function enSetOptions() {
  input.value = confLang("options");
  var e = GM_getValue(enCssOpt, ""), t = (e = e.replace(/\n/g, "")).split(";");
  if ("" != e && e.startsWith("#")) {
    for (var n = 0; n < t.length; n++) {
      var a = t[n].split(":");
      a[0].startsWith("#setting") ? (u(a[0]).first().selectedIndex = "-1", u(a[0]).first().value = a[1]) : a[0].startsWith("#option") ? u(a[0]).first().checked = !0 : "" != a[0] && enDebugLog('ignoring unkown option: "' + a + '"');
    }
    addStyleString("#button { display: none; }");
  }
}

function enComposeCSS() {
  var e = GM_getValue(enCssOpt, "");
  if ("" == e || !e.startsWith("#")) return "";
  var t = (e = e.replace(/\n/g, "")).split(";");
  e = "";
  for (var n = 0; n < t.length; n++) if ("" != t[n]) {
    var a = t[n].split(":");
    2 > a.length || (e += "&" + a[0] + "=" + a[1]);
  }
  return e = "?" + e.slice(1).replace(/#/g, ""), enDebugLog(e), e;
}

//var isIE = /*@cc_on!@*/false || !!document.documentMode;
function mobileLog(e) {
  GM_setValue(saveLog, GM_getValue(saveLog, "") + e + "\n");
}

function mobileShowLog() {
  GM_getValue(saveLog, "");
}

function mobileClearLog() {
  GM_setValue(saveLog, "Enstyler Log\n");
}

function EnstylerSiteConfig(e) {
  return enGetSiteConfig(enInterName, e);
}

function enGetSiteConfig(e, t) {
  return enSiteConfig.hasOwnProperty(e) && enSiteConfig[e].hasOwnProperty(t) ? enSiteConfig[e][t] : "";
}

function enLangLocalize(e, t, n) {
  return enDealLang.hasOwnProperty(n) && void 0 !== t[n] || (n = "en"), (e = e.replace(enLangPat, function(e, a) {
    return t.hasOwnProperty(n) && t[n].hasOwnProperty(a) ? t[n][a] : a;
  })).match(enLangPat) ? enLangLocalize(e, t, n) : e;
}

function addStyleString(e, t) {
  // check if style contains @-moz-document rules
  if (void 0 === t && (t = ""), e.match(enUserScript.detect)) {
    "" == t && (t = enLocParser.hostname);
    var n = e.split(t);
    e = "";
    for (var a = 1; a < n.length; a++) -1 != n[a].indexOf("{") && (e += n[a].replace(enUserScript.split, "").replace(enUserScript.next, ""));
  }
  for (var o, i = 0, r = enCSSmax; e.length > r && (o = e.substring(r).indexOf("}.")) > 0; ) addStyleString(e.slice(i, r += o + 1)), i = r, r += enCSSmax;
  var l = document.createElement("style");
  l.innerHTML = e.slice(i), document.body.appendChild(l);
}

function capitalizeFirstLetter(e) {
  return e[0].toUpperCase() + e.slice(1);
}

function truncStringWord(e, t, n) {
  return void 0 === n && (n = " "), e.length > t ? (e = e.substr(0, t - 1)).substr(0, e.lastIndexOf(n)) + "..." : e;
}

function shadeRGBColor(e, t) {
  if (void 0 === t && (t = .1), void 0 === e) return "rgba(0,0,0,0)";
  var n = e.split(","), a = 0 > t ? 0 : 255, o = 0 > t ? -1 * t : t, i = parseInt(n[0].slice(4)), r = parseInt(n[1]), l = parseInt(n[2]);
  return "rgb(" + (Math.round((a - i) * o) + i) + "," + (Math.round((a - r) * o) + r) + "," + (Math.round((a - l) * o) + l) + ")";
}

function medainRGBColor(e) {
  var t = e.split(","), n = parseInt(t[0].slice(4)), a = parseInt(t[1]), o = parseInt(t[2]);
  return Math.round((n + a + o) / 3);
}

function debounce(e, t) {
  var n = null;
  return function() {
    clearTimeout(n), n = setTimeout(function() {
      t.call(this);
    }, e);
  };
}

/* curreently we assume its a CSS or JS File, so we strip comments and @namespace @moz-document... */ function enCacheExternalResource(e, t) {
  GM_xmlhttpRequest({
    method: "GET",
    url: e,
    onload: function(e) {
      var n = e.responseText.replace(/\r\n/g, " ").replace(/\/\*.*?\*\/|   *|\t/g, "").replace(/([:;]) /g, "$1").replace(/1111.11%/g, "100%");
      n.length > 60 && (GM_setValue(t, n), addStyleString(n));
    },
    onerror: function() {
      alert(confMess("cssfailed"));
    }
  });
}

function enTranslateGoogle(thisObj) {
  if (enLANG != enSiteLANG && thisObj.length) {
    var text = thisObj.html().replace(/[#\(\)]|\n|\r|\t/g, ""), html = "", transTags = [], count, match, buff = "", last = 0, regex = /<.*?>/gi;
    for (count = 0; match = regex.exec(text); count++) {
      if (count > enTransTags || buff.length + (match.index - last) > enMaxTrans) {
        var space = text.lastIndexOf(" ", last + (enMaxTrans - buff.length));
        buff += text.slice(last, last + space), html = text.slice(last + space);
        break;
      }
      transTags[count] = match[0], buff += text.slice(last, match.index) + '<a href="' + count + '">', last = regex.lastIndex;
    }
    if (buff.length || (buff = text, buff.length <= enMaxTrans)) var query = enGoogleTransURL.replace(/<ENSTYLER-LANG-HERE>/, enLANG).replace(/<ENSTYLER-HTML-HERE>/, encodeURI(buff)), ret = GM_xmlhttpRequest({
      method: "GET",
      url: query,
      onload: function(res) {
        text = eval("(" + res.responseText + ")")[0][0][0];
        try {
          for (x = 1; 5 > x; x++) text += eval("(" + res.responseText + ")")[0][x][0];
        } catch (e) {}
        for (count--; count >= 0; count--) text = text.replace(RegExp('< *a href *= *"' + count + '" *>'), transTags[count]);
        thisObj.html(text + " " + html);
      }
    });
  }
}

function EnSaveValue(e, t, n) {
  if ("" != enUserName && enSyncKey != enValOff) {
    if (void 0 === n && (n = !0), e + t == enSaveUrlLast) return;
    enSaveUrlLast = e + t;
    var a = n ? enEncrypt(t) : LZString.compressToEncodedURIComponent(t), o = enSaveURL + "ID=" + enUserKey(e) + "&value=" + a;
    GM_xmlhttpRequest({
      method: "GET",
      url: o
    });
  }
}

function EnGetValue(e, t, n) {
  if ("" == enUserName && (enUserName = GM_getValue("enCSyncUser", "")), "" != enUserName && enSyncKey != enValOff) {
    void 0 === n && (n = !0);
    var a = "https://dealz.rrr.de/enstyler/load.php?ID=" + enUserKey(e);
    GM_xmlhttpRequest({
      method: "GET",
      url: a,
      onload: function(a) {
        200 === a.status && a.responseText.length > 30 && t(e, n ? enDecrypt(a.responseText) : LZString.decompressFromEncodedURIComponent(a.responseText));
      }
    });
  }
}

function enSetValue(e, t) {
  GM_setValue(e + "", t + "");
}

function enEncrypt(e) {
  return btoa(sjcl.encrypt(enUserKey(""), e));
}

function enDecrypt(e) {
  return sjcl.decrypt(enUserKey(""), atob(e));
}

function enUserKey(e) {
  return enShortKey(enUserName + enSyncKey + e);
}

function enShortKey(e) {
  return ShortURL.encode(parseInt(e.toLowerCase().split("").map(function(e) {
    return "eariotnslcudpmhgbfywkvxzjq".indexOf(e) + 1 || "9876543210".indexOf(e) + 1 || "";
  }).join("")));
}

function getStyle(e, t) {
  if (window.getComputedStyle) try {
    return getComputedStyle(e).getPropertyValue(t);
  } catch (e) {} else if (e.currentStyle) try {
    return e.currentStyle[t];
  } catch (e) {}
  return "";
}

var DEBUG = !0, DEBUGXX = !0, DEBUGXXX = !1, DEBUGINT = !1, enLocParser = location, enInterSite = enLocParser.hostname.replace("www.", ""), enInterName = capitalizeFirstLetter(enInterSite.replace(/^\.|\..*/g, "")), enInter = "Mydealz" != enInterName, enUpdInt = 1440, enMs2Min = 6e4, enTime2Min = enMs2Min, enUserLogin = !1, enUserName = "", enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"), enValOff = "off", enSyncKey = enValOff, enAutoSync = !1, isFirefox = "undefined" != typeof InstallTrigger, isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);

/Linux/i.test(navigator.userAgent) && void 0 !== GM_info.scriptHandler && GM_info.scriptHandler.startsWith("USI") && (isMobile = !0);

var saveLog = "enMobileLog", enDebugLog = console.error, enInitTime;

mobileClearLog();

var enDisableScript = /settings$/, enLangPat = /<EN-LANG:(.*?)>/g, enSiteLANG = void 0 === enSiteConfig[enInterName] ? "en" : enSiteConfig[enInterName].lang, enLANG = enSiteLANG, enHostpath = enLocParser.protocol + "//" + enLocParser.host + enLocParser.pathname, enDealAction = [ '<a title="<EN-LANG:post>" class="space--h-1" style="font-size: xx-large"href="<ENSTYLER-HREF-HERE>#comment-form" data-handler="track" data-track="{&quot;action&quot;:&quot;scroll_to_comment_add_form&quot;,&quot;label&quot;:&quot;engagement&quot;}">+</a>', '<a title="<EN-LANG:remove>"class="space--h-1" style="font-size: x-large"data-handler="track replace" data-replace="{&quot;endpoint&quot;:&quot;https://www.mydealz.de/threads/<ENSTYLER-ID-HERE>/remove&quot;,&quot;method&quot;:&quot;post&quot;}" data-track="{&quot;action&quot;:&quot;save_thread&quot;,&quot;label&quot;:&quot;engagement&quot;}">-</a>', '<a title="<EN-LANG:edit>" class="space--h-1" style="font-size: x-large"href="<ENSTYLER-HREF-HERE>/edit" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_Update startededit_form&quot;,&quot;beacon&quot;:true}"><span>E</a>', '<a title="<EN-LANG:mail>" class="space--h-1" style="font-size: x-large"href="mailto:?subject=<ENSTYLER-TEXT-HERE>" <span class="hide--toW3"><span>M</a>', '<a title="<EN-LANG:mail>" class="btn btn--messenger btn--mail space--ml-2" style="background-color: #69BE28;"href="mailto:?subject=<ENSTYLER-TEXT-HERE>"><span class="ico ico--type-mail-white ico--reduce size--all-xxl"></span><svg width="22px" height="22px" class="icon icon--mail icon-u--1"><use xlink:href="/assets/img/ico_39d8b.svg#mail"></use></svg><span class="space--ml-2"><EN-LANG:mail></span></a>', '<a title="<EN-LANG:telegram>" class="space--h-1" style="font-size: x-large" target="blank"href="https://telegram.me/share/url?url=<ENSTYLER-HREF-HERE>&text=<ENSTYLER-TITLE-HERE>" <span class="hide--toW3"><span>T</a>', '<a title="<EN-LANG:telegram>" class="btn btn--messenger btn--mail space--ml-2" style="background-color: #10a0d0;" target="blank"href="https://telegram.me/share/url?url=<ENSTYLER-HREF-HERE>&text=<ENSTYLER-TITLE-HERE>"><span class="ico ico--type-mail-white ico--reduce size--all-xxl"></span><svg width="17px" height="17px" class="icon icon--external icon-u--1"><use xlink:href="/assets/img/ico_39d8b.svg#external"></use></svg><span class="space--ml-2"><EN-LANG:telegram></span></a>' ], enDealFlame = '<span class="vote-tempIco ico ico--type-flame2-red threadTempBadge-icon" style="position: absolute; display: block; margin-left: .3em; font-size: 2em;"></span>', enDealIce = '<span class="vote-tempIco ico ico--type-snowflake-blueTint threadTempBadge-icon" style="position: absolute; display: block; margin-left: .3em; font-size: 2em;"></span>', enDealMarker = "#thread_", enDealAdd = "", enSocialAdd, enCommentAdd, enDealFooter = "", enCCMail, enMyCSSID, myDealAction, myTouch, myFixHtml, myVotebar, myVotescale, myCompact, myPrice, myDealTime, enClassHidden = "enClassHidden", enClassBlackDone = "enClassBlackDone", enBlacklisted = 0, unwantedRegex = [ /[\[\]\(\)\{\}\?\:\;\!\"\*\+\ ]/g, /[\[\]\(\)\{\}\?\.\:\;\!\"\*\+\,\n\r\t]+/g ], enBlack, enBlackTrue, enWhite, enWhiteTrue, enBlackTemp, myFixedCSS = {
  every: ".enFixedNav { display: block; position: fixed; width: 100%; z-index: 120;} .listingProfile {margin-bottom: -55px}.listingProfile, .subNav, .profileHeader, .tabbedInterface, .splitPage-wrapper {margin-top: 55px}",
  subnav: ".subNav {margin-top: 0 !important;} .nav-subheadline {margin-top: 55px}",
  discus: ".tGrid.page2-center.height--all-full {margin-top: calc(55px + 10px);} #footer .page-content { padding-top: calc(55px + 10px);}"
}, DealDate = new Date(), TodayStart = new Date(), EnstylerTimeSeen = "enTimeSeen", today = "", oclock = "", yesterday = "", enNewestBase = "enNewest" + enInterSite, enSec = enNewestBase + "-" + enSection.replace(/\//, ""), LastSeenOnce = !0, enSeArt = "", enLaArt = "", enUpdateUrl = "https://userstyles.org/styles/128262/enstyler2-style-your-mydealz.css", MyCSS = "Enstyler2_CSS", enCssOpt = "EnstylerCssOpt", enMainSectionMatch = /^\/$|^\/hot$|^\/new$|^\/settings$|^\/discussed$|^\/hei%C3%9F$|^\/diskutiert$/, enHREF = "href", enID = "id", enTEXT = "text", enTITLE = "title", enPATTERN = {
  href: /<ENSTYLER-HREF-HERE>/g,
  id: /<ENSTYLER-ID-HERE>/g,
  text: /<ENSTYLER-TEXT-HERE>/g,
  title: /<ENSTYLER-TITLE-HERE>/g
}, enNavEntry = "enNavEntry", enMenuItemCode = {
  Main: '<a class="space--h-2 lbox--v-4 enNavEntry navMenu-link" id="<ENSTYLER-ID-HERE>" href="<ENSTYLER-HREF-HERE>" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_main_target&quot;,&quot;beacon&quot;:true}"><span class="lbox--h-4"><svg width="24px" height="20px" class="icon icon--comments"></span><ENSTYLER-TEXT-HERE></a>',
  Sub: '<li class="enNavEntry subNavMenu-item--separator test-tablink-discussed"><a  href="<ENSTYLER-HREF-HERE>" class="subNavMenu-item subNavMenu-link space--h-4 vAlign--all-m" id="<ENSTYLER-ID-HERE>" data-handler="track" data-track="{&quot;action&quot;:&quot;goto_menu_target sort&quot;,&quot;label&quot;:&quot;diskutiert&quot;,&quot;beacon&quot;:true}"><span class="box--all-i size--all-xl vAlign--all-m"><ENSTYLER-TEXT-HERE></span><span class="js-vue-container--threadcount" data-handler="vue" data-vue="{&quot;count&quot;:null}"></span></a></li>',
  MainButton: '<a class="space--h-2 lbox--v-4 enNavEntry navMenu-link" id="<ENSTYLER-ID-HERE>"><span class="lbox--h-4"><svg width="24px" height="20px" class="icon icon--comments"></span><ENSTYLER-TEXT-HERE></a>'
}, enNavGrid = '<div id="enButt"><a title="Grid Layout" id="enGrid" href="' + enHostpath + '?layout=grid"><img src="https://dealz.rrr.de/enstyler/grid.png"></a><a title="List Layout" id="enList" href="' + enHostpath + '?layout=horizontal"><img src="https://dealz.rrr.de/enstyler/list.png"></a><a title="Text Layout" id="enText" href="' + enHostpath + '?layout=text"><img src="https://dealz.rrr.de/enstyler/text.png"></a></div>', enNavCSS = "#enGrid, #enList, #enText { padding: 0.5em; } #enButt {left: 3em; top: 1em; padding-left: 4em; display: inline-block;}", enMenuItemLength = enMenuItemCode.length, EnstylerButton = "EnstylerButton", enMenuButton = document.createElement("input");

enMenuButton.type = "button", enMenuButton.setAttribute(enID, "emergency"), enMenuButton.onclick = showEnstylerConfig, enMenuButton.value = "Enstyler", enMenuButton.setAttribute("style", "cursor: pointer; padding-left: 1em; padding-bottom: 0.5em; font-weight: 600; font-size: 10px !important; color: #FFCC00 !important;"), 
enMenuButton.setAttribute("title", "Enstyler Einstellungen");

var enNavIconPat = "#discussion", enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, enAddMainDone = !1, enUpdateWindow, enUnblackText = enLangLocalize("<EN-LANG:unblack> <ENSTYLER-TEXT-HERE> Dealz", enConfigLang, enLANG), enConfDefs = [];

enConfDefs.default = {
  enCSS: {
    label: confLang("configcss"),
    title: confMess("configcss"),
    type: "button",
    click: function() {
      enUpdateWindow = window.open("https://userstyles.org/styles/128262", "UserCSS", "left=0,top=0"), GM_setValue("enLastUpdateCheck", 0);
    }
  },
  enJS: {
    label: confLang("userscript"),
    title: confMess("userscript"),
    type: "button",
    click: function() {
      enUpdateWindow = window.open("https://greatest.deepsurf.us/scripts/24243-enstylerjs/code/EnstylerJS.user.js", "UserScript", "width=210,height=210,left=0,top=0"), setTimeout(enUpdateWindow.close, 5e3);
    }
  },
  enCNavF: {
    label: confLang("navfixed"),
    title: confMess("navfixed"),
    type: "checkbox",
    default: !0,
    section: [ confLang("config"), "" ]
  },
  enCMax: {
    label: confLang("max"),
    title: confMess("max"),
    type: "select",
    options: enSiteConfig.width,
    default: "1450"
  },
  enCDealA: {
    label: confLang("dealaction"),
    title: confMess("dealaction"),
    type: "checkbox",
    default: !0
  },
  enCDealVbar: {
    label: confLang("dealvotebar"),
    title: confMess("dealvotebar"),
    type: "select",
    options: enSiteConfig.votescale,
    default: "500"
  },
  enCTouch: {
    label: confLang("touch"),
    title: confMess("touch"),
    type: "checkbox",
    default: !0
  },
  enCWidth: {
    label: confLang("width"),
    title: confMess("width"),
    type: "select",
    options: enSiteConfig.width,
    default: enValOff
  },
  enCPrice: {
    label: confLang("price"),
    title: confMess("price"),
    type: "checkbox",
    default: !1
  },
  enCCompact: {
    label: confLang("compact"),
    title: confMess("compact"),
    type: "checkbox",
    default: !1
  },
  enCCMail: {
    label: confLang("cssdealz"),
    title: confMess("cssdealz"),
    type: "checkbox",
    default: !1
  },
  enCRedirect: {
    label: confLang("redir"),
    title: confMess("redir"),
    type: "checkbox",
    default: !0
  },
  enCPageP: {
    label: confLang("picker"),
    title: confMess("picker"),
    type: "checkbox",
    default: !0
  },
  enCDealT: {
    label: confLang("dealtime"),
    title: confMess("dealtime"),
    type: "checkbox",
    default: !0
  },
  enCFixHtml: {
    label: confLang("fixhtml"),
    title: confMess("fixhtml"),
    type: "checkbox",
    default: !0
  },
  enCBlackC: {
    label: confLang("blacklist"),
    title: confMess("blacklist"),
    type: "select",
    options: enSiteConfig.blackcold,
    default: "-20"
  },
  enConfBlacklist: {
    label: confLang("black"),
    title: confMess("black"),
    type: "text",
    size: 70,
    default: ""
  },
  enConfWhitelist: {
    label: confLang("white"),
    title: confMess("white"),
    type: "text",
    size: 70,
    default: ""
  },
  enCUnblackL: {
    label: confLang("unblack"),
    title: confMess("unblack"),
    type: "button",
    click: EnstylerBlacklistUnhide
  },
  enCLang: {
    label: confLang("lang"),
    title: confMess("lang"),
    type: "select",
    options: enSiteConfig.languages,
    default: "auto"
  }
}, enConfDefs.sync = {
  enCAutoS: {
    label: confLang("autosync"),
    title: confMess("autosync"),
    type: "checkbox",
    section: [ confLang("syncconf"), "" ],
    default: !0
  },
  enCSyncKey: {
    label: confLang("synckey"),
    title: confMess("synckey"),
    type: "text",
    size: 10,
    default: enValOff
  },
  enCSync: {
    label: confLang("sync"),
    title: confMess("sync"),
    type: "button",
    click: function() {
      SyncSettings();
    }
  }
};

var enSaveSettings = [ "enCNavF", "enCDealA", "enCDealVbar", "enCTouch", "enCRedirect", "enCPageP", "enCFixHtml", "enCDealT", "enCBlackC", "enConfBlacklist", "enConfWhitelist", "enCAutoS" ], enGMFrame = document.createElement("div");

enGMFrame.setAttribute("class", "GM_config");

var enGMConfigOpen = !1, enRemConf = [ {
  val: enValOff,
  field: "enCBlackC",
  rem: "enConfWhitelist"
}, {
  val: enValOff,
  field: "enCBlackC",
  rem: "enConfBlacklist"
}, {
  val: enValOff,
  field: "enCBlackC",
  rem: "enCUnblackL"
}, {
  val: enValOff,
  field: "enCSyncKey",
  rem: "enCSync"
}, {
  val: enValOff,
  field: "enCSyncKey",
  rem: "enCAutoS"
} ], enSettings = "enSettings", enShowDate = new Date().toLocaleString("de-DE", {
  hour: "numeric",
  minute: "numeric"
}), enCSS = [ ".card-inner::after {display: none !important} .GM_config {color: white !important; opacity: 0.92 !important; left: 5% !important; height: auto !important; padding-bottom: 10px !important; top: 1.4em !important; box-shadow: 10px 10px 20px black; min-width: 21em; max-width: 40em !important; border-radius: 10px} #enOverDim {background-color: black; z-index: 999; position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 0.5} .GM_config input, .GM_config button, .GM_config textarea { border: 1px solid; margin: 0.5em 0em 0.2em 1em; padding: 0.1em;} .GM_config .reset { font-size: 9pt; padding-right: 1em; } .GM_config .config_header {font-size: 14pt !important; border: none !important; padding: 0.2em; font-weight: bold; text-align: center;} .GM_config .section_header { border: none !important; background-color:#005293 !important; !important; text-align: center; margin-top: 1em;} .GM_config .field_label:hover {color: gray;} .GM_config a:hover {text-decoration: underline; color: darkgray;} .GM_config .config_var {display: inline-block;} .GM_config .field_label {display: inline-block; min-width: 14em;  margin-left: 2em; } .GM_config button, .GM_config input[type=button] { font-weight: bold; text-align: center; color: #fff; background-color:  #58a618 !important; } .GM_config button:hover {background-color: #a5d867 !important; border-color: #a5d867 !important;} .enClassHidden, #EnPopup_closeBtn, .voteBar-- { display: none !important; } .votebar {display: inline-block; position: relative; top: .3em; height: .5em; margin-left: 2.5em; max-width: 80% } .voteBar--warm { background-color:  #ffb612 } .voteBar--hot  { background-color:  #e00034 } .voteBar--burn { background-color:  #e00034 } .voteBar--cold, .voteBar--colder { background-color:: #00a9e0 } .voteBar--cold, .voteBar--colder { background-color: #5bc6e8 } .threadTempBadge { display: none; } .flex--justify-space-between { justify-content: unset !important; }", ".gridLayout { width: unset; max-width: " + GM_getValue("enMax", "") + "px !important;}", ".page2-center, .thread-list--type-list--sideAds, .thread-list--type-list, .listLayout { max-width: " + GM_getValue("enMax", "") + "px !important;}" ].join(" "), extraCSS = "", EnstylerStartTime = Date.now(), input = document.createElement("input");

input.type = "button", input.setAttribute(enID, EnstylerButton), input.onclick = saveEnstylerCSS, input.value = confLang("options");

var enWidth = GM_getValue("enWidth", enValOff);

isMobile && enWidth != enValOff && u("meta[name=viewport]").attr("content", "width=" + enWidth + "px, initial-scale=1");

var enUserScript = {
  detect: /.*?@-moz-document .*?\{\s*/,
  split: /^.*?\{/,
  next: /}\s*@-moz-document.*/
}, enCSSmax = 16100, enGoogleTransURL = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=<ENSTYLER-LANG-HERE>&dt=t&q=<ENSTYLER-HTML-HERE>", enMaxTrans = 300, enTransTags = 5, enSaveURL = "https://dealz.rrr.de/enstyler/save.php?", enSaveUrlLast = "", enGMSave = !1;

if (window.location.hostname.endsWith("userstyles.org")) return GM_config.init({
  id: "GM_config",
  fields: {
    saveOpt: {
      type: "textarea"
    }
  },
  frame: enGMFrame
}), setTimeout(enUserstyleDo, 5e3), void ("complete" === document.readyState || "loading" !== document.readyState ? enUserstyleDo() : document.addEventListener("DOMContentLoaded", enUserstyleDo));

var enFixedNavLast = !1;

GM_config.init({
  id: enInter ? "GM_config" + enInterSite : "GM_config",
  title: confLang("headline"),
  fields: Object.assign(enConfDefs.default, enConfDefs.sync, enConfDefs.debug),
  events: {
    init: function() {},
    open: function() {
      enFixedNavLast = GM_config.get("enCNavF"), confLangOpen(), EnstylerSyncIDShow(), u('.GM_config [id$="_enJS_var"]').after(enNavGrid);
      for (var e = 0; e < enRemConf.length; e++) GM_config.get(enRemConf[e].field) == enRemConf[e].val && GM_config.fields[enRemConf[e].rem].remove();
      isMobile || GM_config.fields.enCWidth.remove();
    },
    save: function() {
      SaveSettings(), GM_setValue("enWidth", GM_config.get("enCWidth")), GM_setValue("enMax", GM_config.get("enCMax")), enSyncKey = GM_config.get("enCSyncKey"), enAutoSync = GM_config.get("enCAutoS"), GM_config.close(), 
      showEnstylerConfig(), enGMSave ? window.location.reload() : enGMSave = !0;
    },
    close: function() {
      closeEnstylerConfig(), enCheckUpdates();
    }
  },
  frame: enGMFrame
}), enSyncKey = GM_config.get("enCSyncKey"), enAutoSync = GM_config.get("enCAutoS"), "auto" != GM_config.get("enCLang") && (enLANG = GM_config.get("enCLang")), window.eval("window['ga-disable-UA-2467049-1'] = true;"), 
WaitForBody();