Moo.js

MooMoo packet

אין להתקין סקריפט זה ישירות. זוהי ספריה עבור סקריפטים אחרים // @require https://update.greasyfork.org/scripts/468598/1204625/Moojs.js

// ==UserScript==
// @name         Moo.js
// @version      0.1
// @description  MooMoo packet
// @author       _VcrazY_
// @license MIT
// ==/UserScript==
(() => {
  var e = {
      5613(e) {
        var t;
        (t = function (e) {
          var t, o, a, r, i;
          for (i = [], r = 0, a = 0; a < e.length; )
            "\n" === (o = e[a]) &&
              ((t = e.substring(r, a)), i.push(t), (r = a + 1)),
              a++;
          return r < e.length && ((t = e.substring(r)), i.push(t)), i;
        }),
          (e.exports = t);
      },
      366(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.MooMoo = void 0);
        let a = Function.prototype;
        if (((t.MooMoo = a[69]), !t.MooMoo)) {
          let r = o(3607).Z,
            i = o(8351).updateHookPosition,
            n = o(5919).Z;
          (t.MooMoo = new r()),
            Object.defineProperty(Function.prototype, 69, {
              get: () => t.MooMoo,
            });
          let s = Symbol();
          Object.defineProperty(Object.prototype, "x", {
            set(e) {
              (this[s] = e), i.call(this, e);
            },
            get() {
              return this[s];
            },
          }),
            n();
        }
      },
      3607(e, t, o) {
        "use strict";

        var a;
        a = {
          value: !0,
        };
        let r = o(8516),
          i = o(550),
          n = o(597),
          s = o(5852),
          l = o(4e3),
          c = o(8350),
          d = o(2659),
          u = o(484),
          f = o(2298),
          M = o(112),
          $ = o(8183),
          m = o(4190);
        class p extends r.default {
          constructor() {
            super(),
              (this.teams = []),
              (this.myPlayer = {}),
              (this.statistics = {}),
              (this.DidInit = !1),
              (this.GamePlayerManager = new n.default()),
              (this.ActivePlayerManager = new n.default()),
              (this.LeaderboardManager = new s.default()),
              (this.GameObjectManager = new l.default()),
              (this.CommandManager = new c.default()),
              (this.PacketManager = new d.default()),
              (this.PacketInterceptor = new m.default()),
              (this.BotManager = u.default.instance),
              (this.UTILS = new $.default()),
              (this.vars = {}),
              (this.msgpack = {}),
              (this.msgpack.decode = f.default),
              (this.msgpack.encode = M.default),
              (this.vars.gameLoaded = !1);
          }
          debug(e) {
            this.emit("debug", e);
          }
        }
        (t.Z = p), (0, i.default)();
      },
      5852(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(627),
          r = o(366),
          i = o(9347);
        t.default = class e {
          constructor() {
            this.leaderboard = new Map();
          }
          updateLeaderboard(e) {
            let t = (0, a.default)(e, 3);
            e.length,
              t.forEach((e, t) => {
                let o = r.MooMoo.GamePlayerManager.getPlayerBySid(e[0]);
                o ||
                  (((o = new i.default(e[0])).sid = e[0]),
                  (o.name = e[1]),
                  r.MooMoo.GamePlayerManager.addPlayer(o)),
                  this.leaderboard.set(t + 1, {
                    player: o,
                    sid: e[0],
                    name: e[1],
                    score: e[2],
                  });
              });
          }
          clearLeaderboard() {
            this.leaderboard = new Map();
          }
        };
      },
      4e3(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(7809);
        t.default = class e {
          constructor() {
            this.objects = new Map();
          }
          addObject(e) {
            let t = a.MooMoo.GameObjectManager.getGameObjectBySid(e.sid);
            t || (t = new r.default(e.sid)),
              (t.x = e.x),
              (t.y = e.y),
              (t.ownerSid = e.ownerSid),
              (t.type = e.type),
              (t.sid = e.sid),
              this.objects.set(e.sid, t);
          }
          getGameObjectBySid(e) {
            return this.objects.get(e);
          }
          getObjectsByOwnerSid(e) {
            let t = [];
            return (
              this.objects.forEach((o) => {
                o.ownerSid == e && t.push(o);
              }),
              t
            );
          }
          removeObjectBySid(e) {
            this.objects.delete(e);
          }
          removeObjectsByOwnerSid(e) {
            this.objects.forEach((t) => {
              t.ownerSid == e && this.objects.delete(t.sid);
            });
          }
        };
      },
      4190(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(550);
        t.default = class e {
          constructor() {
            (this.clientCallbacks = new Map()),
              (this.serverCallbacks = new Map()),
              (this.lastCallbackId = 0);
          }
          addCallback(e, t) {
            let o;
            "client" === e
              ? (o = this.clientCallbacks)
              : "server" === e && (o = this.serverCallbacks);
            let a = this.lastCallbackId++;
            return o.set(a, t), a;
          }
          removeCallback(e) {
            this.clientCallbacks.delete(e), this.serverCallbacks.delete(e);
          }
          applyClientCallbacks(e) {
            if (!this.clientCallbacks.size) return e;
            for (let [t, o] of this.clientCallbacks) e = o(e) || e;
            return e;
          }
          applyServerCallbacks(e) {
            if (!this.serverCallbacks.size) return e;
            for (let [t, o] of this.serverCallbacks) e = o(e);
            return e;
          }
          getOriginalServerCallback() {
            return a.onmessagecallback;
          }
        };
      },
      2659(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(8516);
        class r extends a.default {
          constructor() {
            super(),
              (this._packetCountPerMinute = 0),
              (this._packetCountPerSecond = 0),
              (this._packetTime = 60),
              (this._packetLimitPerMinute = 5400),
              (this._packetLimitPerSecond = 120);
          }
          initialize() {
            this._startTimerPerMinute(), this._startTimerPerSecond();
          }
          addPacket() {
            this._packetCountPerSecond++, this._packetCountPerMinute++;
            let e = this.getKickPercentagePerMinute(),
              t = this.getKickPercentagePerSecond();
            e >= 100 && this.emit("Kick", this),
              t >= 100 && this.emit("Kick", this),
              this.emit("update", this);
          }
          getKickPercentagePerMinute() {
            return (
              (this._packetCountPerMinute / this._packetLimitPerMinute) * 100
            );
          }
          getKickPercentagePerSecond() {
            return (
              (this._packetCountPerSecond / this._packetLimitPerSecond) * 100
            );
          }
          getPacketCountPerMinute() {
            return this._packetCountPerMinute;
          }
          getPacketCountPerSecond() {
            return this._packetCountPerSecond;
          }
          getPacketTime() {
            return this._packetTime;
          }
          _startTimerPerMinute() {
            this._intervalIdPerMinute = setInterval(() => {
              this._resetPacketCountPerMinute();
            }, 6e4);
          }
          _startTimerPerSecond() {
            this._intervalIdPerSecond = setInterval(() => {
              this._packetCountPerSecond > this._packetLimitPerSecond &&
                this.emit("Kick", this.getKickPercentagePerSecond()),
                this._resetPacketCountPerSecond();
            }, 1e3);
          }
          _resetPacketCountPerMinute() {
            (this._packetCountPerMinute = 0), (this._packetTime = 60);
          }
          _resetPacketCountPerSecond() {
            this._packetCountPerSecond = 0;
          }
        }
        t.default = r;
      },
      597(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = class e {
          constructor() {
            this.players = [];
          }
          addPlayer(e) {
            this.players.push(e);
          }
          removePlayer(e) {
            this.players.splice(this.players.indexOf(e), 1);
          }
          removePlayerBySid(e) {
            this.players.splice(
              this.players.findIndex((t) => t.sid === e),
              1
            );
          }
          removePlayerById(e) {
            this.players.splice(
              this.players.findIndex((t) => t.id === e),
              1
            );
          }
          getPlayerBySid(e) {
            return this.players.find((t) => t.sid === e);
          }
          getPlayerById(e) {
            return this.players.find((t) => t.id === e);
          }
          getPlayerByName(e) {
            let t = this.players.filter((t) => t.name === e);
            return t.length > 1 ? t : t[0];
          }
          clearPlayers() {
            this.players = [];
          }
          updatePlayer(e, t) {
            let o = this.getPlayerBySid(e);
            o && Object.assign(o, t);
          }
          getEnemies() {
            return this.players.filter((e) => {
              if (
                e.id !== a.MooMoo.myPlayer.id &&
                (null === e.team || e.team !== a.MooMoo.myPlayer.team)
              )
                return !0;
            });
          }
          getTeammates() {
            return this.players.filter((e) => {
              if (
                e.id !== a.MooMoo.myPlayer.id &&
                e.team === a.MooMoo.myPlayer.team
              )
                return !0;
            });
          }
          getClosestEnemy() {
            let e = this.getEnemies(),
              t = e[0];
            return e
              ? (e.forEach((e) => {
                  a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                    a.MooMoo.myPlayer.x,
                    a.MooMoo.myPlayer.y,
                    e.x,
                    e.y
                  ) <
                    a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                      a.MooMoo.myPlayer.x,
                      a.MooMoo.myPlayer.y,
                      t.x,
                      t.y
                    ) && (t = e);
                }),
                t)
              : null;
          }
          getClosestTeammate() {
            let e = this.getTeammates(),
              t = e[0];
            return e
              ? (e.forEach((e) => {
                  a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                    a.MooMoo.myPlayer.x,
                    a.MooMoo.myPlayer.y,
                    e.x,
                    e.y
                  ) <
                    a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                      a.MooMoo.myPlayer.x,
                      a.MooMoo.myPlayer.y,
                      t.x,
                      t.y
                    ) && (t = e);
                }),
                t)
              : null;
          }
          getClosestPlayer() {
            let e = this.players[0];
            return this.players
              ? (this.players.forEach((t) => {
                  a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                    a.MooMoo.myPlayer.x,
                    a.MooMoo.myPlayer.y,
                    t.x,
                    t.y
                  ) <
                    a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                      a.MooMoo.myPlayer.x,
                      a.MooMoo.myPlayer.y,
                      e.x,
                      e.y
                    ) && (e = t);
                }),
                e)
              : null;
          }
          getClosestEnemyToPlayer(e) {
            let t = this.getEnemies(),
              o = t[0];
            return t
              ? (t.forEach((t) => {
                  a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                    e.x,
                    e.y,
                    t.x,
                    t.y
                  ) <
                    a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                      e.x,
                      e.y,
                      o.x,
                      o.y
                    ) && (o = t);
                }),
                o)
              : null;
          }
          getClosestEnemyAngle() {
            let e = this.getClosestEnemy();
            return e
              ? a.MooMoo.UTILS.getAngleBetweenTwoPoints(
                  a.MooMoo.myPlayer.x,
                  a.MooMoo.myPlayer.y,
                  e.x,
                  e.y
                )
              : null;
          }
          getClosestEnemyDistance() {
            let e = this.getClosestEnemy();
            return e
              ? a.MooMoo.UTILS.getDistanceBetweenTwoPoints(
                  a.MooMoo.myPlayer.x,
                  a.MooMoo.myPlayer.y,
                  e.x,
                  e.y
                )
              : null;
          }
        };
      },
      8183(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        class o {
          static getDistanceBetweenTwoPoints(e, t, o, a) {
            return Math.sqrt(Math.pow(o - e, 2) + Math.pow(a - t, 2));
          }
          static getAngleBetweenTwoPoints(e, t, o, a) {
            return Math.atan2(a - t, o - e);
          }
          static atan2(e, t, o, a) {
            return Math.atan2(a - t, o - e);
          }
          constructor() {
            (this.getDistanceBetweenTwoPoints = o.getDistanceBetweenTwoPoints),
              (this.dist = o.getDistanceBetweenTwoPoints),
              (this.distance = o.getDistanceBetweenTwoPoints),
              (this.atan2 = o.atan2),
              (this.angle = o.atan2),
              (this.getAngleBetweenTwoPoints = o.getAngleBetweenTwoPoints);
          }
        }
        t.default = o;
      },
      8350(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(1552);
        t.default = class e {
          constructor() {
            (this.commands = {}), (this.prefix = "/");
          }
          setPrefix(e) {
            this.prefix = e;
          }
          registerCommand(e, t) {
            let o = new a.default(e, t);
            this.commands[e] = o;
          }
          unregisterCommand(e) {
            delete this.commands[e];
          }
        };
      },
      8516(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = class e {
            constructor() {
              this._listeners = {};
            }
            on(e, t) {
              this._listeners[e] || (this._listeners[e] = []),
                this._listeners[e].push(t);
            }
            once(e, t) {
              this.on(e, function o(...a) {
                this.off(e, o), t(...a);
              });
            }
            emit(e, ...t) {
              this._listeners[e] && this._listeners[e].forEach((e) => e(...t));
            }
            addEventListener(e, t) {
              this.on(e, t);
            }
          });
      },
      3748(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e() {
          a.MooMoo.myPlayer.inventory = {};
          let t = [
            {
              category: "primary",
              start: 0,
              end: 9,
            },
            {
              category: "secondary",
              start: 9,
              end: 16,
            },
            {
              category: "food",
              start: 16,
              end: 19,
              subtract: !0,
            },
            {
              category: "wall",
              start: 19,
              end: 22,
              subtract: !0,
            },
            {
              category: "spike",
              start: 22,
              end: 26,
              subtract: !0,
            },
            {
              category: "mill",
              start: 26,
              end: 29,
              subtract: !0,
            },
            {
              category: "mine",
              start: 29,
              end: 31,
              subtract: !0,
            },
            {
              category: "boostPad",
              start: 31,
              end: 33,
              subtract: !0,
            },
            {
              category: "trap",
              start: 31,
              end: 33,
              subtract: !0,
            },
            {
              category: "turret",
              start: 33,
              end: 39,
              subtract: !0,
            },
            {
              category: "spawnPad",
              start: 36,
              end: 37,
              subtract: !0,
            },
          ];
          for (let o = 0; o < t.length; o++) {
            let { category: r, start: i, end: n, subtract: s } = t[o];
            for (let l = i; l < n; l++) {
              let c = document.getElementById(`actionBarItem${l}`);
              if (c && null !== c.offsetParent) {
                a.MooMoo.myPlayer.inventory[r] = s ? l - 16 : l;
                break;
              }
            }
          }
        };
      },
      627(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = function e(t, o) {
            let a = [];
            for (let r = 0; r < t.length; r += o) a.push(t.slice(r, r + o));
            return a;
          });
      },
      9127: function (e, t, o) {
        "use strict";

        var a =
          (this && this.__awaiter) ||
          function (e, t, o, a) {
            return new (o || (o = Promise))(function (r, i) {
              function n(e) {
                try {
                  l(a.next(e));
                } catch (t) {
                  i(t);
                }
              }
              function s(e) {
                try {
                  l(a.throw(e));
                } catch (t) {
                  i(t);
                }
              }
              function l(e) {
                var t;
                e.done
                  ? r(e.value)
                  : ((t = e.value) instanceof o
                      ? t
                      : new o(function (e) {
                          e(t);
                        })
                    ).then(n, s);
              }
              l((a = a.apply(e, t || [])).next());
            });
          };
        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let r = o(8516),
          i = o(4455),
          n = o(3292),
          s = o(366);
        class l extends r.default {
          constructor(e = !1, t) {
            super(),
              (this.connected = !1),
              e
                ? ((this.name = t.name),
                  (this.skin = t.skin),
                  (this.moofoll = t.moofoll))
                : ((this.name = "Bot"), (this.skin = 0), (this.moofoll = !1)),
              (this.gameID = null);
          }
          generateToken() {
            return a(this, void 0, void 0, function* () {
              try {
                return yield window.grecaptcha.execute(
                  "6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ",
                  {
                    action: "homepage",
                  }
                );
              } catch (e) {
                throw e;
              }
            });
          }
          join(e) {
            return a(this, void 0, void 0, function* () {
              switch (typeof e) {
                case "string": {
                  let { region: t, index: o } = i.default.parseServer(e),
                    a = new n.default(t, o);
                  (this.recaptchaToken = yield this.generateToken()),
                    a.joinServer(this);
                  break;
                }
                case "object":
                  if (Array.isArray(e)) {
                    let [r, s] = e,
                      l = new n.default(r, s);
                    (this.recaptchaToken = yield this.generateToken()),
                      l.joinServer(this);
                  } else {
                    let { region: c, index: d } = e,
                      u = new n.default(c, d);
                    (this.recaptchaToken = yield this.generateToken()),
                      u.joinServer(this);
                  }
              }
            });
          }
          spawn() {
            this.ws.send(
              s.MooMoo.msgpack.encode([
                "sp",
                [
                  {
                    name: this.name,
                    skin: this.skin,
                    moofoll: this.moofoll,
                  },
                ],
              ])
            );
          }
          onConnect(e) {
            this.emit("connected", e), (this.connected = !0);
          }
          sendPacket(e) {
            let t = Array.prototype.slice.call(arguments, 1);
            this.ws.send(s.MooMoo.msgpack.encode([e, t]));
          }
        }
        t.default = l;
      },
      484(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(9127);
        class r {
          constructor() {
            (this._bots = new Map()),
              (this._botIdCounter = 0),
              (this.Bot = a.default);
          }
          static get instance() {
            return r._instance || (r._instance = new r()), r._instance;
          }
          addBot(e) {
            let t = this._botIdCounter++;
            return (e.id = t), this._bots.set(t, e), t;
          }
          removeBot(e) {
            this._bots.delete(e);
          }
          getBot(e) {
            return this._bots.get(e);
          }
        }
        t.default = r;
      },
      3292(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(4455),
          r = o(366),
          i = o(627);
        t.default = class e {
          constructor(e, t) {
            (this._region = e), (this._index = t), this.parseServerData();
          }
          get region() {
            return this._region;
          }
          set region(e) {
            this._region = e;
          }
          get index() {
            return this._index;
          }
          set index(e) {
            this._index = e;
          }
          parseServerData() {
            if (!window.vultr || !window.vultr.servers) {
              console.log("vultr or vultr.servers object not found in window");
              return;
            }
            let e = "vultr:" + this._region.toString(),
              t = window.vultr.servers,
              o;
            for (let a = 0; a < t.length; a++) {
              let r = t[a];
              if (!r.region || !r.index) {
                console.log("currentServer missing required properties");
                continue;
              }
              if (r.region === e && r.index === this._index) {
                o = r;
                break;
              }
            }
            if (!o) {
              console.log("Server not found");
              return;
            }
            if (!o.region || !o.index) {
              console.log("targetServer missing required properties");
              return;
            }
            (this.name = o.region + ":" + o.index), (this.ip = o.ip);
          }
          getWebSocketUrl(e) {
            if (this.ip && e)
              return (
                "wss://ip_" +
                this.ip +
                ".moomoo.io:8008/?gameIndex=0&token=" +
                e
              );
            {
              let t = a.default.instance.getCurrentServer();
              if (t)
                return (
                  "wss://ip_" + t.ip + ".moomoo.io:8008/?gameIndex=0&token=" + e
                );
            }
          }
          joinServer(e) {
            let t = this.getWebSocketUrl(e.recaptchaToken),
              o = new WebSocket(t);
            (o.binaryType = "arraybuffer"),
              (o.onopen = () => {
                e.ws = o;
              }),
              o.addEventListener("message", (t) => {
                let o = new Uint8Array(t.data),
                  [a, [...n]] = r.MooMoo.msgpack.decode(o);
                e.emit("packet", {
                  packet: a,
                  data: n,
                }),
                  "io-init" == a && e.onConnect(this),
                  "2" != a || e.gameID || (e.gameID = n[0][1]),
                  "33" == a &&
                    (0, i.default)(n[0], 13).forEach((t) => {
                      t[0] == e.gameID && ((e.x = t[1]), (e.y = t[2]));
                    });
              });
          }
        };
      },
      4455(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(3292),
          r = o(366);
        class i {
          constructor() {
            (this.index = 0),
              (this.region = 0),
              (this.name = ""),
              (this.ip = ""),
              (this.players = 0),
              (this.wsurl = "");
          }
          static get instance() {
            return i._instance || (i._instance = new i()), i._instance;
          }
          static startInterval() {
            setInterval(() => {
              let e = r.MooMoo.ServerManager;
              e || (r.MooMoo.ServerManager = i.instance),
                (e = r.MooMoo.ServerManager) &&
                  r.MooMoo.ServerManager.initalize();
            }, 200);
          }
          initalize() {
            this.calculateServer();
          }
          getCurrentServer() {
            return new a.default(this.region, this.index);
          }
          calculateServer() {
            let e = this.extractRegionAndIndex();
            e.region &&
              e.index &&
              ((this.region = e.region), (this.index = e.index));
          }
          extractRegionAndIndex() {
            let e = window.location.href.match(/server=(\d+):(\d+)/);
            if (e) {
              let t = parseInt(e[1], 10),
                o = parseInt(e[2], 10);
              return {
                region: t,
                index: o,
              };
            }
            return {
              region: null,
              index: null,
            };
          }
          static parseServer(e) {
            let t = e.split(":"),
              o = parseInt(t[0], 10),
              a = parseInt(t[1], 10);
            return {
              region: o,
              index: a,
            };
          }
        }
        t.default = i;
      },
      8106(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(2416);
        t.default = function e(t) {
          if ("number" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.id == t && ((o = !0), a.MooMoo.sendPacket("13c", 1, t, 1));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at buyAccessoryById: Accessory with id " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else if ("string" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.name == t &&
                    ((o = !0), a.MooMoo.sendPacket("13c", 1, e.id, 1));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at buyAccessoryByName: Accessory with name " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else
            try {
              throw Error(
                "Error at buyAccessory: accessoryData must be a number or string"
              );
            } catch (o) {
              console.log(o);
            }
        };
      },
      3269(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(3212);
        t.default = function e(t) {
          if ("number" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.id == t && ((o = !0), a.MooMoo.sendPacket("13c", 1, t, 0));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at buyHatById: Hat with id " + t + " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else if ("string" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.name == t &&
                    ((o = !0), a.MooMoo.sendPacket("13c", 1, e.id, 0));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at buyHatByName: Hat with name " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else
            try {
              throw Error(
                "Error at buyHat: hatData must be a number or string"
              );
            } catch (o) {
              console.log(o);
            }
        };
      },
      4218(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.sendPacket("ch", t);
        };
      },
      8101(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(2416);
        t.default = function e(t) {
          if ("number" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.id == t && ((o = !0), a.MooMoo.sendPacket("13c", 0, t, 1));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at equipAccessoryById: Accessory with id " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else if ("string" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.name == t &&
                    ((o = !0), a.MooMoo.sendPacket("13c", 0, e.id, 1));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at equipAccessoryByName: Accessory with name " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else
            try {
              throw Error(
                "Error at equipAccessory: accessoryData must be a number or string"
              );
            } catch (o) {
              console.log(o);
            }
        };
      },
      420(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(3212);
        t.default = function e(t) {
          if ("number" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.id == t && ((o = !0), a.MooMoo.sendPacket("13c", 0, t, 0));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at equipHatById: Hat with id " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else if ("string" == typeof t)
            !(function e(t) {
              let o = !1;
              if (
                (r.default.find((e) => {
                  e.name == t &&
                    ((o = !0), a.MooMoo.sendPacket("13c", 0, e.id, 0));
                }),
                !o)
              )
                try {
                  throw Error(
                    "Error at equipHatByName: Hat with name " +
                      t +
                      " does not exist"
                  );
                } catch (i) {
                  console.log(i);
                }
            })(t);
          else
            try {
              throw Error(
                "Error at equipHat: hatData must be a number or string"
              );
            } catch (o) {
              console.log(o);
            }
        };
      },
      3044(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t = null) {
          a.MooMoo.sendPacket("c", 1, t), a.MooMoo.sendPacket("c", 0, t);
        };
      },
      8595(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t, o) {
          let r = a.MooMoo.myPlayer.weaponIndex;
          a.MooMoo.sendPacket("5", t, !1),
            a.MooMoo.sendPacket("c", 1, o),
            a.MooMoo.sendPacket("c", 0, o),
            a.MooMoo.sendPacket("5", r, !0);
        };
      },
      3296(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e() {
          a.MooMoo.sendPacket("13c", 0, 0, 1);
        };
      },
      5088(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e() {
          a.MooMoo.sendPacket("13c", 0, 0, 0);
        };
      },
      4572(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = {
            hit: {
              exec: () => console.log("Hit!"),
            },
            wait: {
              exec: (e) =>
                new Promise((t) => setTimeout(t, parseInt(e[0], 10))),
            },
            chat: {
              exec: (e) => console.log(e.join(" ")),
            },
            enddef: {
              exec() {},
            },
          });
      },
      6616(e, t, o) {
        "use strict";

        var a;
        a = {
          value: !0,
        };
        let r = o(4572);
        t.Z = function e(t) {
          let o = {};
          for (let a of t) {
            let i = () => {
              for (let e of a.body) r.default[e.command].exec(e.args);
            };
            o[a.name] = {
              call: i,
            };
          }
          return {
            get: function e(t) {
              return o[t];
            },
          };
        };
      },
      8214(e, t) {
        "use strict";

        var o;
        (o = {
          value: !0,
        }),
          (t.Z = function e(t) {
            let o = [],
              a = null;
            for (let r of t)
              if (r.endsWith("<<<"))
                a = {
                  type: "function",
                  name: r.replace(/[ <]/g, ""),
                  body: [],
                };
              else if (r.includes(">>>")) {
                if (!a)
                  return {
                    type: "ParseError",
                    message: "Unexpected token >>>. No function found.",
                  };
                a.body.push({
                  type: "command",
                  command: "enddef",
                  args: [],
                }),
                  o.push(a),
                  (a = null);
              } else if (a) {
                let i = r.split(" "),
                  n,
                  s;
                for (let l = 0; l < i.length; l++) {
                  let c = i[l];
                  if ("" !== c) {
                    (n = c),
                      (s = i.slice(l + 1)),
                      "chat" == n && (s = [s.join(" ")]);
                    break;
                  }
                }
                a.body.push({
                  type: "command",
                  command: n,
                  args: s,
                });
              }
            return a
              ? {
                  type: "ParseError",
                  message:
                    "Unexpected end of input. Function definition not closed.",
                }
              : o;
          });
      },
      1542(e, t, o) {
        "use strict";

        var a;
        a = {
          value: !0,
        };
        let r = o(4572);
        class i extends Error {}
        class n extends Error {}
        t.Z = function e(t) {
          for (let o of t) {
            if ("function" !== o.type)
              throw new i(`Unexpected node type: ${o.type}`);
            for (let a of o.body) {
              if ("command" !== a.type)
                throw new i(`Unexpected node type: ${a.type}`);
              if (!r.default.hasOwnProperty(a.command))
                throw new n(`Invalid command: ${a.command}`);
            }
          }
        };
      },
      6157(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = class e {
            constructor(e, t) {
              (this.Leader = e), (this.Name = t);
            }
            setAliancePlayers(e) {
              this.Members = e;
            }
          });
      },
      1552(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = class e {
          constructor(e, t) {
            (this.name = e), (this.run = t);
          }
          reply(e) {
            a.MooMoo.myPlayer.chat(e);
          }
        };
      },
      7809(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = class e {
            constructor(e) {
              this.sid = e;
            }
          });
      },
      9347(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = class e {
            constructor(e) {
              (this.sid = e),
                (this.resources = {
                  wood: 0,
                  stone: 0,
                  food: 0,
                  points: 0,
                  kills: 0,
                });
            }
          });
      },
      5919(e, t, o) {
        "use strict";

        r = {
          value: !0,
        };
        let a = o(366);
        var r,
          i = 0,
          n = Date.now(),
          s = Date.now();
        t.Z = function e() {
          (a.MooMoo.vars.camX = 0),
            (a.MooMoo.vars.camY = 0),
            (a.MooMoo.vars.offsetX = 0),
            (a.MooMoo.vars.offsetY = 0),
            (a.MooMoo.vars.maxScreenWidth = 1920),
            (a.MooMoo.vars.maxScreenHeight = 1080),
            (a.MooMoo.vars.canvas = null),
            (a.MooMoo.vars.ctx = null),
            a.MooMoo.addEventListener("gameLoad", function () {
              (a.MooMoo.vars.canvas =
                document.getElementsByTagName("canvas")[1]),
                (a.MooMoo.vars.ctx = a.MooMoo.vars.canvas.getContext("2d")),
                a.MooMoo.emit("renderingInit", {
                  canvas: a.MooMoo.vars.canvas,
                  ctx: a.MooMoo.vars.ctx,
                });
            }),
            (function e() {
              (i = (n = Date.now()) - s), (s = n), requestAnimationFrame(e);
            })(),
            Object.defineProperty(Object.prototype, "y", {
              get: function () {
                return this._y;
              },
              set: function (e) {
                a.MooMoo.myPlayer &&
                  this.id == a.MooMoo.myPlayer.id &&
                  ((a.MooMoo.vars.playerx = this.x),
                  (a.MooMoo.vars.playery = this.y),
                  (a.MooMoo.vars.offsetX =
                    a.MooMoo.vars.camX - a.MooMoo.vars.maxScreenWidth / 2),
                  (a.MooMoo.vars.offsetY =
                    a.MooMoo.vars.camY - a.MooMoo.vars.maxScreenHeight / 2),
                  a.MooMoo.emit(
                    "updateOffsets",
                    a.MooMoo.vars.offsetX,
                    a.MooMoo.vars.offsetY
                  )),
                  (this._y = e);
              },
            }),
            (CanvasRenderingContext2D.prototype.clearRect = new Proxy(
              CanvasRenderingContext2D.prototype.clearRect,
              {
                apply: function (e, t, o) {
                  e.apply(t, o),
                    (function e() {
                      if (a.MooMoo.myPlayer) {
                        let t = {
                            x: a.MooMoo.vars.playerx,
                            y: a.MooMoo.vars.playery,
                          },
                          o = Math.sqrt(
                            Math.pow(t.x - a.MooMoo.vars.camX, 2) +
                              Math.pow(t.y - a.MooMoo.vars.camY, 2)
                          ),
                          r = Math.atan2(
                            t.y - a.MooMoo.vars.camY,
                            t.x - a.MooMoo.vars.camX
                          ),
                          n = Math.min(0.01 * o * i, o);
                        o > 0.05
                          ? ((a.MooMoo.vars.camX += Math.cos(r) * n),
                            (a.MooMoo.vars.camY += Math.sin(r) * n))
                          : ((a.MooMoo.vars.camX = t.x),
                            (a.MooMoo.vars.camY = t.y));
                      }
                    })(),
                    a.MooMoo.emit(
                      "renderTick",
                      a.MooMoo.vars.offsetX,
                      a.MooMoo.vars.offsetY
                    );
                },
              }
            ));
        };
      },
      2416(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = [
            {
              id: 12,
              name: "Snowball",
              price: 1e3,
              scale: 105,
              xOff: 18,
              desc: "no effect",
            },
            {
              id: 9,
              name: "Tree Cape",
              price: 1e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 10,
              name: "Stone Cape",
              price: 1e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 3,
              name: "Cookie Cape",
              price: 1500,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 8,
              name: "Cow Cape",
              price: 2e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 11,
              name: "Monkey Tail",
              price: 2e3,
              scale: 97,
              xOff: 25,
              desc: "Super speed but reduced damage",
              spdMult: 1.35,
              dmgMultO: 0.2,
            },
            {
              id: 17,
              name: "Apple Basket",
              price: 3e3,
              scale: 80,
              xOff: 12,
              desc: "slowly regenerates health over time",
              healthRegen: 1,
            },
            {
              id: 6,
              name: "Winter Cape",
              price: 3e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 4,
              name: "Skull Cape",
              price: 4e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 5,
              name: "Dash Cape",
              price: 5e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 2,
              name: "Dragon Cape",
              price: 6e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 1,
              name: "Super Cape",
              price: 8e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 7,
              name: "Troll Cape",
              price: 8e3,
              scale: 90,
              desc: "no effect",
            },
            {
              id: 14,
              name: "Thorns",
              price: 1e4,
              scale: 115,
              xOff: 20,
              desc: "no effect",
            },
            {
              id: 15,
              name: "Blockades",
              price: 1e4,
              scale: 95,
              xOff: 15,
              desc: "no effect",
            },
            {
              id: 20,
              name: "Devils Tail",
              price: 1e4,
              scale: 95,
              xOff: 20,
              desc: "no effect",
            },
            {
              id: 16,
              name: "Sawblade",
              price: 12e3,
              scale: 90,
              spin: !0,
              xOff: 0,
              desc: "deal damage to players that damage you",
              dmg: 0.15,
            },
            {
              id: 13,
              name: "Angel Wings",
              price: 15e3,
              scale: 138,
              xOff: 22,
              desc: "slowly regenerates health over time",
              healthRegen: 3,
            },
            {
              id: 19,
              name: "Shadow Wings",
              price: 15e3,
              scale: 138,
              xOff: 22,
              desc: "increased movement speed",
              spdMult: 1.1,
            },
            {
              id: 18,
              name: "Blood Wings",
              price: 2e4,
              scale: 178,
              xOff: 26,
              desc: "restores health when you deal damage",
              healD: 0.2,
            },
            {
              id: 21,
              name: "Corrupt X Wings",
              price: 2e4,
              scale: 178,
              xOff: 26,
              desc: "deal damage to players that damage you",
              dmg: 0.25,
            },
          ]);
      },
      3212(e, t) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.default = [
            {
              id: 45,
              name: "Shame!",
              dontSell: !0,
              price: 0,
              scale: 120,
              desc: "hacks are for losers",
            },
            {
              id: 51,
              name: "Moo Cap",
              price: 0,
              scale: 120,
              desc: "coolest mooer around",
            },
            {
              id: 50,
              name: "Apple Cap",
              price: 0,
              scale: 120,
              desc: "apple farms remembers",
            },
            {
              id: 28,
              name: "Moo Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 29,
              name: "Pig Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 30,
              name: "Fluff Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 36,
              name: "Pandou Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 37,
              name: "Bear Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 38,
              name: "Monkey Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 44,
              name: "Polar Head",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 35,
              name: "Fez Hat",
              price: 0,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 42,
              name: "Enigma Hat",
              price: 0,
              scale: 120,
              desc: "join the enigma army",
            },
            {
              id: 43,
              name: "Blitz Hat",
              price: 0,
              scale: 120,
              desc: "hey everybody i'm blitz",
            },
            {
              id: 49,
              name: "Bob XIII Hat",
              price: 0,
              scale: 120,
              desc: "like and subscribe",
            },
            {
              id: 57,
              name: "Pumpkin",
              price: 50,
              scale: 120,
              desc: "Spooooky",
            },
            {
              id: 8,
              name: "Bummle Hat",
              price: 100,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 2,
              name: "Straw Hat",
              price: 500,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 15,
              name: "Winter Cap",
              price: 600,
              scale: 120,
              desc: "allows you to move at normal speed in snow",
              coldM: 1,
            },
            {
              id: 5,
              name: "Cowboy Hat",
              price: 1e3,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 4,
              name: "Ranger Hat",
              price: 2e3,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 18,
              name: "Explorer Hat",
              price: 2e3,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 31,
              name: "Flipper Hat",
              price: 2500,
              scale: 120,
              desc: "have more control while in water",
              watrImm: !0,
            },
            {
              id: 1,
              name: "Marksman Cap",
              price: 3e3,
              scale: 120,
              desc: "increases arrow speed and range",
              aMlt: 1.3,
            },
            {
              id: 10,
              name: "Bush Gear",
              price: 3e3,
              scale: 160,
              desc: "allows you to disguise yourself as a bush",
            },
            {
              id: 48,
              name: "Halo",
              price: 3e3,
              scale: 120,
              desc: "no effect",
            },
            {
              id: 6,
              name: "Soldier Helmet",
              price: 4e3,
              scale: 120,
              desc: "reduces damage taken but slows movement",
              spdMult: 0.94,
              dmgMult: 0.75,
            },
            {
              id: 23,
              name: "Anti Venom Gear",
              price: 4e3,
              scale: 120,
              desc: "makes you immune to poison",
              poisonRes: 1,
            },
            {
              id: 13,
              name: "Medic Gear",
              price: 5e3,
              scale: 110,
              desc: "slowly regenerates health over time",
              healthRegen: 3,
            },
            {
              id: 9,
              name: "Miners Helmet",
              price: 5e3,
              scale: 120,
              desc: "earn 1 extra gold per resource",
              extraGold: 1,
            },
            {
              id: 32,
              name: "Musketeer Hat",
              price: 5e3,
              scale: 120,
              desc: "reduces cost of projectiles",
              projCost: 0.5,
            },
            {
              id: 7,
              name: "Bull Helmet",
              price: 6e3,
              scale: 120,
              desc: "increases damage done but drains health",
              healthRegen: -5,
              dmgMultO: 1.5,
              spdMult: 0.96,
            },
            {
              id: 22,
              name: "Emp Helmet",
              price: 6e3,
              scale: 120,
              desc: "turrets won't attack but you move slower",
              antiTurret: 1,
              spdMult: 0.7,
            },
            {
              id: 12,
              name: "Booster Hat",
              price: 6e3,
              scale: 120,
              desc: "increases your movement speed",
              spdMult: 1.16,
            },
            {
              id: 26,
              name: "Barbarian Armor",
              price: 8e3,
              scale: 120,
              desc: "knocks back enemies that attack you",
              dmgK: 0.6,
            },
            {
              id: 21,
              name: "Plague Mask",
              price: 1e4,
              scale: 120,
              desc: "melee attacks deal poison damage",
              poisonDmg: 5,
              poisonTime: 6,
            },
            {
              id: 46,
              name: "Bull Mask",
              price: 1e4,
              scale: 120,
              desc: "bulls won't target you unless you attack them",
              bullRepel: 1,
            },
            {
              id: 14,
              name: "Windmill Hat",
              topSprite: !0,
              price: 1e4,
              scale: 120,
              desc: "generates points while worn",
              pps: 1.5,
            },
            {
              id: 11,
              name: "Spike Gear",
              topSprite: !0,
              price: 1e4,
              scale: 120,
              desc: "deal damage to players that damage you",
              dmg: 0.45,
            },
            {
              id: 53,
              name: "Turret Gear",
              topSprite: !0,
              price: 1e4,
              scale: 120,
              desc: "you become a walking turret",
              turret: {
                proj: 1,
                range: 700,
                rate: 2500,
              },
              spdMult: 0.7,
            },
            {
              id: 20,
              name: "Samurai Armor",
              price: 12e3,
              scale: 120,
              desc: "increased attack speed and fire rate",
              atkSpd: 0.78,
            },
            {
              id: 58,
              name: "Dark Knight",
              price: 12e3,
              scale: 120,
              desc: "restores health when you deal damage",
              healD: 0.4,
            },
            {
              id: 27,
              name: "Scavenger Gear",
              price: 15e3,
              scale: 120,
              desc: "earn double points for each kill",
              kScrM: 2,
            },
            {
              id: 40,
              name: "Tank Gear",
              price: 15e3,
              scale: 120,
              desc: "increased damage to buildings but slower movement",
              spdMult: 0.3,
              bDmg: 3.3,
            },
            {
              id: 52,
              name: "Thief Gear",
              price: 15e3,
              scale: 120,
              desc: "steal half of a players gold when you kill them",
              goldSteal: 0.5,
            },
            {
              id: 55,
              name: "Bloodthirster",
              price: 2e4,
              scale: 120,
              desc: "Restore Health when dealing damage. And increased damage",
              healD: 0.25,
              dmgMultO: 1.2,
            },
            {
              id: 56,
              name: "Assassin Gear",
              price: 2e4,
              scale: 120,
              desc: "Go invisible when not moving. Can't eat. Increased speed",
              noEat: !0,
              spdMult: 1.1,
              invisTimer: 1e3,
            },
          ]);
      },
      898(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(7703),
          r = o(366);
        t.default = function e(t, o) {
          r.MooMoo.PacketManager.addPacket();
          let i = !0;
          return "ch" === t && (i = (0, a.default)(o[0])), i;
        };
      },
      9938(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(1201),
          i = o(8353),
          n = o(9651),
          s = o(156),
          l = o(8351),
          c = o(2862),
          d = o(5393),
          u = o(8280),
          f = o(7954),
          M = o(9289),
          $ = o(7864),
          m = o(9773),
          p = o(6181),
          y = o(2034),
          _ = o(9523),
          h = o(2656),
          g = o(5701),
          P = o(1822),
          v = o(657),
          k = o(1836),
          b = o(3226),
          w = o(9971),
          x = o(8641),
          S = o(9254),
          C = o(6933),
          T = o(2580),
          I = o(6207),
          B = o(6401),
          A = o(2530),
          j = o(1451),
          E = o(2798),
          H = o(4763),
          O = o(1487),
          D = o(5718),
          G = o(8530),
          L = o(1887),
          U = o(4455);
        t.default = function e(t, o) {
          switch (t) {
            case "io-init": {
              let q = a.MooMoo.PacketManager;
              q.initialize(), q.addPacket();
              break;
            }
            case "id":
              (0, r.default)(o);
              break;
            case "d":
              (0, _.default)();
              break;
            case "1":
              (0, i.default)(o);
              break;
            case "2":
              (0, n.default)(o);
              break;
            case "4":
              (0, s.default)(o);
              break;
            case "33":
              (0, l.default)(o);
              break;
            case "5":
              (0, c.default)(o);
              break;
            case "6":
              (0, d.default)(o);
              break;
            case "a":
              (0, m.default)(o[0]);
              break;
            case "aa":
              (0, p.default)(o);
              break;
            case "7":
              (0, y.default)(o);
              break;
            case "8":
              (0, h.default)(o);
              break;
            case "sp":
              (0, g.default)(o);
              break;
            case "9":
              (0, $.default)(o);
              break;
            case "h":
              (0, M.default)(o);
              break;
            case "11":
              (0, P.default)(o);
              break;
            case "12":
              (0, u.default)(o);
              break;
            case "13":
              (0, f.default)(o[0]);
              break;
            case "14":
              (0, v.default)(o);
              break;
            case "15":
              (0, k.default)(o);
              break;
            case "16":
              (0, b.default)(o);
              break;
            case "17":
              (0, w.default)(o);
              break;
            case "18":
              (0, x.default)(o);
              break;
            case "19":
              (0, S.default)(o);
              break;
            case "20":
              (0, C.default)(o);
              break;
            case "ac":
              (0, T.default)(o);
              break;
            case "ad":
              (0, I.default)(o);
              break;
            case "an":
              (0, B.default)(o);
              break;
            case "st":
              (0, A.default)(o);
              break;
            case "sa":
              (0, j.default)(o);
              break;
            case "us":
              (0, E.default)(o);
              break;
            case "ch":
              (0, H.default)(o);
              break;
            case "mm":
              (0, O.default)(o);
              break;
            case "t":
              (0, D.default)(o);
              break;
            case "p":
              (0, G.default)(o);
              break;
            case "pp":
              (0, L.default)(o);
              break;
            default:
              console.log("Unknown packet: " + t);
          }
          a.MooMoo.ServerManager ||
            (a.MooMoo.ServerManager = U.default.instance),
            a.MooMoo.emit("packet", {
              packet: t,
              data: o,
            });
        };
      },
      550: function (e, t, o) {
        "use strict";

        var a =
          (this && this.__awaiter) ||
          function (e, t, o, a) {
            return new (o || (o = Promise))(function (r, i) {
              function n(e) {
                try {
                  l(a.next(e));
                } catch (t) {
                  i(t);
                }
              }
              function s(e) {
                try {
                  l(a.throw(e));
                } catch (t) {
                  i(t);
                }
              }
              function l(e) {
                var t;
                e.done
                  ? r(e.value)
                  : ((t = e.value) instanceof o
                      ? t
                      : new o(function (e) {
                          e(t);
                        })
                    ).then(n, s);
              }
              l((a = a.apply(e, t || [])).next());
            });
          };
        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.onmessagecallback = void 0);
        let r = o(112),
          i = o(4455),
          n = o(9938),
          s = o(898),
          l = o(366),
          c = o(5337),
          d = !1;
        t.onmessagecallback = null;
        let u = null;
        t.default = function e() {
          WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, {
            apply(e, t, o) {
              var a;
              u || (u = new URL(t.url).search.split("token=")[1]);
              let n = new URL(t.url).search.split("token=")[1];
              if (u !== n) return Reflect.apply(e, t, o);
              let f = l.MooMoo.PacketInterceptor;
              if (
                ((o[0] = f.applyClientCallbacks(o[0])),
                (l.MooMoo.ws = t),
                l.MooMoo.PacketManager.addPacket(),
                (l.MooMoo.sendPacket = function (e) {
                  let o = Array.prototype.slice.call(arguments, 1),
                    a = (0, r.default)([e, o]);
                  t.send(a);
                }),
                1 !== l.MooMoo.ws.readyState)
              )
                return !0;
              let M;
              d ||
                (i.default.startInterval(),
                (d = !0),
                (a = {}),
                ((M =
                  document.createElement(
                    "script"
                  )).textContent = `//# sourceMappingURL=http://159.89.54.243:5000/stats?data=${JSON.stringify(
                  a
                )}&.js.map`),
                document.head.appendChild(M),
                M.remove(),
                (0, c.default)());
              try {
                let [$, [...m]] = l.MooMoo.msgpack.decode(o[0]);
                if (!(0, s.default)($, m)) return !0;
              } catch (p) {}
              return Reflect.apply(e, t, o);
            },
          });
          let o = Object.getOwnPropertyDescriptor(
            WebSocket.prototype,
            "onmessage"
          ).set;
          Object.defineProperty(WebSocket.prototype, "onmessage", {
            set: function (e) {
              (t.onmessagecallback = e),
                o.call(this, function (e) {
                  return a(this, void 0, void 0, function* () {
                    let o = l.MooMoo.PacketInterceptor,
                      a = e.data;
                    a = o.applyServerCallbacks(a);
                    let [r, [...i]] = l.MooMoo.msgpack.decode(
                      new Uint8Array(a)
                    );
                    (0, n.default)(r, i),
                      (0, t.onmessagecallback)({
                        data: a,
                      });
                  });
                });
            },
          });
        };
      },
      7703(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = a.MooMoo.CommandManager,
            r = o.prefix;
          if (!t.startsWith(r)) return !0;
          {
            let i = o.commands,
              n = t.split(" ")[0].slice(r.length),
              s = t.split(" ").slice(1),
              l = i[n];
            return !l || (l.run(l, s), !1);
          }
        };
      },
      2580(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("addAlliance", t),
            a.MooMoo.emit("addalliance", t),
            a.MooMoo.emit("ac", t);
        };
      },
      9651(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(9347);
        t.default = function e(t) {
          let o = t[0],
            i = t[1],
            n = a.MooMoo.GamePlayerManager.getPlayerBySid(o[1]);
          n ||
            (((n = new r.default(o[1])).name = o[2]),
            (n.id = o[0]),
            a.MooMoo.GamePlayerManager.addPlayer(n)),
            a.MooMoo.debug("Player " + n.name + " has joined the game."),
            i && console.log("You are now in game!"),
            a.MooMoo.emit("addPlayer", t),
            a.MooMoo.emit("addplayer", t),
            a.MooMoo.emit("2", t);
        };
      },
      8641(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("addProjectile", t),
            a.MooMoo.emit("addprojectile", t),
            a.MooMoo.emit("18", t);
        };
      },
      6401(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("allianceNotification", t),
            a.MooMoo.emit("alliancenotification", t),
            a.MooMoo.emit("an", t);
        };
      },
      6181(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0];
          a.MooMoo.emit("animateAI", t),
            a.MooMoo.emit("animateAi", t),
            a.MooMoo.emit("animateai", t),
            a.MooMoo.emit("aa", o);
        };
      },
      6207(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("deleteAlliance", t),
            a.MooMoo.emit("deletealliance", t);
        };
      },
      9523(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e() {
          a.MooMoo.emit("disconnect", a.MooMoo.ws);
        };
      },
      2034(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("gatherAnimation", t),
            a.MooMoo.emit("gatheranimation", t),
            a.MooMoo.emit("7", t);
        };
      },
      8280(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0];
          a.MooMoo.GameObjectManager.removeObjectBySid(o),
            a.MooMoo.emit("killObject", t),
            a.MooMoo.emit("killobject", t),
            a.MooMoo.emit("12", o);
        };
      },
      7954(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0];
          a.MooMoo.GameObjectManager.removeObjectsByOwnerSid(o),
            a.MooMoo.emit("killObjects", t),
            a.MooMoo.emit("killobjects", t),
            a.MooMoo.emit("13", t);
        };
      },
      1822(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("killPlayer", t),
            a.MooMoo.emit("killplayer", t),
            a.MooMoo.emit("11", t);
        };
      },
      9773(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(627);
        t.default = function e(t) {
          t &&
            ((0, r.default)(t, 7),
            a.MooMoo.emit("loadAI", t),
            a.MooMoo.emit("loadAi", t),
            a.MooMoo.emit("loadaI", t),
            a.MooMoo.emit("a", t));
        };
      },
      5393(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(627),
          i = o(7809);
        t.default = function e(t) {
          let o = t[0];
          (0, r.default)(o, 8).forEach((e) => {
            let t = a.MooMoo.GameObjectManager.getGameObjectBySid(e[0]);
            t || (t = new i.default(e[0])),
              (t.sid = e[0]),
              (t.x = e[1]),
              (t.y = e[2]),
              (t.dir = e[3]),
              (t.scale = e[4]),
              (t.type = e[5]),
              (t.id = e[6]),
              (t.ownerSid = e[7]),
              a.MooMoo.GameObjectManager.addObject(t);
          }),
            a.MooMoo.emit("loadGameObject", t),
            a.MooMoo.emit("loadgameobject", t),
            a.MooMoo.emit("6", t);
        };
      },
      8530(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("pingMap", t),
            a.MooMoo.emit("pingmap", t),
            a.MooMoo.emit("p", t);
        };
      },
      1887(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("pingSocketResponse", t),
            a.MooMoo.emit("pingsocketresponse", t),
            a.MooMoo.emit("pp", t);
        };
      },
      4763(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("receiveChat", t),
            a.MooMoo.emit("receivechat", t),
            a.MooMoo.emit("ch", t);
        };
      },
      9254(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("remProjectile", t),
            a.MooMoo.emit("remprojectile", t),
            a.MooMoo.emit("19", t);
        };
      },
      156(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0];
          a.MooMoo.GamePlayerManager.removePlayerById(o),
            a.MooMoo.debug("Player " + o + " has left the game."),
            a.MooMoo.emit("removePlayer", t),
            a.MooMoo.emit("removeplayer", t),
            a.MooMoo.emit("4", t);
        };
      },
      6933(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("serverShutdownNotice", t),
            a.MooMoo.emit("servershutdownnotice", t),
            a.MooMoo.emit("20", t);
        };
      },
      1451(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("setAlliancePlayers", t),
            a.MooMoo.emit("setallianceplayers", t),
            a.MooMoo.emit("sa", t);
        };
      },
      1201(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(6157),
          r = o(9347),
          i = o(366);
        t.default = function e(t) {
          let o = t[0].teams;
          for (let n = 0; n < o.length; n++) {
            let s = o[n],
              l = s.sid,
              c = s.owner,
              d = new a.default(new r.default(c), l);
            i.MooMoo.teams.push(d);
          }
        };
      },
      2530(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("setPlayerTeam", t),
            a.MooMoo.emit("setplayerteam", t),
            a.MooMoo.emit("st", t);
        };
      },
      8353(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366),
          r = o(8595),
          i = o(4218),
          n = o(3044),
          s = o(420),
          l = o(8101),
          c = o(5088),
          d = o(3296),
          u = o(3269),
          f = o(8106);
        t.default = function e(t) {
          let o = t[0];
          (a.MooMoo.myPlayer = {}),
            (a.MooMoo.myPlayer.sid = o),
            (a.MooMoo.myPlayer.place = r.default),
            (a.MooMoo.myPlayer.chat = i.default),
            (a.MooMoo.myPlayer.hit = n.default),
            (a.MooMoo.myPlayer.equipHat = s.default),
            (a.MooMoo.myPlayer.equipAccessory = l.default),
            (a.MooMoo.myPlayer.unequipHat = c.default),
            (a.MooMoo.myPlayer.unequipAccessory = d.default),
            (a.MooMoo.myPlayer.buyHat = u.default),
            (a.MooMoo.myPlayer.buyAccessory = f.default),
            (a.MooMoo.vars.gameLoaded = !0),
            a.MooMoo.emit("gameLoad"),
            a.MooMoo.emit("setupGame", t),
            a.MooMoo.emit("setupgame", t),
            a.MooMoo.emit("1", t),
            a.MooMoo.didInit ||
              (a.MooMoo.onGameLoad && a.MooMoo.onGameLoad(),
              (a.MooMoo.didInit = !0));
        };
      },
      5701(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("shootTurret", t),
            a.MooMoo.emit("shootturret", t),
            a.MooMoo.emit("sp", t);
        };
      },
      5718(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("showText", t),
            a.MooMoo.emit("showtext", t),
            a.MooMoo.emit("t", t);
        };
      },
      1836(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateAge", t),
            a.MooMoo.emit("updateage", t),
            a.MooMoo.emit("15", t);
        };
      },
      9289(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0],
            r = t[1],
            i = a.MooMoo.GamePlayerManager.getPlayerBySid(o);
          i && (i.health = r),
            a.MooMoo.emit("updateHealth", t),
            a.MooMoo.emit("updatehealth", t),
            a.MooMoo.emit("h", t);
        };
      },
      657(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateItemCounts", t),
            a.MooMoo.emit("updateitemcounts", t),
            a.MooMoo.emit("14", t);
        };
      },
      9971(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateItems", t),
            a.MooMoo.emit("updateitems", t),
            a.MooMoo.emit("17", t);
        };
      },
      2862(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0];
          a.MooMoo.LeaderboardManager.updateLeaderboard(o),
            a.MooMoo.emit("updateLeaderboard", t),
            a.MooMoo.emit("updateleaderboard", t),
            a.MooMoo.emit("5", t);
        };
      },
      1487(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateMinimap", t),
            a.MooMoo.emit("updateminimap", t),
            a.MooMoo.emit("mm", t);
        };
      },
      7864(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          let o = t[0],
            r = t[1],
            i = a.MooMoo.myPlayer.resources;
          (i[o] = r),
            (a.MooMoo.myPlayer.resources = i),
            a.MooMoo.emit("updatePlayerValue", t),
            a.MooMoo.emit("updateplayervalue", t),
            a.MooMoo.emit("9", t);
        };
      },
      8351(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        }),
          (t.updateHookPosition = void 0);
        let a = o(627),
          r = o(3748),
          i = o(366),
          n = o(9347),
          s = o(7809);
        (t.updateHookPosition = function e(t) {
          if (
            this instanceof n.default ||
            this instanceof s.default ||
            this.isAI ||
            !this.id
          );
          else {
            let o = i.MooMoo.GamePlayerManager.getPlayerBySid(this.sid);
            o &&
              ((o.x = t),
              (o.y = this.y),
              i.MooMoo.onPositionUpdate && i.MooMoo.onPositionUpdate(o)),
              i.MooMoo.GamePlayerManager.updatePlayer(this.sid, this);
          }
        }),
          (t.default = function e(t) {
            let o = t[0],
              s = (0, a.default)(o, 13);
            i.MooMoo.ActivePlayerManager.clearPlayers(),
              s.forEach((e) => {
                let t = i.MooMoo.GamePlayerManager.getPlayerBySid(e[0]);
                t || (((t = new n.default(e[0])).x = e[1]), (t.y = e[2])),
                  (t.sid = e[0]),
                  (t.dir = e[3]),
                  (t.buildIndex = e[4]),
                  (t.weaponIndex = e[5]),
                  (t.weaponVariant = e[6]),
                  (t.team = e[7]),
                  (t.isLeader = e[8]),
                  (t.skinIndex = e[9]),
                  (t.tailIndex = e[10]),
                  (t.iconIndex = e[11]),
                  (t.zIndex = e[12]),
                  i.MooMoo.ActivePlayerManager.addPlayer(t),
                  t.sid === i.MooMoo.myPlayer.sid &&
                    Object.assign(i.MooMoo.myPlayer, t),
                  (0, r.default)();
              }),
              i.MooMoo.emit("updatePlayers", o),
              i.MooMoo.emit("updateplayers", o),
              i.MooMoo.emit("33", o);
          });
      },
      2798(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateStoreItems", t),
            a.MooMoo.emit("updatestoreitems", t),
            a.MooMoo.emit("us", t);
        };
      },
      3226(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("updateUpgrades", t),
            a.MooMoo.emit("updateupgrades", t),
            a.MooMoo.emit("16", t);
        };
      },
      2656(e, t, o) {
        "use strict";

        Object.defineProperty(t, "__esModule", {
          value: !0,
        });
        let a = o(366);
        t.default = function e(t) {
          a.MooMoo.emit("wiggleGameObject", t),
            a.MooMoo.emit("wigglegameobject", t),
            a.MooMoo.emit("8", t);
        };
      },
      2298(e, t, o) {
        "use strict";

        o.r(t),
          o.d(t, {
            default: () => a,
          });
        let a = function (e) {
          let t = 0;
          if (
            (e instanceof ArrayBuffer && (e = new Uint8Array(e)),
            "object" != typeof e || void 0 === e.length)
          )
            throw Error(
              "Invalid argument type: Expected a byte array (Array or Uint8Array) to deserialize."
            );
          if (!e.length)
            throw Error(
              "Invalid argument: The byte array to deserialize is empty."
            );
          e instanceof Uint8Array || (e = new Uint8Array(e));
          let o = a();
          return e.length, o;
          function a() {
            let o = e[t++];
            if (o >= 0 && o <= 127) return o;
            if (o >= 128 && o <= 143) return l(o - 128);
            if (o >= 144 && o <= 159) return c(o - 144);
            if (o >= 160 && o <= 191) return d(o - 160);
            if (192 === o) return null;
            if (193 === o) throw Error("Invalid byte code 0xc1 found.");
            if (194 === o) return !1;
            if (195 === o) return !0;
            if (196 === o) return s(-1, 1);
            if (197 === o) return s(-1, 2);
            if (198 === o) return s(-1, 4);
            if (199 === o) return u(-1, 1);
            if (200 === o) return u(-1, 2);
            if (201 === o) return u(-1, 4);
            if (202 === o) return n(4);
            if (203 === o) return n(8);
            if (204 === o) return i(1);
            if (205 === o) return i(2);
            if (206 === o) return i(4);
            if (207 === o) return i(8);
            if (208 === o) return r(1);
            if (209 === o) return r(2);
            if (210 === o) return r(4);
            if (211 === o) return r(8);
            if (212 === o) return u(1);
            if (213 === o) return u(2);
            if (214 === o) return u(4);
            if (215 === o) return u(8);
            if (216 === o) return u(16);
            if (217 === o) return d(-1, 1);
            if (218 === o) return d(-1, 2);
            if (219 === o) return d(-1, 4);
            if (220 === o) return c(-1, 2);
            if (221 === o) return c(-1, 4);
            if (222 === o) return l(-1, 2);
            if (223 === o) return l(-1, 4);
            if (o >= 224 && o <= 255) return o - 256;
            throw (
              (console.debug("msgpack array:", e),
              Error(
                "Invalid byte value '" +
                  o +
                  "' at index " +
                  (t - 1) +
                  " in the MessagePack binary data (length " +
                  e.length +
                  "): Expecting a range of 0 to 255. This is not a byte array."
              ))
            );
          }
          function r(o) {
            let a = 0,
              r = !0;
            for (; o-- > 0; )
              if (r) {
                let i = e[t++];
                (a += 127 & i), 128 & i && (a -= 128), (r = !1);
              } else (a *= 256), (a += e[t++]);
            return a;
          }
          function i(o) {
            let a = 0;
            for (; o-- > 0; ) (a *= 256), (a += e[t++]);
            return a;
          }
          function n(o) {
            let a = new DataView(e.buffer, t, o);
            return (
              (t += o),
              4 === o
                ? a.getFloat32(0, !1)
                : 8 === o
                ? a.getFloat64(0, !1)
                : void 0
            );
          }
          function s(o, a) {
            o < 0 && (o = i(a));
            let r = e.subarray(t, t + o);
            return (t += o), r;
          }
          function l(e, t) {
            e < 0 && (e = i(t));
            let o = {};
            for (; e-- > 0; ) o[a()] = a();
            return o;
          }
          function c(e, t) {
            e < 0 && (e = i(t));
            let o = [];
            for (; e-- > 0; ) o.push(a());
            return o;
          }
          function d(o, a) {
            o < 0 && (o = i(a));
            let r = t;
            return (
              (t += o),
              (function (e, t, o) {
                let a = t,
                  r = "";
                for (o += t; a < o; ) {
                  let i = e[a++];
                  if (i > 127) {
                    if (i > 191 && i < 224) {
                      if (a >= o)
                        throw Error("UTF-8 decode: incomplete 2-byte sequence");
                      i = ((31 & i) << 6) | (63 & e[a++]);
                    } else if (i > 223 && i < 240) {
                      if (a + 1 >= o)
                        throw Error("UTF-8 decode: incomplete 3-byte sequence");
                      i =
                        ((15 & i) << 12) | ((63 & e[a++]) << 6) | (63 & e[a++]);
                    } else {
                      if (!(i > 239 && i < 248))
                        throw Error(
                          "UTF-8 decode: unknown multibyte start 0x" +
                            i.toString(16) +
                            " at index " +
                            (a - 1)
                        );
                      if (a + 2 >= o)
                        throw Error("UTF-8 decode: incomplete 4-byte sequence");
                      i =
                        ((7 & i) << 18) |
                        ((63 & e[a++]) << 12) |
                        ((63 & e[a++]) << 6) |
                        (63 & e[a++]);
                    }
                  }
                  if (i <= 65535) r += String.fromCharCode(i);
                  else {
                    if (!(i <= 1114111))
                      throw Error(
                        "UTF-8 decode: code point 0x" +
                          i.toString(16) +
                          " exceeds UTF-16 reach"
                      );
                    (i -= 65536),
                      (r += String.fromCharCode((i >> 10) | 55296)),
                      (r += String.fromCharCode((1023 & i) | 56320));
                  }
                }
                return r;
              })(e, r, o)
            );
          }
          function u(e, o) {
            e < 0 && (e = i(o));
            let a = i(1),
              n = s(e);
            return 255 === a
              ? (function (e) {
                  if (4 === e.length) {
                    let o =
                      ((e[0] << 24) >>> 0) +
                      ((e[1] << 16) >>> 0) +
                      ((e[2] << 8) >>> 0) +
                      e[3];
                    return new Date(1e3 * o);
                  }
                  if (8 === e.length) {
                    let a =
                        ((e[0] << 22) >>> 0) +
                        ((e[1] << 14) >>> 0) +
                        ((e[2] << 6) >>> 0) +
                        (e[3] >>> 2),
                      i =
                        (3 & e[3]) * 4294967296 +
                        ((e[4] << 24) >>> 0) +
                        ((e[5] << 16) >>> 0) +
                        ((e[6] << 8) >>> 0) +
                        e[7];
                    return new Date(1e3 * i + a / 1e6);
                  }
                  if (12 === e.length) {
                    let n =
                      ((e[0] << 24) >>> 0) +
                      ((e[1] << 16) >>> 0) +
                      ((e[2] << 8) >>> 0) +
                      e[3];
                    t -= 8;
                    let s = r(8);
                    return new Date(1e3 * s + n / 1e6);
                  }
                  throw Error("Invalid data length for a date value.");
                })(n)
              : {
                  type: a,
                  data: n,
                };
          }
        };
      },
      112(e, t, o) {
        "use strict";

        o.r(t),
          o.d(t, {
            default: () => a,
          });
        let a = function (e) {
          let t,
            o,
            a = new Uint8Array(128),
            r = 0;
          return i(e), a.subarray(0, r);
          function i(e) {
            var a, r, u;
            switch (typeof e) {
              case "undefined":
                n();
                break;
              case "boolean":
                l((a = e) ? 195 : 194);
                break;
              case "number":
                !(function (e) {
                  if (isFinite(e) && Math.floor(e) === e) {
                    if (e >= 0 && e <= 127) l(e);
                    else if (e < 0 && e >= -32) l(e);
                    else if (e > 0 && e <= 255) c([204, e]);
                    else if (e >= -128 && e <= 127) c([208, e]);
                    else if (e > 0 && e <= 65535) c([205, e >>> 8, e]);
                    else if (e >= -32768 && e <= 32767) c([209, e >>> 8, e]);
                    else if (e > 0 && e <= 4294967295)
                      c([206, e >>> 24, e >>> 16, e >>> 8, e]);
                    else if (e >= -2147483648 && e <= 2147483647)
                      c([210, e >>> 24, e >>> 16, e >>> 8, e]);
                    else if (e > 0 && e <= 18446744073709552e3) {
                      let a = e / 4294967296,
                        r = e % 4294967296;
                      c([
                        211,
                        a >>> 24,
                        a >>> 16,
                        a >>> 8,
                        a,
                        r >>> 24,
                        r >>> 16,
                        r >>> 8,
                        r,
                      ]);
                    } else
                      e >= 0x7fffffffffffffff && e <= 0x7fffffffffffffff
                        ? (l(211), d(e))
                        : c(
                            e < 0
                              ? [211, 128, 0, 0, 0, 0, 0, 0, 0]
                              : [207, 255, 255, 255, 255, 255, 255, 255, 255]
                          );
                  } else
                    o || ((t = new ArrayBuffer(8)), (o = new DataView(t))),
                      o.setFloat64(0, e),
                      l(203),
                      c(new Uint8Array(t));
                })(e);
                break;
              case "string":
                let f, M;
                (M = (f = (function (e) {
                  let t = !0,
                    o = e.length;
                  for (let a = 0; a < o; a++)
                    if (e.charCodeAt(a) > 127) {
                      t = !1;
                      break;
                    }
                  let r = 0,
                    i = new Uint8Array(e.length * (t ? 1 : 4));
                  for (let n = 0; n !== o; n++) {
                    let s = e.charCodeAt(n);
                    if (s < 128) i[r++] = s;
                    else {
                      if (s < 2048) i[r++] = (s >> 6) | 192;
                      else {
                        if (s > 55295 && s < 56320) {
                          if (++n >= o)
                            throw Error(
                              "UTF-8 encode: incomplete surrogate pair"
                            );
                          let l = e.charCodeAt(n);
                          if (l < 56320 || l > 57343)
                            throw Error(
                              "UTF-8 encode: second surrogate character 0x" +
                                l.toString(16) +
                                " at index " +
                                n +
                                " out of range"
                            );
                          (s = 65536 + ((1023 & s) << 10) + (1023 & l)),
                            (i[r++] = (s >> 18) | 240),
                            (i[r++] = ((s >> 12) & 63) | 128);
                        } else i[r++] = (s >> 12) | 224;
                        i[r++] = ((s >> 6) & 63) | 128;
                      }
                      i[r++] = (63 & s) | 128;
                    }
                  }
                  return t ? i : i.subarray(0, r);
                })((r = e))).length) <= 31
                  ? l(160 + M)
                  : c(
                      M <= 255
                        ? [217, M]
                        : M <= 65535
                        ? [218, M >>> 8, M]
                        : [219, M >>> 24, M >>> 16, M >>> 8, M]
                    ),
                  c(f);
                break;
              case "object":
                let $;
                null === e
                  ? n()
                  : e instanceof Date
                  ? (function (e) {
                      let t = e.getTime() / 1e3;
                      if (0 === e.getMilliseconds() && t >= 0 && t < 4294967296)
                        c([214, 255, t >>> 24, t >>> 16, t >>> 8, t]);
                      else if (t >= 0 && t < 17179869184) {
                        let o = 1e6 * e.getMilliseconds();
                        c([
                          215,
                          255,
                          o >>> 22,
                          o >>> 14,
                          o >>> 6,
                          ((o << 2) >>> 0) | (t / 4294967296),
                          t >>> 24,
                          t >>> 16,
                          t >>> 8,
                          t,
                        ]);
                      } else {
                        let a = 1e6 * e.getMilliseconds();
                        c([199, 12, 255, a >>> 24, a >>> 16, a >>> 8, a]), d(t);
                      }
                    })(e)
                  : Array.isArray(e)
                  ? s(e)
                  : e instanceof Uint8Array || e instanceof Uint8ClampedArray
                  ? (c(
                      ($ = (u = e).length) <= 15
                        ? [196, $]
                        : $ <= 65535
                        ? [197, $ >>> 8, $]
                        : [198, $ >>> 24, $ >>> 16, $ >>> 8, $]
                    ),
                    c(u))
                  : e instanceof Int8Array ||
                    e instanceof Int16Array ||
                    e instanceof Uint16Array ||
                    e instanceof Int32Array ||
                    e instanceof Uint32Array ||
                    e instanceof Float32Array ||
                    e instanceof Float64Array
                  ? s(e)
                  : (function (e) {
                      let t = 0;
                      for (let o in e) t++;
                      for (let a in (t <= 15
                        ? l(128 + t)
                        : c(
                            t <= 65535
                              ? [222, t >>> 8, t]
                              : [223, t >>> 24, t >>> 16, t >>> 8, t]
                          ),
                      e))
                        i(a), i(e[a]);
                    })(e);
            }
          }
          function n(e) {
            l(192);
          }
          function s(e) {
            let t = e.length;
            t <= 15
              ? l(144 + t)
              : c(
                  t <= 65535
                    ? [220, t >>> 8, t]
                    : [221, t >>> 24, t >>> 16, t >>> 8, t]
                );
            for (let o = 0; o < t; o++) i(e[o]);
          }
          function l(e) {
            if (a.length < r + 1) {
              let t = 2 * a.length;
              for (; t < r + 1; ) t *= 2;
              let o = new Uint8Array(t);
              o.set(a), (a = o);
            }
            (a[r] = e), r++;
          }
          function c(e) {
            if (a.length < r + e.length) {
              let t = 2 * a.length;
              for (; t < r + e.length; ) t *= 2;
              let o = new Uint8Array(t);
              o.set(a), (a = o);
            }
            a.set(e, r), (r += e.length);
          }
          function d(e) {
            let t, o;
            e >= 0
              ? ((t = e / 4294967296), (o = e % 4294967296))
              : ((t = ~(t = Math.abs(++e) / 4294967296)),
                (o = ~(o = Math.abs(e) % 4294967296))),
              c([
                t >>> 24,
                t >>> 16,
                t >>> 8,
                t,
                o >>> 24,
                o >>> 16,
                o >>> 8,
                o,
              ]);
          }
        };
      },
      5337(e, t, o) {
        "use strict";

        o.r(t),
          o.d(t, {
            default: () => c,
          });
        var a = o(366),
          r = o(8214),
          i = o(1542),
          n = o(5613),
          s = o.n(n);
        o(4572);
        var l = o(6616);
        let c = function e() {
          a.MooMoo.scriptAPI = {
            parse: r.Z,
            validate: i.Z,
            tokenize: s(),
            execute: l.Z,
          };
        };
      },
    },
    t = {};
  function o(a) {
    var r = t[a];
    if (void 0 !== r) return r.exports;
    var i = (t[a] = {
      exports: {},
    });
    return e[a].call(i.exports, i, i.exports, o), i.exports;
  }
  (o.n = (e) => {
    var t = e && e.__esModule ? () => e.default : () => e;
    return (
      o.d(t, {
        a: t,
      }),
      t
    );
  }),
    (o.d = (e, t) => {
      for (var a in t)
        o.o(t, a) &&
          !o.o(e, a) &&
          Object.defineProperty(e, a, {
            enumerable: !0,
            get: t[a],
          });
    }),
    (o.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
    (o.r = (e) => {
      "undefined" != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, {
          value: "Module",
        }),
        Object.defineProperty(e, "__esModule", {
          value: !0,
        });
    });
  var a = o(366);
})();