// ==UserScript==
// @name ProShadow
// @author ProShadow&GG
// @description Coded By GG Developed By ProShadow
// @version 1.6.5
// @license gpl-3.0
// @namespace https://proshadow-op.web.app/
// @icon https://cdn.discordapp.com/attachments/904678349086019585/914139818764664872/proshadow.gif
// @grant GM.setValue
// @grant GM_getValue
// @match https://krunker.io/*
// @match https://*.browserfps.com/*
// @extracted Sat, 27 Nov 2021 21:51:05 GMT
// @run-at document-start
// @noframes
// ==/UserScript==
/*! For license information please see sploit.user.js.LICENSE.txt */
(() => {
var t = {
2311: (t) => {
"use strict";
t.exports = class {
ls_prefix = "ss";
gm = "function" == typeof GM_getValue;
get(t, e) {
var i = this.get_raw(t);
if ("string" == typeof i)
try {
return JSON.parse(i);
} catch (t) {
return console.error("DATASTORE ERROR", t, i), i;
}
switch (e) {
case "object":
return {};
case "array":
return [];
}
}
set(t, e) {
return e instanceof Set && (e = [...e]), this.set_raw(t, JSON.stringify(e));
}
get_raw(t) {
return this.gm ? GM_getValue(t) : localStorage.getItem(this.ls_prefix + t);
}
set_raw(t, e) {
return this.gm ? GM.setValue(t, e) : localStorage.setItem(this.ls_prefix + t, e);
}
};
},
1902: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super();
var t = this.attachShadow({ mode: "closed" });
(this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(6454) }), a.add_ele("slot", this.main);
}
}
e.Button = s;
},
7376: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super();
var t = this.attachShadow({ mode: "closed" });
(this.main = a.add_ele("main", t)),
a.add_ele("style", t, { textContent: i(8182) }),
a.add_ele("raw", this.main, {
html:
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="20.48709 9.38972 347.419817 323.510251"><path fill="#FFF" d="M20.4870895 204.5433142L77.52349 147.5069859l121.370786 121.3709088-46.520215 60.4916464L20.4870895 204.5433142z"/><path fill="#FFF" d="M93.1260928 273.3565085L304.6042249 9.3897157l63.3026884 50.7152387L156.428781 324.0717471z"/></svg>',
}),
this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change"))));
}
get checked() {
return this.main.hasAttribute("checked");
}
set checked(t) {
return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this;
}
}
e.Checkbox = s;
},
4471: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super();
var t = this.attachShadow({ mode: "closed" });
a.add_ele("style", t, { textContent: i(1192) }), (this.main = a.add_ele("main", t)), (this.input = a.add_ele("input", this.main));
for (let t of ["focus", "blur", "keydown", "change"]) a.redirect(t, this.input, this);
this.addEventListener("mousedown", () => this.input.focus());
}
blur() {
this.input.blur();
}
focus() {
this.input.focus();
}
get value() {
return this.input.value;
}
set value(t) {
return (this.input.value = t);
}
get placeholder() {
return this.input.placeholder;
}
set placeholder(t) {
return (this.input.placeholder = t);
}
}
e.Input = s;
},
8861: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super();
var t = this.attachShadow({ mode: "open" });
(this.wrapper = a.add_ele("main", t)),
(this.label = a.add_ele("text", this.wrapper)),
a.add_ele("style", t, { textContent: i(1618) }),
a.add_ele("raw", this.wrapper, {
html: '<svg width="16px" height="16px" viewBox="0 0 12 7"><path d="M11.85.65c.2.2.2.5 0 .7L6.4 6.84a.55.55 0 01-.78 0L.14 1.35a.5.5 0 11.71-.7L6 5.8 11.15.65c.2-.2.5-.2.7 0z"></path></svg>',
}),
(this.nslot = a.add_ele("slot", this.wrapper)),
window.addEventListener("mousedown", (t) => {
var e = t.composedPath();
for (let t of e) if (t instanceof r) return;
e.includes(this.wrapper) ? this.toggle_dropdown() : this.hide_dropdown(), this.set_pos();
}),
window.addEventListener("resize", () => this.set_pos()),
window.addEventListener("blur", () => this.wrapper.classList.remove("active"));
}
toggle_dropdown() {
this.wrapper.classList.toggle("active");
}
hide_dropdown() {
this.wrapper.classList.remove("active");
}
changed() {
this.hide_dropdown(), this.dispatchEvent(new Event("change"));
}
set_pos() {
(this.wrapper.classList.remove("bottom"), this.wrapper.classList.contains("active")) && this.nslot.getBoundingClientRect().bottom > window.innerHeight && this.wrapper.classList.add("bottom");
}
get options() {
return [...(this.querySelectorAll("ez-option") || [])];
}
get value() {
for (let t of this.options) if (t.selected) return t.value;
}
set value(t) {
for (let e of this.options) e.value == t && (e.selected = !0);
return t;
}
}
class r extends HTMLElement {
constructor() {
super(),
this.addEventListener("mousedown", () => {
(this.selected = !0), this.parentNode.changed();
});
}
get value() {
return this.getAttribute("value");
}
set value(t) {
return this.setAttribute("value", t), this.textContent || (this.textContent = this.getAttribute("value")), t;
}
get selected() {
return this.hasAttribute("selected");
}
set selected(t) {
if (t) {
this.setAttribute("selected", "");
for (let t of this.parentNode.options) t != this && t.selected && (t.selected = !1);
this.parentNode.label.nodeValue = this.textContent;
} else this.removeAttribute("selected");
}
connectedCallback() {
this.selected = this.selected;
}
}
(e.Select = s), (e.Option = r);
},
9271: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super(), (this._value = 0), (this.labels = {});
var t = this.attachShadow({ mode: "open" });
(this.wrapper = a.add_ele("main", t)),
(this.background = a.add_ele("div", this.wrapper, { className: "background" })),
(this.thumb = a.add_ele("div", this.wrapper, { className: "thumb" })),
a.add_ele("style", t, { textContent: i(3273) }),
(this.movement = { held: !1, x: 0, y: 0 }),
this.addEventListener("mousedown", (t) => {
(this.movement = { held: !0, x: t.layerX, y: t.layerY }), this.update_slider(t);
}),
window.addEventListener("mouseup", () => (this.movement.held = !1)),
window.addEventListener("mousemove", (t) => this.update_slider(t));
}
get min() {
return this.getAttribute("min");
}
set min(t) {
return this.setAttribute("min", t), t;
}
get max() {
return this.getAttribute("max");
}
set max(t) {
return this.setAttribute("max", t), t;
}
get step() {
return this.getAttribute("step");
}
set step(t) {
return this.setAttribute("step", t), t;
}
get value() {
return this._value;
}
set value(t) {
return (this._value = t), this.render(), t;
}
update_slider(t) {
if (this.movement.held) {
var e = this.getBoundingClientRect(),
i = this.min,
s = this.max,
r = this.step,
n = ((t.pageX - e.x) / e.width) * 100,
o = Math.max((s * n) / 100, i);
r && (o = a.rtn(o, r)), (o = +o.toFixed(2)), t.clientX <= e.x ? (o = n = i) : t.clientX >= e.x + e.width && ((o = s), (n = 100)), (this.value = o), this.dispatchEvent(new Event("change"));
}
}
render() {
var t = (this.value / this.max) * 100;
(this.background.style.width = t + "%"), (this.thumb.dataset.label = (this.labels && this.labels[this.value]) || this.value);
var e = this.thumb.getBoundingClientRect(),
i = this.wrapper.getBoundingClientRect();
this.thumb.style.left = Math.min(Math.max((i.width * t) / 100 - e.width / 2, 0), i.width) + "px";
}
connectedCallback() {}
}
e.Slider = s;
},
2566: (t, e, i) => {
"use strict";
var a = i(7263);
class s extends HTMLElement {
constructor() {
super();
var t = this.attachShadow({ mode: "closed" });
(this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(3497) }), this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change"))));
}
get checked() {
return this.main.hasAttribute("checked");
}
set checked(t) {
return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this;
}
}
e.Switch = s;
},
387: (t, e, i) => {
"use strict";
var { Select: a, Option: s } = i(8861),
{ Slider: r } = i(9271),
{ Checkbox: n } = i(7376),
{ Switch: o } = i(2566),
{ Input: h } = i(4471),
{ Button: c } = i(1902);
customElements.define("ez-checkbox", n),
customElements.define("ez-select", a),
customElements.define("ez-option", s),
customElements.define("ez-slider", r),
customElements.define("ez-input", h),
customElements.define("ez-switch", o),
customElements.define("ez-button", c);
},
122: (t) => {
"use strict";
class e {
static original = Symbol();
static events = new WeakMap();
static resolve(t) {
e.events.has(this) || e.events.set(this, new Map());
var i = e.events.get(this),
a = i.get(t);
return a || ((a = new Set()), i.set(t, a)), a;
}
on(t, i) {
if ("function" != typeof i) throw new TypeError("Callback is not a function.");
return e.resolve.call(this, t).add(i), this;
}
once(t, i) {
var a = function (...e) {
this.off(t, i), i.call(this, ...e);
};
return (i[e.original] = a), this.on(t, a);
}
off(t, i) {
if ("function" != typeof i) throw new TypeError("Callback is not a function.");
return i[e.original] && (i = i[e.original]), e.resolve.call(this, t).delete(i);
}
emit(t, ...i) {
var a = e.resolve.call(this, t);
if (!a.size) {
if ("error" == t) throw i[0];
return !1;
}
for (let t of a)
try {
t.call(this, ...i);
} catch (t) {
this.emit("error", t);
}
return !0;
}
}
t.exports = e;
},
6425: (t, e, i) => {
"use strict";
var a = i(7263);
class s {
utf8_dec = new TextDecoder("utf8");
constructor(t) {
(this.data = t), (this.name = t.name || ""), (this.size = t.size || 0);
}
read(t) {
var e = new FileReader();
return new Promise((i, a) => {
e.addEventListener(
"load",
() => {
switch (t) {
case "text":
default:
i(this.utf8_dec.decode(e.result));
break;
case "buffer":
i(e.result);
}
},
{ once: !0 }
),
e.readAsArrayBuffer(this.data);
});
}
static pick(t = {}) {
var e = a.add_ele("input", document.documentElement, { type: "file", style: { display: "none" } });
return (
Array.isArray(t.accept) && e.setAttribute("accept", t.accept.join(", ")),
t.multipe && e.setAttribute("multiple", ""),
new Promise((i, a) => {
e.addEventListener(
"change",
() => {
var a = [];
for (let t of e.files) a.push(new s(t));
i(t.multiple ? a : a[0]);
},
{ once: !0 }
),
e.click();
})
);
}
static save(t = {}) {
var e = a.add_ele("a", document.documentElement, { href: URL.createObjectURL(new Blob([t.data])), download: t.name || "", type: "file" });
e.click(), e.remove();
}
}
t.exports = s;
},
7598: (t, e, i) => {
"use strict";
var a = i(4254),
s = i(7263);
t.exports = class {
constructor(t) {
this.frame = t;
}
alert(t) {
this.frame.css("panel", i(5302)), this.frame.css("action", i(9306));
var e = new a(this.frame, "prompt");
s.add_ele("div", e.node, { innerHTML: t, className: "description" });
var r = s.add_ele("form", e.node);
return s.add_ele("button", r, { textContent: "OK", className: "submit single" }), e.show(), e.focus(), new Promise((t) => r.addEventListener("submit", (i) => (i.preventDefault(), e.remove(), t()), { once: !0 }));
}
prompt(t, e = "") {
this.frame.css("panel", i(5302)), this.frame.css("action", i(9306));
var r = new a(this.frame, "prompt");
s.add_ele("div", r.node, { textContent: t, className: "description" });
var n = s.add_ele("form", r.node),
o = s.add_ele("input", n, { className: "input", value: e });
s.add_ele("button", n, { textContent: "OK", className: "submit" });
var h = s.add_ele("button", n, { textContent: "Cancel", className: "cancel" });
return (
r.show(),
r.focus(),
o.focus(),
o.select(),
new Promise((t, e) =>
n.addEventListener("submit", (i) => {
i.preventDefault(), (i.submitter == h ? e : t)(o.value), r.remove();
})
)
);
}
options(t, e) {
var i = new a(this.frame, {}, "options");
t = s.add_ele("div", i.node, { textContent: t, className: "title" });
return (
i.focus(),
new Promise((t) => {
e.forEach((e, a) => s.add_ele("div", i.node, { className: "control", textContent: e[0] }).addEventListener("click", () => (i.hide(), t(e[1]))));
})
);
}
};
},
7352: (t, e, i) => {
"use strict";
i(387);
var { keybinds: a } = i(3432),
s = i(7263),
r = i(122);
class n extends r {
constructor(t, e, i) {
super(),
(this.name = t),
(this.data = e),
(this.panel = i.panel),
(this.section = i),
(this.content = s.add_ele("div", this.section.node, { className: "control" })),
(this.label = s.add_ele("text", this.content, { nodeValue: this.name })),
this.content.addEventListener("click", (t) => {
[this.content, this.label].includes(t.target) || setTimeout(() => this.emit("click"));
}),
this.create();
}
create() {}
remove() {
this.content.remove();
}
walk(t) {
var e,
i,
a = this.panel.config;
for (let s of t.split(".")) a = (e = a)[(i = s)] || {};
return [e, i];
}
get value() {
if (!this.data.walk || (this.data.value && "object" != typeof this.data.value)) return this.data.value;
var t = this.walk(this.data.walk);
return t[0][t[1]];
}
set value(t) {
if (!this.data.walk) return this.emit("change", t);
var e = this.walk(this.data.walk);
return (e[0][e[1]] = t), this.panel.save_config(), this.emit("change", t), t;
}
interact() {
console.warn("No defined interaction for", this);
}
update() {}
}
(n.Types = [
class extends n {
static id = "keybind";
create() {
(this.input = s.add_ele("ez-input", this.content, { placeholder: "Press a key" })),
this.input.addEventListener("focus", () => {
this.input.value = "";
}),
this.input.addEventListener("blur", () => {
this.update();
}),
this.input.addEventListener("keydown", (t) => {
t.preventDefault(), (this.value = "Escape" == t.code ? null : t.code), this.input.blur();
});
}
update(t) {
this.input.value = this.value ? s.string_key(this.value) : "Unset";
}
},
class extends n {
static id = "select";
create() {
this.select = s.add_ele("ez-select", this.content, { events: { change: () => (this.value = this.select.value) } });
for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: this.data.value[t], value: t });
}
update(t) {
t && (this.select.value = this.value);
}
},
class extends n {
static id = "dropdown";
create() {
this.select = s.add_ele("ez-select", this.content, {
events: {
change: () => {
(this.key = this.select.value), (this.value = this.data.value[this.select.value]);
},
},
});
for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: t, value: t });
}
update(t) {
if (t) for (let [t, e] of Object.entries(this.data.value)) e == this.value && ((this.select.value = t), (this.key = t));
}
},
class extends n {
static id = "boolean";
create() {
this.input = s.add_ele("ez-checkbox", this.content, { events: { change: () => (this.value = this.input.checked) } });
}
interact() {
this.value = !this.value;
}
update(t) {
t && (this.input.checked = this.value);
}
},
class extends n {
static id = "function";
create() {
(this.button = s.add_ele("ez-button", this.content)), this.button.append(this.label), this.button.addEventListener("click", () => this.data.value());
}
},
class extends n {
static id = "functions";
create() {
for (let t in this.value) s.add_ele("ez-button", this.content, { textContent: t, events: { click: this.value[t] } });
}
},
class extends n {
static id = "link";
create() {
(this.link = s.add_ele("a", this.content)), this.link.append(this.label);
}
interact() {
this.link.click();
}
update() {
this.link.href = this.value;
}
},
class extends n {
static id = "textbox";
update() {
(this.button.style.display = "none"), (this.input.value = ("" + this.value).substr(0, this.data.max_length));
}
},
class extends n {
static id = "slider";
create() {
(this.input = s.add_ele("ez-slider", this.content, { min: this.data.min, max: this.data.max, step: this.data.step })),
(this.input.labels = this.data.labels),
this.input.addEventListener("change", () => (this.value = this.input.value));
}
update(t) {
t ? (this.input.value = this.value) : this.input.render();
}
},
class extends n {
static id = "color";
create() {
this.input = s.add_ele("input", this.content, { type: "color", events: { change: () => (this.value = this.input.value) } });
}
update(t) {
super.update(t), t && (this.input.value = this.value);
}
},
]),
(t.exports = n);
},
6099: (t, e, i) => {
"use strict";
var a = i(7263),
s = i(7352);
t.exports = class {
constructor(t, e) {
(this.panel = e),
(this.node = a.add_ele("section", this.panel.sections_con)),
(this.name = t),
(this.controls = new Set()),
(this.button = a.add_ele("div", this.panel.sidebar_con, {
className: "open",
textContent: this.name,
events: {
click: () => {
this.interact();
},
},
})),
this.hide();
}
interact() {
this.show();
for (let t of this.panel.tabs) t != this && t.hide();
}
get visible() {
return !this.node.classList.contains("hidden");
}
update(t) {
for (let e of this.controls)
try {
e.emit("change", e.value, t), e.update(t);
} catch (t) {
console.error(t);
}
}
show(t) {
this.button.classList.add("active"), this.node.classList.remove("hidden"), this.update(t), (this.panel.config.section = this.name), t || this.panel.save_config();
}
hide() {
this.button.classList.remove("active"), this.node.classList.add("hidden");
}
control(t, e) {
void 0 === e && "object" == typeof t && ((e = t), (t = ""));
for (let i of s.Types)
if (i.id == e.type) {
let a = new i(t, e, this);
return this.controls.add(a), a;
}
throw new TypeError("Unknown type: " + e.type);
}
};
},
7433: (t, e, i) => {
"use strict";
var { store: a } = i(3432),
s = i(7263),
r = i(2311),
n = i(3836),
o = (i(7352), i(6099));
t.exports = class extends n {
constructor(t, e, i, a = new r()) {
super(t, "config"),
(this.store = a),
(this.config_key = i),
(this.presets = new Map()),
(this.tabs = new Set()),
(this.title = this.listen_dragging(s.add_ele("div", this.node, { textContent: e, className: "title" }))),
(this.title_right = s.add_ele("div", this.title, { className: "right" })),
(this.sidebar_con = s.add_ele("div", this.node, { className: "tabs" })),
(this.sections_con = s.add_ele("div", this.node, { className: "sections" })),
this.apply_bounds();
}
get default_section() {
var t;
for (let e of this.tabs) {
if (e.visible) return e;
if ((t || (t = e), e.name == this.config.section)) return e;
}
return t;
}
update(t) {
this.apply_bounds();
for (let e of this.tabs) e.update(t), e == this.default_section ? e.show(t) : e.hide();
this.title_right.textContent = ["F2", this.config.binds.toggle].map(s.string_key).join(" or ");
}
tab(t) {
var e = new o(t, this);
return this.tabs.add(e), e;
}
add_preset(t, e) {
this.presets.set(t, e), this.emit("add-preset", t, e);
}
async insert_config(t, e = !1, i = {}) {
(this.config = s.assign_deep(s.clone_obj(this.presets.get("Default")), t, i)), e && (await this.save_config()), this.emit("config", e), this.update(!0);
}
async load_preset(t, e = {}) {
if (!this.presets.has(t)) throw new Error("Invalid preset:", t);
this.insert_config(this.presets.get(t), !0, e);
}
async save_config() {
this.emit("config"), await this.store.set(this.config_key, this.config);
}
async load_config() {
this.insert_config(await this.store.get(this.config_key, "object")), (this.pos = { x: 1, y: this.center_side("height") }), this.apply_bounds(), this.load_ui_data();
}
};
},
4151: (t, e, i) => {
"use strict";
var { store: a } = i(3432),
s = i(7263),
r = i(2713);
t.exports = class {
static ID() {
return Math.random().toString();
}
constructor(t, e) {
(this.panel = e),
this.panel.tabs.add(this),
(this.name = t.name),
(this.id = t.id),
(this.active = t.active),
(this.focused = !1),
(this.node = s.add_ele("div", e.tab_con, { className: "tab" })),
(this.namen = s.add_ele("div", this.node, { className: "name" })),
s.add_ele("raw", this.node, {
html: r.close,
className: "close button",
events: {
click: (t) => {
t.stopImmediatePropagation(), this.remove();
},
},
}),
this.node.addEventListener("click", () => this.focus()),
this.update();
}
async save() {
return await this.panel.save_config(), this;
}
async get_value() {
return (await a.get_raw(this.id)) || "";
}
async set_value(t = this.panel.editor.getValue()) {
await a.set_raw(this.id, t);
}
async rename(t) {
t.replace(/\s/g, "").length && ((this.name = this.namen.textContent = t), await this.save(), this.update());
}
update() {
(this.namen.textContent = this.name), this.panel.update_overflow();
}
async focus() {
if (this.focused) return this;
for (let t of this.panel.tabs) t.blur();
return (
(this.focused = !0),
this.node.classList.add("active"),
this.panel.editor.setValue(await this.get_value()),
(this.panel.filename.value = this.name),
(this.panel.fileactive.checked = this.active),
(this.panel.saved = !0),
this.panel.update(),
this
);
}
blur() {
(this.focused = !1), this.node.classList.remove("active");
}
async remove() {
this.node.remove(), this.panel.tabs.delete(this), await a.set_raw(this.id, ""), await this.save(), await this.panel.load(), (await this.panel.first_tab()).focus();
}
async toggle_active() {
(this.active = !this.active), await this.save(), this.update(), this.panel.load();
}
};
},
2097: (t, e, i) => {
"use strict";
var { store: a } = i(3432),
s = i(7263),
r = i(3836),
n = i(4151),
o = i(2713),
h = i(5186),
c = i(7598);
t.exports = class extends r {
constructor(t, e) {
super(t, "editor"),
this.frame.css("editor", i(7405)),
(this.actions = new c(this.frame)),
(this.data = e),
(this.sheet = s.add_ele("style", () => document.documentElement)),
(this.title = s.add_ele("div", this.node, { textContent: this.data.title, className: "bar" })),
(this.scroll_by = 0),
setInterval(() => {
this.scroll_by && (this.tab_con.scrollBy(25 * this.scroll_by, 0), this.update_overflow());
}, 50),
window.addEventListener("blur", () => (this.scroll_by = 0)),
window.addEventListener("mouseup", () => (this.scroll_by = 0)),
(this.back = s.add_ele("button", this.title, { className: "scroll back", textContent: "<", events: { mousedown: () => (this.scroll_by = -1) } })),
(this.tab_con = s.add_ele("div", this.title, { className: "files" })),
(this.forward = s.add_ele("button", this.title, { className: "scroll forward", textContent: ">", events: { mousedown: () => (this.scroll_by = 1) } })),
(this.controls = this.listen_dragging(s.add_ele("div", this.title, { className: "actions" }))),
s.add_ele("button", this.controls, { className: "new" }).addEventListener("click", async () => this.new_tab()),
(this.saven = s.add_ele("button", this.controls, { innerHTML: o.save, className: "save", events: { click: () => this.save_doc() } })),
s.add_ele("button", this.controls, {
innerHTML: o.web,
className: "web",
events: {
click: () =>
this.actions
.prompt("Enter a CSS link", "https://")
.then(async (t) => {
try {
var e = await (await fetch(new URL(t, location))).text(),
i = t.split("/").slice(-1)[0],
a = new n({ id: n.ID(), name: i, active: !0 }, this);
await a.set_value(e), await a.save(), a.focus(), await this.load();
} catch (t) {
"Failed to construct 'URL': Invalid URL" == t.message ? this.actions.alert("Invalid URL") : this.actions.alert("Loading failed: " + t.message);
}
})
.catch(() => {}),
},
}),
(this.data.help = this.data.help.replace(/svg\.(\w+)/g, (t, e) => o[e])),
s.add_ele("button", this.controls, { textContent: "?", events: { click: (t) => this.actions.alert(this.data.help) } }),
s.add_ele("button", this.controls, { innerHTML: o.close, className: "hide", events: { click: (t) => this.hide() } }),
(this.tabs = new Set()),
(this.editor = new h(this.node)),
this.editor.on("ctrl+s", () => this.save_doc()),
this.editor.on("ctrl+r", () => this.load()),
this.editor.on("change", () => {
(this.saved = !1), this.update();
}),
(this.footer = s.add_ele("footer", this.node)),
(this.footer_text = s.add_ele("div", this.footer, { className: "text" }));
var a = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Name:" });
this.filename = s.add_ele("ez-input", a, {
spellcheck: !1,
events: {
change: async () => {
(await this.focused_tab()).rename(this.filename.value);
},
focus: async () => {
var t = document.createRange();
t.selectNodeContents(this.filename.main);
var e = window.getSelection();
e.removeAllRanges(), e.addRange(t);
},
},
});
var r = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Active:" });
(this.fileactive = s.add_ele("ez-checkbox", r, { events: { change: async () => (await this.focused_tab()).toggle_active() } })),
this.update(),
this.load_config(),
(this.pos = { x: this.center_side("width"), y: this.center_side("height") }),
this.apply_bounds(),
this.load_ui_data(),
this.hide();
}
update_overflow() {
this.tab_con.scrollWidth > this.tab_con.offsetWidth
? (this.title.classList.add("overflow"), (this.back.disabled = 0 == this.tab_con.scrollLeft), (this.forward.disabled = this.tab_con.scrollLeft + this.tab_con.offsetWidth == this.tab_con.scrollWidth))
: this.title.classList.remove("overflow");
}
async new_tab() {
var t = await new n({ id: n.ID(), name: "New Style", active: !0, value: "" }, this);
return await t.save(), t.focus(), t;
}
async focused_tab() {
for (let t of this.tabs) if (t.focused) return t;
return (await this.new_tab()).focus();
}
async first_tab() {
for (let t of this.tabs) return t;
return await this.new_tab();
}
update() {
this.saven.classList[this.saved ? "add" : "remove"]("saved"),
(this.footer_text.innerHTML = null == this.saved ? "Editor loaded" : this.saved ? "All changes saved" : `Unsaved changes, press ${o.save}`),
this.apply_bounds();
}
async save_doc() {
for (let t of this.tabs) t.focused && (await a.set_raw(t.id, this.editor.getValue()));
(this.saved = !0), await this.update(), await this.load();
}
async load() {
this.update_overflow(), (this.sheet.textContent = "");
for (let t of this.tabs) t.active && (this.sheet.textContent += await t.get_value());
}
async load_config() {
for (let t of await a.get("css", "array")) {
let e = new n(t, this);
e.active && (this.sheet.textContent += await e.get_value());
}
(await this.first_tab()).focus();
}
async save_config() {
await a.set(
"css",
[...this.tabs].map((t) => ({ id: t.id, name: t.name, active: t.active }))
);
}
};
},
2713: (t, e) => {
"use strict";
(e.rename =
'<svg xmlns="http://www.w3.org/2000/svg" class="rename" viewBox="0 0 226 226"><path fill="currentColor" stroke="#ccc" stroke-linejoin="round" stroke-width=".996" d="M149.0505288 34.524144c2.3905494 1.1540553 4.3414544 2.582897 6.1549712 3.9567694 1.8135168-1.3738724 3.7644218-2.8027041 6.1549712-3.9567693C168.4771602 31.0619784 178.1767261 28.589 190.37675 28.589v14.0685c-10.3040782 0-18.0252694 2.033344-22.8613075 4.3964038-2.4180191 1.1815348-4.2590155 2.500458-5.0558653 3.2973078-.164858.1648678-.164858.1099086-.2198172.2198172v124.8579424c.0549592.1099086.0549592.0549593.2198172.2198172.7968498.7968498 2.6378462 2.115773 5.0558653 3.2973078 4.8360481 2.3630698 12.5572293 4.3964038 22.8613175 4.3964038v14.0685c-12.200024 0-21.8995998-2.4729784-29.0162788-5.935144-2.3905494-1.1540553-4.3414445-2.582887-6.1549712-3.9567694-1.8135168 1.3738824-3.7644219 2.802714-6.1549713 3.9567693C141.9338498 194.9380316 132.234284 197.411 120.03426 197.411v-14.0685c10.3040781 0 18.0252693-2.033334 22.8613174-4.3964038 2.4180191-1.1815348 4.2590156-2.500458 5.0558654-3.2973078.1648678-.1648579.1648678-.1099086.2198172-.2198172V50.5710387c-.0549494-.1099086-.0549494-.0549493-.2198172-.2198172-.7968498-.7968498-2.6378463-2.1157729-5.0558654-3.2973078-4.836048-2.3630697-12.5572293-4.3964037-22.8613075-4.3964037v-14.0685c12.200024 0 21.8995998 2.4729783 29.0162788 5.935144zM134.10275 70.7945V84.863h-112.548v56.274h112.548v14.0685H7.48625v-84.411zm84.411 0v84.411h-42.2055V141.137h28.137V84.863h-28.137V70.7945zm-126.6165 28.137v28.137h-56.274v-28.137z"/><path fill="none" d="M.452 225.548V.452h225.096v225.096z"/><path fill="currentColor" d="M120.03425 28.589v14.0685c10.3040782 0 18.0252694 2.033344 22.8613175 4.3964038 2.418019 1.1815348 4.2590155 2.500458 5.0558653 3.2973078.1648679.1648678.1648679.1099086.2198172.2198172v124.8579424c-.0549493.1099086-.0549493.0549593-.2198172.2198172-.7968498.7968498-2.6378462 2.115773-5.0558653 3.2973078-4.8360481 2.3630698-12.5572294 4.3964038-22.8613075 4.3964038v14.0685c12.2000239 0 21.8995998-2.4729784 29.0162787-5.935144 2.3905494-1.1540553 4.3414545-2.582887 6.1549713-3.9567694 1.8135168 1.3738824 3.7644218 2.802714 6.1549712 3.9567693 7.116689 3.4621757 16.8162548 5.9351441 29.0162788 5.9351441v-14.0685c-10.3040782 0-18.0252694-2.033334-22.8613076-4.3964038-2.418019-1.1815348-4.2590155-2.500458-5.0558653-3.2973078-.1648579-.1648579-.1648579-.1099086-.2198172-.2198172V50.5710387c.0549593-.1099086.0549593-.0549493.2198172-.2198172.7968498-.7968498 2.6378463-2.1157729 5.0558653-3.2973078 4.8360482-2.3630697 12.5572294-4.3964037 22.8613175-4.3964037v-14.0685c-12.2000239 0-21.8995998 2.4729783-29.0162787 5.935144-2.3905494 1.1540553-4.3414445 2.582897-6.1549713 3.9567694-1.8135168-1.3738724-3.7644218-2.8027042-6.1549712-3.9567694-7.116689-3.4621657-16.8162549-5.935144-29.0162788-5.935144zM7.48625 70.7945v84.411h126.6165V141.137h-112.548V84.863h112.548V70.7945zm168.822 0V84.863h28.137v56.274h-28.137v14.0685h42.2055v-84.411zm-140.685 28.137v28.137h56.274v-28.137z"/></svg>'),
(e.close =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M 3.726563 3.023438 L 3.023438 3.726563 L 7.292969 8 L 3.023438 12.269531 L 3.726563 12.980469 L 8 8.707031 L 12.269531 12.980469 L 12.980469 12.269531 L 8.707031 8 L 12.980469 3.726563 L 12.269531 3.023438 L 8 7.292969 Z"></path></svg>'),
(e.save =
'<svg xmlns="http://www.w3.org/2000/svg" class="save button" viewBox="0 0 226 226"><g fill="none" stroke-linejoin="none" stroke-miterlimit="10" font-family="none" font-size="none" font-weight="none" style="mix-blend-mode:normal" text-anchor="none"><path fill="currentColor" d="M156.2876938 78.369847h-25.9726123V17.7670814h25.9726123zM225.548 52.3972345v147.178153c0 14.3390436-11.6335688 25.9726124-25.9726123 25.9726124H26.4246223C12.0855788 225.548.45201 213.9144312.45201 199.5753877V26.4246223C.45201 12.0855788 12.0855788.45201 26.4246223.45201h147.178153c7.1695268 0 11.1262862.372006 31.3497574 20.5954672C225.175994 41.2709485 225.548 45.2277178 225.548 52.3972346zM43.7396938 78.3698469c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h112.548c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408V17.7670815c0-4.7684097-3.889131-8.6575407-8.6575408-8.6575407h-112.548c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575407zm155.8356939 43.2876939c0-4.7684098-3.889131-8.6575408-8.6575408-8.6575408H35.0821531c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575408v86.5753876c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h155.8356938c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408z"/><path d="M.452 225.548V.452h225.096v225.096z"/><path fill="currentColor" d="M156.2876938 78.369847h-25.9726123V17.7670814h25.9726123zM225.548 52.3972345v147.178153c0 14.3390436-11.6335688 25.9726124-25.9726123 25.9726124H26.4246223C12.0855788 225.548.45201 213.9144312.45201 199.5753877V26.4246223C.45201 12.0855788 12.0855788.45201 26.4246223.45201h147.178153c7.1695268 0 11.1262862.372006 31.3497574 20.5954672C225.175994 41.2709485 225.548 45.2277178 225.548 52.3972346zM43.7396938 78.3698469c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h112.548c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408V17.7670815c0-4.7684097-3.889131-8.6575407-8.6575408-8.6575407h-112.548c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575407zm155.8356939 43.2876939c0-4.7684098-3.889131-8.6575408-8.6575408-8.6575408H35.0821531c-4.7684098 0-8.6575408 3.889131-8.6575408 8.6575408v86.5753876c0 4.7684098 3.889131 8.6575408 8.6575408 8.6575408h155.8356938c4.7684098 0 8.6575408-3.889131 8.6575408-8.6575408z"/></g></svg>'),
(e.web =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 172 172"><g fill="none" stroke-miterlimit="10" font-family="none" font-size="none" font-weight="none" style="mix-blend-mode:normal" text-anchor="none"><path d="M0 172V0h172v172z"/><path fill="currentColor" d="M86 0C47.80649 0 15.32392 25.04026 4.13462 59.53846h14.05769c1.86058-4.75481 4.23798-9.22536 7.02885-13.4375.41346.07753.80108.20673 1.24038.20673h12.40385c-1.31791 4.1863-2.40324 8.65685-3.30769 13.23077h13.64423c1.03365-4.6256 2.22236-9.09615 3.72115-13.23077h66.15385c1.4988 4.13462 2.6875 8.60517 3.72115 13.23077h13.64423c-.90445-4.57392-1.98978-9.04447-3.30769-13.23077h12.40385c.4393 0 .82692-.12921 1.24038-.20673 2.76503 4.21214 5.16827 8.68269 7.02885 13.4375h14.05769C156.67609 25.04026 124.19352 0 86.00001 0zm0 13.23077c10.25901 0 19.74279 7.6232 26.875 19.84615h-53.75C66.25721 20.85396 75.74099 13.23077 86 13.23077zm-36.38462 9.71635c-2.04147 3.10096-3.8762 6.53786-5.58173 10.12981h-7.85577c4.08294-3.85036 8.55349-7.28726 13.4375-10.12981zm72.76924 0c4.88401 2.84255 9.35457 6.27945 13.4375 10.12981h-7.85577c-1.70553-3.59195-3.54026-7.02885-5.58173-10.12981zM1.65385 72.14904c-.25841.12921-.4393.41346-.62019.62019-.33594.4393-.41346.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.58173c.72356 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.93029 2.11899 1.44712 3.30769l5.16827 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.78846c.7494 0 1.39544-.41346 1.65385-1.03365l10.95673-25.01442c.20673-.49099.15505-1.00781-.20673-1.44712-.33594-.4393-.85276-.62019-1.44712-.62019h-6.20192c-.77524 0-1.39543.38762-1.65385 1.03365l-4.96154 12.61058c-.4393 1.11118-.69772 1.96394-1.03365 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.375-12.40385c-.25841-.62019-.90445-1.03365-1.65385-1.03365h-5.16827c-.7494 0-1.60216.41346-1.86058 1.03365l-5.58173 12.61058c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096L10.5433 73.18269c-.23257-.67187-.85276-1.03365-1.65385-1.03365H2.4808c-.3101 0-.56851-.12921-.82692 0zm59.125 0c-.25841.12921-.64603.41346-.82692.62019-.33594.4393-.41346.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.78846c.7494 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.72356 2.11899 1.24038 3.30769l5.375 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.58173c.7494 0 1.39544-.41346 1.65385-1.03365l11.16346-25.01442c.20673-.49099.15505-1.00781-.20673-1.44712-.33594-.4393-1.03365-.62019-1.65385-.62019h-5.99519c-.77524 0-1.60216.38762-1.86058 1.03365l-4.75481 12.61058c-.4393 1.11118-.90445 1.96394-1.24038 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.16827-12.40385c-.25841-.62019-1.11118-1.03365-1.86058-1.03365h-5.16827c-.7494 0-1.39543.41346-1.65385 1.03365L76.4904 85.79327c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096l-4.54808-12.61058c-.23257-.67187-1.05949-1.03365-1.86058-1.03365h-6.20192c-.28426 0-.56851-.12921-.82692 0zm58.91827 0c-.25841.12921-.4393.41346-.62019.62019-.33594.4393-.38762.95613-.20673 1.44712l10.33654 25.01442c.25842.62019.87861 1.03365 1.65385 1.03365h5.58173c.72356 0 1.36959-.4393 1.65385-1.03365l5.58173-11.78365c.49099-1.08533.95613-2.27404 1.44712-3.51442.4393 1.11118.93029 2.11899 1.44712 3.30769l5.16827 11.99038c.25842.62019.90445 1.03365 1.65385 1.03365h5.78846c.7494 0 1.36959-.41346 1.65385-1.03365l10.95673-25.01442c.20673-.49099.12921-1.00781-.20673-1.44712-.33594-.4393-.82692-.62019-1.44712-.62019h-6.20192c-.77524 0-1.42128.38762-1.65385 1.03365l-4.96154 12.61058c-.4393 1.11118-.69772 1.96394-1.03365 2.89423-.38762-.98197-.77524-1.96394-1.24038-3.10096l-5.375-12.40385c-.25841-.62019-.90445-1.03365-1.65385-1.03365h-5.375c-.7494 0-1.39543.41346-1.65385 1.03365l-5.58173 12.61058c-.46514 1.08534-.85276 2.14483-1.24038 3.10096-.33594-.95613-.64603-2.04147-1.03365-3.10096l-4.54808-12.61058c-.23257-.67187-.85276-1.03365-1.65385-1.03365h-6.40865c-.3101 0-.56851-.12921-.82692 0zm-115.5625 40.3125C15.32392 146.95974 47.8065 172 86 172c38.19351 0 70.67608-25.04026 81.86538-59.53846h-14.05769c-1.86058 4.75481-4.26382 9.22536-7.02885 13.4375-.41346-.07753-.80108-.20673-1.24038-.20673h-12.40385c1.31791-4.18629 2.19651-8.65685 3.10096-13.23077h-13.4375c-1.00781 4.6256-2.22235 9.12199-3.72115 13.23077H52.92307c-1.49879-4.10878-2.6875-8.60517-3.72115-13.23077h-13.4375c.90445 4.57392 1.78305 9.04447 3.10096 13.23077H26.46153c-.4393 0-.82692.12921-1.24038.20673-2.76503-4.21214-5.16827-8.68269-7.02885-13.4375zm32.04326 26.46154h7.85577c1.70553 3.59195 3.54026 7.02885 5.58173 10.12981-4.88401-2.84254-9.35456-6.27945-13.4375-10.12981zm22.94712 0h53.75c-7.13221 12.22296-16.61599 19.84615-26.875 19.84615s-19.74279-7.6232-26.875-19.84615zm68.84135 0h7.85577c-4.08293 3.85036-8.55349 7.28726-13.4375 10.12981 2.04147-3.10096 3.87621-6.53786 5.58173-10.12981z"/></g></svg>'),
(e.reload =
'<svg xmlns="http://www.w3.org/2000/svg" class="new button" viewBox="0 0 24 24"><path fill="currentColor" d="M12 3c-4.963 0-9 4.038-9 9h2c0-3.86 3.141-7 7-7 2.185097 0 4.125208 1.0167955 5.408203 2.5917969L15 10h6V4l-2.166016 2.1660156C17.184843 4.2316704 14.736456 3 12 3zm7 9c0 3.859-3.141 7-7 7-2.1850969 0-4.1252078-1.016796-5.4082031-2.591797L9 14H3v6l2.1660156-2.166016C6.8151574 19.76833 9.263544 21 12 21c4.963 0 9-4.037 9-9h-2z"/></svg>');
},
1191: (t, e, i) => {
"use strict";
var a = i(7263);
t.exports = class {
container = a.add_ele("div", () => document.documentElement, {
style: { top: 0, left: 0, "z-index": 9999999999, border: "none", position: "absolute", background: "#0000", width: "100vw", height: "100vh", overflow: "hidden" },
});
content = this.container.attachShadow({ mode: "open" });
constructor() {
(this.update = this.update.bind(this)), window.addEventListener("mousemove", this.update), window.addEventListener("mousedown", this.update), window.addEventListener("mouseup", this.update);
}
panels = new Set();
update(t) {
for (let e of this.panels) {
if (!e.visible) continue;
let i = e.node.getBoundingClientRect();
if (t.clientX >= i.x && t.clientY >= i.y && t.clientX - i.x <= i.width && t.clientY - i.y <= i.height) return (this.container.style["pointer-events"] = "all");
}
if (((this.container.style["pointer-events"] = "none"), "mousedown" == t.type)) for (let t of this.panels) t.blur();
}
added_css = new Set();
css(t, e) {
return !this.added_css.has(t) && (this.added_css.add(t), a.add_ele("style", this, { textContent: e }), !0);
}
append(t) {
this.content.append(t);
}
};
},
8859: (t, e, i) => {
"use strict";
var a = i(7263),
s = i(5018);
t.exports = class extends s {
constructor(t, e, s) {
super(t, "loading"), this.frame.css("loading", i(2617)), a.add_ele("img", this.node, { src: s }), a.add_ele("a", this.node, { href: e, draggable: !1, target: "_blank" }), this.show();
}
update() {
this.node.classList[this.visible ? "remove" : "add"]("hidden");
}
};
},
3836: (t, e, i) => {
"use strict";
var { frame: a, panels: s, store: r } = i(3432),
n = i(4254);
t.exports = class extends n {
constructor(t, e) {
super(t, e),
(this.pos = { x: 0, y: 0 }),
window.addEventListener("resize", () => this.apply_bounds()),
window.addEventListener("mousemove", (t) => {
var e = { x: t.pageX, y: t.pageY };
this.prev_pos &&
this.dragging &&
((this.pos.x += ((e.x - this.prev_pos.x) / this.bounds().width) * 100), (this.pos.y += ((e.y - this.prev_pos.y) / this.bounds().height) * 100), this.save_ui(), this.apply_bounds()),
(this.prev_pos = e);
}),
window.addEventListener("mouseup", () => {
this.dragging && ((this.pos = this.within_bounds()), this.apply_bounds(), (this.dragging = !1));
});
}
async load_ui_data() {
var t = await this.load_ui();
(this.pos = t.pos), (this.visible = t.visible), this.visible ? this.show() : this.hide(), this.apply_bounds();
}
async save_ui(t) {
if (["editor", "config"].includes(this.type)) {
t ? (await this.load_ui().catch((t) => this)).pos : this.pos;
return r.set_raw(this.type + "-ui", +this.visible + "," + this.pos.x + "," + this.pos.y);
}
}
async load_ui() {
var t = await r.get_raw(this.type + "-ui");
if (!t) return this;
var e = t.split(",");
return { pos: { x: +e[1], y: +e[2] }, visible: !!+e[0] };
}
listen_dragging(t) {
return t.addEventListener("mousedown", () => (this.dragging = !0)), t;
}
center_side(t) {
return 50 - (this.node.getBoundingClientRect()[t] / this.bounds()[t]) * 50;
}
bounds() {
return { width: window.innerWidth, height: window.innerHeight };
}
within_bounds() {
var t = this.node.getBoundingClientRect();
return { x: Math.min(Math.max(this.pos.x, 0), 100 - (t.width / this.bounds().width) * 100), y: Math.min(Math.max(this.pos.y, 0), 100 - (t.height / this.bounds().height) * 100) };
}
apply_bounds() {
var t = this.within_bounds();
(this.node.style.left = t.x.toFixed(1) + "%"), (this.node.style.top = t.y.toFixed(1) + "%");
}
show() {
super.show(), this.save_ui(!0);
}
hide() {
super.hide(), this.save_ui(!0);
}
};
},
4254: (t, e, i) => {
"use strict";
var { store: a } = i(3432),
s = i(7263),
r = i(122);
t.exports = class extends r {
constructor(t, e = "") {
super(),
(this.frame = t),
this.frame.css("panel", i(5302)),
(this.type = e),
(this.visible = !0),
(this.hover = !0),
(this.node = s.add_ele("main", this.frame, { className: this.type })),
this.frame.panels.add(this),
this.node.addEventListener("mousedown", () => this.focus());
}
focus() {
for (let t of this.frame.panels) t != this && t.blur();
this.node.classList.add("focus"), (this.node.style["z-index"] = 3);
}
blur() {
this.node.classList.remove("focus"), (this.node.style["z-index"] = 2);
}
show() {
this.focus(), (this.visible = !0), this.node.classList.add("visible");
}
hide() {
(this.visible = !1), this.node.classList.remove("visible");
}
remove() {
this.frame.panels.delete(this), this.hide(), this.node.remove();
}
};
},
5186: (t, e, i) => {
"use strict";
var a = i(7263),
s = i(122);
t.exports = class extends s {
constructor(t) {
super(),
(this.container = a.add_ele("div", t, { className: "write" })),
(this.linenums = a.add_ele("div", this.container, { className: "linenums" })),
(this.node = a.add_ele("textarea", this.container, { className: "text", spellcheck: !1 })),
a.add_ele("style", t, { textContent: i(47) }),
this.node.addEventListener("input", () => {
this.update(), this.emit("change");
}),
this.node.addEventListener("keydown", (t) => {
var e = t.key.toLowerCase();
t.ctrlKey && (["s", "w", "r"].includes(e) && t.preventDefault(), this.emit("ctrl+" + e)), "tab" == e && (this.insertAtCaret("\t"), t.preventDefault());
}),
this.update();
}
getValue() {
return this.node.value;
}
setValue(t) {
(this.node.value = t), this.update();
}
get line_count() {
return this.node.value.split("\n").length;
}
update() {
(this.node.style.width = "5px"), (this.node.style.height = "5px"), (this.node.style.width = this.node.scrollWidth + 4 + "px"), (this.node.style.height = this.node.scrollHeight + "px");
var t = this.line_count;
this.prev_line_count != t && ((this.prev_line_count = t), (this.linenums.textContent = [...Array(t)].map((t, e) => e + 1).join("\n")));
}
insertAtCaret(t = "") {
if (this.node.selectionStart || 0 == this.node.selectionStart) {
var e = this.node.selectionStart,
i = this.node.selectionEnd;
(this.node.value = this.node.value.substring(0, e) + t + this.node.value.substring(i, this.node.value.length)), (this.node.selectionStart = e + t.length), (this.node.selectionEnd = e + t.length);
} else this.node.value += t;
this.emit("change");
}
};
},
3432: (t, e, i) => {
"use strict";
var a = i(2311);
e.store = new a();
},
9075: (t, e, i) => {
"use strict";
i(8721), (e.Frame = i(1191)), (e.Actions = i(7598)), (e.Loading = i(8859)), (e.Config = i(7433)), (e.Editor = i(2097));
},
5018: (t, e, i) => {
"use strict";
var { store: a } = i(3432),
s = i(7263),
r = i(122);
t.exports = class extends r {
constructor(t, e = "") {
super(),
(this.frame = t),
this.frame.css("panel", i(1650)),
(this.type = e),
(this.visible = !0),
(this.hover = !0),
(this.node = s.add_ele("main", this.frame, { className: this.type })),
this.frame.panels.add(this),
this.node.addEventListener("mousedown", () => this.focus());
}
focus() {
for (let t of this.frame.panels) t != this && t.blur();
this.node.classList.add("focus"), (this.node.style["z-index"] = 3);
}
blur() {
this.node.classList.remove("focus"), (this.node.style["z-index"] = 2);
}
show() {
this.focus(), (this.visible = !0), this.node.classList.add("visible");
}
hide() {
(this.visible = !1), this.node.classList.remove("visible");
}
remove() {
this.frame.panels.delete(this), this.hide(), this.node.remove();
}
};
},
3363: (t, e, i) => {
"use strict";
var a = i(2176),
{ Vector3: s } = i(4914),
{ loader: r, api: n } = i(9606),
{ vars: o, gconsts: h } = r,
c = 2 * Math.PI;
t.exports = class {
smooth_map = { 0: 1, 0.1: 0.05, 0.2: 0.1, 0.3: 0.08, 0.4: 0.07, 0.5: 0.06, 0.6: 0.05, 0.7: 0.04, 0.8: 0.03, 0.9: 0.02, 1: 0.01 };
can_auto_fire = !0;
constructor(t) {
this.data = t;
}
push(t) {
if (this.data.player && this.data.controls)
try {
var e = new a(t);
this.modify(e), this.timers(e), e.done();
} catch (t) {
r.report_error("input", t);
}
return t;
}
aim_input(t, e) {
(e.xdir = t.x), (e.ydir = t.y);
}
aim_camera(t, e) {
(this.data.controls[o.pchObjc].rotation.x = t.x), (this.data.controls.object.rotation.y = t.y), this.aim_input(t, e);
}
correct_aim(t, e) {
e.shoot && (e.shoot = !this.data.player.shot), !e.reload && this.data.player.has_ammo && e.shoot && !this.data.player.shot && this.aim_input(t, e);
}
enemy_sight() {
if (!this.data.player.shot) {
var t = new this.data.three.Raycaster();
return (
t.setFromCamera({ x: 0, y: 0 }, this.data.world.camera),
!(
!this.data.player.aimed ||
!t.intersectObjects(
this.data.players.filter((t) => t.can_target).map((t) => t.obj),
!0
).length
) || void 0
);
}
}
smooth(t, e, i, a) {
var s = this.data.utils.getAngleDst(t.xdir, e.x),
r = this.data.utils.getAngleDst(t.ydir, e.y);
return { y: t.ydir + r * i, x: t.xdir + s * a };
}
bhop(t) {
if (-1 != t.move) {
var e = this.data.bhop,
i = e.startsWith("auto"),
a = (e.startsWith("key"), e.endsWith("slide")),
s = a || e.endsWith("jump");
t.focused &&
(s &&
(i || t.keys.has("Space")) &&
((this.data.controls.keys[this.data.controls.binds.jump.val] ^= 1), this.data.controls.keys[this.data.controls.binds.jump.val] && (this.data.controls.didPressed[this.data.controls.binds.jump.val] = 1)),
a &&
(i || t.keys.has("Space")) &&
this.data.player.velocity.y < -0.02 &&
this.data.player.can_slide &&
(setTimeout(() => (this.data.controls.keys[this.data.controls.binds.crouch.val] = 0), 325), (this.data.controls.keys[this.data.controls.binds.crouch.val] = 1)));
}
}
spin_count = 0;
spinbot(t) {
t.xdir = this.data.utils.deg2rad(-90);
}
spinbot_pre(t) {
(t.crouch = -1 == t.move), (t.scope = t.scope || t.crouch), (t.ydir += c * (1e9 * (this.spin_count ^= 1)));
}
anti_offset(t) {
(t.x -= this.data.world.shakeY), (t.x -= this.data.player.entity.recoilAnimY * h.recoilMlt), (t.x -= 0.1 * this.data.player.entity.landBobY);
}
move = 0;
timers(t) {
this.data.player.can_shoot && t.shoot && !this.data.player.shot
? ((this.data.player.shot = !0), setTimeout(() => (this.data.player.shot = !1), this.data.player.weapon.rate + 1))
: this.data.spinbot && this.spinbot(t);
}
move_ticks(t, e, i) {
for (; e--; ) t.next((t) => ((t.move = i), (t.xdir += 0.002)));
}
modify(t) {
this.data.inactivity && -1 == t.move && this.move++ % 200 == 0 && (this.move_ticks(t, 4, 1), this.move_ticks(t, 4, 5)),
this.data.spinbot && this.spinbot_pre(t),
this.bhop(t),
this.data.player.has_ammo || ("auto" != this.data.aim && !this.data.auto_reload) || (t.reload = !0),
(t.could_shoot = this.data.player.can_shoot),
t.shoot &&
!this.data.player.did_shoot &&
((this.can_auto_fire = !1),
setTimeout(() => {
this.can_auto_fire = !0;
}, 1e3 * this.data.force_auto_rate)),
this.data.force_auto && this.can_auto_fire && this.data.player.did_shoot && t.shoot && ((this.can_auto_fire = !1), (t.shoot = !1));
var e = this.data.player.weapon_auto || this.data.player.weapon.burst || !t.shoot || !t.previous.could_shoot || !t.previous.shoot,
i = 100 * Math.random() < this.data.hitchance,
a = "auto" == this.data.aim || t.scope || t.shoot;
this.data.player.weapon.burst && (this.data.player.shot = this.data.player.did_shoot);
for (let t of this.data.players) t.calc_parts();
if ((a && this.data.pick_target(), this.data.player.can_shoot))
if ("trigger" == this.data.aim) t.shoot = this.enemy_sight() || t.shoot;
else if ("off" != this.data.aim && this.data.target && this.data.player.health) {
var s = this.data.target.calc_rot();
if (
(this.anti_offset(s),
i &&
("correction" == this.data.aim && e
? this.correct_aim(s, t)
: "auto" == this.data.aim && (this.data.player.can_aim && (t.scope = !0), this.data.player.aimed && (t.shoot = !this.data.player.shot), this.correct_aim(s, t))),
"assist" == this.data.aim && this.data.player.aim_press)
) {
let e = this.smooth_map[this.data.aim_smooth] || (console.warn(this.data.aim_smooth, "not registered"), 1),
a = this.smooth_map[+Math.min(3 * this.data.aim_smooth, 1).toFixed(1)];
(s = this.smooth(t, s, e, a)), this.aim_camera(s, t), !t.shoot || this.data.player.shot || i || (t.xdir = 0);
}
}
t.shoot && this.data.player.shot && (t.shoot = !e);
}
};
},
2176: (t) => {
"use strict";
var e = new Set(),
i = {
frame: 0,
delta: 1,
xdir_r: 2,
ydir_r: 3,
move: 4,
shoot: 5,
scope: 6,
jump: 7,
reload: 8,
crouch: 9,
weapon_scroll: 10,
weapon_swap: 11,
move_lock: 12,
speed_limit: 13,
reset: 14,
tween_time: 15,
tween_progress: 16,
};
class a {
static next = [];
constructor(t) {
this.array = t;
var e = a.next.shift();
"function" == typeof e && e(this);
}
get previous() {
return a.previous;
}
next(t) {
a.next.push(t);
}
done() {
a.previous = this;
}
get keys() {
return "INPUT" == document.activeElement.tagName ? new Set() : e;
}
get focused() {
return null != document.pointerLockElement;
}
get xdir() {
return this.xdir_r / 1e3;
}
set xdir(t) {
return (this.xdir_r = 1e3 * t), t;
}
get ydir() {
return this.ydir_r / 1e3;
}
set ydir(t) {
return (this.ydir_r = 1e3 * t), t;
}
}
document.addEventListener("keydown", (t) => e.add(t.code)), document.addEventListener("keyup", (t) => e.delete(t.code)), window.addEventListener("blur", () => (e = new Set()));
for (let t in i) {
let e = i[t];
Object.defineProperty(a.prototype, t, {
get() {
return this.array[e];
},
set(t) {
return (this.array[e] = "boolean" == typeof t ? +t : t);
},
});
}
(t.exports = a), (window.InputData = a);
},
6492: (t) => {
"use strict";
class e {
static keybinds = new Set();
constructor(t, i) {
(this.keys = new Set()), (this.callbacks = new Set()), e.keybinds.add(this), "string" == typeof t && (this.key(t), (t = i)), "function" == typeof t && this.callback(i);
}
delete() {
e.keybinds.delete(this);
}
set_key(...t) {
return (this.keys = new Set()), this.key(...t);
}
set_callback(...t) {
return (this.callbacks = new Set()), this.key(...t);
}
key(...t) {
for (let e of t) this.keys.add(e);
return this;
}
callback(...t) {
for (let e of t) this.callbacks.add(e);
return this;
}
}
window.addEventListener("keydown", (t) => {
if (!t.repeat) {
for (let e of [...t.composedPath()]) if (e.tagName) for (let t of ["INPUT", "TEXTAREA"]) if (e.tagName.includes(t)) return;
for (let i of e.keybinds)
if (!t.repeat && i.keys.has(t.code)) {
t.preventDefault();
for (let e of i.callbacks) e(t);
}
}
}),
(t.exports = e);
},
866: (t, e, i) => {
"use strict";
var { loader: a } = i(9606),
{ vars: s } = a,
{ Vector3: r } = i(4914);
t.exports = class {
constructor(t) {
this.data = t;
}
rgbToHex(t, e, i) {
for (var a = ((t << 16) | (e << 8) | i).toString(16); 6 > a.length; ) a = "0" + a;
return "#" + a;
}
hexFromHue(t) {
var e = t / 60,
i = 255 * (1 - Math.abs((e % 2) - 1)),
a = Math.floor(e);
return this.rgbToHex(1 > a || 4 < a ? 255 : 1 == a || 4 == a ? i : 0, 0 == a || 3 == a ? i : 1 == a || 2 == a ? 255 : 0, 0 == a || 1 == a ? 0 : 3 == a || 4 == a ? 255 : i);
}
deg2rad(t) {
return (t * Math.PI) / 180;
}
dist_center(t) {
return Math.hypot(window.innerWidth / 2 - t.x, window.innerHeight / 2 - t.y);
}
distanceTo(t, e) {
return Math.hypot(t.x - e.x, t.y - e.y, t.z - e.z);
}
applyMatrix4(t, e) {
var i = t.x,
a = t.y,
s = t.z,
r = e.elements,
n = 1 / (r[3] * i + r[7] * a + r[11] * s + r[15]);
return (t.x = (r[0] * i + r[4] * a + r[8] * s + r[12]) * n), (t.y = (r[1] * i + r[5] * a + r[9] * s + r[13]) * n), (t.z = (r[2] * i + r[6] * a + r[10] * s + r[14]) * n), t;
}
project3d(t, e) {
return this.applyMatrix4(this.applyMatrix4(t, e.matrixWorldInverse), e.projectionMatrix);
}
update_frustum() {
this.data.world.frustum.setFromProjectionMatrix(new this.data.three.Matrix4().multiplyMatrices(this.data.world.camera.projectionMatrix, this.data.world.camera.matrixWorldInverse));
}
update_camera() {
this.data.world.camera.updateMatrix(), this.data.world.camera.updateMatrixWorld();
}
pos2d(t, e = 0) {
return isNaN(t.x) || isNaN(t.y) || isNaN(t.z)
? { x: 0, y: 0 }
: (((t = { x: t.x, y: t.y, z: t.z }).y += e),
this.update_camera(),
this.project3d(t, this.data.world.camera),
{ x: ((t.x + 1) / 2) * this.data.ctx.canvas.width, y: ((1 - t.y) / 2) * this.data.ctx.canvas.height });
}
obstructing(t) {
var e = this.data.wallbangs && (!this.data.player || (this.data.player.weapon && this.data.player.weapon.pierce)),
i = this.camera_world() || new r(),
a = this.getD3D(i.x, i.y, i.z, t.x, t.y, t.z),
s = this.getDir(i.z, i.x, t.z, t.x),
n = this.getDir(this.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y),
o = 1 / (a * Math.sin(s - Math.PI) * Math.cos(n)),
h = 1 / (a * Math.cos(s - Math.PI) * Math.cos(n)),
c = 1 / (a * Math.sin(n));
for (let t of this.data.game.map.manager.objects)
if (!t.noShoot && t.active && (!e || !t.penetrable)) {
var l = this.lineInRect(
i.x,
i.z,
i.y,
o,
h,
c,
t.x - Math.max(0, t.width),
t.z - Math.max(0, t.length),
t.y - Math.max(0, t.height),
t.x + Math.max(0, t.width),
t.z + Math.max(0, t.length),
t.y + Math.max(0, t.height)
);
if (l && 1 > l) return l;
}
if (this.data.game.map.terrain) {
var d = this.data.game.map.terrain.raycast(i.x, -i.z, i.y, 1 / o, -1 / h, 1 / c);
if (d) return this.getD3D(i.x, i.y, i.z, d.x, d.z, -d.y);
}
}
getDistance(t, e, i, a) {
return Math.sqrt((i -= t) * i + (a -= e) * a);
}
getD3D(t, e, i, a, s, r) {
var n = t - a,
o = e - s,
h = i - r;
return Math.sqrt(n * n + o * o + h * h);
}
getXDire(t, e, i, a, s, r) {
return Math.asin(Math.abs(e - s) / this.getD3D(t, e, i, a, s, r)) * (e > s ? -1 : 1);
}
getDir(t, e, i, a) {
return Math.atan2(e - a, t - i);
}
lineInRect(t, e, i, a, s, r, n, o, h, c, l, d) {
var u = (n - t) * a,
p = (c - t) * a,
f = (h - i) * r,
m = (d - i) * r,
g = (o - e) * s,
v = (l - e) * s,
x = Math.max(Math.max(Math.min(u, p), Math.min(f, m)), Math.min(g, v)),
y = Math.min(Math.min(Math.max(u, p), Math.max(f, m)), Math.max(g, v));
return !(y < 0 || x > y) && x;
}
getAngleDst(t, e) {
return Math.atan2(Math.sin(e - t), Math.cos(t - e));
}
contains_point(t) {
for (let e of this.data.world.frustum.planes) if (e.distanceToPoint(t) < 0) return !1;
return !0;
}
camera_world() {
var t = this.data.world.camera.matrixWorld.clone(),
e = this.data.world.camera[s.getWorldPosition]();
return this.data.world.camera.matrixWorld.copy(t), this.data.world.camera.matrixWorldInverse.copy(t).invert(), e.clone();
}
request_frame(t) {
requestAnimationFrame(t);
}
};
},
6947: (t, e, i) => {
"use strict";
var a = i(7263),
s = i(8144),
r = i(122);
t.exports = class extends r {
gconsts = { playerHeight: 11, cameraHeight: 1.5, headScale: 2, armScale: 1.3, armInset: 0.1, chestWidth: 2.6, hitBoxPad: 1, crouchDst: 3, recoilMlt: 0.3, nameOffset: 0.6, nameOffsetHat: 0.8 };
api = "https://api.sys32.dev/";
matchmaker = "https://matchmaker.krunker.io/";
badge = "[GameLoader]";
vars = {};
context = { key: "_" + Math.random().toString().substr(2) };
has_instruct = this.has_instruct.bind(this);
stacks = new Set();
api_v2 = new URL("v2/", this.api);
meta = a.promise();
patches = new Map();
variables = new Map();
log(...t) {
console.log(this.badge, ...t);
}
var(t, e, i) {
return this.variables.set(t, [e, i]), this;
}
patch(t, e, i) {
return this.patches.set(t, [e, i]), this;
}
observe() {
this.loadp = new Promise((t) =>
new MutationObserver((e, i) =>
e.forEach((e) =>
[...e.addedNodes].forEach((e) => {
"DIV" == e.tagName &&
"instructionHolder" == e.id &&
((this.instruction_holder = e),
new MutationObserver(() => setTimeout(() => this.emit("instruct", this.has_instruct), 200)).observe(this.instruction_holder, { attributes: !0, attributeFilter: ["style"] })),
"SCRIPT" == e.tagName && e.textContent.includes("Yendis Entertainment") && ((e.textContent = ""), t());
})
)
).observe(document, { childList: !0, subtree: !0 })
);
}
has_instruct(...t) {
if (!this.instruction_holder) return !1;
var e = this.instruction_holder.textContent.trim().toLowerCase();
for (let i of t) if (e.includes(t)) return !0;
return !1;
}
async report_error(t, e) {
if ("object" == typeof e) {
var i = { name: e.name, message: e.message, stack: e.stack, where: t };
this.stacks.has(e.stack) || (console.error("Where:", t, "\nUncaught", e), this.stacks.add(e.stack), await s({ target: this.api_v2, endpoint: "error", data: i }));
}
}
async show_error(t, e) {
await this.load;
var i = document.querySelector("#instructionHolder"),
a = document.querySelector("#instructions");
(i.style.display = "block"), (i.style.pointerEvents = "all");
for (let t of document.querySelectorAll("#loadingBg, #initLoader")) t.style.display = "none";
a.innerHTML = `<div style='color:#FFF9'>${t}</div><div style='margin-top:10px;font-size:20px;color:#FFF6'>${e}</div>`;
}
async token() {
return (
await this.meta,
await s({ target: this.api_v2, endpoint: "token", data: await s({ target: this.matchmaker, endpoint: "generate-token", headers: { "client-key": this.meta.key }, result: "json" }), result: "json" })
);
}
apply_patches(t) {
var e;
for (var [i, [a, s]] of this.variables) {
var r = (t.match(a) || 0)[s];
r ? (this.vars[i] = r) : ((e || (e = {}))[i] = [a, s]);
}
for (var [i, [n, o]] of (console.log("Game Variables:"), console.table(this.vars), e && (console.log("Missing:"), console.table(e)), this.patches))
t.match(n) || console.error("Could not patch", i), (t = t.replace(n, o));
return t;
}
async license(t) {
var e = await s({ target: this.api_v2, endpoint: "meta", data: { ...t, needs_key: !0 }, method: "POST", result: "json" });
e.error
? (a.add_ele("style", document.documentElement, { textContent: "#initLoader,#instructionsUpdate{display:none!IMPORTANT}" }), this.show_error(e.error.title, e.error.message), this.meta.reject())
: this.meta.resolve((this.meta = e));
}
async source() {
return await this.meta, await s({ target: this.api_v2, endpoint: "source", query: { build: this.meta.build }, result: "text", cache: !0 });
}
async load(t = {}, e = {}, i = () => {}) {
var a = { ...t, [this.context.key]: this.context, WP_fetchMMToken: this.token() },
s = this.apply_patches(await this.source());
Object.assign(this.context, e);
try {
await this.loadp, i(), new Function(...Object.keys(a), s)(...Object.values(a));
} catch (t) {
this.report_error("loading", t), this.show_error(t.message, "Post a screenshot of this error on <a href='https://forum.sys32.dev/'>the forums</a> or <a href='/'>click here</a> to try again.");
}
}
};
},
4304: (t, e, i) => {
"use strict";
var { Vector3: a, Hex3: s, Box3: r } = i(4914),
{ loader: n } = i(9606),
{ vars: o, gconsts: h } = n,
c = 0;
setInterval(() => (c = Math.random()), 2e3);
t.exports = class {
part_keys = ["head", "torso", "legs"];
calc_ticks = 2;
constructor(t, e) {
(this.data = t),
(this.entity = "object" == typeof e && null != e ? e : {}),
(this.velocity = new a()),
(this.position = new a()),
(this.esp_hex = new s()),
(this.hp_hex = new s()),
(this.dont_calc = 0),
(this.hitbox = new r()),
(this.hitbox.head = new r()),
(this.parts = { hitbox_head: new a(), head: new a(), torso: new a(), legs: new a() });
}
get ground() {
return this.entity.onGround;
}
calc_rect() {
var t = (2 * h.armScale + h.chestWidth + h.armInset) / 2,
e = 1 / 0,
i = -1 / 0,
a = 1 / 0,
s = -1 / 0,
r = null;
this.frustum = !0;
for (let n = -1; this.frustum && n < 2; n += 2)
for (let o = -1; this.frustum && o < 2; o += 2)
for (let h = 0; this.frustum && h < 2; h++)
if ((r = this.obj.position.clone())) {
if (((r.x += n * t), (r.z += o * t), (r.y += h * this.height), !this.data.utils.contains_point(r))) return (this.frustum = !1);
r.project(this.data.world.camera), (e = Math.min(e, r.x)), (i = Math.max(i, r.x)), (a = Math.min(a, r.y)), (s = Math.max(s, r.y));
}
(e = (e + 1) / 2),
(i = (i + 1) / 2),
(a = 0.5 - ((a = (a + 1) / 2) - 0.5)),
(s = 0.5 - ((s = (s + 1) / 2) - 0.5)),
(e *= this.data.ctx.canvas.width),
(i *= this.data.ctx.canvas.width),
(a *= this.data.ctx.canvas.height);
var n = { left: e, top: (s *= this.data.ctx.canvas.height), right: i, bottom: a, width: i - e, height: a - s };
return (n.x = n.left + n.width / 2), (n.y = n.top + n.height / 2), n;
}
scale_rect(t, e) {
var i = {},
a = ["y", "height", "top", "bottom"];
for (var s in this.rect) i[s] = this.rect[s] / (a.includes(s) ? e : t);
return i;
}
calc_in_fov() {
if (!this.active) return !1;
if (110 == this.data.aim_fov) return !0;
if (!this.frustum) return !1;
var t = this.data.world.camera.fov;
(this.data.world.camera.fov = (this.data.aim_fov / t) * 100), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum();
var e = this.data.utils.contains_point(this.aim_point);
return (this.data.world.camera.fov = t), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum(), e;
}
get ping() {
return this.entity.ping;
}
get jump_bob_y() {
return this.entity.jumpBobY;
}
get clan() {
return this.entity.clan;
}
get alias() {
return this.entity.alias;
}
get weapon() {
return this.entity.weapon;
}
get weapon_auto() {
return !this.weapon.nAuto;
}
get can_slide() {
return this.entity.canSlide;
}
get risk() {
return this.entity.level >= 30 || (this.entity.account && (this.entity.account.featured || this.entity.account.premiumT));
}
get is_you() {
return this.entity[o.isYou];
}
get target() {
return this.data.target && this.entity == this.data.target.entity;
}
get can_melee() {
return (this.weapon.melee && this.data.target && this.data.target.active && this.position.distance_to(this.data.target) <= 18) || !1;
}
get reloading() {
return 0 != this.entity.reloadTimer;
}
get can_aim() {
return !this.can_melee;
}
get can_throw() {
return this.entity.canThrow && this.weapon.canThrow;
}
get aimed() {
var t = this.can_throw ? 1 - this.entity.chargeTime / this.entity.throwCharge : this.weapon.melee ? 1 : this.entity[o.aimVal];
return this.weapon.noAim || 0 == t || this.can_melee || !1;
}
get can_shoot() {
return !this.reloading && this.has_ammo && (this.can_throw || !this.weapon.melee || this.can_melee);
}
get hitbox_pad() {
return this.data.game.config.hitBoxPad - 0.2;
}
get hitbox_scale() {
return this.entity.scale + this.hitbox_pad - 0.2;
}
get aim_press() {
return this.data.controls[o.adsToggled] || this.data.controls.keys[this.data.controls.binds.aim.val];
}
get crouch() {
return this.entity[o.crouchVal] || 0;
}
get box_scale() {
this.data.utils.camera_world();
var t = (t) => Math.min(1, (this.rect[t] / this.data.ctx.canvas[t]) * 10);
return [t("width"), t("height")];
}
get dist_scale() {
var t = this.data.utils.camera_world(),
e = Math.max(0.65, 1 - this.data.utils.getD3D(t.x, t.y, t.z, this.position.x, this.position.y, this.position.z) / 600);
return [e, e];
}
get distance_camera() {
return this.data.utils.camera_world().distanceTo(this.position);
}
get obj() {
return this.is_ai ? this.enity.dat : this.entity[o.objInstances];
}
get land_bob_y() {
return this.entity.landBobY || 0;
}
get recoil_y() {
return this.entity[o.recoilAnimY] || 0;
}
get has_ammo() {
return this.ammo || this.ammo == this.max_ammo;
}
get ammo() {
return this.entity[o.ammos][this.entity[o.weaponIndex]] || 0;
}
get max_ammo() {
return this.weapon.ammo || 0;
}
get height() {
return this.entity.height - this.crouch * h.crouchDst;
}
get health() {
return this.entity.health || 0;
}
get scale() {
return this.entity.scale;
}
get max_health() {
return this.entity[o.maxHealth] || 100;
}
get active() {
return this.entity.active && null != this.entity.x && this.health > 0 && (!!this.is_you || (this.chest && this.leg)) && !0;
}
get teammate() {
return this.is_you || (this.data.player && this.team && this.team == this.data.player.team);
}
get enemy() {
return !this.teammate;
}
get team() {
return this.entity.team;
}
get streaks() {
return Object.keys(this.entity.streaks || {});
}
get did_shoot() {
return this.entity[o.didShoot];
}
get chest() {
return this.entity.lowerBody ? this.entity.lowerBody.children[0] : null;
}
get leg() {
for (var t of this.entity.legMeshes) if (t.visible) return t;
return this.chest;
}
calc_rot() {
var t = this.data.utils.camera_world(),
e = this.aim_point;
return { x: this.data.utils.getXDire(t.x, t.y, t.z, e.x, e.y - this.data.player.jump_bob_y, e.z) || 0, y: this.data.utils.getDir(t.z, t.x, e.z, e.x) || 0 };
}
calc_parts() {
if (!this.active || this.is_you) return (this.can_target = !1);
if (!this.data.aim_smooth || !this.aim_point || this.dont_calc++ % (this.calc_ticks + 1) == 0) {
var t = new this.data.three.Box3().setFromObject(this.chest),
e = t.getSize(),
i = t.getCenter();
this.parts.torso.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: -0.75, z: 0 })),
(this.parts.torso_height = e.y - 1.5),
this.parts.head.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: this.parts.torso_height / 2, z: 0 }));
var s = this.leg[o.getWorldPosition](),
r = this.leg.getWorldScale();
this.parts.legs.copy(s).translate_quaternion(this.leg.getWorldQuaternion(), new a().copy({ x: -r.x / 2, y: -r.y / 2, z: 0 }));
var n = "random" == this.data.aim_offset ? this.part_keys[~~(c * this.part_keys.length)] : this.data.aim_offset;
switch (n) {
case "head":
this.set_aim_point(this.parts.head);
break;
case "multi":
if (!this.set_aim_point(this.parts.hitbox_head)) {
let t = this.data.utils.camera_world(),
e = this.visible_points(this.hitbox.head.points()).sort((e, i) => e.distance_to(t) - i.distance_to(t) + (i.y - e.y));
for (let t of e) if (this.set_aim_point(t)) break;
}
break;
default:
this.set_aim_point(this.parts[n]);
}
(this.in_fov = this.calc_in_fov()), (this.can_target = this.active && this.can_see && this.enemy && this.in_fov);
}
}
visible_points(t) {
var e = [];
for (let i of [
[0, 3],
[3, 5],
[5, 6],
[6, 0],
]) {
let a = new this.data.three.Box3();
for (let e of i) a.expandByPoint(t[e]);
let s = a.getSize(),
r = a.getCenter();
e.push({ width: s.x, length: s.z, height: s.y, x: r.x, y: r.y - s.y / 2, z: r.z });
}
return t.filter((t) => !!this.point_obstructing(t, e));
}
point_obstructing(t, e) {
var i = this.data.utils.camera_world(),
a = this.data.utils.getD3D(i.x, i.y, i.z, t.x, t.y, t.z),
s = this.data.utils.getDir(i.z, i.x, t.z, t.x),
r = this.data.utils.getDir(this.data.utils.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y),
n = 1 / (a * Math.sin(s - Math.PI) * Math.cos(r)),
o = 1 / (a * Math.cos(s - Math.PI) * Math.cos(r)),
h = 1 / (a * Math.sin(r));
for (let t of e) {
var c = this.data.utils.lineInRect(
i.x,
i.z,
i.y,
n,
o,
h,
t.x - Math.max(0, t.width),
t.z - Math.max(0, t.length),
t.y - Math.max(0, t.height),
t.x + Math.max(0, t.width),
t.z + Math.max(0, t.length),
t.y + Math.max(0, t.height)
);
if (c && 1 > c) return c;
}
}
set_aim_point(t) {
return (this.aim_point = t), (this.can_see = null == this.data.utils.obstructing(t));
}
tick() {
if (
(this.position.set(this.entity.x, this.entity.y, this.entity.z),
this.velocity.set(this.entity.velocity.x, this.entity.velocity.y, this.entity.velocity.z),
this.hitbox.min.set(this.position.x - this.hitbox_scale, this.position.y, this.position.z - this.hitbox_scale),
this.hitbox.max.set(this.position.x + this.hitbox_scale, this.position.y + this.height + this.hitbox_pad, this.position.z + this.hitbox_scale),
this.hitbox.head.max.copy(this.hitbox.max),
this.hitbox.head.min.copy(this.hitbox.min),
(this.hitbox.head.min.y = this.hitbox.max.y - this.entity.headScale - 0.5),
(this.parts.hitbox_head.copy(this.position).y = this.position.y + this.height),
!this.is_you)
) {
(this.rect = this.calc_rect()),
this.esp_hex.set_style(this.data.rainbow ? this.data.visual.rainbow.col : this.data.color[this.enemy ? (this.risk ? "risk" : "hostile") : "friendly"]),
this.can_see || this.esp_hex.sub_scalar(119),
(this.esp_color = this.esp_hex.toString());
var t = (this.health / this.max_health) * 100,
e = t < 50 ? 255 : Math.round(510 - 5.1 * t),
i = t < 50 ? Math.round(5.1 * t) : 255;
this.hp_hex.set(e, i, 0), (this.hp_color = this.hp_hex.toString());
}
}
};
},
3137: () => {
"use strict";
var t = new Function("return this")(),
e = {
port: 443,
localhost: ["localhost", "127.0.0.1"],
hosts: {
http: ["krunker.io", "internal.krunker.io"],
mm: ["matchmaker.krunker.io", "matchmaker_beta.krunker.io", "127.0.0.1:5050"],
api: ["api.krunker.io", "api_beta.krunker.io", "127.0.0.1:5080"],
social: ["social.krunker.io", "social_beta.krunker.io", "127.0.0.1:5070"],
editor: ["editor.krunker.io", "editor_beta.krunker.io", "127.0.0.1:5090"],
assets: ["assets.krunker.io"],
userAssets: ["user-assets.krunker.io"],
},
region: {
default: "de-fra",
map: { fra: "de-fra", sv: "us-ca-sv", syd: "au-syd", tok: "jb-hnd", mia: "us-fl", sin: "sgp", ny: "us-nj" },
reverseMap: { "de-fra": "fra", "us-ca-sv": "sv", "au-syd": "syd", "jb-hnd": "tok", "us-fl": "mia", sgp: "sin", "us-nj": "ny" },
},
isSSL: !0,
protocol: { http: "https:", ws: "wss:" },
};
const i = e.localhost.includes(location.hostname),
a = !i && location.hostname.split(".").slice(-2).join(".") == location.hostname,
s = function (t) {
if (e.hosts.mm.includes(t.host)) {
if (
((t.protocol = e.protocol.http),
(t.hostname = location.hostname),
(t.port = e.port),
(t.pathname = `/mm${t.pathname}`),
(t.search = t.search.replace(`hostname=${location.hostname}`, `hostname=${e.hosts.http[0]}`)),
t.search.match(/region=/))
)
if (i) t.search = t.search.replace("region=local", `region=${e.region.default}`);
else if (!a) {
const i = e.region.map[location.hostname.split(".")[0]] || e.region.default;
t.search = t.search.replace(/region=[\w-]+/g, `region=${i}`);
}
} else e.hosts.api.includes(t.host) && ((t.protocol = e.protocol.http), (t.hostname = location.hostname), (t.port = e.port), (t.pathname = `/api${t.pathname}`));
return t;
},
r = t.fetch;
(t.fetch = async function (...t) {
try {
const e = new URL(t[0]);
t[0] = s(e).toString();
} catch (t) {}
return r(...t);
}),
(t.WebSocket = class extends t.WebSocket {
constructor(...t) {
const i = new URL(t[0]);
e.hosts.social.includes(i.host)
? ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.social[0]))
: e.hosts.editor.includes(i.host) && ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.editor[0])),
(t[0] = `${e.protocol.ws}//${location.host}/ws?redirect=${btoa(i.toString())}`),
super(t);
}
}),
(t.XMLHttpRequest = class extends t.XMLHttpRequest {
open(...t) {
try {
const i = new URL(t[1]);
e.hosts.assets.includes(i.host)
? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`), (t[1] = i.toString()))
: e.hosts.userAssets.includes(i.host)
? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/user${i.pathname}`), (t[1] = i.toString()))
: (t[1] = s(i).toString());
} catch (t) {}
super.open(...t);
}
}),
(document.createElementNS = new Proxy(document.createElementNS, {
apply: function (t, i, a) {
const s = t.apply(i, a);
let r;
s.addEventListener(
"error",
function t() {
this.removeEventListener("error", t, !1), this.addEventListener("error", r, !1);
const i = new URL(this.src);
e.hosts.assets.includes(i.host) && ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`)), (this.src = i.toString());
},
!1
);
const n = s.addEventListener;
return (
(s.addEventListener = new Proxy(n, {
apply: function (t, e, i) {
"error" == i[0] ? ((r = i[1]), (s.addEventListener = n)) : t.apply(e, i);
},
})),
s
);
},
}));
const n = document.createElement("div");
(n.className = "settingsBtn"),
(n.style.cssText = "width: auto;font-size: 14px;padding: 5px 8px;"),
(n.innerText = "Find"),
n.addEventListener(
"click",
function () {
const t = document.getElementById("setBod_local").childNodes[0].childNodes[2].value,
a = e.region.reverseMap[t] || e.region.reverseMap[e.region.default];
if (i) {
const t = `${e.protocol.http}//${a}.subdomain.com`;
alert(`REDIRECT - ${t}`);
} else {
const t = `${e.protocol.http}//${a}.${location.hostname.split(".").slice(-2).join(".")}`;
location.href = t;
}
},
!1
);
const o = setInterval(function () {
t.windows &&
(clearInterval(o),
t.windows[0].getSettings &&
(t.windows[0].getSettings = new Proxy(t.windows[0].getSettings, {
apply: function (t, i, a) {
return (
setTimeout(function () {
const t = document.getElementById("setBod_local");
if (t) {
const i = t.children[0];
i.innerHTML = i.innerHTML.replace("Default Region", "Proxy Region");
const a = i.children[0];
i.insertBefore(n, a), [...a.children].filter((t) => !e.region.reverseMap[t.value]).forEach((t) => a.removeChild(t)), a.onchange();
}
}),
t.apply(i, a)
);
},
})));
}, 100);
},
8144: (t) => {
"use strict";
var e = (t) => "object" == typeof t && null != t,
i = (t) => "string" == typeof t || t instanceof Location || t instanceof URL,
a = (t) => {
if (e(t)) {
if (t instanceof Headers) {
let e = {};
for (let [i, a] of t) e[i] = a;
return e;
}
return t;
}
return {};
},
s = (t) => {
if (!e(t)) throw new TypeError("Input must be an object");
var i = { cache: "no-cache", headers: a(t.headers) },
r = s.resolve(t);
switch (t.cache) {
case !0:
i.cache = "force-cache";
break;
case "query":
r.search += "?" + Date.now();
}
1 == t.cache && (i.cache = "force-cache"),
e(t.data) && ((i.method = "POST"), (i.body = JSON.stringify(t.data)), (i.headers["content-type"] = "application/json")),
"string" == typeof t.method && (i.method = t.method),
t.sync && ((i.xhr = !0), (i.synchronous = !0));
var n = ["text", "json", "arrayBuffer"].includes(t.result) ? t.result : "text";
return (i.xhr ? s.fetch_xhr : window.fetch.bind(window))(r, i).then((t) => t[n]());
};
(s.fetch_xhr = (t, e = {}) => {
if (!i(t)) throw new TypeError("url param is not resolvable");
t = new URL(t, location).href;
var a = "string" == typeof e.method ? e.method : "GET",
s = new XMLHttpRequest();
return (
s.open(a, t, !e.synchronous),
new Promise((t, i) => {
s.addEventListener("load", () => t({ text: async () => s.responseText, json: async () => JSON.parse(s.responseText), headers: new Headers() })), s.addEventListener("error", (t) => i(t.error)), s.send(e.body);
})
);
}),
(s.resolve = (t) => {
if (!i(t.target)) throw new TypeError("Target must be specified");
var e = new URL(t.target);
return i(t.endpoint) && (e = new URL(t.endpoint, e)), "object" == typeof t.query && null != t.query && (e.search = "?" + new URLSearchParams(Object.entries(t.query))), e;
}),
(t.exports = s);
},
8721: (t, e, i) => {
"use strict";
i(7263).add_ele("style", () => document.documentElement, { textContent: i(4309) });
},
82: (t, e, i) => {
"use strict";
var a = i(3229);
Symbol();
t.exports = (t) => {
var e,
i,
s = { sgp: "sin", "au-syd": "syd", "de-fra": "fra", "jb-hnd": "tok", "us-ca-sv": "sv", "us-fl": "mia", "us-nj": "ny" };
class r extends WebSocket {
constructor(r, n) {
t.proxy && (r = "wss://" + (s[localStorage.kro_setngss_defaultRegion] || "mia") + ".browserfps.com/ws?redirect=" + btoa(r)),
super(r, n),
this.addEventListener("message", (s) => {
var r,
[n, ...o] = a.decode(new Uint8Array(s.data));
if ("io-init" == n) e = o[0];
else if (t.unlock_skins && 0 == n && i && e && -1 != (r = o[0].indexOf(e))) {
(o[0][r + 12] = i[2]), (o[0][r + 13] = i[3]), (o[0][r + 14] = i[4]), (o[0][r + 19] = i[9]), (o[0][r + 24] = i[14]), (o[0][r + 33] = i[17]);
var h = a.encode([n, ...o]),
c = new Uint8Array(h.byteLength + 2);
c.set(h, 0), c.set(s.data.slice(-2), h.byteLength), Object.defineProperty(s, "data", { value: c.buffer });
}
});
}
set onmessage(t) {
return (
this.addEventListener("message", (e) => {
try {
return t.call(this, e);
} catch (t) {
console.error("Socket error:", t);
}
}),
t
);
}
send(t) {
var [e, ...s] = a.decode(t.slice(0, -2));
"en" == e && (i = s[0]), super.send(t);
}
}
return r;
};
},
4914: (t, e) => {
"use strict";
class i {
constructor(t = 0, e = 0, i = 0) {
(this.x = t), (this.y = e), (this.z = i);
}
clone() {
return new i(this.x, this.y, this.z);
}
mps() {
return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));
}
set(t, e, i) {
return (this.x = t), (this.y = e), (this.z = i), this;
}
copy(t) {
return (this.x = t.x), (this.y = t.y), (this.z = t.z), this;
}
add(t) {
return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
}
add_vectors(t = 0, e = 0, i = 0) {
return (this.x += t), (this.y += e), (this.z += i), this;
}
add_scalar(t) {
return (this.x += t), (this.y += t), (this.z += t), this;
}
sub(t) {
return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
}
sub_vectors(t = 0, e = 0, i = 0) {
return (this.x -= t), (this.y -= e), (this.z -= i), this;
}
sub_scalar(t) {
return (this.x -= t), (this.y -= t), (this.z -= t), this;
}
multiply(t) {
return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this;
}
multiply_vectors(t = 0, e = 0, i = 0) {
return (this.x *= t), (this.y *= e), (this.z *= i), this;
}
multiply_scalar(t) {
return (this.x *= t), (this.y *= t), (this.z *= t), this;
}
divide(t) {
return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this;
}
divide_vectors(t = 0, e = 0, i = 0) {
return (this.x /= t), (this.y /= e), (this.z /= i), this;
}
divide_scalar(t) {
return (this.x /= t), (this.y /= t), (this.z /= t), this;
}
apply_quaternion(t) {
const e = this.x,
i = this.y,
a = this.z,
s = t.x,
r = t.y,
n = t.z,
o = t.w,
h = o * e + r * a - n * i,
c = o * i + n * e - s * a,
l = o * a + s * i - r * e,
d = -s * e - r * i - n * a;
return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this;
}
translate_quaternion(t, e) {
for (var a in e) {
var s = new i();
s[a] = 1;
var r = s.apply_quaternion(t).multiply_scalar(e[a]);
this.add(r);
}
return this;
}
distance_to(t) {
return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z);
}
}
i.Blank = new i();
(e.Box3 = class {
min = new i();
max = new i();
points() {
return [
new i(this.min.x, this.min.y, this.min.z),
new i(this.min.x, this.min.y, this.max.z),
new i(this.min.x, this.max.y, this.min.z),
new i(this.min.x, this.max.y, this.max.z),
new i(this.max.x, this.min.y, this.min.z),
new i(this.max.x, this.min.y, this.max.z),
new i(this.max.x, this.max.y, this.min.z),
new i(this.max.x, this.max.y, this.max.z),
];
}
}),
(e.Hex3 = class {
hex = [0, 0, 0];
constructor(t = "#000") {
this.set_style(t);
}
add_scalar(t) {
for (let e in this.hex) this.hex[e] += t;
return this.normalize();
}
sub_scalar(t) {
for (let e in this.hex) this.hex[e] -= t;
return this.normalize();
}
normalize() {
for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0);
return this;
}
set(t, e, i) {
return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this;
}
set_style(t) {
let e = 0,
i = "#" == t[0] ? 1 : 0,
a = t.length - i < 5 ? 1 : 2;
for (let s = i; s < t.length; s += a) {
let i = t.substr(s, a);
1 == a && (i += i), (this.hex[e++] = parseInt(i, 16));
}
return this;
}
toString() {
var t = "#";
for (let e of this.hex) t += e.toString(16).padStart(2, 0);
return t;
}
}),
(e.Vector3 = i);
},
7263: (t) => {
"use strict";
t.exports = class {
static is_host(t, ...e) {
return e.some((e) => t.hostname == e || t.hostname.endsWith("." + e));
}
static round(t, e) {
return Math.round(t * Math.pow(10, e)) / Math.pow(10, e);
}
static add_ele(t, e, i = {}) {
var a = this.crt_ele(t, i);
if ("function" == typeof e) this.wait_for(e).then((t) => t.append(a));
else {
if ("object" != typeof e || null == e || !e.append) throw new Error("Parent is not resolvable to a DOM element");
e.append(a);
}
return a;
}
static crt_ele(t, e = {}) {
var i,
a = {};
for (let t in e) "object" == typeof e[t] && null != e[t] && ((a[t] = e[t]), delete e[t]);
i = "raw" == t ? this.crt_ele("div", { innerHTML: e.html }).firstChild : "text" == t ? document.createTextNode("") : document.createElement(t);
var s = e.className;
s && (delete e.className, i.setAttribute("class", s));
var r = a.events;
if (r) {
delete a.events;
for (let t in r) i.addEventListener(t, r[t]);
}
Object.assign(i, e);
for (let t in a) Object.assign(i[t], a[t]);
return i;
}
static wait_for(t, e) {
return new Promise((i) => {
var a,
s = () => {
try {
var e = t();
if (e) return a && clearInterval(a), i(e), !0;
} catch (t) {
console.log(t);
}
};
a = s() || setInterval(s, e || 50);
});
}
static sanitize(t) {
var e = document.createElement("div");
return (e.textContent = t), e.innerHTML;
}
static unsanitize(t) {
var e = document.createElement("div");
return (e.innerHTML = t), e.textContent;
}
static node_tree(t, e = document) {
var i = { parent: e },
a = /^\$\s+>?/g,
s = /^\^\s+>?/g;
for (var r in t) {
var n = t[r];
if (n instanceof Node) i[r] = n;
else if ("object" == typeof n) i[r] = this.node_tree(n, i.container);
else if (a.test(t[r])) {
if (!i.container) {
console.warn("No container is available, could not access", n);
continue;
}
i[r] = i.container.querySelector(t[r].replace(a, ""));
} else if (s.test(t[r])) {
if (!i.parent) {
console.warn("No parent is available, could not access", n);
continue;
}
i[r] = i.parent.querySelector(t[r].replace(s, ""));
} else i[r] = e.querySelector(t[r]);
i[r] || console.warn("No node found, could not access", n);
}
return i;
}
static string_key(t) {
return t.replace(/^([A-Z][a-z]+?)([A-Z0-9][a-z]*?)/, (t, e, i) => (["Digit", "Key"].includes(e) ? i : `${i} ${e}`));
}
static clone_obj(t) {
return JSON.parse(JSON.stringify(t));
}
static assign_deep(t, ...e) {
for (let i in e)
for (let a in e[i])
"object" == typeof e[i][a] && null != e[i][a] && a in t ? this.assign_deep(t[a], e[i][a]) : "object" == typeof t && null != t && Object.defineProperty(t, a, Object.getOwnPropertyDescriptor(e[i], a));
return t;
}
static filter_deep(t, e) {
for (let i in t) i in e || delete t[i], "object" == typeof e[i] && null != e[i] && this.filter_deep(t[i], e[i]);
return t;
}
static redirect(t, e, i) {
var a = Symbol();
i.addEventListener(t, (t) => {
t[a];
}),
e.addEventListener(t, (e) => i.dispatchEvent(Object.assign(new e.constructor(t, e), { [a]: !0, stopImmediatePropagation: e.stopImmediatePropagation.bind(e), preventDefault: e.preventDefault.bind(e) })));
}
static promise() {
var t,
e = new Promise((e, i) => (t = { resolve: e, reject: i }));
return Object.assign(e, t), (e.resolve_in = (t = 0, i) => setTimeout(() => e.resolve(i), t)), e;
}
static rtn(t, e) {
return (t / e).toFixed() * e;
}
};
},
6132: (t, e, i) => {
"use strict";
var { Vector3: a } = i(573);
class s {
constructor(t) {
(this.data = t), (this.materials = new Map()), (this.rainbow = { col: "#ffffff", val: 0 });
}
tick_rainbow() {
(this.rainbow.val += 0.6), (this.rainbow.val %= 360), (this.rainbow.col = this.data.utils.hexFromHue(Math.round(this.rainbow.val)));
}
esp_mat(t) {
return this.materials.has(t) || this.materials.set(t, new this.data.three.MeshBasicMaterial({ transparent: !0, fog: !1, depthTest: !1, color: t })), this.materials.get(t);
}
tick() {
this.data.ctx.clearRect(0, 0, this.data.ctx.canvas.width, this.data.ctx.canvas.height), this.tick_rainbow();
}
draw_text(t, e, i, a) {
for (var s = 0; s < a.length; s++)
for (var r = a[s], n = 0, o = 0; o < r.length; o++) {
var h = r[o][0],
c = r[o][1],
l = [c, t + n, e + s * (i + 2)];
(this.data.ctx.fillStyle = h), this.data.ctx.strokeText(...l), this.data.ctx.fillText(...l), (n += this.data.ctx.measureText(c).width + 2);
}
}
fov(t) {
var e = (this.data.ctx.canvas.width * t) / 100,
i = (this.data.ctx.canvas.height * t) / 100;
(this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2), this.data.ctx.strokeRect((this.data.ctx.canvas.width - e) / 2, (this.data.ctx.canvas.height - i) / 2, e, i);
}
walls() {
this.data.world.scene.children.forEach((t) => {
if ("Mesh" == t.type && t.dSrc && !t.material[s.hooked]) {
t.material[s.hooked] = !0;
var e = t.material.transparent,
i = t.material.opacity;
Object.defineProperties(t.material, { opacity: { get: (t) => (i * this.data.walls) / 100, set: (t) => (i = t) }, transparent: { get: (t) => 100 != this.data.walls || e, set: (t) => (e = t) } });
}
});
}
axis_join(t) {
return t ? ["x", "y", "z"].map((e) => e + ": " + t[e].toFixed(2)).join(", ") : null;
}
overlay() {
(this.data.ctx.strokeStyle = "#000"), (this.data.ctx.font = "14px monospace"), (this.data.ctx.textAlign = "start"), (this.data.ctx.lineWidth = 2.6);
var t = { Player: this.data.player ? this.axis_join(this.data.player.position) : null, Target: this.data.target ? this.axis_join(this.data.target.position) : null },
e = [];
for (var i in t) {
var a = "#FFF",
s = t[i];
switch (typeof s) {
case "boolean":
(a = s ? "#0F0" : "#F00"), (s = s ? "Yes" : "No");
break;
case "number":
(a = "#00F"), (s = s.toFixed(2));
break;
case "object":
s = "N/A";
}
e.push([
["#BBB", i + ": "],
[a, s],
]);
}
this.draw_text(15, this.data.ctx.canvas.height / 2 - (14 * e.length) / 2, 14, e);
}
p2a(t) {
var e = this.data.utils.pos2d(t);
return [e.x, e.y];
}
hitbox(t) {
var e = t.points();
(this.data.ctx.fillStyle = "red"),
(this.data.ctx.lineWidth = 1.5),
this.data.ctx.moveTo(...this.p2a(e[0])),
this.data.ctx.lineTo(...this.p2a(e[2])),
this.data.ctx.lineTo(...this.p2a(e[4])),
this.data.ctx.lineTo(...this.p2a(e[6])),
this.data.ctx.lineTo(...this.p2a(e[5])),
this.data.ctx.lineTo(...this.p2a(e[7])),
this.data.ctx.lineTo(...this.p2a(e[1])),
this.data.ctx.lineTo(...this.p2a(e[3])),
this.data.ctx.lineTo(...this.p2a(e[0])),
this.data.ctx.lineTo(...this.p2a(e[1])),
this.data.ctx.lineTo(...this.p2a(e[5])),
this.data.ctx.lineTo(...this.p2a(e[4])),
this.data.ctx.lineTo(...this.p2a(e[0])),
this.data.ctx.lineTo(...this.p2a(e[2])),
this.data.ctx.lineTo(...this.p2a(e[3])),
this.data.ctx.lineTo(...this.p2a(e[7])),
this.data.ctx.lineTo(...this.p2a(e[6])),
this.data.ctx.lineTo(...this.p2a(e[2])),
this.data.ctx.stroke();
}
box(t) {
(this.data.ctx.strokeStyle = t.esp_color), (this.data.ctx.lineWidth = 1.5), this.data.ctx.strokeRect(t.rect.left, t.rect.top, t.rect.width, t.rect.height);
}
tracer(t) {
(this.data.ctx.strokeStyle = t.esp_color),
(this.data.ctx.lineWidth = 1.75),
(this.data.ctx.lineCap = "round"),
this.data.ctx.beginPath(),
this.data.ctx.moveTo(this.data.ctx.canvas.width / 2, this.data.ctx.canvas.height),
this.data.ctx.lineTo(t.rect.x, t.rect.bottom),
this.data.ctx.stroke();
}
get can_draw_chams() {
return ["chams", "box_chams", "full"].includes(this.data.esp);
}
cham(t) {
if (!t.obj[s.hooked]) {
t.obj[s.hooked] = !0;
let e = !0;
Object.defineProperty(t.obj, "visible", { get: (t) => this.can_draw_chams || e, set: (t) => (e = t) });
}
t.obj.traverse((e) => {
if ("Mesh" == e.type && !e[s.hooked]) {
e[s.hooked] = !0;
var i = e.material;
Object.defineProperty(e, "material", {
get: (e) => {
var a = this.can_draw_chams ? this.esp_mat(t.esp_color) : i;
return (a.wireframe = this.data.wireframe), a;
},
set: (t) => (i = t),
});
}
});
}
health(t) {
this.data.ctx.save(), this.data.ctx.scale(...t.box_scale);
var e = t.scale_rect(...t.box_scale);
(this.data.ctx.fillStyle = t.hp_color), this.data.ctx.fillRect(e.left - 30, e.top, 25, e.height), this.data.ctx.restore();
}
text(t) {
this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale);
var e = t.scale_rect(...t.dist_scale);
(this.data.ctx.font = "Bold 13px Tahoma"), (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2.5), (this.data.ctx.textBaseline = "top");
var i = [
[
["#FB8", t.alias],
["#FFF", t.clan ? " [" + t.clan + "]" : ""],
],
[[t.hp_color, t.health + "/" + t.max_health + " HP"]],
[["#FFF", t.weapon.name]],
];
t.target && i.push([["#00F", "Target"]]), this.draw_text(e.right + 4, e.top, 13, i), this.data.ctx.restore();
}
text_clean(t) {
this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale);
var e = t.scale_rect(...t.dist_scale);
(this.data.ctx.font = "Bold 17px Tahoma"), (this.data.ctx.fillStyle = "white"), (this.data.ctx.strokeStyle = "black"), (this.data.ctx.lineWidth = 1);
let i = e.right + 7,
a = e.top,
s = t.name || t.alias;
this.data.ctx.fillText(s, i, a),
this.data.ctx.strokeText(s, i, a),
(a += 16),
(this.data.ctx.font = "Bold 15px Tahoma"),
(this.data.ctx.fillStyle = "#cccccc"),
this.data.ctx.fillText(t.weapon.name, i, a),
this.data.ctx.strokeText(t.weapon.name, i, a),
(a += 16),
(this.data.ctx.fillStyle = t.hp_color),
this.data.ctx.fillText(t.health + " HP", i, a),
this.data.ctx.strokeText(t.health + " HP", i, a),
this.data.ctx.restore();
}
}
(s.hooked = Symbol()), (t.exports = s);
},
9606: (t, e, i) => {
"use strict";
var a = i(2311),
s = i(6947),
r = i(1191);
(e.store = new a()), (e.meta = i(3571));
var n = new s();
e.loader = n;
var o = i(7263);
if (
((e.is_frame = window != window.top),
(e.krunker = o.is_host(location, "krunker.io", "browserfps.com") && "browserfps.com" != location.host && ["/.htaccess", "/"].includes(location.pathname)),
(e.proxy_addons = [
{ name: "Browser VPN", chrome: "https://chrome.google.com/webstore/detail/ppajinakbfocjfnijggfndbdmjggcmde", firefox: "https://addons.mozilla.org/en-US/firefox/addon/mybrowser-vpn/" },
{ name: "Hola VPN", chrome: "https://chrome.google.com/webstore/detail/gkojfkhlekighikafcpjkiklfbnlmeio", firefox: "https://addons.mozilla.org/en-US/firefox/addon/hola-unblocker/" },
{
name: "Windscribe",
chrome: "https://chrome.google.com/webstore/detail/hnmpcagpplmpfojmgmnngilcnanddlhb",
firefox: "https://addons.mozilla.org/en-US/firefox/addon/windscribe/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search",
},
{ name: "UltraSurf", chrome: "https://chrome.google.com/webstore/detail/mjnbclmflcpookeapghfhapeffmpodij" },
]),
(e.firefox = navigator.userAgent.includes("Firefox")),
(e.supported_store = e.firefox ? "firefox" : "chrome"),
(e.addon_url = (t) => (e.firefox ? "https://addons.mozilla.org/en-US/firefox/search/?q=" + encodeURIComponent(t) : "https://chrome.google.com/webstore/search/" + encodeURI(t))),
i(8864),
(e.init = () => {}),
e.krunker && !e.is_frame && ((e.frame = new r()), o.is_host(location, "browserfps.com") && i(3137), n.observe(), n.license(e.meta)),
!navigator.userAgent.includes("Electron") && "object" != typeof LOADER && document.currentScript && "SCRIPT" == document.currentScript.nodeName)
)
throw (alert("The new loader will update/install."), setTimeout(() => location.assign("https://y9x.github.io/userscripts/loader.user.js"), 200));
},
573: (t, e) => {
"use strict";
class i {
constructor(t = 0, e = 0, i = 0) {
(this.x = t), (this.y = e), (this.z = i);
}
clone() {
return new i(this.x, this.y, this.z);
}
mps() {
return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));
}
set(t, e, i) {
return (this.x = t), (this.y = e), (this.z = i), this;
}
copy(t) {
return (this.x = t.x), (this.y = t.y), (this.z = t.z), this;
}
add(t) {
return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
}
add_vectors(t = 0, e = 0, i = 0) {
return (this.x += t), (this.y += e), (this.z += i), this;
}
add_scalar(t) {
return (this.x += t), (this.y += t), (this.z += t), this;
}
sub(t) {
return (this.x += t.x), (this.y += t.y), (this.z += t.z), this;
}
sub_vectors(t = 0, e = 0, i = 0) {
return (this.x -= t), (this.y -= e), (this.z -= i), this;
}
sub_scalar(t) {
return (this.x -= t), (this.y -= t), (this.z -= t), this;
}
multiply(t) {
return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this;
}
multiply_vectors(t = 0, e = 0, i = 0) {
return (this.x *= t), (this.y *= e), (this.z *= i), this;
}
multiply_scalar(t) {
return (this.x *= t), (this.y *= t), (this.z *= t), this;
}
divide(t) {
return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this;
}
divide_vectors(t = 0, e = 0, i = 0) {
return (this.x /= t), (this.y /= e), (this.z /= i), this;
}
divide_scalar(t) {
return (this.x /= t), (this.y /= t), (this.z /= t), this;
}
apply_quaternion(t) {
const e = this.x,
i = this.y,
a = this.z,
s = t.x,
r = t.y,
n = t.z,
o = t.w,
h = o * e + r * a - n * i,
c = o * i + n * e - s * a,
l = o * a + s * i - r * e,
d = -s * e - r * i - n * a;
return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this;
}
translate_quaternion(t, e) {
for (var a in e) {
var s = new i();
s[a] = 1;
var r = s.apply_quaternion(t).multiply_scalar(e[a]);
this.add(r);
}
return this;
}
distance_to(t) {
return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z);
}
}
i.Blank = new i();
(e.Box3 = class {
min = new i();
max = new i();
points() {
return [
new i(this.min.x, this.min.y, this.min.z),
new i(this.min.x, this.min.y, this.max.z),
new i(this.min.x, this.max.y, this.min.z),
new i(this.min.x, this.max.y, this.max.z),
new i(this.max.x, this.min.y, this.min.z),
new i(this.max.x, this.min.y, this.max.z),
new i(this.max.x, this.max.y, this.min.z),
new i(this.max.x, this.max.y, this.max.z),
];
}
}),
(e.Hex3 = class {
hex = [0, 0, 0];
constructor(t = "#000") {
this.set_style(t);
}
add_scalar(t) {
for (let e in this.hex) this.hex[e] += t;
return this.normalize();
}
sub_scalar(t) {
for (let e in this.hex) this.hex[e] -= t;
return this.normalize();
}
normalize() {
for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0);
return this;
}
set(t, e, i) {
return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this;
}
set_style(t) {
let e = 0,
i = "#" == t[0] ? 1 : 0,
a = t.length - i < 5 ? 1 : 2;
for (let s = i; s < t.length; s += a) {
let i = t.substr(s, a);
1 == a && (i += i), (this.hex[e++] = parseInt(i, 16));
}
return this;
}
toString() {
var t = "#";
for (let e of this.hex) t += e.toString(16).padStart(2, 0);
return t;
}
}),
(e.Vector3 = i);
},
8864: (t, e, i) => {
"use strict";
var { loader: a } = i(9606);
a.var("inView", /&&!\w\.\w+&&\w\.\w+&&\w\.(\w+)\){/, 1),
a.var("spectating", /team:window\.(\w+)/, 1),
a.var("nAuto", /'Single Fire',varN:'(\w+)'/, 1),
a.var("xDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.xD/, 1),
a.var("yDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.yD/, 1),
a.var("procInputs", /this\.(\w+)=function\(\w+,\w+,\w+,\w+\){this\.recon/, 1),
a.var("isYou", /this\.accid=0,this\.(\w+)=\w+,this\.isPlayer/, 1),
a.var("pchObjc", /this\.mouseX=0,this\.mouseY=0\,this\.(\w+)=new /, 1),
a.var("aimVal", /this\.(\w+)-=1\/\(this\.weapon\.aimSpd/, 1),
a.var("crouchVal", /this\.(\w+)\+=\w\.crouchSpd\*\w+,1<=this\.\w+/, 1),
a.var("didShoot", /--,\w+\.(\w+)=!0/, 1),
a.var("ammos", /length;for\(\w+=0;\w+<\w+\.(\w+)\.length/, 1),
a.var("weaponIndex", /\.weaponConfig\[\w+]\.secondary&&\(\w+\.(\w+)==\w+/, 1),
a.var("maxHealth", /\.regenDelay,this\.(\w+)=\w+\.mode&&\w+\.mode\.\1/, 1),
a.var("adsToggled", /this\.(\w+)=!1,this\.keys=/, 1),
a.var("recoilAnimY", /\.\w+=0,this\.(\w+)=0,this\.\w+=0,this\.\w+=1,this\.slide/, 1),
a.var("objInstances", /objInstances/, 0),
a.var("getWorldPosition", /var \w+=\w+\.camera\.(\w+)\(\);/, 1),
a.patch("Skins", /(this\.name=\w+,)(this\.score=)/g, (t, e, i) => `${e}${a.context.key}.skins(this),${i}`),
a.patch("Nametags", /&&((\w+)\.\w+Seen)(?=\){if\(\(\w+=\2\.objInstances)/, (t, e) => `&& ${a.context.key}.can_see(${e})`),
a.patch("Game", /(\w+)\.moveObj=func/, (t, e) => `${a.context.key}.game(${e}),${t}`),
a.patch("Controls", /\.controls=(\w+);/, (t, e) => `${t}${a.context.key}.controls(${e});`),
a.patch("World", /(\w+)\.backgroundScene=/, (t, e) => `${a.context.key}.world(${e}),${t}`),
a.patch("Input", /((\w+\.\w+)\[\2\._push\?'_push':'push']\()(\w+)(\),)/, (t, e, i, s, r) => `${e}${a.context.key}.input.push(${s})${r}`),
a.patch("ThreeJS", /\(\w+,(\w+),\w+\){(?=[a-z ';\.\(\),]+ACESFilmic)/, (t, e) => `${t}${a.context.key}.three(${e});`),
a.patch("Socket", /(\w+\.exports={ahNum:)/, (t, e) => `${a.context.key}.socket=${e}`),
a.patch("Inactivity", />=(\w+\.kickTimer)/g, (t, e) => `>=${a.context.key}.kick_timer(${e})`);
},
7846: (t) => {
!(function (e) {
t.exports = e;
var i = {
on: function (t, e) {
return r(this, t).push(e), this;
},
once: function (t, e) {
var i = this;
return (a.originalListener = e), r(i, t).push(a), i;
function a() {
s.call(i, t, a), e.apply(this, arguments);
}
},
off: s,
emit: function (t, e) {
var i = this,
a = r(i, t, !0);
if (!a) return !1;
var s = arguments.length;
if (1 === s) a.forEach(o);
else if (2 === s) a.forEach(h);
else {
var n = Array.prototype.slice.call(arguments, 1);
a.forEach(c);
}
return !!a.length;
function o(t) {
t.call(i);
}
function h(t) {
t.call(i, e);
}
function c(t) {
t.apply(i, n);
}
},
};
function a(t) {
for (var e in i) t[e] = i[e];
return t;
}
function s(t, e) {
var i,
a = this;
if (arguments.length) {
if (e) {
if ((i = r(a, t, !0))) {
if (!(i = i.filter(n)).length) return s.call(a, t);
a.listeners[t] = i;
}
} else if ((i = a.listeners) && (delete i[t], !Object.keys(i).length)) return s.call(a);
} else delete a.listeners;
return a;
function n(t) {
return t !== e && t.originalListener !== e;
}
}
function r(t, e, i) {
if (!i || t.listeners) {
var a = t.listeners || (t.listeners = {});
return a[e] || (a[e] = []);
}
}
a(e.prototype), (e.mixin = a);
})(function t() {
if (!(this instanceof t)) return new t();
});
},
8898: (t, e) => {
(e.read = function (t, e, i, a, s) {
var r,
n,
o = 8 * s - a - 1,
h = (1 << o) - 1,
c = h >> 1,
l = -7,
d = i ? s - 1 : 0,
u = i ? -1 : 1,
p = t[e + d];
for (d += u, r = p & ((1 << -l) - 1), p >>= -l, l += o; l > 0; r = 256 * r + t[e + d], d += u, l -= 8);
for (n = r & ((1 << -l) - 1), r >>= -l, l += a; l > 0; n = 256 * n + t[e + d], d += u, l -= 8);
if (0 === r) r = 1 - c;
else {
if (r === h) return n ? NaN : (1 / 0) * (p ? -1 : 1);
(n += Math.pow(2, a)), (r -= c);
}
return (p ? -1 : 1) * n * Math.pow(2, r - a);
}),
(e.write = function (t, e, i, a, s, r) {
var n,
o,
h,
c = 8 * r - s - 1,
l = (1 << c) - 1,
d = l >> 1,
u = 23 === s ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
p = a ? 0 : r - 1,
f = a ? 1 : -1,
m = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0;
for (
e = Math.abs(e),
isNaN(e) || e === 1 / 0
? ((o = isNaN(e) ? 1 : 0), (n = l))
: ((n = Math.floor(Math.log(e) / Math.LN2)),
e * (h = Math.pow(2, -n)) < 1 && (n--, (h *= 2)),
(e += n + d >= 1 ? u / h : u * Math.pow(2, 1 - d)) * h >= 2 && (n++, (h /= 2)),
n + d >= l ? ((o = 0), (n = l)) : n + d >= 1 ? ((o = (e * h - 1) * Math.pow(2, s)), (n += d)) : ((o = e * Math.pow(2, d - 1) * Math.pow(2, s)), (n = 0)));
s >= 8;
t[i + p] = 255 & o, p += f, o /= 256, s -= 8
);
for (n = (n << s) | o, c += s; c > 0; t[i + p] = 255 & n, p += f, n /= 256, c -= 8);
t[i + p - f] |= 128 * m;
});
},
7137: function (t, e) {
!(function (t) {
var e,
i = "undefined",
a = i !== typeof Buffer && Buffer,
s = i !== typeof Uint8Array && Uint8Array,
r = i !== typeof ArrayBuffer && ArrayBuffer,
n = [0, 0, 0, 0, 0, 0, 0, 0],
o =
Array.isArray ||
function (t) {
return !!t && "[object Array]" == Object.prototype.toString.call(t);
},
h = 4294967296;
function c(o, c, w) {
var b = c ? 0 : 4,
_ = c ? 4 : 0,
k = c ? 0 : 3,
E = c ? 1 : 2,
z = c ? 2 : 1,
S = c ? 3 : 0,
A = c ? g : x,
M = c ? v : y,
C = F.prototype,
L = "is" + o,
B = "_" + L;
return (
(C.buffer = void 0),
(C.offset = 0),
(C[B] = !0),
(C.toNumber = T),
(C.toString = function (t) {
var e = this.buffer,
i = this.offset,
a = j(e, i + b),
s = j(e, i + _),
r = "",
n = !w && 2147483648 & a;
n && ((a = ~a), (s = h - s));
t = t || 10;
for (;;) {
var o = (a % t) * h + s;
if (((a = Math.floor(a / t)), (s = Math.floor(o / t)), (r = (o % t).toString(t) + r), !a && !s)) break;
}
n && (r = "-" + r);
return r;
}),
(C.toJSON = T),
(C.toArray = l),
a && (C.toBuffer = d),
s && (C.toArrayBuffer = u),
(F[L] = function (t) {
return !(!t || !t[B]);
}),
(t[o] = F),
F
);
function F(t, a, o, c) {
return this instanceof F
? (function (t, a, o, c, l) {
s && r && (a instanceof r && (a = new s(a)), c instanceof r && (c = new s(c)));
if (!(a || o || c || e)) return void (t.buffer = m(n, 0));
if (!p(a, o)) {
(l = o), (c = a), (o = 0), (a = new (e || Array)(8));
}
if (((t.buffer = a), (t.offset = o |= 0), i === typeof c)) return;
"string" == typeof c
? (function (t, e, i, a) {
var s = 0,
r = i.length,
n = 0,
o = 0;
"-" === i[0] && s++;
var c = s;
for (; s < r; ) {
var l = parseInt(i[s++], a);
if (!(l >= 0)) break;
(o = o * a + l), (n = n * a + Math.floor(o / h)), (o %= h);
}
c && ((n = ~n), o ? (o = h - o) : n++);
U(t, e + b, n), U(t, e + _, o);
})(a, o, c, l || 10)
: p(c, l)
? f(a, o, c, l)
: "number" == typeof l
? (U(a, o + b, c), U(a, o + _, l))
: c > 0
? A(a, o, c)
: c < 0
? M(a, o, c)
: f(a, o, n, 0);
})(this, t, a, o, c)
: new F(t, a, o, c);
}
function T() {
var t = this.buffer,
e = this.offset,
i = j(t, e + b),
a = j(t, e + _);
return w || (i |= 0), i ? i * h + a : a;
}
function U(t, e, i) {
(t[e + S] = 255 & i), (i >>= 8), (t[e + z] = 255 & i), (i >>= 8), (t[e + E] = 255 & i), (i >>= 8), (t[e + k] = 255 & i);
}
function j(t, e) {
return 16777216 * t[e + k] + (t[e + E] << 16) + (t[e + z] << 8) + t[e + S];
}
}
function l(t) {
var i = this.buffer,
a = this.offset;
return (e = null), !1 !== t && 0 === a && 8 === i.length && o(i) ? i : m(i, a);
}
function d(t) {
var i = this.buffer,
s = this.offset;
if (((e = a), !1 !== t && 0 === s && 8 === i.length && Buffer.isBuffer(i))) return i;
var r = new a(8);
return f(r, 0, i, s), r;
}
function u(t) {
var i = this.buffer,
a = this.offset,
n = i.buffer;
if (((e = s), !1 !== t && 0 === a && n instanceof r && 8 === n.byteLength)) return n;
var o = new s(8);
return f(o, 0, i, a), o.buffer;
}
function p(t, e) {
var i = t && t.length;
return (e |= 0), i && e + 8 <= i && "string" != typeof t[e];
}
function f(t, e, i, a) {
(e |= 0), (a |= 0);
for (var s = 0; s < 8; s++) t[e++] = 255 & i[a++];
}
function m(t, e) {
return Array.prototype.slice.call(t, e, e + 8);
}
function g(t, e, i) {
for (var a = e + 8; a > e; ) (t[--a] = 255 & i), (i /= 256);
}
function v(t, e, i) {
var a = e + 8;
for (i++; a > e; ) (t[--a] = (255 & -i) ^ 255), (i /= 256);
}
function x(t, e, i) {
for (var a = e + 8; e < a; ) (t[e++] = 255 & i), (i /= 256);
}
function y(t, e, i) {
var a = e + 8;
for (i++; e < a; ) (t[e++] = (255 & -i) ^ 255), (i /= 256);
}
c("Uint64BE", !0, !0), c("Int64BE", !0, !1), c("Uint64LE", !1, !0), c("Int64LE", !1, !1);
})("string" != typeof e.nodeName ? e : this || {});
},
5182: (t) => {
var e = {}.toString;
t.exports =
Array.isArray ||
function (t) {
return "[object Array]" == e.call(t);
};
},
3229: (t, e, i) => {
(e.encode = i(7483).encode), (e.decode = i(7296).decode), (e.Encoder = i(9285).Encoder), (e.Decoder = i(5988).Decoder), (e.createCodec = i(6059).createCodec), (e.codec = i(3626).codec);
},
4122: function (t) {
function e(t) {
return t && t.isBuffer && t;
}
t.exports = e("undefined" != typeof Buffer && Buffer) || e(this.Buffer) || e("undefined" != typeof window && window.Buffer) || this.Buffer;
},
1891: (t, e) => {
(e.copy = function (t, e, i, a) {
var s;
i || (i = 0);
a || 0 === a || (a = this.length);
e || (e = 0);
var r = a - i;
if (t === this && i < e && e < a) for (s = r - 1; s >= 0; s--) t[s + e] = this[s + i];
else for (s = 0; s < r; s++) t[s + e] = this[s + i];
return r;
}),
(e.toString = function (t, e, i) {
var a = this,
s = 0 | e;
i || (i = a.length);
var r = "",
n = 0;
for (; s < i; )
(n = a[s++]) < 128
? (r += String.fromCharCode(n))
: (192 == (224 & n)
? (n = ((31 & n) << 6) | (63 & a[s++]))
: 224 == (240 & n)
? (n = ((15 & n) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++]))
: 240 == (248 & n) && (n = ((7 & n) << 18) | ((63 & a[s++]) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++])),
n >= 65536 ? ((n -= 65536), (r += String.fromCharCode(55296 + (n >>> 10), 56320 + (1023 & n)))) : (r += String.fromCharCode(n)));
return r;
}),
(e.write = function (t, e) {
var i = this,
a = e || (e |= 0),
s = t.length,
r = 0,
n = 0;
for (; n < s; )
(r = t.charCodeAt(n++)) < 128
? (i[a++] = r)
: r < 2048
? ((i[a++] = 192 | (r >>> 6)), (i[a++] = 128 | (63 & r)))
: r < 55296 || r > 57343
? ((i[a++] = 224 | (r >>> 12)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r)))
: ((r = 65536 + (((r - 55296) << 10) | (t.charCodeAt(n++) - 56320))), (i[a++] = 240 | (r >>> 18)), (i[a++] = 128 | ((r >>> 12) & 63)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r)));
return a - e;
});
},
2169: (t, e, i) => {
var a = i(8918),
s = (t.exports = r(0));
function r(t) {
return new Array(t);
}
(s.alloc = r),
(s.concat = a.concat),
(s.from = function (t) {
if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t);
else if (a.isArrayBuffer(t)) t = new Uint8Array(t);
else {
if ("string" == typeof t) return a.from.call(s, t);
if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
}
return Array.prototype.slice.call(t);
});
},
5837: (t, e, i) => {
var a = i(8918),
s = a.global,
r = (t.exports = a.hasBuffer ? n(0) : []);
function n(t) {
return new s(t);
}
(r.alloc = (a.hasBuffer && s.alloc) || n),
(r.concat = a.concat),
(r.from = function (t) {
if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t);
else if (a.isArrayBuffer(t)) t = new Uint8Array(t);
else {
if ("string" == typeof t) return a.from.call(r, t);
if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
}
return s.from && 1 !== s.from.length ? s.from(t) : new s(t);
});
},
5706: (t, e, i) => {
var a,
s = i(1891);
(e.copy = c),
(e.slice = l),
(e.toString = function (t, e, i) {
var a = !o && r.isBuffer(this) ? this.toString : s.toString;
return a.apply(this, arguments);
}),
(e.write =
((a = "write"),
function () {
return (this[a] || s[a]).apply(this, arguments);
}));
var r = i(8918),
n = r.global,
o = r.hasBuffer && "TYPED_ARRAY_SUPPORT" in n,
h = o && !n.TYPED_ARRAY_SUPPORT;
function c(t, e, i, a) {
var n = r.isBuffer(this),
o = r.isBuffer(t);
if (n && o) return this.copy(t, e, i, a);
if (h || n || o || !r.isView(this) || !r.isView(t)) return s.copy.call(this, t, e, i, a);
var c = i || null != a ? l.call(this, i, a) : this;
return t.set(c, e), c.length;
}
function l(t, e) {
var i = this.slice || (!h && this.subarray);
if (i) return i.call(this, t, e);
var a = r.alloc.call(this, e - t);
return c.call(this, a, 0, t, e), a;
}
},
8513: (t, e, i) => {
var a = i(8918),
s = (t.exports = a.hasArrayBuffer ? r(0) : []);
function r(t) {
return new Uint8Array(t);
}
(s.alloc = r),
(s.concat = a.concat),
(s.from = function (t) {
if (a.isView(t)) {
var e = t.byteOffset,
i = t.byteLength;
(t = t.buffer).byteLength !== i && (t.slice ? (t = t.slice(e, e + i)) : (t = new Uint8Array(t)).byteLength !== i && (t = Array.prototype.slice.call(t, e, e + i)));
} else {
if ("string" == typeof t) return a.from.call(s, t);
if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
}
return new Uint8Array(t);
});
},
8918: (t, e, i) => {
var a = (e.global = i(4122)),
s = (e.hasBuffer = a && !!a.isBuffer),
r = (e.hasArrayBuffer = "undefined" != typeof ArrayBuffer),
n = (e.isArray = i(5182));
e.isArrayBuffer = r
? function (t) {
return t instanceof ArrayBuffer || f(t);
}
: v;
var o = (e.isBuffer = s ? a.isBuffer : v),
h = (e.isView = r ? ArrayBuffer.isView || x("ArrayBuffer", "buffer") : v);
(e.alloc = p),
(e.concat = function (t, i) {
i ||
((i = 0),
Array.prototype.forEach.call(t, function (t) {
i += t.length;
}));
var a = (this !== e && this) || t[0],
s = p.call(a, i),
r = 0;
return (
Array.prototype.forEach.call(t, function (t) {
r += u.copy.call(t, s, r);
}),
s
);
}),
(e.from = function (t) {
return "string" == typeof t ? m.call(this, t) : g(this).from(t);
});
var c = (e.Array = i(2169)),
l = (e.Buffer = i(5837)),
d = (e.Uint8Array = i(8513)),
u = (e.prototype = i(5706));
function p(t) {
return g(this).alloc(t);
}
var f = x("ArrayBuffer");
function m(t) {
var e = 3 * t.length,
i = p.call(this, e),
a = u.write.call(i, t);
return e !== a && (i = u.slice.call(i, 0, a)), i;
}
function g(t) {
return o(t) ? l : h(t) ? d : n(t) ? c : s ? l : r ? d : c;
}
function v() {
return !1;
}
function x(t, e) {
return (
(t = "[object " + t + "]"),
function (i) {
return null != i && {}.toString.call(e ? i[e] : i) === t;
}
);
}
},
8551: (t, e, i) => {
var a = i(5182);
(e.createCodec = o),
(e.install = function (t) {
for (var e in t) r.prototype[e] = n(r.prototype[e], t[e]);
}),
(e.filter = function (t) {
return a(t)
? (function (t) {
return (
(t = t.slice()),
function (i) {
return t.reduce(e, i);
}
);
function e(t, e) {
return e(t);
}
})(t)
: t;
});
var s = i(8918);
function r(t) {
if (!(this instanceof r)) return new r(t);
(this.options = t), this.init();
}
function n(t, e) {
return t && e
? function () {
return t.apply(this, arguments), e.apply(this, arguments);
}
: t || e;
}
function o(t) {
return new r(t);
}
(r.prototype.init = function () {
var t = this.options;
return t && t.uint8array && (this.bufferish = s.Uint8Array), this;
}),
(e.preset = o({ preset: !0 }));
},
3626: (t, e, i) => {
i(5440), i(9339), (e.codec = { preset: i(8551).preset });
},
7323: (t, e, i) => {
e.T = s;
var a = i(5440).preset;
function s(t) {
if (!(this instanceof s)) return new s(t);
if (t && ((this.options = t), t.codec)) {
var e = (this.codec = t.codec);
e.bufferish && (this.bufferish = e.bufferish);
}
}
i(2193).k.mixin(s.prototype),
(s.prototype.codec = a),
(s.prototype.fetch = function () {
return this.codec.decode(this);
});
},
7296: (t, e, i) => {
e.decode = function (t, e) {
var i = new a(e);
return i.write(t), i.read();
};
var a = i(7323).T;
},
5988: (t, e, i) => {
e.Decoder = r;
var a = i(7846),
s = i(7323).T;
function r(t) {
if (!(this instanceof r)) return new r(t);
s.call(this, t);
}
(r.prototype = new s()),
a.mixin(r.prototype),
(r.prototype.decode = function (t) {
arguments.length && this.write(t), this.flush();
}),
(r.prototype.push = function (t) {
this.emit("data", t);
}),
(r.prototype.end = function (t) {
this.decode(t), this.emit("end");
});
},
2425: (t, e, i) => {
e.F = s;
var a = i(9339).preset;
function s(t) {
if (!(this instanceof s)) return new s(t);
if (t && ((this.options = t), t.codec)) {
var e = (this.codec = t.codec);
e.bufferish && (this.bufferish = e.bufferish);
}
}
i(2193).I.mixin(s.prototype),
(s.prototype.codec = a),
(s.prototype.write = function (t) {
this.codec.encode(this, t);
});
},
7483: (t, e, i) => {
e.encode = function (t, e) {
var i = new a(e);
return i.write(t), i.read();
};
var a = i(2425).F;
},
9285: (t, e, i) => {
e.Encoder = r;
var a = i(7846),
s = i(2425).F;
function r(t) {
if (!(this instanceof r)) return new r(t);
s.call(this, t);
}
(r.prototype = new s()),
a.mixin(r.prototype),
(r.prototype.encode = function (t) {
this.write(t), this.emit("data", this.read());
}),
(r.prototype.end = function (t) {
arguments.length && this.encode(t), this.flush(), this.emit("end");
});
},
7386: (t, e, i) => {
e.S = function t(e, i) {
if (!(this instanceof t)) return new t(e, i);
(this.buffer = a.from(e)), (this.type = i);
};
var a = i(8918);
},
7754: (t, e, i) => {
e.setExtPackers = function (t) {
t.addExtPacker(14, Error, [d, h]),
t.addExtPacker(1, EvalError, [d, h]),
t.addExtPacker(2, RangeError, [d, h]),
t.addExtPacker(3, ReferenceError, [d, h]),
t.addExtPacker(4, SyntaxError, [d, h]),
t.addExtPacker(5, TypeError, [d, h]),
t.addExtPacker(6, URIError, [d, h]),
t.addExtPacker(10, RegExp, [l, h]),
t.addExtPacker(11, Boolean, [c, h]),
t.addExtPacker(12, String, [c, h]),
t.addExtPacker(13, Date, [Number, h]),
t.addExtPacker(15, Number, [c, h]),
"undefined" != typeof Uint8Array &&
(t.addExtPacker(17, Int8Array, n),
t.addExtPacker(18, Uint8Array, n),
t.addExtPacker(19, Int16Array, n),
t.addExtPacker(20, Uint16Array, n),
t.addExtPacker(21, Int32Array, n),
t.addExtPacker(22, Uint32Array, n),
t.addExtPacker(23, Float32Array, n),
"undefined" != typeof Float64Array && t.addExtPacker(24, Float64Array, n),
"undefined" != typeof Uint8ClampedArray && t.addExtPacker(25, Uint8ClampedArray, n),
t.addExtPacker(26, ArrayBuffer, n),
t.addExtPacker(29, DataView, n));
s.hasBuffer && t.addExtPacker(27, r, s.from);
};
var a,
s = i(8918),
r = s.global,
n = s.Uint8Array.from,
o = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 };
function h(t) {
return a || (a = i(7483).encode), a(t);
}
function c(t) {
return t.valueOf();
}
function l(t) {
(t = RegExp.prototype.toString.call(t).split("/")).shift();
var e = [t.pop()];
return e.unshift(t.join("/")), e;
}
function d(t) {
var e = {};
for (var i in o) e[i] = t[i];
return e;
}
},
7660: (t, e, i) => {
e.setExtUnpackers = function (t) {
t.addExtUnpacker(14, [o, c(Error)]),
t.addExtUnpacker(1, [o, c(EvalError)]),
t.addExtUnpacker(2, [o, c(RangeError)]),
t.addExtUnpacker(3, [o, c(ReferenceError)]),
t.addExtUnpacker(4, [o, c(SyntaxError)]),
t.addExtUnpacker(5, [o, c(TypeError)]),
t.addExtUnpacker(6, [o, c(URIError)]),
t.addExtUnpacker(10, [o, h]),
t.addExtUnpacker(11, [o, l(Boolean)]),
t.addExtUnpacker(12, [o, l(String)]),
t.addExtUnpacker(13, [o, l(Date)]),
t.addExtUnpacker(15, [o, l(Number)]),
"undefined" != typeof Uint8Array &&
(t.addExtUnpacker(17, l(Int8Array)),
t.addExtUnpacker(18, l(Uint8Array)),
t.addExtUnpacker(19, [d, l(Int16Array)]),
t.addExtUnpacker(20, [d, l(Uint16Array)]),
t.addExtUnpacker(21, [d, l(Int32Array)]),
t.addExtUnpacker(22, [d, l(Uint32Array)]),
t.addExtUnpacker(23, [d, l(Float32Array)]),
"undefined" != typeof Float64Array && t.addExtUnpacker(24, [d, l(Float64Array)]),
"undefined" != typeof Uint8ClampedArray && t.addExtUnpacker(25, l(Uint8ClampedArray)),
t.addExtUnpacker(26, d),
t.addExtUnpacker(29, [d, l(DataView)]));
s.hasBuffer && t.addExtUnpacker(27, l(r));
};
var a,
s = i(8918),
r = s.global,
n = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 };
function o(t) {
return a || (a = i(7296).decode), a(t);
}
function h(t) {
return RegExp.apply(null, t);
}
function c(t) {
return function (e) {
var i = new t();
for (var a in n) i[a] = e[a];
return i;
};
}
function l(t) {
return function (e) {
return new t(e);
};
}
function d(t) {
return new Uint8Array(t).buffer;
}
},
6059: (t, e, i) => {
i(5440), i(9339), (e.createCodec = i(8551).createCodec);
},
2193: (t, e, i) => {
(e.k = r), (e.I = n);
var a = i(8918),
s = "BUFFER_SHORTAGE";
function r() {
if (!(this instanceof r)) return new r();
}
function n() {
if (!(this instanceof n)) return new n();
}
function o() {
throw new Error("method not implemented: write()");
}
function h() {
throw new Error("method not implemented: fetch()");
}
function c() {
return this.buffers && this.buffers.length ? (this.flush(), this.pull()) : this.fetch();
}
function l(t) {
(this.buffers || (this.buffers = [])).push(t);
}
function d() {
return (this.buffers || (this.buffers = [])).shift();
}
function u(t) {
return function (e) {
for (var i in t) e[i] = t[i];
return e;
};
}
(r.mixin = u({
bufferish: a,
write: function (t) {
var e = this.offset ? a.prototype.slice.call(this.buffer, this.offset) : this.buffer;
(this.buffer = e ? (t ? this.bufferish.concat([e, t]) : e) : t), (this.offset = 0);
},
fetch: h,
flush: function () {
for (; this.offset < this.buffer.length; ) {
var t,
e = this.offset;
try {
t = this.fetch();
} catch (t) {
if (t && t.message != s) throw t;
this.offset = e;
break;
}
this.push(t);
}
},
push: l,
pull: d,
read: c,
reserve: function (t) {
var e = this.offset,
i = e + t;
if (i > this.buffer.length) throw new Error(s);
return (this.offset = i), e;
},
offset: 0,
})),
r.mixin(r.prototype),
(n.mixin = u({
bufferish: a,
write: o,
fetch: function () {
var t = this.start;
if (t < this.offset) {
var e = (this.start = this.offset);
return a.prototype.slice.call(this.buffer, t, e);
}
},
flush: function () {
for (; this.start < this.offset; ) {
var t = this.fetch();
t && this.push(t);
}
},
push: l,
pull: function () {
var t = this.buffers || (this.buffers = []),
e = t.length > 1 ? this.bufferish.concat(t) : t[0];
return (t.length = 0), e;
},
read: c,
reserve: function (t) {
var e = 0 | t;
if (this.buffer) {
var i = this.buffer.length,
a = 0 | this.offset,
s = a + e;
if (s < i) return (this.offset = s), a;
this.flush(), (t = Math.max(t, Math.min(2 * i, this.maxBufferSize)));
}
return (t = Math.max(t, this.minBufferSize)), (this.buffer = this.bufferish.alloc(t)), (this.start = 0), (this.offset = e), 0;
},
send: function (t) {
var e = t.length;
if (e > this.minBufferSize) this.flush(), this.push(t);
else {
var i = this.reserve(e);
a.prototype.copy.call(t, this.buffer, i);
}
},
maxBufferSize: 65536,
minBufferSize: 2048,
offset: 0,
start: 0,
})),
n.mixin(n.prototype);
},
5440: (t, e, i) => {
var a = i(7386).S,
s = i(7660),
r = i(8209).readUint8,
n = i(2680),
o = i(8551);
function h() {
var t = this.options;
return (
(this.decode = (function (t) {
var e = n.getReadToken(t);
return function (t) {
var i = r(t),
a = e[i];
if (!a) throw new Error("Invalid type: " + (i ? "0x" + i.toString(16) : i));
return a(t);
};
})(t)),
t && t.preset && s.setExtUnpackers(this),
this
);
}
o.install({
addExtUnpacker: function (t, e) {
(this.extUnpackers || (this.extUnpackers = []))[t] = o.filter(e);
},
getExtUnpacker: function (t) {
return (
(this.extUnpackers || (this.extUnpackers = []))[t] ||
function (e) {
return new a(e, t);
}
);
},
init: h,
}),
(e.preset = h.call(o.preset));
},
8209: (t, e, i) => {
var a = i(8898),
s = i(7137),
r = s.Uint64BE,
n = s.Int64BE;
(e.getReadFormat = function (t) {
var e = o.hasArrayBuffer && t && t.binarraybuffer,
i = t && t.int64;
return {
map: c && t && t.usemap ? d : l,
array: u,
str: p,
bin: e ? m : f,
ext: g,
uint8: v,
uint16: y,
uint32: b,
uint64: k(8, i ? S : E),
int8: x,
int16: w,
int32: _,
int64: k(8, i ? A : z),
float32: k(4, M),
float64: k(8, C),
};
}),
(e.readUint8 = v);
var o = i(8918),
h = i(5706),
c = "undefined" != typeof Map;
function l(t, e) {
var i,
a = {},
s = new Array(e),
r = new Array(e),
n = t.codec.decode;
for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t));
for (i = 0; i < e; i++) a[s[i]] = r[i];
return a;
}
function d(t, e) {
var i,
a = new Map(),
s = new Array(e),
r = new Array(e),
n = t.codec.decode;
for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t));
for (i = 0; i < e; i++) a.set(s[i], r[i]);
return a;
}
function u(t, e) {
for (var i = new Array(e), a = t.codec.decode, s = 0; s < e; s++) i[s] = a(t);
return i;
}
function p(t, e) {
var i = t.reserve(e),
a = i + e;
return h.toString.call(t.buffer, "utf-8", i, a);
}
function f(t, e) {
var i = t.reserve(e),
a = i + e,
s = h.slice.call(t.buffer, i, a);
return o.from(s);
}
function m(t, e) {
var i = t.reserve(e),
a = i + e,
s = h.slice.call(t.buffer, i, a);
return o.Uint8Array.from(s).buffer;
}
function g(t, e) {
var i = t.reserve(e + 1),
a = t.buffer[i++],
s = i + e,
r = t.codec.getExtUnpacker(a);
if (!r) throw new Error("Invalid ext type: " + (a ? "0x" + a.toString(16) : a));
return r(h.slice.call(t.buffer, i, s));
}
function v(t) {
var e = t.reserve(1);
return t.buffer[e];
}
function x(t) {
var e = t.reserve(1),
i = t.buffer[e];
return 128 & i ? i - 256 : i;
}
function y(t) {
var e = t.reserve(2),
i = t.buffer;
return (i[e++] << 8) | i[e];
}
function w(t) {
var e = t.reserve(2),
i = t.buffer,
a = (i[e++] << 8) | i[e];
return 32768 & a ? a - 65536 : a;
}
function b(t) {
var e = t.reserve(4),
i = t.buffer;
return 16777216 * i[e++] + (i[e++] << 16) + (i[e++] << 8) + i[e];
}
function _(t) {
var e = t.reserve(4),
i = t.buffer;
return (i[e++] << 24) | (i[e++] << 16) | (i[e++] << 8) | i[e];
}
function k(t, e) {
return function (i) {
var a = i.reserve(t);
return e.call(i.buffer, a, true);
};
}
function E(t) {
return new r(this, t).toNumber();
}
function z(t) {
return new n(this, t).toNumber();
}
function S(t) {
return new r(this, t);
}
function A(t) {
return new n(this, t);
}
function M(t) {
return a.read(this, t, !1, 23, 4);
}
function C(t) {
return a.read(this, t, !1, 52, 8);
}
},
2680: (t, e, i) => {
var a = i(8209);
function s(t) {
var e,
i = new Array(256);
for (e = 0; e <= 127; e++) i[e] = r(e);
for (e = 128; e <= 143; e++) i[e] = o(e - 128, t.map);
for (e = 144; e <= 159; e++) i[e] = o(e - 144, t.array);
for (e = 160; e <= 191; e++) i[e] = o(e - 160, t.str);
for (
i[192] = r(null),
i[193] = null,
i[194] = r(!1),
i[195] = r(!0),
i[196] = n(t.uint8, t.bin),
i[197] = n(t.uint16, t.bin),
i[198] = n(t.uint32, t.bin),
i[199] = n(t.uint8, t.ext),
i[200] = n(t.uint16, t.ext),
i[201] = n(t.uint32, t.ext),
i[202] = t.float32,
i[203] = t.float64,
i[204] = t.uint8,
i[205] = t.uint16,
i[206] = t.uint32,
i[207] = t.uint64,
i[208] = t.int8,
i[209] = t.int16,
i[210] = t.int32,
i[211] = t.int64,
i[212] = o(1, t.ext),
i[213] = o(2, t.ext),
i[214] = o(4, t.ext),
i[215] = o(8, t.ext),
i[216] = o(16, t.ext),
i[217] = n(t.uint8, t.str),
i[218] = n(t.uint16, t.str),
i[219] = n(t.uint32, t.str),
i[220] = n(t.uint16, t.array),
i[221] = n(t.uint32, t.array),
i[222] = n(t.uint16, t.map),
i[223] = n(t.uint32, t.map),
e = 224;
e <= 255;
e++
)
i[e] = r(e - 256);
return i;
}
function r(t) {
return function () {
return t;
};
}
function n(t, e) {
return function (i) {
var a = t(i);
return e(i, a);
};
}
function o(t, e) {
return function (i) {
return e(i, t);
};
}
e.getReadToken = function (t) {
var e = a.getReadFormat(t);
return t && t.useraw
? (function (t) {
var e,
i = s(t).slice();
for (i[217] = i[196], i[218] = i[197], i[219] = i[198], e = 160; e <= 191; e++) i[e] = o(e - 160, t.bin);
return i;
})(e)
: s(e);
};
},
9339: (t, e, i) => {
var a = i(7386).S,
s = i(7754),
r = i(1885),
n = i(8551);
function o() {
var t = this.options;
return (
(this.encode = (function (t) {
var e = r.getWriteType(t);
return function (t, i) {
var a = e[typeof i];
if (!a) throw new Error('Unsupported type "' + typeof i + '": ' + i);
a(t, i);
};
})(t)),
t && t.preset && s.setExtPackers(this),
this
);
}
n.install({
addExtPacker: function (t, e, i) {
i = n.filter(i);
var s = e.name;
if (s && "Object" !== s) {
(this.extPackers || (this.extPackers = {}))[s] = r;
} else {
(this.extEncoderList || (this.extEncoderList = [])).unshift([e, r]);
}
function r(e) {
return i && (e = i(e)), new a(e, t);
}
},
getExtPacker: function (t) {
var e = this.extPackers || (this.extPackers = {}),
i = t.constructor,
a = i && i.name && e[i.name];
if (a) return a;
for (var s = this.extEncoderList || (this.extEncoderList = []), r = s.length, n = 0; n < r; n++) {
var o = s[n];
if (i === o[0]) return o[1];
}
},
init: o,
}),
(e.preset = o.call(n.preset));
},
1868: (t, e, i) => {
var a = i(8898),
s = i(7137),
r = s.Uint64BE,
n = s.Int64BE,
o = i(6685).w,
h = i(8918),
c = h.global,
l = h.hasBuffer && "TYPED_ARRAY_SUPPORT" in c && !c.TYPED_ARRAY_SUPPORT,
d = (h.hasBuffer && c.prototype) || {};
function u() {
var t = o.slice();
return (
(t[196] = p(196)),
(t[197] = f(197)),
(t[198] = m(198)),
(t[199] = p(199)),
(t[200] = f(200)),
(t[201] = m(201)),
(t[202] = g(202, 4, d.writeFloatBE || y, !0)),
(t[203] = g(203, 8, d.writeDoubleBE || w, !0)),
(t[204] = p(204)),
(t[205] = f(205)),
(t[206] = m(206)),
(t[207] = g(207, 8, v)),
(t[208] = p(208)),
(t[209] = f(209)),
(t[210] = m(210)),
(t[211] = g(211, 8, x)),
(t[217] = p(217)),
(t[218] = f(218)),
(t[219] = m(219)),
(t[220] = f(220)),
(t[221] = m(221)),
(t[222] = f(222)),
(t[223] = m(223)),
t
);
}
function p(t) {
return function (e, i) {
var a = e.reserve(2),
s = e.buffer;
(s[a++] = t), (s[a] = i);
};
}
function f(t) {
return function (e, i) {
var a = e.reserve(3),
s = e.buffer;
(s[a++] = t), (s[a++] = i >>> 8), (s[a] = i);
};
}
function m(t) {
return function (e, i) {
var a = e.reserve(5),
s = e.buffer;
(s[a++] = t), (s[a++] = i >>> 24), (s[a++] = i >>> 16), (s[a++] = i >>> 8), (s[a] = i);
};
}
function g(t, e, i, a) {
return function (s, r) {
var n = s.reserve(e + 1);
(s.buffer[n++] = t), i.call(s.buffer, r, n, a);
};
}
function v(t, e) {
new r(this, e, t);
}
function x(t, e) {
new n(this, e, t);
}
function y(t, e) {
a.write(this, t, e, !1, 23, 4);
}
function w(t, e) {
a.write(this, t, e, !1, 52, 8);
}
e.getWriteToken = function (t) {
return t && t.uint8array
? (((e = u())[202] = g(202, 4, y)), (e[203] = g(203, 8, w)), e)
: l || (h.hasBuffer && t && t.safe)
? (function () {
var t = o.slice();
return (
(t[196] = g(196, 1, c.prototype.writeUInt8)),
(t[197] = g(197, 2, c.prototype.writeUInt16BE)),
(t[198] = g(198, 4, c.prototype.writeUInt32BE)),
(t[199] = g(199, 1, c.prototype.writeUInt8)),
(t[200] = g(200, 2, c.prototype.writeUInt16BE)),
(t[201] = g(201, 4, c.prototype.writeUInt32BE)),
(t[202] = g(202, 4, c.prototype.writeFloatBE)),
(t[203] = g(203, 8, c.prototype.writeDoubleBE)),
(t[204] = g(204, 1, c.prototype.writeUInt8)),
(t[205] = g(205, 2, c.prototype.writeUInt16BE)),
(t[206] = g(206, 4, c.prototype.writeUInt32BE)),
(t[207] = g(207, 8, v)),
(t[208] = g(208, 1, c.prototype.writeInt8)),
(t[209] = g(209, 2, c.prototype.writeInt16BE)),
(t[210] = g(210, 4, c.prototype.writeInt32BE)),
(t[211] = g(211, 8, x)),
(t[217] = g(217, 1, c.prototype.writeUInt8)),
(t[218] = g(218, 2, c.prototype.writeUInt16BE)),
(t[219] = g(219, 4, c.prototype.writeUInt32BE)),
(t[220] = g(220, 2, c.prototype.writeUInt16BE)),
(t[221] = g(221, 4, c.prototype.writeUInt32BE)),
(t[222] = g(222, 2, c.prototype.writeUInt16BE)),
(t[223] = g(223, 4, c.prototype.writeUInt32BE)),
t
);
})()
: u();
var e;
};
},
1885: (t, e, i) => {
var a = i(5182),
s = i(7137),
r = s.Uint64BE,
n = s.Int64BE,
o = i(8918),
h = i(5706),
c = i(1868),
l = i(6685).w,
d = i(7386).S,
u = "undefined" != typeof Uint8Array,
p = "undefined" != typeof Map,
f = [];
(f[1] = 212),
(f[2] = 213),
(f[4] = 214),
(f[8] = 215),
(f[16] = 216),
(e.getWriteType = function (t) {
var e = c.getWriteToken(t),
i = t && t.useraw,
s = u && t && t.binarraybuffer,
m = s ? o.isArrayBuffer : o.isBuffer,
g = s
? function (t, e) {
w(t, new Uint8Array(e));
}
: w,
v =
p && t && t.usemap
? function (t, i) {
if (!(i instanceof Map)) return b(t, i);
var a = i.size;
e[a < 16 ? 128 + a : a <= 65535 ? 222 : 223](t, a);
var s = t.codec.encode;
i.forEach(function (e, i, a) {
s(t, i), s(t, e);
});
}
: b;
return {
boolean: function (t, i) {
e[i ? 195 : 194](t, i);
},
function: y,
number: function (t, i) {
var a,
s = 0 | i;
if (i !== s) return void e[(a = 203)](t, i);
a = -32 <= s && s <= 127 ? 255 & s : 0 <= s ? (s <= 255 ? 204 : s <= 65535 ? 205 : 206) : -128 <= s ? 208 : -32768 <= s ? 209 : 210;
e[a](t, s);
},
object: i
? function (t, i) {
if (m(i))
return (function (t, i) {
var a = i.length;
e[a < 32 ? 160 + a : a <= 65535 ? 218 : 219](t, a), t.send(i);
})(t, i);
x(t, i);
}
: x,
string: (function (t) {
return i;
function i(i, a) {
var s = a.length,
r = 5 + 3 * s;
i.offset = i.reserve(r);
var n = i.buffer,
o = t(s),
c = i.offset + o;
s = h.write.call(n, a, c);
var l = t(s);
if (o !== l) {
var d = c + l - o,
u = c + s;
h.copy.call(n, n, d, c, u);
}
e[1 === l ? 160 + s : l <= 3 ? 215 + l : 219](i, s), (i.offset += s);
}
})(
i
? function (t) {
return t < 32 ? 1 : t <= 65535 ? 3 : 5;
}
: function (t) {
return t < 32 ? 1 : t <= 255 ? 2 : t <= 65535 ? 3 : 5;
}
),
symbol: y,
undefined: y,
};
function x(t, i) {
if (null === i) return y(t, i);
if (m(i)) return g(t, i);
if (a(i))
return (function (t, i) {
var a = i.length;
e[a < 16 ? 144 + a : a <= 65535 ? 220 : 221](t, a);
for (var s = t.codec.encode, r = 0; r < a; r++) s(t, i[r]);
})(t, i);
if (r.isUint64BE(i))
return (function (t, i) {
e[207](t, i.toArray());
})(t, i);
if (n.isInt64BE(i))
return (function (t, i) {
e[211](t, i.toArray());
})(t, i);
var s = t.codec.getExtPacker(i);
if ((s && (i = s(i)), i instanceof d))
return (function (t, i) {
var a = i.buffer,
s = a.length,
r = f[s] || (s < 255 ? 199 : s <= 65535 ? 200 : 201);
e[r](t, s), l[i.type](t), t.send(a);
})(t, i);
v(t, i);
}
function y(t, i) {
e[192](t, i);
}
function w(t, i) {
var a = i.length;
e[a < 255 ? 196 : a <= 65535 ? 197 : 198](t, a), t.send(i);
}
function b(t, i) {
var a = Object.keys(i),
s = a.length;
e[s < 16 ? 128 + s : s <= 65535 ? 222 : 223](t, s);
var r = t.codec.encode;
a.forEach(function (e) {
r(t, e), r(t, i[e]);
});
}
});
},
6685: (t, e) => {
for (var i = (e.w = new Array(256)), a = 0; a <= 255; a++) i[a] = s(a);
function s(t) {
return function (e) {
var i = e.reserve(1);
e.buffer[i] = t;
};
}
},
2220: (t, e, i) => {
"use strict";
var a = i(9075),
s = i(6132),
r = i(3363),
n = i(82),
o = i(4304),
h = (i(6492), i(866)),
{ frame: c, proxy_addons: l, supported_store: d, addon_url: u, meta: p, store: f, loader: m, init: g } = i(9606),
v = i(7263),
x = new a.Actions(c);
(t.exports = new (class {
hooked = Symbol();
skins = [...Array(5e3)].map((t, e) => ({ ind: e, cnt: 1 }));
canvas = v.add_ele("canvas", c);
ctx = this.canvas.getContext("2d");
sorts = { dist3d: (t, e) => t.distance_camera - e.distance_camera, dist2d: (t, e) => this.utils.dist_center(t.rect) - this.utils.dist_center(e.rect), hp: (t, e) => t.health - e.health };
constructor() {
this.resize_canvas(),
window.addEventListener("resize", () => this.resize_canvas()),
this.init_interface(),
(this.utils = new h(this.interface)),
(this.visual = new s(this.interface)),
(this.input = new r(this.interface));
}
resize_canvas() {
(this.canvas.width = window.innerWidth), (this.canvas.height = window.innerHeight);
}
init_interface() {
var t = this;
this.interface = {
get ctx() {
return t.ctx;
},
get utils() {
return t.utils;
},
get visual() {
return t.visual;
},
get game() {
return t.game;
},
get socket() {
return t.socket;
},
get three() {
return t.three;
},
get world() {
return t.world;
},
get force_auto() {
return t.config.aim.force_auto;
},
get force_auto_rate() {
return t.config.aim.force_auto_rate;
},
get color() {
return t.config.colors;
},
get controls() {
return t.controls;
},
get player() {
return t.player;
},
get players() {
return t.players;
},
get target() {
return t.target;
},
get inactivity() {
return t.config.game.inactivity;
},
get esp() {
return t.config.esp.status;
},
get wireframe() {
return t.config.player.wireframe;
},
get walls() {
return t.config.esp.walls;
},
get bhop() {
return t.config.player.bhop;
},
get spinbot() {
return t.config.aim.spinbot;
},
get aim() {
return t.config.aim.status;
},
get aim_offset() {
return t.config.aim.offset;
},
get wallbangs() {
return t.config.aim.wallbangs;
},
get aim_fov() {
return t.config.aim.fov;
},
get aim_smooth() {
return t.config.aim.smooth;
},
get hitchance() {
return t.config.aim.hitchance;
},
get auto_reload() {
return t.config.aim.auto_reload;
},
get unlock_skins() {
return t.config.player.skins;
},
pick_target() {
t.target = t.players.filter((t) => t.can_target).sort((e, i) => t.sorts[e.rect && i.rect ? t.config.aim.target_sorting || "dist2d" : "dist3d"](e, i) * (e.frustum ? 1 : 0.5))[0];
},
get proxy() {
return t.config.game.proxy;
},
};
}
async load() {
(this.ui = i(3847)),
g.call(this),
await this.ui.load_config(),
"object" == typeof this.config.aim.smooth && (this.config.aim.smooth = this.config.aim.smooth.value),
this.config.aim.smooth > 1 && (this.config.aim.smooth = 0),
"object" == typeof this.config.esp.walls && (this.config.esp.walls = 100),
("feet" == this.config.aim.target || "chest" == this.config.aim.target) && this.config.aim.target,
m.on("instruct", (t) => {
if (this.config.game.error_tips)
if (t("connection banned"))
if (this.config.game.proxy)
x.alert(
"<p>Your region's proxy was banned.</p>\n\t\t\t\t\t\t<p>To bypass this ban, try one of the following:</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><a href='/'>Find a new match</a></li>\n\t\t\t\t\t\t\t<li><a href='#' onclick='showWindow(1)'>Change your region</a></li>\n\t\t\t\t\t\t</ul>"
);
else {
let t = l
.filter((t) => t[d])
.map((t) => `<li><a target='_blank' href=${JSON.stringify(t[d])}>${t.name}</a></li>`)
.join("");
localStorage.removeItem("krunker_token"),
x.alert(
`<p>You were IP banned, Sploit has signed you out.\nSpoof your IP to bypass this ban with one of the following:</p>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>Using your mobile hotspot</li>\n\t\t\t\t\t\t\t\t${t}\n\t\t\t\t\t\t\t\t<li>Use a <a target="_blank" href=${JSON.stringify(
u("Proxy VPN")
)}>Search for a VPN</a></li>\n\t\t\t\t\t\t\t</ul>`
);
}
else
t("banned - ")
? x.alert("<p>You were banned from the match.</p>\n\t\t\t\t\t<p>Find a new game to bypass this.</p>").then(() => location.assign("/"))
: t("banned") &&
(localStorage.removeItem("krunker_token"),
x.alert("<p>You were banned. Sploit has signed you out.</p>\n\t\t\t\t\t<p>Create a new account to bypass this ban.</p>").then(() => location.assign("/")));
this.config.game.auto_lobby && t("connection error", "game is full", "kicked by vote", "disconnected")
? (location.href = "/")
: !this.config.game.auto_start ||
!t("to play") ||
(this.player && this.player.active) ||
this.utils.wait_for(() => {
var t = this.player && this.player.active;
return t || (this.controls.locklessChange(!0), this.controls.locklessChange(!1)), t;
});
}),
(this.process = this.process.bind(this)),
this.process();
var t = Symbol(),
e = this;
await m.load(
{ WebSocket: n(this.interface) },
{
three: (t) => (this.three = t),
game: (t) => (this.game = t),
controls: (t) => (this.controls = t),
time: (t) => (this.config.game.inactivity ? 1 / 0 : t),
world: (t) => (this.world = t),
can_see: (t) => "full" != this.config.esp.status && (this.config.esp.nametags || t),
skins: (i) =>
Object.defineProperty(i, "skins", {
get() {
return e.config.player.skins ? e.skins : this[t];
},
set(e) {
return (this[t] = e);
},
}),
input: this.input,
socket: (t) => (this.socket = t),
}
);
}
process() {
try {
if ((this.visual.tick(), this.config.game.overlay && this.visual.overlay(), this.config.aim.fov_box && this.visual.fov(this.config.aim.fov), this.game && this.world)) {
this.visual.walls();
for (let t of this.players)
t.is_you && (this.player = t),
t.active &&
(t.tick(),
t.frustum &&
!t.is_you &&
(this.visual.cham(t),
["box", "box_chams", "full"].includes(this.config.esp.status) && this.visual.box(t),
"full" == this.config.esp.status && (this.visual.health(t), this.visual.text(t)),
this.config.esp.tracers && this.visual.tracer(t)));
}
this.config.game.auto_nuke && this.player && 25 == this.player.streaks.length && this.socket.send("k", 0);
} catch (t) {
m.report_error("frame", t);
}
this.utils.request_frame(this.process);
}
get config() {
return this.ui.config;
}
get players() {
return this.game.players.list.map((t) => this.add(t));
}
add(t) {
return t[this.hooked] || (t[this.hooked] = new o(this.interface, t));
}
})()).load();
},
3847: (t, e, i) => {
"use strict";
var { api: a, meta: s, loader: r, frame: n } = i(9606),
o = i(9075),
h = i(6425),
c = i(6492),
l = i(8144),
d = i(7263),
u = new o.Config(n, "ProShadow", "config"),
p = {
toggle: new c().callback(() => {
u.visible ? u.hide() : (document.exitPointerLock(), u.show());
}),
reset: new c().callback(() => u.load_preset("Default", { binds: u.menu.binds })),
},
f = u.tab("ESP");
f.control("ESP Mode", { name: "ESP Mode", type: "dropdown", walk: "esp.status", value: { Off: "off", Box: "box", Chams: "chams", "Box & Chams": "box_chams", Full: "full" } }),
f.control("Nametags", { type: "boolean", walk: "esp.nametags" }),
f.control("Tracers", { type: "boolean", walk: "esp.tracers" }),
f.control("Wireframe", { type: "boolean", walk: "esp.wireframe" }),
f.control("Wall Opacity", { type: "slider", walk: "esp.walls", min: 0, max: 100, step: 10 }),
f.control("Overlay", { type: "boolean", walk: "game.overlay" }),
f.control("Rainbow Colors", { type: "boolean", walk: "esp.rainbow" }),
f.control("Custom CSS", {
type: "function",
value() {
u.css_editor.show();
},
}),
f.control("Hostile Color", { type: "color", walk: "colors.hostile" }),
f.control("Risk Color", { type: "color", walk: "colors.risk" }),
f.control("Friendly Color", { type: "color", walk: "colors.friendly" }),
f.control("Rainbow Color", { type: "boolean", walk: "colors.rainbow" });
var m = u.tab("GUN");
m.control("Aimbot Mode", { type: "dropdown", walk: "aim.status", value: { Off: "off", Triggerbot: "trigger", Correction: "correction", Assist: "assist", Automatic: "auto" } }),
m.control("Target", { type: "dropdown", walk: "aim.offset", value: { Head: "head", Torso: "torso", Legs: "legs", Random: "random", Multi: "multi" } }),
m.control("Target Sorting", { type: "dropdown", walk: "aim.target_sorting", value: { Crosshair: "dist2d", Distance: "dist3d", Health: "hp" } }),
m.control("Draw Target FOV", { type: "boolean", walk: "aim.fov_box" }),
m.control("Target FOV", { type: "slider", walk: "aim.fov", min: 5, max: 110, step: 5, labels: { 110: "Inf" } }),
m.control("Smoothness", { type: "slider", walk: "aim.smooth", min: 0, max: 1, step: 0.1, labels: { 0: "Off" } }),
m.control("Hitchance", { type: "slider", walk: "aim.hitchance", min: 10, max: 100, step: 10 }),
m.control("Wallbangs", { type: "boolean", walk: "aim.wallbangs" }),
m.control("Spinbot", { type: "boolean", walk: "aim.spinbot" }),
m.control("Force auto-fire", { type: "boolean", walk: "aim.force_auto" }),
m.control("Auto-fire rate", { type: "slider", walk: "aim.force_auto_rate", min: 0, max: 2, step: 0.1 }),
m.control("Auto reload", { type: "boolean", walk: "aim.auto_reload" });
var g = u.tab("Player");
g.control("Auto Bhop Mode", { type: "dropdown", walk: "player.bhop", value: { Off: "off", "[SPACE] to Slide": "keyslide", "Auto Slide": "autoslide", } }),
g.control("Unlock All Skins", { type: "boolean", walk: "player.skins" });
var v = u.tab("Game");
v.control("Proxy (Rage Gameplay)", { type: "boolean", walk: "game.proxy" }).on("click", (t, e) => !e && location.assign("/")),
v.control("Auto Activate Nuke", { type: "boolean", walk: "game.auto_nuke" }),
v.control("Auto Start Match", { type: "boolean", walk: "game.auto_start" }),
v.control("New Lobby Finder", { type: "boolean", walk: "game.auto_lobby" }),
v.control("No Inactivity kick", { type: "boolean", walk: "game.inactivity" }),
v.control("Error code tips", { type: "boolean", walk: "game.error_tips" });
var x = u.tab("Info");
x.control("Discord", { type: "link", value: s.discord }),
x.control("ProShadow WebApp", { type: "link", value: s.forum }),
x.control("Download Game", { type: "link", value: l.resolve({ target: r.api, endpoint: "/v2/source", query: { download: !0 } }) });
var y = u.tab("UI And Preset");
y.control({
type: "functions",
value: {
Reset() {
u.load_preset("Default");
},
async Import() {
var t = await h.pick({ accept: "menu.json" }),
e = await t.read();
try {
await u.insert_config(JSON.parse(e), !0);
} catch (t) {
console.error(t), alert("Invalid config");
}
},
Export() {
h.save({ name: "menu.json", data: JSON.stringify(u.config) });
},
},
});
var w = y.control("Preset", { type: "select", value: {} }).select;
w.addEventListener("change", () => {
"Custom" != w.value && u.load_preset(w.value, { section: u.config.section });
}),
d.add_ele("ez-option", w, { value: "Custom" }),
u.on("add-preset", (t) => d.add_ele("ez-option", w, { value: t })),
u.on("config", () => {
var t = u.presets.get("Default"),
e = JSON.stringify(d.filter_deep(d.clone_obj(u.config), t));
for (let [i, a] of u.presets) if (JSON.stringify(d.assign_deep(d.clone_obj(t), a)) == e) return (w.value = i);
w.value = "Custom";
}),
y.control("Menu Toggle", { type: "keybind", walk: "binds.toggle" }).on("change", (t) => p.toggle.set_key("F2", t)),
y.control("Reset settings", { type: "keybind", walk: "binds.reset" }).on("change", (t) => p.reset.set_key(t)),
(u.css_editor = new o.Editor(n, {
help: [
"<h3>Glossary:</h3><ul>",
"<li>Menu bar - set of buttons found in the top left of the menu.</li>",
"</ul>",
"<h3>What does this menu do?</h3>",
"<p>This is a CSS manager/ide for Krunker.</p>",
"<h3>How do I add my CSS?</h3>",
"<p>1. Press the svg.web button found in the menu bar.</p>",
"<p>2. In the new window, input the link to your CSS then press OK.</p>",
"<h3>How do I manually add CSS?</h3>",
"<p>1. Create a new file with the svg.add_file button found in the top right of the CSS manager.<p>",
"<p>2. In the text editor, input your CSS.<p>",
"<p>3. When you are finished, press the svg.save button to save changes.<p>",
"<h3>How do I turn on/off my CSS?</h3>",
"<p>Pressing the square icon in your CSS's tab will toggle the visibility. When the square is filled, the tab is enabled, when the square is empty, the tab is disabled.<p>",
"<h3>How do I rename my CSS?</h3>",
"<p>Pressing the svg.rename icon in your CSS's tab will change the tab to renaming mode. Type in the new name then press enter to save changes.<p>",
"<h3>How do I remove my CSS?</h3>",
"<p>Pressing the svg.close icon in your CSS's tab will remove your CSS.<p>",
`<p>For further help, search or post on the forum found by <a target="_blank" href="${s.forum}">clicking here</a>.<p>`,
].join(""),
})),
u.add_preset("Default", {
binds: { toggle: "KeyC", reset: null },
aim: { status: "off", offset: "random", target_sorting: "dist2d", smooth: 0.2, hitchance: 100, fov_box: !1, fov: 50, wallbangs: !1, auto_reload: !1, force_auto: !1, force_auto_rate: 0.2, spinbot: !1 },
colors: { rainbow: !1, risk: "#FF7700", hostile: "#FF0000", friendly: "#00FF00" },
esp: { rainbow: !1, wireframe: !1, status: "off", walls: 100, labels: !1, tracers: !1 },
game: { proxy: !1, auto_nuke: !1, auto_lobby: !1, auto_start: !1, inactivity: !1, error_tips: !0, custom_loading: !0 },
player: { bhop: "off", skins: !1 },
}),
u.add_preset("Assist", { aim: { status: "assist", fov: 25, offset: "random", smooth: 0.5 }, player: { bhop: "keyslide" } }),
u.add_preset("Rage", { esp: { status: "full", tracers: !0 }, aim: { status: "auto", fov: 110, smooth: 0, force_auto: !0, auto_reload: !0, wallbangs: !0, offset: "multi", spinbot: !0 }, player: { bhop: "autoslide" } }),
(t.exports = u);
},
6454: (t) => {
t.exports = "main{display:flex;align-items:center;justify-content:center;height:100%;background:#FFF;border-radius:3px;background:#4700c3;padding:0px 10px}main:hover{background:#006cbe}main:active{background:#1683d8}";
},
8182: (t) => {
t.exports =
"main{display:flex;align-items:center;justify-content:center;width:13px;height:13px;background:#FFF;border-radius:3px}main[checked]{background-color:#262626}main[checked]:hover{background-color:#999999}main svg{width:70%;height:70%}";
},
1192: (t) => {
t.exports = "main{width:100%;height:100%;display:flex}input{width:100%;height:100%;outline:none;background:#FFF;border:none;border-radius:3px;padding:0px 8px;font:inherit}";
},
1618: (t) => {
t.exports =
"main{background:#FFF;padding:0px 9px;color:#2B2B2B;display:flex;flex-direction:row;align-items:center;height:100%;border-radius:3px;position:relative}main:hover{border-color:#999}main svg{margin-left:auto}main slot{flex-direction:column;position:absolute;background:#FFF;width:100%;left:0px;display:none;z-index:1000;top:100%;margin-top:3px;margin-bottom:3px;border-radius:2px;padding:3px 0px;box-shadow:rgb(0 0 0) 0px 0px 7px}main.bottom slot{top:unset;bottom:100%}main.active slot{display:flex}::slotted(ez-option){border-radius:2px;margin:0px 3px;color:#2B2B2B;padding:3px 6px}::slotted(ez-option:hover){background:#E5E5E5}::slotted(ez-option:active){background:#E5E5E5;color:#262626}::slotted(ez-option[selected]){background:#006CBE;color:#FFF}";
},
3273: (t) => {
t.exports =
"main{position:relative;height:100%}main::before{content:'';position:absolute;margin:auto;top:0px;bottom:0px;background:#666;width:100%;height:2px}.background{background:var(--blue);height:2px;position:absolute;margin:auto;top:0px;bottom:0px}.thumb::before{content:attr(data-label);position:relative;border:1px solid #1C1C1C;background:#2B2B2B;padding:5px 5px;bottom:40px;left:4px;transform:translateX(-50%);display:none}.thumb:hover::before,main:active .thumb::before{display:inline-block}main:hover:not(:active)::before{background-color:#999}.thumb{position:absolute;top:0px;width:8px;height:100%;margin:auto;top:0px;bottom:0px;background:var(--blue);border-radius:4px}main:hover .thumb{background:#F2F2F2}main:active>.thumb{background:#767676}";
},
3497: (t) => {
t.exports =
"main{display:flex;align-items:center;background:#FFF;border:1px solid #666;border-radius:50px;width:40px;height:20px;position:relative}main::before{content:'';width:10px;height:10px;background:#000;border-radius:50%;margin:5px;left:0px;position:absolute}main[checked]{border:none;padding:1px;background:#262626}main[checked]:hover{background:#2578ba}main[checked]::before{background:#FFF;left:unset;right:0px}";
},
9306: (t) => {
t.exports =
"main.prompt{width:475px;padding:10px;margin:auto;left:0;right:0;top:0;bottom:0;background:#4A4A4A;border-radius:3px;border:none;opacity:1;z-index:10000!important}main.prompt>.description{max-height:325px;overflow-y:auto;line-height:18px;margin-bottom:7px}main.prompt svg{width:1.5em;height:1.5em;vertical-align:bottom}main.prompt>form{display:flex;flex-direction:row;flex-wrap:wrap;margin:0px}main.prompt input{width:100%;background:transparent;padding:1px 8px;border:1px solid #6F6F6F;border-radius:2px;font:inherit;line-height:30px;color:#FFF;height:30px;text-align:left;margin-bottom:10px}main.prompt input:focus{padding:0px 7px;border:2px solid #909090}main.prompt button{width:68px;height:32px;border:none;border-radius:2x;background:#5C5C5C;font-family:SegoeUI;color:#FFF;font-weight:bold}main.prompt button:hover{background:#6E6E6E}main.prompt button:hover:active{background:#7D7D7D}main.prompt button.submit{background:#006CBE;margin-right:8px}main.prompt button.submit:hover{background:#1C7CC5}main.prompt>form>button.submit:hover:active{background:#3389CB}main.prompt>form>button:first-of-type{margin-left:auto}main.prompt>form>button:hover{background:#333}";
},
7405: (t) => {
t.exports =
"main.editor{width:500px}main.editor .write{width:100%;height:300px}main.editor .bar{width:100%;height:36px;display:flex;background:#CCC}main.editor .actions{display:flex;flex-grow:1}main.editor .files{display:flex;margin:0px;margin-left:4px;margin-right:4px;margin-top:4px;flex-direction:row;overflow:hidden}main.editor>.bar>.scroll{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:none;align-items:center;justify-content:center;flex:none;padding:1px;border:none}main.editor>.bar>.scroll:hover:not(:active,[disabled]){border:1px solid #626262;padding:0px;background:#A3A3A3;color:#434343}main.editor>.bar>.scroll:active{color:#323232;background:#7A7A7A}main.editor>.bar.overflow .scroll{display:flex}main.editor>.bar.overflow .scroll[disabled]{background:#A3A3A3;color:#7D7D7D}main.editor>.bar.overflow .files{margin-left:0px;margin-right:0px}main.editor .actions button{height:36px;width:36px;text-align:center;position:relative;color:#0D0D0D;border:none;border-radius:0px;background:transparent;font-size:14px}main.editor .actions button svg{width:16px;height:16px}main.editor .actions button:hover{background:#A3A3A3}main.editor .actions button:hover:active{background:#7A7A7A}main.editor .actions .new{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:flex;align-items:center;justify-content:center;margin-right:25px;padding:0px;border:none}main.editor .actions .new:hover{--color: #3E3E3E;background:#E0E0E0}main.editor .actions .new:hover:active{--color: #414141;background:#EBEBEB}main.editor .actions .new::before,main.editor .actions .new::after{content:'';width:1px;height:12px;position:absolute;margin:auto;background:var(--color)}main.editor .actions .new::after{width:12px;height:1px}main.editor .save{margin-left:auto}main.editor .save.saved>*{opacity:0.3}main.editor .web svg{width:16px;height:16px}.tab{white-space:nowrap;display:flex;align-items:center;padding:0px 10px;color:#000;border-top-left-radius:4px;border-top-right-radius:4px}.tab:last-of-type{margin-right:0px}.tab:hover{background:#E0E0E0}.tab.active{background:#FFF}.tab>.name{overflow:hidden;text-overflow:ellipsis}.tab .close{margin-left:5px}.tab.active .close{color:#626262}.tab .close:hover{color:#474747;background:#CACACA}.tab.active .close:hover{background:#E6E6E6}.tab .close:hover:active{color:#5C5C5C;background:#B3B3B3}.tab.active .close:hover:active{background:#CCC}.tab>.active{margin-left:5px;box-sizing:border-box;border:2px solid #000;position:relative}.tab>.active.true::after{content:'';width:7px;height:7px;display:block;margin:auto;position:absolute;top:0px;bottom:0px;left:0px;right:0px;background:#000}.tab>.active,.tab>.close,.tab>.rename{width:15px;height:15px}main.editor footer{position:relative;display:flex;height:30px;align-items:center;padding:0px 15px}main.editor footer svg{width:1.5em;height:1.5em;vertical-align:middle;white-space}main.editor footer .text{display:flex;align-items:center;margin-right:auto;white-space:pre-wrap}main.editor footer .file-opt{display:flex;align-items:center;flex-direction:row;margin-right:10px}main.editor footer .file-opt ez-input{width:100px;height:23px}main.editor footer .file-opt ez-input,main.editor footer .file-opt ez-checkbox{margin-left:10px}";
},
2617: (t) => {
t.exports =
".loading{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:100%;height:100%;top:0px;background:#000;z-index:0!important;transition:0.75s ease;border:none;user-select:none}.loading img{width:178px;height:178px}.loading a{background-image:url('https://y9x.github.io/webpack/libs/ui/loading/discord-normal.png');width:50px;height:56px;background-size:contain;background-repeat:no-repeat;margin-left:4px;pointer-events:all;cursor:pointer;transition:all .2s;display:inline-block}.loading a:hover{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-hover.png');transform:scale(.95)}.loading a:active{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-pressed.png')}";
},
5302: (t) => {
t.exports =
"*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}";
},
47: (t) => {
t.exports =
".write{background:#FFF;font-size:13px;font-family:monospace;line-height:18px;contain:size;overflow:auto;display:grid;grid-template-columns:26px 1fr}.write>.linenums{padding-left:6px;width:20px;height:100%;background:#F7F7F7;color:#999;line-height:18px;text-align:right}.write>.text{min-width:calc(100% - 4px);padding-top:0px;border:none;line-height:18px;background:transparent;resize:none;padding-left:4px;white-space:nowrap;overflow:hidden}";
},
1650: (t) => {
t.exports =
"*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}";
},
4309: (t) => {
t.exports =
"@font-face{font-family:'SegoeUI';font-weight:400;src:url('https://y9x.github.io/webpack/libs/Segoe/400.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:100;src:url('https://y9x.github.io/webpack/libs/Segoe/100.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:200;src:url('https://y9x.github.io/webpack/libs/Segoe/200.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:600;src:url('https://y9x.github.io/webpack/libs/Segoe/600.woff2?a') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:700;src:url('https://y9x.github.io/webpack/libs/Segoe/700.woff2?1') format('woff2')}";
},
3571: (t) => {
t.exports = { discord: "https://discord.gg/MyeKERgHTg", forum: "https://proshadow-op.web.app/" };
},
},
e = {};
function i(a) {
var s = e[a];
if (void 0 !== s) return s.exports;
var r = (e[a] = { exports: {} });
return t[a].call(r.exports, r, r.exports, i), r.exports;
}
(() => {
"use strict";
var { krunker: t } = i(9606);
t && i(2220);
})();
})();