@overlayed/app 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index.d.ts → index.d.mts} +13 -22
- package/dist/index.mjs +5 -0
- package/dist/siege.d.ts +66 -47
- package/dist/siege.js +1 -1
- package/dist/universal.d.ts +5 -5
- package/package.json +12 -12
- package/dist/index.js +0 -5
|
@@ -4,7 +4,7 @@ import EventEmitter$1 from "events";
|
|
|
4
4
|
import "xior";
|
|
5
5
|
import * as electron0 from "electron";
|
|
6
6
|
import { BrowserWindow, BrowserWindowConstructorOptions } from "electron";
|
|
7
|
-
import * as
|
|
7
|
+
import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
|
|
8
8
|
import { Process } from "@overlayed-gg/native-interface";
|
|
9
9
|
import { KeyboardKeyEvent, MouseButtonEvent, RenderInterface, RenderInterface as RenderInterface$1, RenderWindow, RenderWindow as RenderWindow$1, RenderWindowConstructorOptions, RenderWindowConstructorOptions as RenderWindowConstructorOptions$1, VirtualKey, VirtualKey as VirtualKey$1, WindowEvent } from "@overlayed-gg/render-interface";
|
|
10
10
|
|
|
@@ -52,7 +52,7 @@ type Brand<Base, Branding, ReservedName extends string = "__type__"> = Base & {
|
|
|
52
52
|
* when manipulating branded types in general.
|
|
53
53
|
*/
|
|
54
54
|
//#endregion
|
|
55
|
-
//#region ../utils-node/dist/index.d.
|
|
55
|
+
//#region ../utils-node/dist/index.d.mts
|
|
56
56
|
//#endregion
|
|
57
57
|
//#region src/asSingleton.d.ts
|
|
58
58
|
type Singleton<T extends new (...args: any[]) => any> = T & {
|
|
@@ -194,7 +194,7 @@ interface BundleAppConfig extends BundleConfigBase {}
|
|
|
194
194
|
interface BundleSiteConfig extends BundleConfigBase {}
|
|
195
195
|
declare function defineConfig(config: OverlayedConfig): OverlayedConfig;
|
|
196
196
|
//#endregion
|
|
197
|
-
//#region ../events/dist/index.d.
|
|
197
|
+
//#region ../events/dist/index.d.mts
|
|
198
198
|
//#endregion
|
|
199
199
|
//#region src/utils.d.ts
|
|
200
200
|
declare const BaseEvent: Type<{
|
|
@@ -210,8 +210,8 @@ type GameModuleEvent<TEvents extends Record<string, BaseEvent>> = TEvents & {
|
|
|
210
210
|
event: BaseEvent;
|
|
211
211
|
};
|
|
212
212
|
type GameModuleEventInfer<TModule extends GameModule> = TModule["events"]["event"]["infer"];
|
|
213
|
-
interface GameModule<TEvents extends Record<string, BaseEvent> = Record<string, BaseEvent>, TKey extends string = string> {
|
|
214
|
-
key: TKey;
|
|
213
|
+
interface GameModule<TEvents extends Record<string, BaseEvent> = Record<string, BaseEvent>, TKey$1 extends string = string> {
|
|
214
|
+
key: TKey$1;
|
|
215
215
|
events: Module<GameModuleEvent<TEvents>>;
|
|
216
216
|
}
|
|
217
217
|
type EventCallback<TEvent extends BaseEvent, TEventType extends EventType<TEvent>> = (event: Extract<TEvent, {
|
|
@@ -237,7 +237,7 @@ type KeybindCallbacks = {
|
|
|
237
237
|
down: KeybindDownCallback[];
|
|
238
238
|
up: KeybindUpCallback[];
|
|
239
239
|
};
|
|
240
|
-
declare const KeybindSchema:
|
|
240
|
+
declare const KeybindSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
241
241
|
[x: string]: {
|
|
242
242
|
keys: string[];
|
|
243
243
|
mode: (In: "toggle" | "hold") => arktype0.Out<"toggle" | "hold">;
|
|
@@ -295,7 +295,7 @@ interface OverridesManagerScope {
|
|
|
295
295
|
setKeyInputBlock: (key: number, block: boolean) => void;
|
|
296
296
|
}
|
|
297
297
|
//#endregion
|
|
298
|
-
//#region ../native-managers/dist/index.d.
|
|
298
|
+
//#region ../native-managers/dist/index.d.mts
|
|
299
299
|
//#region src/renderInterfaceManager.d.ts
|
|
300
300
|
type RenderInterfaceName = "OGG_SIEGE";
|
|
301
301
|
//#endregion
|
|
@@ -386,13 +386,13 @@ declare function module(): {
|
|
|
386
386
|
//#region src/utilities/types.d.ts
|
|
387
387
|
type UniversalGameModule = ReturnType<typeof module>;
|
|
388
388
|
type OverlayedAppGameModules<TModule extends GameModule> = { [TKey in TModule["key"]]: OverlayedAppGameModuleListeners<TModule, TKey> } & { [TKey in UniversalGameModule["key"]]: OverlayedAppGameModuleListeners<UniversalGameModule, TKey> };
|
|
389
|
-
type OverlayedAppGameModuleListeners<TModule extends GameModule, TKey extends TModule["key"] = TModule["key"]> = {
|
|
389
|
+
type OverlayedAppGameModuleListeners<TModule extends GameModule, TKey$1 extends TModule["key"] = TModule["key"]> = {
|
|
390
390
|
/**
|
|
391
391
|
* Listen to any event emitted by the module.
|
|
392
392
|
* @param cb - The callback to call when any event is emitted.
|
|
393
393
|
*/
|
|
394
394
|
onAny<TEvent extends Extract<TModule, {
|
|
395
|
-
key: TKey;
|
|
395
|
+
key: TKey$1;
|
|
396
396
|
}>["events"]["event"]["infer"]>(cb: (data: TEvent) => void): void;
|
|
397
397
|
/**
|
|
398
398
|
* Listen to a specific event emitted by the module.
|
|
@@ -400,14 +400,14 @@ type OverlayedAppGameModuleListeners<TModule extends GameModule, TKey extends TM
|
|
|
400
400
|
* @param cb - The callback to call when the event is emitted.
|
|
401
401
|
*/
|
|
402
402
|
on<TEvent extends Extract<TModule, {
|
|
403
|
-
key: TKey;
|
|
403
|
+
key: TKey$1;
|
|
404
404
|
}>["events"]["event"]["infer"], TEventType extends EventType<TEvent> = EventType<TEvent>>(event: TEventType, cb: EventCallback<TEvent, TEventType>): void;
|
|
405
405
|
/**
|
|
406
406
|
* Stop listening to any event emitted by the module.
|
|
407
407
|
* @param cb - The callback to stop listening to.
|
|
408
408
|
*/
|
|
409
409
|
offAny<TEvent extends Extract<TModule, {
|
|
410
|
-
key: TKey;
|
|
410
|
+
key: TKey$1;
|
|
411
411
|
}>["events"]["event"]["infer"]>(cb: (data: TEvent) => void): void;
|
|
412
412
|
/**
|
|
413
413
|
* Stop listening to a specific event emitted by the module.
|
|
@@ -415,7 +415,7 @@ type OverlayedAppGameModuleListeners<TModule extends GameModule, TKey extends TM
|
|
|
415
415
|
* @param cb - The callback to stop listening to.
|
|
416
416
|
*/
|
|
417
417
|
off<TEvent extends GameModuleEventInfer<Extract<TModule, {
|
|
418
|
-
key: TKey;
|
|
418
|
+
key: TKey$1;
|
|
419
419
|
}>>, TEventType extends EventType<TEvent> = EventType<TEvent>>(event: TEventType, cb: EventCallback<TEvent, TEventType>): void;
|
|
420
420
|
/**
|
|
421
421
|
* Call this when you are ready to receive game events.
|
|
@@ -715,16 +715,7 @@ declare function overlayed<TModule extends GameModule, TShortcut extends string>
|
|
|
715
715
|
//#region src/managers/nativeModuleManager.d.ts
|
|
716
716
|
declare function setFetchLatestTokenCallback(newFetchLatestToken: () => Promise<unknown> | undefined): void;
|
|
717
717
|
//#endregion
|
|
718
|
-
|
|
719
|
-
/**
|
|
720
|
-
* Add two numbers together
|
|
721
|
-
* @param x - The first number
|
|
722
|
-
* @param y - The second number
|
|
723
|
-
* @returns The sum of x and y
|
|
724
|
-
*/
|
|
725
|
-
declare function add(x: number, y: number): number;
|
|
726
|
-
//#endregion
|
|
727
|
-
export { ActiveGameInfo, type BundleAppConfig, type BundleSiteConfig, type GameLaunchManagerEvents, type KeybindSchemaEntry as KeybindConfig, type KeyboardKeyEvent, type LoggerScope, type MouseButtonEvent, type OverlayedApp, type OverlayedConfig, OverridesManagerScope, RenderInterface, type RenderWindow, type RenderWindowConstructorOptions, VirtualKey, type WindowEvent, add, defineConfig, overlayed, setFetchLatestTokenCallback, setUpdaterTokenResolver };
|
|
718
|
+
export { ActiveGameInfo, type BundleAppConfig, type BundleSiteConfig, type GameLaunchManagerEvents, type KeybindSchemaEntry as KeybindConfig, type KeyboardKeyEvent, type LoggerScope, type MouseButtonEvent, type OverlayedApp, type OverlayedConfig, OverridesManagerScope, RenderInterface, type RenderWindow, type RenderWindowConstructorOptions, VirtualKey, type WindowEvent, defineConfig, overlayed, setFetchLatestTokenCallback, setUpdaterTokenResolver };
|
|
728
719
|
declare global {
|
|
729
720
|
namespace Electron {
|
|
730
721
|
interface BrowserWindow {
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{createRequire as e}from"node:module";import{Type as t,scope as n,type as r}from"arktype";import i from"mitt";import a,{createWriteStream as o,existsSync as s,mkdirSync as c,readdirSync as l,unlinkSync as u,writeFileSync as d}from"fs";import{ensureFileSync as f}from"fs-extra";import{join as p}from"path";import m,{basename as ee,resolve as te}from"node:path";import h from"node:process";import*as g from"node:os";import ne from"node:os";import re from"node:tty";import ie from"events";import{copyFileSync as ae,createReadStream as oe,existsSync as se,mkdirSync as ce,readFileSync as le,readdirSync as ue,writeFileSync as de}from"node:fs";import"glob";import"jiti";import fe from"xior";import _ from"fs/promises";import v from"jszip";import{createHash as pe}from"node:crypto";import{app as y}from"electron";import*as me from"node:fs/promises";import he from"systeminformation";var ge=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);function b(e){return e?Array.isArray(e)?e:[e]:[]}var _e=class{data=[];constructor(){}get size(){return this.data.length}add(e){this.data.push(e)}next(){return this.data.shift()}clear(){this.data.length=0}*flush(){for(;this.size>0;){let e=this.next();e&&(yield e)}}};const ve=(e=0)=>t=>`\u001B[${t+e}m`,ye=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,be=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,x={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(x.modifier);const xe=Object.keys(x.color),Se=Object.keys(x.bgColor);[...xe,...Se];function Ce(){let e=new Map;for(let[t,n]of Object.entries(x)){for(let[t,r]of Object.entries(n))x[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=x[t],e.set(r[0],r[1]);Object.defineProperty(x,t,{value:n,enumerable:!1})}return Object.defineProperty(x,`codes`,{value:e,enumerable:!1}),x.color.close=`\x1B[39m`,x.bgColor.close=`\x1B[49m`,x.color.ansi=ve(),x.color.ansi256=ye(),x.color.ansi16m=be(),x.bgColor.ansi=ve(10),x.bgColor.ansi256=ye(10),x.bgColor.ansi16m=be(10),Object.defineProperties(x,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>x.rgbToAnsi256(...x.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>x.ansi256ToAnsi(x.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>x.ansi256ToAnsi(x.hexToAnsi256(e)),enumerable:!1}}),x}var S=Ce();function C(e,t=globalThis.Deno?globalThis.Deno.args:h.argv){let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}const{env:w}=h;let T;C(`no-color`)||C(`no-colors`)||C(`color=false`)||C(`color=never`)?T=0:(C(`color`)||C(`colors`)||C(`color=true`)||C(`color=always`))&&(T=1);function we(){if(`FORCE_COLOR`in w)return w.FORCE_COLOR===`true`?1:w.FORCE_COLOR===`false`?0:w.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(w.FORCE_COLOR,10),3)}function Te(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ee(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=we();r!==void 0&&(T=r);let i=n?T:r;if(i===0)return 0;if(n){if(C(`color=16m`)||C(`color=full`)||C(`color=truecolor`))return 3;if(C(`color=256`))return 2}if(`TF_BUILD`in w&&`AGENT_NAME`in w)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(w.TERM===`dumb`)return a;if(h.platform===`win32`){let e=ne.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in w)return[`GITHUB_ACTIONS`,`GITEA_ACTIONS`,`CIRCLECI`].some(e=>e in w)?3:[`TRAVIS`,`APPVEYOR`,`GITLAB_CI`,`BUILDKITE`,`DRONE`].some(e=>e in w)||w.CI_NAME===`codeship`?1:a;if(`TEAMCITY_VERSION`in w)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(w.TEAMCITY_VERSION)?1:0;if(w.COLORTERM===`truecolor`||w.TERM===`xterm-kitty`||w.TERM===`xterm-ghostty`||w.TERM===`wezterm`)return 3;if(`TERM_PROGRAM`in w){let e=Number.parseInt((w.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(w.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(w.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(w.TERM)||`COLORTERM`in w?1:a}function De(e,t={}){return Te(Ee(e,{streamIsTTY:e&&e.isTTY,...t}))}var Oe={stdout:De({isTTY:re.isatty(1)}),stderr:De({isTTY:re.isatty(2)})};function ke(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Ae(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
|
|
2
|
+
`:`
|
|
3
|
+
`)+n,i=r+1,r=e.indexOf(`
|
|
4
|
+
`,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:je,stderr:Me}=Oe,Ne=Symbol(`GENERATOR`),E=Symbol(`STYLER`),D=Symbol(`IS_EMPTY`),Pe=[`ansi`,`ansi`,`ansi256`,`ansi16m`],O=Object.create(null),Fe=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=je?je.level:0;e.level=t.level===void 0?n:t.level},Ie=e=>{let t=(...e)=>e.join(` `);return Fe(t,e),Object.setPrototypeOf(t,k.prototype),t};function k(e){return Ie(e)}Object.setPrototypeOf(k.prototype,Function.prototype);for(let[e,t]of Object.entries(S))O[e]={get(){let n=A(this,ze(t.open,t.close,this[E]),this[D]);return Object.defineProperty(this,e,{value:n}),n}};O.visible={get(){let e=A(this,this[E],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const Le=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?S[n].ansi16m(...r):t===`ansi256`?S[n].ansi256(S.rgbToAnsi256(...r)):S[n].ansi(S.rgbToAnsi(...r)):e===`hex`?Le(`rgb`,t,n,...S.hexToRgb(...r)):S[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){O[e]={get(){let{level:t}=this;return function(...n){let r=ze(Le(e,Pe[t],`color`,...n),S.color.close,this[E]);return A(this,r,this[D])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);O[t]={get(){let{level:t}=this;return function(...n){let r=ze(Le(e,Pe[t],`bgColor`,...n),S.bgColor.close,this[E]);return A(this,r,this[D])}}}}const Re=Object.defineProperties(()=>{},{...O,level:{enumerable:!0,get(){return this[Ne].level},set(e){this[Ne].level=e}}}),ze=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},A=(e,t,n)=>{let r=(...e)=>Be(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Re),r[Ne]=e,r[E]=t,r[D]=n,r},Be=(e,t)=>{if(e.level<=0||!t)return e[D]?``:t;let n=e[E];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=ke(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
5
|
+
`);return a!==-1&&(t=Ae(t,i,r,a)),r+t+i};Object.defineProperties(k.prototype,O);const Ve=k();k({level:Me?Me.level:0});var j=Ve,M=class{emitter;constructor(){this.emitter=i()}on(e,t){b(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){b(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){b(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},He=class{listeners;constructor(){this.listeners=new Map}on(e,t){b(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){b(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=b(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function N(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const P=N(class extends M{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var Ue=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{f(this.getFilePath()),a.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=a.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=r(`string.json.parse`).to(`object`)(e);if(t instanceof r.errors)return this._defaultValue;let n=this._schema[`~standard`].validate(t);if(n instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return n.issues?this.migrate(t,this._defaultValue):this.migrate(n.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return a.accessSync(e,a.constants.R_OK|a.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){P.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function We(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Ge=class e extends M{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date;return{timestamp:n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getUTCMilliseconds().toString().padStart(3,`0`)}`,level:e,message:t.map(e=>We(e)).join(` `)}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{c(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=p(this.logPath,this.getFileName(this.currentDate));if(!s(e))try{d(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return`${e.getUTCFullYear()}-${(e.getUTCMonth()+1).toString().padStart(2,`0`)}-${e.getUTCDate().toString().padStart(2,`0`)}`}createStream(){return o(p(this.logPath,this.getFileName(this.currentDate)),{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=l(this.logPath),t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()-7));e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let[t,r,i]=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``).split(`-`).map(Number);return new Date(Date.UTC(t,r-1,i))<=n}).forEach(e=>{try{u(p(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const F=()=>m.join(process.env.APPDATA??``,`overlayed`),Ke=()=>m.join(F(),`logs`),qe=e=>m.join(F(),`apps`,e),Je=e=>m.join(qe(e),`logs`),Ye=()=>m.join(F(),`meta.json`);var Xe=class{fileLogger;path;appId;messageQueue=new _e;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=Je(e),this.fileLogger=new Ge(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:j.red,warn:j.yellow,debug:j.blue,log:j.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Ge.getMessageElements(e,...t),a=console[e],o=n[e];a(`${j.gray(r)} ${o(i)}`)}};const I=N(Xe,`overlayed.log`);var Ze=class extends ie{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function Qe(e,t){let{recursive:n}=$e(t);return se(e)?n?et(e).map(t=>[e,t]):ue(e).map(t=>[e,t]):[]}function $e(e){return{recursive:e?.recursive??!0}}function et(e){return ue(e,{withFileTypes:!0}).flatMap(t=>{let n=m.join(e,t.name);return t.isDirectory()?et(n):[n]})}function tt(e){return e}const{PipeEventServer:nt,PipeEventClient:rt,PipeEventBase:it,ProcessMonitor:at,Process:ot,HardwareInterface:st}=e(import.meta.url)(`@overlayed-gg/native-interface/build/overlayed_native_interface_x64.node`),L=N(class extends M{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new nt(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`stats-cc`),{RenderInterface:ct,renderHookPath:lt}=e(import.meta.url)(`@overlayed-gg/render-interface/build/overlayed_render_interface_x64.node`);let ut=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});const R=r({game:`string`,type:`string`,creation_time:`number`}).and({game:`'siege' | 'tft'`}),dt=R.and({type:`'logged_in'`,content:{account_id:`string`}}),ft=R.and({type:`'module_loaded'`,content:{game_version:`string`,process_hash:`string`}}),pt=R.and({type:`'module_unloaded'`}),mt=R.and({type:`'unsupported_game_version'`,content:{game_version:`string`,process_hash:`string`}}),ht=n({"#event1":`logged_in | module_loaded | module_unloaded | unsupported_game_version`,event:`event1`,logged_in:dt,module_loaded:ft,module_unloaded:pt,unsupported_game_version:mt}).export(),gt=Object.keys(ht).filter(e=>e!==`event`);function _t(){return{key:`universal`,events:ht}}var vt=class{logger;initialized=!1;constructor(e){this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},z=class extends M{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},yt=class extends He{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const bt=fe.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let xt;function St(e){xt=e}bt.interceptors.request.use(e=>{let t=xt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=fe.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function Ct(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function wt(e){return e}function Tt(e){return e?t=>(e(t),t):wt}const Et=Tt();function Dt(e){return B.get(`/v1/public/applications/${e}`)}function Ot(e,t,n){return bt.get(`/v1/native/${At(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":jt(n,t)}})}function kt(e,t,n){return bt.get(`/v1/native/${At(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":jt(n,t)}})}function At(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function jt(e,t){return`desktop-application/${e} (channel=${t})`}function Mt(){return B.get(`/v1/public/raven/config`)}function Nt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Pt(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Ft(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function It(e){let t=Date.now(),n=Ct(e.messages.map(e=>Lt(t,e)),250),r=Promise.all(n.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return r.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),r}function Lt(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function Rt(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function zt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Bt;function Vt(e){Bt=e}const V=N(class extends z{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=m.join(F(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await _.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=m.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await _.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return m.join(this.targetDir,e)}getTargetVersionPath(e,t){return m.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Bt?.();for(let n of e)try{let{data:e}=await Ot(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r,a=!1;if(!i){let t=this.getTargetVersionPath(n,e);await this.hasPathAccess(t)?(await _.readdir(t)).length===0&&(a=!0,this.logger.warn(`${n} > Version path exists, but no files. Forcing download.`)):(a=!0,this.logger.warn(`${n} > Version path does not exist. Forcing download.`))}i||a?(this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t),this.logger.log(`${n} > Downloaded and extracted`),await this.cleanupOldVersions(n,e),this.logger.log(`${n} > Cleaned up versions older than ${e}`),this.emit(`dllUpdated`,{identifier:n,version:e})):this.logger.log(`${n} > No update found`)}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n){this.logger.log(`${e} > Downloading DLLs for version ${t}`);let{data:r}=await kt(e,n,global.OVERLAYED.APP_VERSION);this.logger.log(`${e} > Downloaded DLLs for version ${t}`);let i=this.getTargetPath(e),a=this.getTargetVersionPath(e,t);await _.mkdir(a,{recursive:!0});let o=new v;await o.loadAsync(r);let s=Object.keys(o.files).map(async t=>{let n=o.files[t];if(n&&!n.dir){let r=m.join(a,t),i=await n.async(`nodebuffer`);await _.writeFile(r,i),this.logger.log(`${e} > Extracted DLL: ${t}`)}});await Promise.all(s);let c=m.join(i,`version.txt`);await _.writeFile(c,t),this.logger.log(`${e} > Saved version file: ${t}`)}async cleanupOldVersions(e,t){let n=m.join(this.targetDir,e),r=await _.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await _.rm(m.join(n,e.name),{recursive:!0,force:!0})}async hasPathAccess(e){try{return await _.access(e,_.constants.F_OK),!0}catch{return!1}}}),H=N(class extends z{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await Mt()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Ht,PipeEventClient:Ut,PipeEventBase:Wt,ProcessMonitor:Gt,Process:Kt,HardwareInterface:qt}=e(import.meta.url)(`@overlayed-gg/native-interface/build/overlayed_native_interface_x64.node`),U=N(class extends z{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new Gt}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var Jt=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=N(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new Jt(new ct(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=N(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new _e,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{It({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}});function Yt(e=[]){return m.normalize(m.join(qe(global.OVERLAYED.APPLICATION_ID),...e))}const Xt=r({game:`string`,type:`string`,creation_time:`number`}),K=new Ue({path:Ye(),schema:r({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`,"debug?":{"ri_disabled?":`boolean`,"gm_disabled?":`boolean`}}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function Zt(){let{debug:e}=K.get();return e?{ri_disabled:e.ri_disabled??!1,gm_disabled:e.gm_disabled??!1}:{ri_disabled:!1,gm_disabled:!1}}function Qt(){let e=K.get().userId;if(e)return e;let t=tn();return K.set({...K.get(),userId:t}),t}function $t(){let e=K.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return K.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function en(){try{let e=K.get();K.set({...e,sessionLastUsed:Date.now()})}catch(e){I.getInstance().log(`Failed to update sessionLastUsed`,e)}}function tn(){try{return qt.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}const nn=e(import.meta.url).resolve(`@overlayed-gg/render-interface/build/overlayed_render_hook_x64.dll`),q=N(class extends yt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}on(e,t){super.on(e,t);let n=b(e);if(!(n.includes(`gameReady`)||n.includes(`*`))||this._activeReadyRavenGames.size===0)return;let r=t;for(let e of this._activeReadyRavenGames)this.logger.log(`Late calling gameReady callback for game`,e),r({game:e})}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=Kt.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){P.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(nn),a=Zt();if(a.ri_disabled&&this.logger.log(`Skipping render interface injection due to meta debug`,{renderInterfacePath:i}),i&&!a.ri_disabled)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let o=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=m.basename(t),i=m.join(r,n);if(!i)return Promise.resolve();if(a.gm_disabled)return this.logger.log(`Skipping injection due to meta debug`,{targetPath:i}),Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(o),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.logger.log(`Game Ready`),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=m.basename(e),n=te(e),r=m.join(F(),`resources`),i=m.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{se(r)||ce(r,{recursive:!0}),de(i,le(n)),ae(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await _.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>m.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),rn=N(class extends vt{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),q.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){q.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=le(n.path),i=pe(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await Nt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new v;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new Ze(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Pt(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Ft(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){Rt(e)?zt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function J(e,t){return`${e}:${t}`}function an(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function on(){let e=P.getInstance(),t=q.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const sn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),cn=new Map(sn.entries().map(([e,t])=>[t,e])),ln=r({"[string]":{keys:`string[]`,mode:r(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var un=class extends z{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new Ue({path:Yt([`keybinds.json`]),schema:ln,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.toggle.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.down.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.up.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up||n.up.length===0)continue;let r=e[t];if(this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))){this.activeKeybinds.delete(t);for(let e of n.up)e();this.logger.log(`Keybind up triggered`,this.getKeybindToString(r))}}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&t.toggle.length>0&&!this.triggeredToggleKeybinds.has(n)){let r;for(let e of t.toggle){let t=e();typeof t==`string`&&r===void 0&&(r=t)}this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&t.down.length>0&&!this.activeKeybinds.has(n)){let r;for(let e of t.down){let t=e();if(typeof t==`string`){r=t;break}}r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function dn(e){let t=new un(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),y.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function fn(){let e=q.getInstance(),t=P.getInstance(),n=G.getInstance();n.meta=pn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=pn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function pn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:Qt(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function mn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=L.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const hn=N(class extends vt{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function gn(){return{scope:e=>hn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function _n(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var vn=ge(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))();function yn(){return{registerWindow:e=>{(0,vn.setupRevUtils)(e,global.OVERLAYED.electron)}}}function bn(e){let t=Je(global.OVERLAYED.APPLICATION_ID),n=Qe(t,{recursive:!0}),r=Ke(),i=Qe(r,{recursive:!0});I.getInstance().info(`Logs path: `,t),I.getInstance().info(`Overlayed logs path: `,r);let a=new v;return[...n,...i].forEach(([e,t])=>{I.getInstance().info(`Zipping: `,t);let n=oe(t),r=ee(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{I.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function xn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function Sn(e){let t=new Xe(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category}),await xn(e,await bn(t).generateAsync({type:`base64`}))}}}const Cn=1e3;function wn(e,t,n,i,a){let o=L.getInstance(),s=I.getInstance().scope(`SetupPipeServer`);s.log(`Initializing`);function c(e,t){let r=n.get(t);if(!r)n.set(t,[e]);else{if(r.length>=Cn){P.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${r.length}, max: ${Cn}`});return}r.push(e)}}function l(n){s.info(n);let i=Xt(n);if(i instanceof r.errors){G.getInstance().track(`invalid_game_event`,{}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=gt.includes(i.type),l=e.modules.find(e=>e.key===`universal`),u=o?l:e.modules.find(e=>e.key===i.game);if(!u){s.warn(`Invalid module`,{module:o?`universal`:i.game});return}let d=u.events.event,f=d(n);if(f instanceof r.errors){if(`type`in f.byPath)return;s.warn(`Invalid event`,{summary:f.summary}),G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type,summary:f.summary}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:f.summary});return}if(!a[u.key]){c(f,u.key);return}if(f.type===`unsupported_game_version`){let{content:e}=f;G.getInstance().track(`unsupported_game_version`,{game:f.game,hash:e.process_hash,version:e.game_version})}let p=J(u.key,f.type),m=J(u.key,`*`),ee=t.get(p),te=t.get(m),h=[...Array.from(ee??[]),...Array.from(te??[])];if(h.length===0){s.info(`No handlers found for event`,{event:f});return}h.forEach(e=>{e(f)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=n.get(e);t&&(I.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>l(e)),n.delete(e))}),o.on(`data`,e=>e.forEach(l)),o.on(`error`,e=>{s.error(`Pipe server error`,e),P.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Tn={},Q,En=new M,$;function Dn(e){let t=On(e),{init:n=!0,debug:r=!1,silent:i=!0}=t;if(kn(e),I.getInstance().init(e.applicationId,r,i),Z)return Q;function a(){if(Z){I.getInstance().warn(`Overlayed already initialized`);return}fn();let e=new Map,n=new Map,r=an(t.modules,e,En),i=on(),o=dn(t.keybinds),s=mn(),c=gn(),l=yn(),u=_n(),d=Sn(t);I.getInstance().log(`Overlayed initialized`),An(t),wn(t,e,n,En,Tn),Z=!0,Q={...r,...i,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>q.getInstance().isInGame,init:a,log:d,initialized:Z},Q.universal.on(`logged_in`,e=>{G.getInstance().track(`account_id`,{account_id:e.content.account_id,game:e.game})})}return n?(a(),Q):new Proxy({init:a},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}function On(e){return{...e,modules:[...e.modules,_t()]}}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function kn(e){global.OVERLAYED={APPLICATION_ID:Et(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.30.0`,FRONTEND_VERSION:`0.0.0`,sessionId:$t(),electron:e.electron}}function An(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);q.getInstance().setSubscribedGames(t),rn.getInstance().init(),q.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Dt(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=Qt();I.getInstance().log(`userId`,t);let n={...await e,userId:t};return I.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{en()}catch{}},3e4),$.unref()}catch(e){I.getInstance().log(`failed to start sessionLastUsed interval`,e)}async function i(){let e={};e.os=g.platform().trim(),e.os_version=process.getSystemVersion().trim(),e.architecture=g.arch().trim();let t=g.cpus();t.length>0?(e.cpu=t[0].model.trim(),e.cpu_cores=t.length,e.cpu_speed=t[0].speed):I.getInstance().warn(`Failed to collect CPU info`);let n=await he.graphics();I.getInstance().info(`GPU info`,n);let r=n.controllers.sort((e,t)=>(t.vram??0)-(e.vram??0))[0];r?(e.gpu=r.model.trim(),e.gpu_memory=r.vram??0):I.getInstance().warn(`Failed to find primary GPU`),e.display_count=n.displays.length;let i=n.displays.find(e=>e.main)??n.displays[0];i?(e.primary_display_resolution_x=i.resolutionX??void 0,e.primary_display_resolution_y=i.resolutionY??void 0,e.primary_display_refresh_rate=i.currentRefreshRate??void 0):I.getInstance().warn(`Failed to find main display`),e.ram=process.getSystemMemoryInfo().total;let a=g.homedir(),o=await me.statfs(a);return o&&`blocks`in o&&`bsize`in o&&`bavail`in o?(e.disk=o.blocks*o.bsize,e.disk_free=o.bavail*o.bsize):I.getInstance().warn(`Failed to collect disk info`),I.getInstance().log(`Retrieved system information`,e),e}y.on(`ready`,()=>{i().then(e=>{G.getInstance().track(`system_info`,e)}).catch(e=>{I.getInstance().log(`Failed to retrieve system information`,e)})}),y.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),jn()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),jn()})}async function jn(){try{en()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),q.getInstance().destroy(),rn.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),L.getInstance().destroy(),P.getInstance().destroy()}export{ct as RenderInterface,ut as VirtualKey,tt as defineConfig,Dn as overlayed,Vt as setFetchLatestTokenCallback,St as setUpdaterTokenResolver};
|
package/dist/siege.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as arktype2 from "arktype";
|
|
2
2
|
import { Type } from "arktype";
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
3
|
+
import * as arktype_internal_variants_string_ts0 from "arktype/internal/variants/string.ts";
|
|
4
|
+
import * as arktype_internal_variants_number_ts0 from "arktype/internal/variants/number.ts";
|
|
5
|
+
import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
|
|
6
6
|
|
|
7
7
|
//#region ../utils/dist/index.d.ts
|
|
8
8
|
|
|
@@ -95,6 +95,8 @@ type SiegeProfileId = Brand<string, "siegeProfileId">;
|
|
|
95
95
|
declare const SiegeProfileId: Brander<SiegeProfileId>;
|
|
96
96
|
type SiegeItemObjectId = Brand<number, "siegeItemObjectId">;
|
|
97
97
|
declare const SiegeItemObjectId: Brander<SiegeItemObjectId>;
|
|
98
|
+
type SiegeDamageSourceId = Brand<number, "siegeDamageSourceId">;
|
|
99
|
+
declare const SiegeDamageSourceId: Brander<SiegeDamageSourceId>;
|
|
98
100
|
type SiegeMatchType = Brand<string, "siegeMatchType">;
|
|
99
101
|
declare const SiegeMatchType: Brander<SiegeMatchType>;
|
|
100
102
|
type SiegeGameMode = Brand<string, "siegeGameMode">;
|
|
@@ -106,22 +108,25 @@ declare const SiegeTimeOfDay: Brander<SiegeTimeOfDay>;
|
|
|
106
108
|
declare const SIEGE_BOT_ID = "00000000-0000-0000-0000-000000000000";
|
|
107
109
|
declare const SIEGE_GAME_MODE_PHASES: readonly ["intro", "planning", "prep", "action", "results", "invalid", "first"];
|
|
108
110
|
type SiegeGameModePhase = (typeof SIEGE_GAME_MODE_PHASES)[number] | (string & {});
|
|
109
|
-
declare const SiegeGameModePhaseSchema:
|
|
111
|
+
declare const SiegeGameModePhaseSchema: arktype_internal_variants_string_ts0.StringType<SiegeGameModePhase, {}>;
|
|
110
112
|
declare const SIEGE_TEAMS: readonly [0, 1];
|
|
111
|
-
declare const SiegeTeamSchema:
|
|
113
|
+
declare const SiegeTeamSchema: arktype_internal_variants_number_ts0.NumberType<0 | 1, {}>;
|
|
112
114
|
type SiegeTeam = typeof SiegeTeamSchema.infer;
|
|
113
115
|
declare const SIEGE_SIDES: readonly ["attacker", "defender", "both", "invalid"];
|
|
114
116
|
type SiegeSide = (typeof SIEGE_SIDES)[number] | (string & {});
|
|
115
|
-
declare const SiegeSideSchema:
|
|
117
|
+
declare const SiegeSideSchema: arktype_internal_variants_string_ts0.StringType<SiegeSide, {}>;
|
|
116
118
|
declare const SIEGE_PLAYER_LIFE_STATES: readonly ["normal", "overhealed", "low_health", "downed", "dead", "respawning"];
|
|
117
119
|
type SiegePlayerLifeState = (typeof SIEGE_PLAYER_LIFE_STATES)[number] | (string & {});
|
|
118
|
-
declare const SiegePlayerLifeStateSchema:
|
|
120
|
+
declare const SiegePlayerLifeStateSchema: arktype_internal_variants_string_ts0.StringType<SiegePlayerLifeState, {}>;
|
|
119
121
|
declare const SIEGE_DAMAGE_TYPES: readonly ["bullet", "melee", "explosive", "falling", "regeneration", "unknown", "debris", "projectile", "downed", "gas", "thermal_explosion", "melee_gadget", "barbed_wire", "electric", "reinforcement", "frag", "paralyzed", "emp", "break", "cleanup", "interrogation", "melee-finisher", "toxic", "toxic-explosion", "pneumatic", "body-contact", "contact-explosion", "flash", "parasite-spike", "laser", "concussion", "blowtorch", "taser-shield", "reverse-friendly-fire", "self-destroyed", "area-control", "fire", "breach-kick", "break-wall", "blade-mine", "melee-pushback", "supressive-fire", "gas-pipe-fire", "invalid"];
|
|
120
122
|
type SiegeDamageType = (typeof SIEGE_DAMAGE_TYPES)[number] | (string & {});
|
|
121
|
-
declare const SiegeDamageTypeSchema:
|
|
123
|
+
declare const SiegeDamageTypeSchema: arktype_internal_variants_string_ts0.StringType<SiegeDamageType, {}>;
|
|
122
124
|
declare const SIEGE_DAMAGE_TEAM_TYPES: readonly ["unknown", "enemy", "friendly", "invalid"];
|
|
123
125
|
type SiegeDamageTeamType = (typeof SIEGE_DAMAGE_TEAM_TYPES)[number] | (string & {});
|
|
124
|
-
declare const SiegeDamageTeamTypeSchema:
|
|
126
|
+
declare const SiegeDamageTeamTypeSchema: arktype_internal_variants_string_ts0.StringType<SiegeDamageTeamType, {}>;
|
|
127
|
+
declare const SIEGE_DAMAGE_HIT_ZONES: readonly ["invalid", "head", "left_upper_arm", "right_upper_arm", "left_forearm", "right_forearm", "left_hand", "right_hand", "upper_torso", "lower_torso", "crotch", "left_thigh", "right_thigh", "left_calf", "right_calf", "left_foot", "right_foot", "neck", "clothing"];
|
|
128
|
+
type SiegeDamageHitZone = (typeof SIEGE_DAMAGE_HIT_ZONES)[number] | (string & {});
|
|
129
|
+
declare const SiegeDamageHitZoneSchema: arktype_internal_variants_string_ts0.StringType<SiegeDamageHitZone, {}>;
|
|
125
130
|
declare const SIEGE_MATCH_TYPES_TO_ID: Readonly<{
|
|
126
131
|
readonly quickPlay: SiegeMatchType;
|
|
127
132
|
readonly versusAi: SiegeMatchType;
|
|
@@ -751,6 +756,8 @@ declare function module(): {
|
|
|
751
756
|
max_health: number;
|
|
752
757
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
753
758
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
759
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
760
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
754
761
|
damage_item_id: SiegeItemObjectId | null;
|
|
755
762
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
756
763
|
damage_time: number;
|
|
@@ -1122,6 +1129,8 @@ declare function module(): {
|
|
|
1122
1129
|
max_health: number;
|
|
1123
1130
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1124
1131
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1132
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1133
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
1125
1134
|
damage_item_id: SiegeItemObjectId | null;
|
|
1126
1135
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
1127
1136
|
damage_time: number;
|
|
@@ -1377,7 +1386,7 @@ declare function module(): {
|
|
|
1377
1386
|
};
|
|
1378
1387
|
//#endregion
|
|
1379
1388
|
//#region src/utils.d.ts
|
|
1380
|
-
declare const BaseEvent:
|
|
1389
|
+
declare const BaseEvent: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1381
1390
|
game: string;
|
|
1382
1391
|
type: string;
|
|
1383
1392
|
creation_time: number;
|
|
@@ -1404,7 +1413,7 @@ declare const TranslationSchema: <T extends AnyBrand | number = number>() => Typ
|
|
|
1404
1413
|
value: string;
|
|
1405
1414
|
}>;
|
|
1406
1415
|
type Translation<T extends AnyBrand | number = number> = ReturnType<typeof TranslationSchema<T>>["infer"];
|
|
1407
|
-
declare const PlayerMatchStatsDataSchema:
|
|
1416
|
+
declare const PlayerMatchStatsDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1408
1417
|
kills: number;
|
|
1409
1418
|
deaths: number;
|
|
1410
1419
|
assists: number;
|
|
@@ -1412,7 +1421,7 @@ declare const PlayerMatchStatsDataSchema: arktype_internal_methods_object_ts0.Ob
|
|
|
1412
1421
|
score: number;
|
|
1413
1422
|
}, {}>;
|
|
1414
1423
|
type PlayerMatchStatsData = typeof PlayerMatchStatsDataSchema.infer;
|
|
1415
|
-
declare const PlayerDamageDataSchema:
|
|
1424
|
+
declare const PlayerDamageDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1416
1425
|
instigator_player_id: SiegePlayerId;
|
|
1417
1426
|
receiver_player_id: SiegePlayerId;
|
|
1418
1427
|
damage_amount: number;
|
|
@@ -1421,12 +1430,14 @@ declare const PlayerDamageDataSchema: arktype_internal_methods_object_ts0.Object
|
|
|
1421
1430
|
max_health: number;
|
|
1422
1431
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1423
1432
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1433
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1434
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
1424
1435
|
damage_item_id: SiegeItemObjectId | null;
|
|
1425
1436
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
1426
1437
|
damage_time: number;
|
|
1427
1438
|
}, {}>;
|
|
1428
1439
|
type PlayerDamageData = typeof PlayerDamageDataSchema.infer;
|
|
1429
|
-
declare const MatchRoundDataSchema:
|
|
1440
|
+
declare const MatchRoundDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1430
1441
|
index: number;
|
|
1431
1442
|
rounds_until_next_segment: number;
|
|
1432
1443
|
segment_size: number;
|
|
@@ -1441,7 +1452,7 @@ declare const MatchRoundDataSchema: arktype_internal_methods_object_ts0.ObjectTy
|
|
|
1441
1452
|
};
|
|
1442
1453
|
}, {}>;
|
|
1443
1454
|
type MatchRoundData = typeof MatchRoundDataSchema.infer;
|
|
1444
|
-
declare const MapDataSchema:
|
|
1455
|
+
declare const MapDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1445
1456
|
name: {
|
|
1446
1457
|
id: SiegeMapNameId;
|
|
1447
1458
|
value: string;
|
|
@@ -1452,7 +1463,7 @@ declare const MapDataSchema: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1452
1463
|
};
|
|
1453
1464
|
}, {}>;
|
|
1454
1465
|
type MapData = typeof MapDataSchema.infer;
|
|
1455
|
-
declare const RoundEndPlayerDataSchema:
|
|
1466
|
+
declare const RoundEndPlayerDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1456
1467
|
player_id: SiegePlayerId;
|
|
1457
1468
|
final_health: number;
|
|
1458
1469
|
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
@@ -1462,7 +1473,7 @@ declare const RoundEndPlayerDataSchema: arktype_internal_methods_object_ts0.Obje
|
|
|
1462
1473
|
};
|
|
1463
1474
|
}, {}>;
|
|
1464
1475
|
type RoundEndPlayerData = typeof RoundEndPlayerDataSchema.infer;
|
|
1465
|
-
declare const RoundEndDataSchema:
|
|
1476
|
+
declare const RoundEndDataSchema: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1466
1477
|
round_data: {
|
|
1467
1478
|
index: number;
|
|
1468
1479
|
rounds_until_next_segment: number;
|
|
@@ -1486,6 +1497,8 @@ declare const RoundEndDataSchema: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1486
1497
|
max_health: number;
|
|
1487
1498
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1488
1499
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1500
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1501
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
1489
1502
|
damage_item_id: SiegeItemObjectId | null;
|
|
1490
1503
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
1491
1504
|
damage_time: number;
|
|
@@ -1503,7 +1516,7 @@ declare const RoundEndDataSchema: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1503
1516
|
type RoundEndData = typeof RoundEndDataSchema.infer;
|
|
1504
1517
|
//#endregion
|
|
1505
1518
|
//#region src/events/matchStarted.d.ts
|
|
1506
|
-
declare const MatchStarted:
|
|
1519
|
+
declare const MatchStarted: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1507
1520
|
game: "siege";
|
|
1508
1521
|
type: "match_started";
|
|
1509
1522
|
creation_time: number;
|
|
@@ -1546,7 +1559,7 @@ declare const MatchStarted: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1546
1559
|
type MatchStartedEvent = typeof MatchStarted.infer;
|
|
1547
1560
|
//#endregion
|
|
1548
1561
|
//#region src/events/startedQueuing.d.ts
|
|
1549
|
-
declare const StartedQueuing:
|
|
1562
|
+
declare const StartedQueuing: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1550
1563
|
game: "siege";
|
|
1551
1564
|
type: "started_queuing";
|
|
1552
1565
|
creation_time: number;
|
|
@@ -1562,7 +1575,7 @@ declare const StartedQueuing: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1562
1575
|
type StartedQueuingEvent = typeof StartedQueuing.infer;
|
|
1563
1576
|
//#endregion
|
|
1564
1577
|
//#region src/events/stoppedQueueing.d.ts
|
|
1565
|
-
declare const StoppedQueueing:
|
|
1578
|
+
declare const StoppedQueueing: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1566
1579
|
game: "siege";
|
|
1567
1580
|
type: "stopped_queuing";
|
|
1568
1581
|
creation_time: number;
|
|
@@ -1570,7 +1583,7 @@ declare const StoppedQueueing: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1570
1583
|
type StoppedQueueingEvent = typeof StoppedQueueing.infer;
|
|
1571
1584
|
//#endregion
|
|
1572
1585
|
//#region src/events/matchEnded.d.ts
|
|
1573
|
-
declare const MatchEnded:
|
|
1586
|
+
declare const MatchEnded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1574
1587
|
game: "siege";
|
|
1575
1588
|
type: "match_ended";
|
|
1576
1589
|
creation_time: number;
|
|
@@ -1578,7 +1591,7 @@ declare const MatchEnded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1578
1591
|
type MatchEndedEvent = typeof MatchEnded.infer;
|
|
1579
1592
|
//#endregion
|
|
1580
1593
|
//#region src/events/mapChanged.d.ts
|
|
1581
|
-
declare const MapChanged:
|
|
1594
|
+
declare const MapChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1582
1595
|
game: "siege";
|
|
1583
1596
|
type: "map_changed";
|
|
1584
1597
|
creation_time: number;
|
|
@@ -1598,7 +1611,7 @@ declare const MapChanged: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1598
1611
|
type MapChangedEvent = typeof MapChanged.infer;
|
|
1599
1612
|
//#endregion
|
|
1600
1613
|
//#region src/events/operatorBanVotingStarted.d.ts
|
|
1601
|
-
declare const OperatorBanVotingStarted:
|
|
1614
|
+
declare const OperatorBanVotingStarted: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1602
1615
|
game: "siege";
|
|
1603
1616
|
type: "operator_ban_voting_started";
|
|
1604
1617
|
creation_time: number;
|
|
@@ -1611,7 +1624,7 @@ declare const OperatorBanVotingStarted: arktype_internal_methods_object_ts0.Obje
|
|
|
1611
1624
|
type OperatorBanVotingStartedEvent = typeof OperatorBanVotingStarted.infer;
|
|
1612
1625
|
//#endregion
|
|
1613
1626
|
//#region src/events/operatorBanned.d.ts
|
|
1614
|
-
declare const OperatorBanned:
|
|
1627
|
+
declare const OperatorBanned: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1615
1628
|
game: "siege";
|
|
1616
1629
|
type: "operator_banned";
|
|
1617
1630
|
creation_time: number;
|
|
@@ -1628,7 +1641,7 @@ declare const OperatorBanned: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1628
1641
|
type OperatorBannedEvent = typeof OperatorBanned.infer;
|
|
1629
1642
|
//#endregion
|
|
1630
1643
|
//#region src/events/operatorBanCleared.d.ts
|
|
1631
|
-
declare const OperatorBanCleared:
|
|
1644
|
+
declare const OperatorBanCleared: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1632
1645
|
game: "siege";
|
|
1633
1646
|
type: "operator_ban_cleared";
|
|
1634
1647
|
creation_time: number;
|
|
@@ -1640,7 +1653,7 @@ declare const OperatorBanCleared: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1640
1653
|
type OperatorBanClearedEvent = typeof OperatorBanCleared.infer;
|
|
1641
1654
|
//#endregion
|
|
1642
1655
|
//#region src/events/roundEnded.d.ts
|
|
1643
|
-
declare const RoundEnded:
|
|
1656
|
+
declare const RoundEnded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1644
1657
|
game: "siege";
|
|
1645
1658
|
type: "round_ended";
|
|
1646
1659
|
creation_time: number;
|
|
@@ -1668,6 +1681,8 @@ declare const RoundEnded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1668
1681
|
max_health: number;
|
|
1669
1682
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1670
1683
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1684
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
1685
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
1671
1686
|
damage_item_id: SiegeItemObjectId | null;
|
|
1672
1687
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
1673
1688
|
damage_time: number;
|
|
@@ -1686,7 +1701,7 @@ declare const RoundEnded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1686
1701
|
type RoundEndedEvent = typeof RoundEnded.infer;
|
|
1687
1702
|
//#endregion
|
|
1688
1703
|
//#region src/events/phaseChanged.d.ts
|
|
1689
|
-
declare const PhaseChanged:
|
|
1704
|
+
declare const PhaseChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1690
1705
|
game: "siege";
|
|
1691
1706
|
type: "phase_changed";
|
|
1692
1707
|
creation_time: number;
|
|
@@ -1697,7 +1712,7 @@ declare const PhaseChanged: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1697
1712
|
type PhaseChangedEvent = typeof PhaseChanged.infer;
|
|
1698
1713
|
//#endregion
|
|
1699
1714
|
//#region src/events/playerJoined.d.ts
|
|
1700
|
-
declare const PlayerJoined:
|
|
1715
|
+
declare const PlayerJoined: arktype_internal_variants_object_ts0.ObjectType<(In: {
|
|
1701
1716
|
game: "siege";
|
|
1702
1717
|
type: "player_joined";
|
|
1703
1718
|
creation_time: number;
|
|
@@ -1758,7 +1773,7 @@ declare const PlayerJoined: arktype_internal_methods_object_ts0.ObjectType<(In:
|
|
|
1758
1773
|
type PlayerJoinedEvent = typeof PlayerJoined.infer;
|
|
1759
1774
|
//#endregion
|
|
1760
1775
|
//#region src/events/playerLeft.d.ts
|
|
1761
|
-
declare const PlayerLeft:
|
|
1776
|
+
declare const PlayerLeft: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1762
1777
|
game: "siege";
|
|
1763
1778
|
type: "player_left";
|
|
1764
1779
|
creation_time: number;
|
|
@@ -1769,7 +1784,7 @@ declare const PlayerLeft: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1769
1784
|
type PlayerLeftEvent = typeof PlayerLeft.infer;
|
|
1770
1785
|
//#endregion
|
|
1771
1786
|
//#region src/events/playerOperatorChanged.d.ts
|
|
1772
|
-
declare const PlayerOperatorChanged:
|
|
1787
|
+
declare const PlayerOperatorChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1773
1788
|
game: "siege";
|
|
1774
1789
|
type: "player_operator_changed";
|
|
1775
1790
|
creation_time: number;
|
|
@@ -1784,7 +1799,7 @@ declare const PlayerOperatorChanged: arktype_internal_methods_object_ts0.ObjectT
|
|
|
1784
1799
|
type PlayerOperatorChangedEvent = typeof PlayerOperatorChanged.infer;
|
|
1785
1800
|
//#endregion
|
|
1786
1801
|
//#region src/events/playerLocationChanged.d.ts
|
|
1787
|
-
declare const PlayerLocationChanged:
|
|
1802
|
+
declare const PlayerLocationChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1788
1803
|
game: "siege";
|
|
1789
1804
|
type: "player_location_changed";
|
|
1790
1805
|
creation_time: number;
|
|
@@ -1796,7 +1811,7 @@ declare const PlayerLocationChanged: arktype_internal_methods_object_ts0.ObjectT
|
|
|
1796
1811
|
type PlayerLocationChangedEvent = typeof PlayerLocationChanged.infer;
|
|
1797
1812
|
//#endregion
|
|
1798
1813
|
//#region src/events/playerSideChanged.d.ts
|
|
1799
|
-
declare const PlayerSideChanged:
|
|
1814
|
+
declare const PlayerSideChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1800
1815
|
game: "siege";
|
|
1801
1816
|
type: "player_side_changed";
|
|
1802
1817
|
creation_time: number;
|
|
@@ -1808,7 +1823,7 @@ declare const PlayerSideChanged: arktype_internal_methods_object_ts0.ObjectType<
|
|
|
1808
1823
|
type PlayerSideChangedEvent = typeof PlayerSideChanged.infer;
|
|
1809
1824
|
//#endregion
|
|
1810
1825
|
//#region src/events/playerScoreChanged.d.ts
|
|
1811
|
-
declare const PlayerScoreChanged:
|
|
1826
|
+
declare const PlayerScoreChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1812
1827
|
game: "siege";
|
|
1813
1828
|
type: "player_score_changed";
|
|
1814
1829
|
creation_time: number;
|
|
@@ -1820,7 +1835,7 @@ declare const PlayerScoreChanged: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1820
1835
|
type PlayerScoreChangedEvent = typeof PlayerScoreChanged.infer;
|
|
1821
1836
|
//#endregion
|
|
1822
1837
|
//#region src/events/playerKillsChanged.d.ts
|
|
1823
|
-
declare const PlayerKillsChanged:
|
|
1838
|
+
declare const PlayerKillsChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1824
1839
|
game: "siege";
|
|
1825
1840
|
type: "player_kills_changed";
|
|
1826
1841
|
creation_time: number;
|
|
@@ -1832,7 +1847,7 @@ declare const PlayerKillsChanged: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1832
1847
|
type PlayerKillsChangedEvent = typeof PlayerKillsChanged.infer;
|
|
1833
1848
|
//#endregion
|
|
1834
1849
|
//#region src/events/playerDeathsChanged.d.ts
|
|
1835
|
-
declare const PlayerDeathsChanged:
|
|
1850
|
+
declare const PlayerDeathsChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1836
1851
|
game: "siege";
|
|
1837
1852
|
type: "player_deaths_changed";
|
|
1838
1853
|
creation_time: number;
|
|
@@ -1844,7 +1859,7 @@ declare const PlayerDeathsChanged: arktype_internal_methods_object_ts0.ObjectTyp
|
|
|
1844
1859
|
type PlayerDeathsChangedEvent = typeof PlayerDeathsChanged.infer;
|
|
1845
1860
|
//#endregion
|
|
1846
1861
|
//#region src/events/playerAssistsChanged.d.ts
|
|
1847
|
-
declare const PlayerAssistsChanged:
|
|
1862
|
+
declare const PlayerAssistsChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1848
1863
|
game: "siege";
|
|
1849
1864
|
type: "player_assists_changed";
|
|
1850
1865
|
creation_time: number;
|
|
@@ -1856,7 +1871,7 @@ declare const PlayerAssistsChanged: arktype_internal_methods_object_ts0.ObjectTy
|
|
|
1856
1871
|
type PlayerAssistsChangedEvent = typeof PlayerAssistsChanged.infer;
|
|
1857
1872
|
//#endregion
|
|
1858
1873
|
//#region src/events/playerGameModeActionsChanged.d.ts
|
|
1859
|
-
declare const PlayerGameModeActionsChanged:
|
|
1874
|
+
declare const PlayerGameModeActionsChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1860
1875
|
game: "siege";
|
|
1861
1876
|
type: "player_game_mode_actions_changed";
|
|
1862
1877
|
creation_time: number;
|
|
@@ -1868,7 +1883,7 @@ declare const PlayerGameModeActionsChanged: arktype_internal_methods_object_ts0.
|
|
|
1868
1883
|
type PlayerGameModeActionsChangedEvent = typeof PlayerGameModeActionsChanged.infer;
|
|
1869
1884
|
//#endregion
|
|
1870
1885
|
//#region src/events/playerPingUpdated.d.ts
|
|
1871
|
-
declare const PlayerPingUpdated:
|
|
1886
|
+
declare const PlayerPingUpdated: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1872
1887
|
game: "siege";
|
|
1873
1888
|
type: "player_ping_updated";
|
|
1874
1889
|
creation_time: number;
|
|
@@ -1880,7 +1895,7 @@ declare const PlayerPingUpdated: arktype_internal_methods_object_ts0.ObjectType<
|
|
|
1880
1895
|
type PlayerPingUpdatedEvent = typeof PlayerPingUpdated.infer;
|
|
1881
1896
|
//#endregion
|
|
1882
1897
|
//#region src/events/defuserPlanted.d.ts
|
|
1883
|
-
declare const DefuserPlanted:
|
|
1898
|
+
declare const DefuserPlanted: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1884
1899
|
game: "siege";
|
|
1885
1900
|
type: "defuser_planted";
|
|
1886
1901
|
creation_time: number;
|
|
@@ -1891,7 +1906,7 @@ declare const DefuserPlanted: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1891
1906
|
type DefuserPlantedEvent = typeof DefuserPlanted.infer;
|
|
1892
1907
|
//#endregion
|
|
1893
1908
|
//#region src/events/defuserSabotaged.d.ts
|
|
1894
|
-
declare const DefuserSabotaged:
|
|
1909
|
+
declare const DefuserSabotaged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1895
1910
|
game: "siege";
|
|
1896
1911
|
type: "defuser_sabotaged";
|
|
1897
1912
|
creation_time: number;
|
|
@@ -1902,7 +1917,7 @@ declare const DefuserSabotaged: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1902
1917
|
type DefuserSabotagedEvent = typeof DefuserSabotaged.infer;
|
|
1903
1918
|
//#endregion
|
|
1904
1919
|
//#region src/events/defuserPickedUp.d.ts
|
|
1905
|
-
declare const DefuserPickedUp:
|
|
1920
|
+
declare const DefuserPickedUp: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1906
1921
|
game: "siege";
|
|
1907
1922
|
type: "defuser_picked_up";
|
|
1908
1923
|
creation_time: number;
|
|
@@ -1914,7 +1929,7 @@ declare const DefuserPickedUp: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1914
1929
|
type DefuserPickedUpEvent = typeof DefuserPickedUp.infer;
|
|
1915
1930
|
//#endregion
|
|
1916
1931
|
//#region src/events/defuserDropped.d.ts
|
|
1917
|
-
declare const DefuserDropped:
|
|
1932
|
+
declare const DefuserDropped: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1918
1933
|
game: "siege";
|
|
1919
1934
|
type: "defuser_dropped";
|
|
1920
1935
|
creation_time: number;
|
|
@@ -1925,7 +1940,7 @@ declare const DefuserDropped: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1925
1940
|
type DefuserDroppedEvent = typeof DefuserDropped.infer;
|
|
1926
1941
|
//#endregion
|
|
1927
1942
|
//#region src/events/playerLifeStateChanged.d.ts
|
|
1928
|
-
declare const PlayerLifeStateChanged:
|
|
1943
|
+
declare const PlayerLifeStateChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1929
1944
|
game: "siege";
|
|
1930
1945
|
type: "player_life_state_changed";
|
|
1931
1946
|
creation_time: number;
|
|
@@ -1937,7 +1952,7 @@ declare const PlayerLifeStateChanged: arktype_internal_methods_object_ts0.Object
|
|
|
1937
1952
|
type PlayerLifeStateChangedEvent = typeof PlayerLifeStateChanged.infer;
|
|
1938
1953
|
//#endregion
|
|
1939
1954
|
//#region src/events/playerDied.d.ts
|
|
1940
|
-
declare const PlayerDied:
|
|
1955
|
+
declare const PlayerDied: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1941
1956
|
game: "siege";
|
|
1942
1957
|
type: "player_died";
|
|
1943
1958
|
creation_time: number;
|
|
@@ -1949,7 +1964,7 @@ declare const PlayerDied: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1949
1964
|
type PlayerDiedEvent = typeof PlayerDied.infer;
|
|
1950
1965
|
//#endregion
|
|
1951
1966
|
//#region src/events/playerDowned.d.ts
|
|
1952
|
-
declare const PlayerDowned:
|
|
1967
|
+
declare const PlayerDowned: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1953
1968
|
game: "siege";
|
|
1954
1969
|
type: "player_downed";
|
|
1955
1970
|
creation_time: number;
|
|
@@ -1961,7 +1976,7 @@ declare const PlayerDowned: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1961
1976
|
type PlayerDownedEvent = typeof PlayerDowned.infer;
|
|
1962
1977
|
//#endregion
|
|
1963
1978
|
//#region src/events/playerPingIdChanged.d.ts
|
|
1964
|
-
declare const PlayerPingIdChanged:
|
|
1979
|
+
declare const PlayerPingIdChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1965
1980
|
game: "siege";
|
|
1966
1981
|
type: "player_ping_id_changed";
|
|
1967
1982
|
creation_time: number;
|
|
@@ -1973,7 +1988,7 @@ declare const PlayerPingIdChanged: arktype_internal_methods_object_ts0.ObjectTyp
|
|
|
1973
1988
|
type PlayerPingIdChangedEvent = typeof PlayerPingIdChanged.infer;
|
|
1974
1989
|
//#endregion
|
|
1975
1990
|
//#region src/events/playerTeamChanged.d.ts
|
|
1976
|
-
declare const PlayerTeamChanged:
|
|
1991
|
+
declare const PlayerTeamChanged: arktype_internal_variants_object_ts0.ObjectType<{
|
|
1977
1992
|
game: "siege";
|
|
1978
1993
|
type: "player_team_changed";
|
|
1979
1994
|
creation_time: number;
|
|
@@ -2119,6 +2134,8 @@ declare const siegeEvents: arktype2.Module<{
|
|
|
2119
2134
|
max_health: number;
|
|
2120
2135
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2121
2136
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2137
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
2138
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
2122
2139
|
damage_item_id: SiegeItemObjectId | null;
|
|
2123
2140
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
2124
2141
|
damage_time: number;
|
|
@@ -2490,6 +2507,8 @@ declare const siegeEvents: arktype2.Module<{
|
|
|
2490
2507
|
max_health: number;
|
|
2491
2508
|
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2492
2509
|
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2510
|
+
damage_hit_zone: "invalid" | (string & {}) | "head" | "left_upper_arm" | "right_upper_arm" | "left_forearm" | "right_forearm" | "left_hand" | "right_hand" | "upper_torso" | "lower_torso" | "crotch" | "left_thigh" | "right_thigh" | "left_calf" | "right_calf" | "left_foot" | "right_foot" | "neck" | "clothing";
|
|
2511
|
+
damage_source_id: SiegeDamageSourceId | null;
|
|
2493
2512
|
damage_item_id: SiegeItemObjectId | null;
|
|
2494
2513
|
damage_item_instance_id: SiegeItemObjectId | null;
|
|
2495
2514
|
damage_time: number;
|
|
@@ -2746,4 +2765,4 @@ type SiegeEvent = typeof siegeEvents.event.infer;
|
|
|
2746
2765
|
type SiegeEventType = SiegeEvent["type"];
|
|
2747
2766
|
//#endregion
|
|
2748
2767
|
//#endregion
|
|
2749
|
-
export { BaseEvent, type DefuserDroppedEvent, type DefuserPickedUpEvent, type DefuserPlantedEvent, type DefuserSabotagedEvent, type MapChangedEvent, MapData, MapDataSchema, type MatchEndedEvent, MatchRoundData, MatchRoundDataSchema, type MatchStartedEvent, type OperatorBanClearedEvent, type OperatorBanVotingStartedEvent, type OperatorBannedEvent, type PhaseChangedEvent, type PlayerAssistsChangedEvent, PlayerDamageData, PlayerDamageDataSchema, type PlayerDeathsChangedEvent, type PlayerDiedEvent, type PlayerDownedEvent, type PlayerGameModeActionsChangedEvent, type PlayerJoinedEvent, type PlayerKillsChangedEvent, type PlayerLeftEvent, type PlayerLifeStateChangedEvent, type PlayerLocationChangedEvent, PlayerMatchStatsData, PlayerMatchStatsDataSchema, type PlayerOperatorChangedEvent, type PlayerPingIdChangedEvent, type PlayerPingUpdatedEvent, type PlayerScoreChangedEvent, type PlayerSideChangedEvent, type PlayerTeamChangedEvent, RoundEndData, RoundEndDataSchema, RoundEndPlayerData, RoundEndPlayerDataSchema, type RoundEndedEvent, SIEGE_BOT_ID, SIEGE_DAMAGE_TEAM_TYPES, SIEGE_DAMAGE_TYPES, SIEGE_GAME_MODES_TO_ID, SIEGE_GAME_MODE_LABELS, SIEGE_GAME_MODE_PHASES, SIEGE_GAME_MODE_TYPES_TO_ID, SIEGE_GAME_MODE_TYPE_LABELS, SIEGE_MAP_LABELS, SIEGE_MAP_TO_ID, SIEGE_MATCH_TYPES_TO_ID, SIEGE_MATCH_TYPE_LABELS, SIEGE_OPERATOR_LABELS, SIEGE_OPERATOR_META, SIEGE_OPERATOR_TO_ID, SIEGE_PLAYER_LIFE_STATES, SIEGE_ROUND_STATES_TO_ID, SIEGE_ROUND_STATE_LABELS, SIEGE_SIDES, SIEGE_SIDE_OPERATORS, SIEGE_TEAMS, SIEGE_TIME_OF_DAY_LABELS, SIEGE_TIME_OF_DAY_TO_ID, SiegeDamageTeamType, SiegeDamageTeamTypeSchema, SiegeDamageType, SiegeDamageTypeSchema, SiegeEvent, SiegeEventType, SiegeGameMode, SiegeGameModePhase, SiegeGameModePhaseSchema, SiegeGameModeTypeNameId, SiegeItemObjectId, SiegeMapNameId, SiegeMatchId, SiegeMatchType, SiegeOperatorMeta, SiegeOperatorMetaFull, SiegeOperatorNameId, SiegePlayerId, SiegePlayerLifeState, SiegePlayerLifeStateSchema, SiegeProfileId, SiegeRoundState, SiegeSide, SiegeSideSchema, SiegeTeam, SiegeTeamSchema, SiegeTimeOfDay, type StartedQueuingEvent, type StoppedQueueingEvent, Translation, TranslationSchema, isSiegeRoundStateCompleted, isSiegeRoundStateVictory, module, siegeEvents };
|
|
2768
|
+
export { BaseEvent, type DefuserDroppedEvent, type DefuserPickedUpEvent, type DefuserPlantedEvent, type DefuserSabotagedEvent, type MapChangedEvent, MapData, MapDataSchema, type MatchEndedEvent, MatchRoundData, MatchRoundDataSchema, type MatchStartedEvent, type OperatorBanClearedEvent, type OperatorBanVotingStartedEvent, type OperatorBannedEvent, type PhaseChangedEvent, type PlayerAssistsChangedEvent, PlayerDamageData, PlayerDamageDataSchema, type PlayerDeathsChangedEvent, type PlayerDiedEvent, type PlayerDownedEvent, type PlayerGameModeActionsChangedEvent, type PlayerJoinedEvent, type PlayerKillsChangedEvent, type PlayerLeftEvent, type PlayerLifeStateChangedEvent, type PlayerLocationChangedEvent, PlayerMatchStatsData, PlayerMatchStatsDataSchema, type PlayerOperatorChangedEvent, type PlayerPingIdChangedEvent, type PlayerPingUpdatedEvent, type PlayerScoreChangedEvent, type PlayerSideChangedEvent, type PlayerTeamChangedEvent, RoundEndData, RoundEndDataSchema, RoundEndPlayerData, RoundEndPlayerDataSchema, type RoundEndedEvent, SIEGE_BOT_ID, SIEGE_DAMAGE_HIT_ZONES, SIEGE_DAMAGE_TEAM_TYPES, SIEGE_DAMAGE_TYPES, SIEGE_GAME_MODES_TO_ID, SIEGE_GAME_MODE_LABELS, SIEGE_GAME_MODE_PHASES, SIEGE_GAME_MODE_TYPES_TO_ID, SIEGE_GAME_MODE_TYPE_LABELS, SIEGE_MAP_LABELS, SIEGE_MAP_TO_ID, SIEGE_MATCH_TYPES_TO_ID, SIEGE_MATCH_TYPE_LABELS, SIEGE_OPERATOR_LABELS, SIEGE_OPERATOR_META, SIEGE_OPERATOR_TO_ID, SIEGE_PLAYER_LIFE_STATES, SIEGE_ROUND_STATES_TO_ID, SIEGE_ROUND_STATE_LABELS, SIEGE_SIDES, SIEGE_SIDE_OPERATORS, SIEGE_TEAMS, SIEGE_TIME_OF_DAY_LABELS, SIEGE_TIME_OF_DAY_TO_ID, SiegeDamageHitZone, SiegeDamageHitZoneSchema, SiegeDamageSourceId, SiegeDamageTeamType, SiegeDamageTeamTypeSchema, SiegeDamageType, SiegeDamageTypeSchema, SiegeEvent, SiegeEventType, SiegeGameMode, SiegeGameModePhase, SiegeGameModePhaseSchema, SiegeGameModeTypeNameId, SiegeItemObjectId, SiegeMapNameId, SiegeMatchId, SiegeMatchType, SiegeOperatorMeta, SiegeOperatorMetaFull, SiegeOperatorNameId, SiegePlayerId, SiegePlayerLifeState, SiegePlayerLifeStateSchema, SiegeProfileId, SiegeRoundState, SiegeSide, SiegeSideSchema, SiegeTeam, SiegeTeamSchema, SiegeTimeOfDay, type StartedQueuingEvent, type StoppedQueueingEvent, Translation, TranslationSchema, isSiegeRoundStateCompleted, isSiegeRoundStateVictory, module, siegeEvents };
|
package/dist/siege.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),f=a(),ee=a(),p=a(),m=a(),h=a(),g=`00000000-0000-0000-0000-000000000000`,_=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`,`first`],v=n(`string`),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`string`),C=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],w=n(`string`),T=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.melee-pushback.supressive-fire.gas-pipe-fire.invalid`.split(`.`),E=n(`string`),D=[`unknown`,`enemy`,`friendly`,`invalid`],O=n(`string`),k=Object.freeze({quickPlay:p(`QUICK PLAY`),versusAi:p(`VERSUS AI`),standard:p(`STANDARD`),ranked:p(`RANKED`)}),te=Object.freeze({[k.quickPlay]:`Quick Play`,[k.versusAi]:`Versus AI`,[k.standard]:`Standard`,[k.ranked]:`Ranked`}),A=Object.freeze({teamDeathmatch:m(`TEAM DEATHMATCH`),goldenGun:m(`GOLDEN GUN`),freeForAll:m(`FREE FOR ALL`),weaponRoulette:m(`WEAPON ROULETTE`),dualFront:m(`DUAL FRONT`),bomb:m(`BOMB`),versusAi:m(`VERSUS AI`),hostage:m(`HOSTAGE`),threeVsThreeSecureArea:m(`3 VS 3 SECURE AREA`),targetDrill:m(`TARGET DRILL`),rengoku:m(`RENGOKU`),hideAndSeek:m(`HIDE AND SEEK`)}),ne=Object.freeze({[A.teamDeathmatch]:`Team Deathmatch`,[A.goldenGun]:`Golden Gun`,[A.freeForAll]:`Free For All`,[A.weaponRoulette]:`Weapon Roulette`,[A.dualFront]:`Dual Front`,[A.bomb]:`Bomb`,[A.versusAi]:`Versus AI`,[A.hostage]:`Hostage`,[A.threeVsThreeSecureArea]:`3v3 Secure Area`,[A.targetDrill]:`Target Drill`,[A.rengoku]:`Rengoku`,[A.hideAndSeek]:`Hide and Seek`}),j=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927),hideAndSeek:o(310854)}),M=Object.freeze({[j.quickMatch]:`Quick Match`,[j.ranked]:`Ranked`,[j.customGame]:`Custom Game`,[j.versusAi]:`Versus AI`,[j.standard]:`Standard`,[j.arcade]:`Arcade`,[j.siegeCup]:`Siege Cup`,[j.dualFront]:`Dual Front`,[j.showdown]:`Showdown`,[j.trainingGrounds]:`Training Grounds`,[j.unranked]:`Unranked`,[j.deathmatch]:`Deathmatch`,[j.rengoku]:`Rengoku`,[j.muteProtocol]:`M.U.T.E Protocol`,[j.fieldTraining]:`Field Training`,[j.hideAndSeek]:`Hide and Seek`}),N=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),P=Object.freeze({[N.glaz]:`glaz`,[N.blitz]:`blitz`,[N.buck]:`buck`,[N.sledge]:`sledge`,[N.ash]:`ash`,[N.thermite]:`thermite`,[N.castle]:`castle`,[N.rook]:`rook`,[N.pulse]:`pulse`,[N.doc]:`doc`,[N.mute]:`mute`,[N.smoke]:`smoke`,[N.recruit]:`recruit`,[N.thatcher]:`thatcher`,[N.twitch]:`twitch`,[N.montagne]:`montagne`,[N.bandit]:`bandit`,[N.fuze]:`fuze`,[N.kapkan]:`kapkan`,[N.tachanka]:`tachanka`,[N.jager]:`jager`,[N.iq]:`iq`,[N.frost]:`frost`,[N.blackbeard]:`blackbeard`,[N.valkyrie]:`valkyrie`,[N.caveira]:`caveira`,[N.capitao]:`capitao`,[N.echo]:`echo`,[N.hibana]:`hibana`,[N.mira]:`mira`,[N.jackal]:`jackal`,[N.ying]:`ying`,[N.lesion]:`lesion`,[N.ela]:`ela`,[N.zofia]:`zofia`,[N.dokkaebi]:`dokkaebi`,[N.vigil]:`vigil`,[N.finka]:`finka`,[N.lion]:`lion`,[N.alibi]:`alibi`,[N.maestro]:`maestro`,[N.maverick]:`maverick`,[N.clash]:`clash`,[N.nomad]:`nomad`,[N.kaid]:`kaid`,[N.gridlock]:`gridlock`,[N.mozzie]:`mozzie`,[N.nokk]:`nokk`,[N.warden]:`warden`,[N.goyo]:`goyo`,[N.amaru]:`amaru`,[N.kali]:`kali`,[N.wamai]:`wamai`,[N.oryx]:`oryx`,[N.iana]:`iana`,[N.melusi]:`melusi`,[N.ace]:`ace`,[N.zero]:`zero`,[N.aruni]:`aruni`,[N.flores]:`flores`,[N.thunderbird]:`thunderbird`,[N.osa]:`osa`,[N.thorn]:`thorn`,[N.azami]:`azami`,[N.sens]:`sens`,[N.grim]:`grim`,[N.solis]:`solis`,[N.brava]:`brava`,[N.fenrir]:`fenrir`,[N.ram]:`ram`,[N.tubarao]:`tubarao`,[N.deimos]:`deimos`,[N.striker]:`striker`,[N.sentry]:`sentry`,[N.skopos]:`skopos`,[N.rauora]:`rauora`,[N.denari]:`denari`}),F=Object.freeze({[N.striker]:{name:`Striker`,role:`attacker`},[N.sledge]:{name:`Sledge`,role:`attacker`},[N.thatcher]:{name:`Thatcher`,role:`attacker`},[N.ash]:{name:`Ash`,role:`attacker`},[N.thermite]:{name:`Thermite`,role:`attacker`},[N.twitch]:{name:`Twitch`,role:`attacker`},[N.montagne]:{name:`Montagne`,role:`attacker`},[N.glaz]:{name:`Glaz`,role:`attacker`},[N.fuze]:{name:`Fuze`,role:`attacker`},[N.blitz]:{name:`Blitz`,role:`attacker`},[N.iq]:{name:`IQ`,role:`attacker`},[N.buck]:{name:`Buck`,role:`attacker`},[N.blackbeard]:{name:`Blackbeard`,role:`attacker`},[N.capitao]:{name:`Capitão`,role:`attacker`},[N.hibana]:{name:`Hibana`,role:`attacker`},[N.jackal]:{name:`Jackal`,role:`attacker`},[N.ying]:{name:`Ying`,role:`attacker`},[N.zofia]:{name:`Zofia`,role:`attacker`},[N.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[N.lion]:{name:`Lion`,role:`attacker`},[N.finka]:{name:`Finka`,role:`attacker`},[N.maverick]:{name:`Maverick`,role:`attacker`},[N.nomad]:{name:`Nomad`,role:`attacker`},[N.gridlock]:{name:`Gridlock`,role:`attacker`},[N.nokk]:{name:`Nøkk`,role:`attacker`},[N.amaru]:{name:`Amaru`,role:`attacker`},[N.kali]:{name:`Kali`,role:`attacker`},[N.iana]:{name:`Iana`,role:`attacker`},[N.ace]:{name:`Ace`,role:`attacker`},[N.zero]:{name:`Zero`,role:`attacker`},[N.flores]:{name:`Flores`,role:`attacker`},[N.osa]:{name:`Osa`,role:`attacker`},[N.sens]:{name:`Sens`,role:`attacker`},[N.grim]:{name:`Grim`,role:`attacker`},[N.brava]:{name:`Brava`,role:`attacker`},[N.ram]:{name:`Ram`,role:`attacker`},[N.deimos]:{name:`Deimos`,role:`attacker`},[N.rauora]:{name:`Rauora`,role:`attacker`},[N.sentry]:{name:`Sentry`,role:`defender`},[N.smoke]:{name:`Smoke`,role:`defender`},[N.mute]:{name:`Mute`,role:`defender`},[N.castle]:{name:`Castle`,role:`defender`},[N.pulse]:{name:`Pulse`,role:`defender`},[N.doc]:{name:`Doc`,role:`defender`},[N.rook]:{name:`Rook`,role:`defender`},[N.kapkan]:{name:`Kapkan`,role:`defender`},[N.tachanka]:{name:`Tachanka`,role:`defender`},[N.jager]:{name:`Jäger`,role:`defender`},[N.bandit]:{name:`Bandit`,role:`defender`},[N.frost]:{name:`Frost`,role:`defender`},[N.valkyrie]:{name:`Valkyrie`,role:`defender`},[N.caveira]:{name:`Caveira`,role:`defender`},[N.echo]:{name:`Echo`,role:`defender`},[N.mira]:{name:`Mira`,role:`defender`},[N.lesion]:{name:`Lesion`,role:`defender`},[N.ela]:{name:`Ela`,role:`defender`},[N.vigil]:{name:`Vigil`,role:`defender`},[N.alibi]:{name:`Alibi`,role:`defender`},[N.maestro]:{name:`Maestro`,role:`defender`},[N.clash]:{name:`Clash`,role:`defender`},[N.kaid]:{name:`Kaid`,role:`defender`},[N.mozzie]:{name:`Mozzie`,role:`defender`},[N.warden]:{name:`Warden`,role:`defender`},[N.goyo]:{name:`Goyo`,role:`defender`},[N.wamai]:{name:`Wamai`,role:`defender`},[N.oryx]:{name:`Oryx`,role:`defender`},[N.melusi]:{name:`Melusi`,role:`defender`},[N.aruni]:{name:`Aruni`,role:`defender`},[N.thunderbird]:{name:`Thunderbird`,role:`defender`},[N.thorn]:{name:`Thorn`,role:`defender`},[N.azami]:{name:`Azami`,role:`defender`},[N.solis]:{name:`Solis`,role:`defender`},[N.fenrir]:{name:`Fenrir`,role:`defender`},[N.tubarao]:{name:`Tubarao`,role:`defender`},[N.skopos]:{name:`Skopós`,role:`defender`},[N.denari]:{name:`Denari`,role:`defender`}}),I=Object.freeze({attacker:Object.entries(F).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...F[s(Number(e))],id:s(Number(e))})),defender:Object.entries(F).filter(([e,t])=>t.role===`defender`).map(([e])=>({...F[s(Number(e))],id:s(Number(e))}))}),L=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299534),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922),doktorsLab:c(560244830)}),R=Object.freeze({[L.favela]:`Favela`,[L.fortress]:`Fortress`,[L.villa]:`Villa`,[L.neighborhood]:`Neighborhood`,[L.themePark]:`Theme Park`,[L.stadium]:`Stadium`,[L.outback]:`Outback`,[L.yacht]:`Yacht`,[L.emeraldPlains]:`Emerald Plains`,[L.chalet]:`Chalet`,[L.coastline]:`Coastline`,[L.bank]:`Bank`,[L.consulate]:`Consulate`,[L.tower]:`Tower`,[L.nighthavenLabs]:`Nighthaven Labs`,[L.presidentialPlane]:`Presidential Plane`,[L.house]:`House`,[L.kafeDostoyevsky]:`Kafe Dostoyevsky`,[L.border]:`Border`,[L.closeQuarter]:`Close Quarter`,[L.outback]:`Outback`,[L.lair]:`Lair`,[L.herefordBase]:`Hereford Base`,[L.skyscraper]:`Skyscraper`,[L.cqbBasics]:`CQB Basics`,[L.oregon]:`Oregon`,[L.outback]:`Outback`,318512:`Stadium`,[L.fortTruth]:`Fort Truth`,[L.kanal]:`Kanal`,[L.cqbBasics]:`CQB Basics`,[L.stadium2020]:`Stadium 2020`,[L.clubhouse]:`Clubhouse`,[L.district]:`District`,[L.shinden]:`Shinden`,[L.stadiumBravo]:`Stadium Bravo`,[L.muteCommTower]:`M.U.T.E Comm Tower`,[L.doktorsLab]:`Doktor's Lab`}),z=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),B=Object.freeze({[z.notPlayed]:`Not Played`,[z.inProgress]:`In Progress`,[z.lost]:`Lost`,[z.enemiesEliminated]:`Enemies Eliminated`,[z.objectiveComplete]:`Objective Complete`,[z.timeRanOut]:`Time ran out`,[z.enemiesSurrendered]:`Enemies Surrendered`,[z.unknownReason]:`Unknown Reason`,[z.matchCancelled]:`Match Cancelled`}),V=Object.freeze({day:h(177839),night:h(177840)}),H=Object.freeze({[V.day]:`Day`,[V.night]:`Night`}),U=()=>n({id:`number`,value:`string`}),W=n({kills:`number`,deaths:`number`,assists:`number`,game_mode_actions:`number`,score:`number`}),G=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:E,damage_team_type:O,damage_item_id:r(n.number).or(`null`),damage_item_instance_id:r(n.number).or(`null`),damage_time:`number`}),K=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),q=n({name:U(),time_of_day:U()}),J=n({player_id:r(n.number),final_health:`number`,final_life_state:w,operator_name:U()}),Y=n({round_data:K,damage_events:G.array(),players:J.array()}),X=n({game:`string`,type:`string`,creation_time:`number`}),Z=[z.enemiesEliminated,z.objectiveComplete,z.timeRanOut,z.enemiesSurrendered,z.unknownReason];function re(e){return Z.includes(e)}const ie=[z.notPlayed,z.inProgress];function ae(e){return!ie.includes(e)}const Q=X.and({game:`'siege'`}),oe=Q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:U(),match_type:r(n.string),match_id:r(n.string),map:q,is_round_based:`boolean`,current_round_index:`number`,rounds:K.array()}}),se=Q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:U(),match_type:r(n.string)}}),ce=Q.and({type:`'stopped_queuing'`}),le=Q.and({type:`'match_ended'`}),ue=Q.and({type:`'map_changed'`,content:{map:q}}),de=Q.and({type:`'operator_ban_voting_started'`,content:{team:b,index:`number`,side:S}}),fe=Q.and({type:`'operator_banned'`,content:{team:b,index:`number`,side:S,operator_name:U().or(`null`)}}),pe=Q.and({type:`'operator_ban_cleared'`,content:{team:b,index:`number`}}),me=Q.and({type:`'round_ended'`,content:Y}),he=Q.and({type:`'phase_changed'`,content:{phase:v}}),ge=Q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:W,life_state:w,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),_e=Q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),ve=Q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:U()}}),ye=Q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),be=Q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),xe=Q.and({type:`'player_score_changed'`,content:{player_id:r(n.number),score:`number`}}),Se=Q.and({type:`'player_kills_changed'`,content:{player_id:r(n.number),kills:`number`}}),Ce=Q.and({type:`'player_deaths_changed'`,content:{player_id:r(n.number),deaths:`number`}}),we=Q.and({type:`'player_assists_changed'`,content:{player_id:r(n.number),assists:`number`}}),Te=Q.and({type:`'player_game_mode_actions_changed'`,content:{player_id:r(n.number),game_mode_actions:`number`}}),Ee=Q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),De=Q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),$=Q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),Oe=Q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),ke=Q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),Ae=Q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:w}}),je=Q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Me=Q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Ne=Q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Pe=Q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Fe=t({"#event1":`started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_ban_voting_started | operator_banned | operator_ban_cleared | round_ended | phase_changed | player_joined | player_left | player_operator_changed`,"#event2":`player_location_changed | player_side_changed | player_score_changed | player_kills_changed | player_deaths_changed | player_assists_changed | player_game_mode_actions_changed | player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated`,event:`event1 | event2`,started_queuing:se,stopped_queuing:ce,match_started:oe,match_ended:le,map_changed:ue,operator_ban_voting_started:de,operator_banned:fe,operator_ban_cleared:pe,round_ended:me,phase_changed:he,player_joined:ge,player_left:_e,player_operator_changed:ve,player_location_changed:ye,player_side_changed:be,player_score_changed:xe,player_kills_changed:Se,player_deaths_changed:Ce,player_assists_changed:we,player_game_mode_actions_changed:Te,defuser_planted:De,defuser_sabotaged:$,defuser_picked_up:Oe,defuser_dropped:ke,player_ping_updated:Ee,player_life_state_changed:Ae,player_died:je,player_downed:Me,player_ping_id_changed:Ne,player_team_changed:Pe}).export();function Ie(){return{key:`siege`,events:Fe}}export{X as BaseEvent,g as SIEGE_BOT_ID,D as SIEGE_DAMAGE_TEAM_TYPES,T as SIEGE_DAMAGE_TYPES,A as SIEGE_GAME_MODES_TO_ID,ne as SIEGE_GAME_MODE_LABELS,_ as SIEGE_GAME_MODE_PHASES,j as SIEGE_GAME_MODE_TYPES_TO_ID,M as SIEGE_GAME_MODE_TYPE_LABELS,R as SIEGE_MAP_LABELS,L as SIEGE_MAP_TO_ID,k as SIEGE_MATCH_TYPES_TO_ID,te as SIEGE_MATCH_TYPE_LABELS,P as SIEGE_OPERATOR_LABELS,F as SIEGE_OPERATOR_META,N as SIEGE_OPERATOR_TO_ID,C as SIEGE_PLAYER_LIFE_STATES,z as SIEGE_ROUND_STATES_TO_ID,B as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,I as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,H as SIEGE_TIME_OF_DAY_LABELS,V as SIEGE_TIME_OF_DAY_TO_ID,O as SiegeDamageTeamTypeSchema,E as SiegeDamageTypeSchema,m as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,ee as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,p as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,w as SiegePlayerLifeStateSchema,f as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,h as SiegeTimeOfDay,ae as isSiegeRoundStateCompleted,re as isSiegeRoundStateVictory,Ie as module};
|
|
1
|
+
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),ee=a(),f=a(),p=a(),m=a(),h=a(),g=a(),_=`00000000-0000-0000-0000-000000000000`,te=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`,`first`],v=n(`string`),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`string`),C=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],w=n(`string`),T=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.melee-pushback.supressive-fire.gas-pipe-fire.invalid`.split(`.`),E=n(`string`),D=[`unknown`,`enemy`,`friendly`,`invalid`],O=n(`string`),ne=[`invalid`,`head`,`left_upper_arm`,`right_upper_arm`,`left_forearm`,`right_forearm`,`left_hand`,`right_hand`,`upper_torso`,`lower_torso`,`crotch`,`left_thigh`,`right_thigh`,`left_calf`,`right_calf`,`left_foot`,`right_foot`,`neck`,`clothing`],k=n(`string`),A=Object.freeze({quickPlay:m(`QUICK PLAY`),versusAi:m(`VERSUS AI`),standard:m(`STANDARD`),ranked:m(`RANKED`)}),re=Object.freeze({[A.quickPlay]:`Quick Play`,[A.versusAi]:`Versus AI`,[A.standard]:`Standard`,[A.ranked]:`Ranked`}),j=Object.freeze({teamDeathmatch:h(`TEAM DEATHMATCH`),goldenGun:h(`GOLDEN GUN`),freeForAll:h(`FREE FOR ALL`),weaponRoulette:h(`WEAPON ROULETTE`),dualFront:h(`DUAL FRONT`),bomb:h(`BOMB`),versusAi:h(`VERSUS AI`),hostage:h(`HOSTAGE`),threeVsThreeSecureArea:h(`3 VS 3 SECURE AREA`),targetDrill:h(`TARGET DRILL`),rengoku:h(`RENGOKU`),hideAndSeek:h(`HIDE AND SEEK`)}),M=Object.freeze({[j.teamDeathmatch]:`Team Deathmatch`,[j.goldenGun]:`Golden Gun`,[j.freeForAll]:`Free For All`,[j.weaponRoulette]:`Weapon Roulette`,[j.dualFront]:`Dual Front`,[j.bomb]:`Bomb`,[j.versusAi]:`Versus AI`,[j.hostage]:`Hostage`,[j.threeVsThreeSecureArea]:`3v3 Secure Area`,[j.targetDrill]:`Target Drill`,[j.rengoku]:`Rengoku`,[j.hideAndSeek]:`Hide and Seek`}),N=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927),hideAndSeek:o(310854)}),P=Object.freeze({[N.quickMatch]:`Quick Match`,[N.ranked]:`Ranked`,[N.customGame]:`Custom Game`,[N.versusAi]:`Versus AI`,[N.standard]:`Standard`,[N.arcade]:`Arcade`,[N.siegeCup]:`Siege Cup`,[N.dualFront]:`Dual Front`,[N.showdown]:`Showdown`,[N.trainingGrounds]:`Training Grounds`,[N.unranked]:`Unranked`,[N.deathmatch]:`Deathmatch`,[N.rengoku]:`Rengoku`,[N.muteProtocol]:`M.U.T.E Protocol`,[N.fieldTraining]:`Field Training`,[N.hideAndSeek]:`Hide and Seek`}),F=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),I=Object.freeze({[F.glaz]:`glaz`,[F.blitz]:`blitz`,[F.buck]:`buck`,[F.sledge]:`sledge`,[F.ash]:`ash`,[F.thermite]:`thermite`,[F.castle]:`castle`,[F.rook]:`rook`,[F.pulse]:`pulse`,[F.doc]:`doc`,[F.mute]:`mute`,[F.smoke]:`smoke`,[F.recruit]:`recruit`,[F.thatcher]:`thatcher`,[F.twitch]:`twitch`,[F.montagne]:`montagne`,[F.bandit]:`bandit`,[F.fuze]:`fuze`,[F.kapkan]:`kapkan`,[F.tachanka]:`tachanka`,[F.jager]:`jager`,[F.iq]:`iq`,[F.frost]:`frost`,[F.blackbeard]:`blackbeard`,[F.valkyrie]:`valkyrie`,[F.caveira]:`caveira`,[F.capitao]:`capitao`,[F.echo]:`echo`,[F.hibana]:`hibana`,[F.mira]:`mira`,[F.jackal]:`jackal`,[F.ying]:`ying`,[F.lesion]:`lesion`,[F.ela]:`ela`,[F.zofia]:`zofia`,[F.dokkaebi]:`dokkaebi`,[F.vigil]:`vigil`,[F.finka]:`finka`,[F.lion]:`lion`,[F.alibi]:`alibi`,[F.maestro]:`maestro`,[F.maverick]:`maverick`,[F.clash]:`clash`,[F.nomad]:`nomad`,[F.kaid]:`kaid`,[F.gridlock]:`gridlock`,[F.mozzie]:`mozzie`,[F.nokk]:`nokk`,[F.warden]:`warden`,[F.goyo]:`goyo`,[F.amaru]:`amaru`,[F.kali]:`kali`,[F.wamai]:`wamai`,[F.oryx]:`oryx`,[F.iana]:`iana`,[F.melusi]:`melusi`,[F.ace]:`ace`,[F.zero]:`zero`,[F.aruni]:`aruni`,[F.flores]:`flores`,[F.thunderbird]:`thunderbird`,[F.osa]:`osa`,[F.thorn]:`thorn`,[F.azami]:`azami`,[F.sens]:`sens`,[F.grim]:`grim`,[F.solis]:`solis`,[F.brava]:`brava`,[F.fenrir]:`fenrir`,[F.ram]:`ram`,[F.tubarao]:`tubarao`,[F.deimos]:`deimos`,[F.striker]:`striker`,[F.sentry]:`sentry`,[F.skopos]:`skopos`,[F.rauora]:`rauora`,[F.denari]:`denari`}),L=Object.freeze({[F.striker]:{name:`Striker`,role:`attacker`},[F.sledge]:{name:`Sledge`,role:`attacker`},[F.thatcher]:{name:`Thatcher`,role:`attacker`},[F.ash]:{name:`Ash`,role:`attacker`},[F.thermite]:{name:`Thermite`,role:`attacker`},[F.twitch]:{name:`Twitch`,role:`attacker`},[F.montagne]:{name:`Montagne`,role:`attacker`},[F.glaz]:{name:`Glaz`,role:`attacker`},[F.fuze]:{name:`Fuze`,role:`attacker`},[F.blitz]:{name:`Blitz`,role:`attacker`},[F.iq]:{name:`IQ`,role:`attacker`},[F.buck]:{name:`Buck`,role:`attacker`},[F.blackbeard]:{name:`Blackbeard`,role:`attacker`},[F.capitao]:{name:`Capitão`,role:`attacker`},[F.hibana]:{name:`Hibana`,role:`attacker`},[F.jackal]:{name:`Jackal`,role:`attacker`},[F.ying]:{name:`Ying`,role:`attacker`},[F.zofia]:{name:`Zofia`,role:`attacker`},[F.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[F.lion]:{name:`Lion`,role:`attacker`},[F.finka]:{name:`Finka`,role:`attacker`},[F.maverick]:{name:`Maverick`,role:`attacker`},[F.nomad]:{name:`Nomad`,role:`attacker`},[F.gridlock]:{name:`Gridlock`,role:`attacker`},[F.nokk]:{name:`Nøkk`,role:`attacker`},[F.amaru]:{name:`Amaru`,role:`attacker`},[F.kali]:{name:`Kali`,role:`attacker`},[F.iana]:{name:`Iana`,role:`attacker`},[F.ace]:{name:`Ace`,role:`attacker`},[F.zero]:{name:`Zero`,role:`attacker`},[F.flores]:{name:`Flores`,role:`attacker`},[F.osa]:{name:`Osa`,role:`attacker`},[F.sens]:{name:`Sens`,role:`attacker`},[F.grim]:{name:`Grim`,role:`attacker`},[F.brava]:{name:`Brava`,role:`attacker`},[F.ram]:{name:`Ram`,role:`attacker`},[F.deimos]:{name:`Deimos`,role:`attacker`},[F.rauora]:{name:`Rauora`,role:`attacker`},[F.sentry]:{name:`Sentry`,role:`defender`},[F.smoke]:{name:`Smoke`,role:`defender`},[F.mute]:{name:`Mute`,role:`defender`},[F.castle]:{name:`Castle`,role:`defender`},[F.pulse]:{name:`Pulse`,role:`defender`},[F.doc]:{name:`Doc`,role:`defender`},[F.rook]:{name:`Rook`,role:`defender`},[F.kapkan]:{name:`Kapkan`,role:`defender`},[F.tachanka]:{name:`Tachanka`,role:`defender`},[F.jager]:{name:`Jäger`,role:`defender`},[F.bandit]:{name:`Bandit`,role:`defender`},[F.frost]:{name:`Frost`,role:`defender`},[F.valkyrie]:{name:`Valkyrie`,role:`defender`},[F.caveira]:{name:`Caveira`,role:`defender`},[F.echo]:{name:`Echo`,role:`defender`},[F.mira]:{name:`Mira`,role:`defender`},[F.lesion]:{name:`Lesion`,role:`defender`},[F.ela]:{name:`Ela`,role:`defender`},[F.vigil]:{name:`Vigil`,role:`defender`},[F.alibi]:{name:`Alibi`,role:`defender`},[F.maestro]:{name:`Maestro`,role:`defender`},[F.clash]:{name:`Clash`,role:`defender`},[F.kaid]:{name:`Kaid`,role:`defender`},[F.mozzie]:{name:`Mozzie`,role:`defender`},[F.warden]:{name:`Warden`,role:`defender`},[F.goyo]:{name:`Goyo`,role:`defender`},[F.wamai]:{name:`Wamai`,role:`defender`},[F.oryx]:{name:`Oryx`,role:`defender`},[F.melusi]:{name:`Melusi`,role:`defender`},[F.aruni]:{name:`Aruni`,role:`defender`},[F.thunderbird]:{name:`Thunderbird`,role:`defender`},[F.thorn]:{name:`Thorn`,role:`defender`},[F.azami]:{name:`Azami`,role:`defender`},[F.solis]:{name:`Solis`,role:`defender`},[F.fenrir]:{name:`Fenrir`,role:`defender`},[F.tubarao]:{name:`Tubarao`,role:`defender`},[F.skopos]:{name:`Skopós`,role:`defender`},[F.denari]:{name:`Denari`,role:`defender`}}),R=Object.freeze({attacker:Object.entries(L).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))})),defender:Object.entries(L).filter(([e,t])=>t.role===`defender`).map(([e])=>({...L[s(Number(e))],id:s(Number(e))}))}),z=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299534),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922),doktorsLab:c(560244830)}),B=Object.freeze({[z.favela]:`Favela`,[z.fortress]:`Fortress`,[z.villa]:`Villa`,[z.neighborhood]:`Neighborhood`,[z.themePark]:`Theme Park`,[z.stadium]:`Stadium`,[z.outback]:`Outback`,[z.yacht]:`Yacht`,[z.emeraldPlains]:`Emerald Plains`,[z.chalet]:`Chalet`,[z.coastline]:`Coastline`,[z.bank]:`Bank`,[z.consulate]:`Consulate`,[z.tower]:`Tower`,[z.nighthavenLabs]:`Nighthaven Labs`,[z.presidentialPlane]:`Presidential Plane`,[z.house]:`House`,[z.kafeDostoyevsky]:`Kafe Dostoyevsky`,[z.border]:`Border`,[z.closeQuarter]:`Close Quarter`,[z.outback]:`Outback`,[z.lair]:`Lair`,[z.herefordBase]:`Hereford Base`,[z.skyscraper]:`Skyscraper`,[z.cqbBasics]:`CQB Basics`,[z.oregon]:`Oregon`,[z.outback]:`Outback`,318512:`Stadium`,[z.fortTruth]:`Fort Truth`,[z.kanal]:`Kanal`,[z.cqbBasics]:`CQB Basics`,[z.stadium2020]:`Stadium 2020`,[z.clubhouse]:`Clubhouse`,[z.district]:`District`,[z.shinden]:`Shinden`,[z.stadiumBravo]:`Stadium Bravo`,[z.muteCommTower]:`M.U.T.E Comm Tower`,[z.doktorsLab]:`Doktor's Lab`}),V=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),H=Object.freeze({[V.notPlayed]:`Not Played`,[V.inProgress]:`In Progress`,[V.lost]:`Lost`,[V.enemiesEliminated]:`Enemies Eliminated`,[V.objectiveComplete]:`Objective Complete`,[V.timeRanOut]:`Time ran out`,[V.enemiesSurrendered]:`Enemies Surrendered`,[V.unknownReason]:`Unknown Reason`,[V.matchCancelled]:`Match Cancelled`}),U=Object.freeze({day:g(177839),night:g(177840)}),W=Object.freeze({[U.day]:`Day`,[U.night]:`Night`}),G=()=>n({id:`number`,value:`string`}),K=n({kills:`number`,deaths:`number`,assists:`number`,game_mode_actions:`number`,score:`number`}),q=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:E,damage_team_type:O,damage_hit_zone:k,damage_source_id:r(n.number).or(`null`),damage_item_id:r(n.number).or(`null`),damage_item_instance_id:r(n.number).or(`null`),damage_time:`number`}),J=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),Y=n({name:G(),time_of_day:G()}),X=n({player_id:r(n.number),final_health:`number`,final_life_state:w,operator_name:G()}),ie=n({round_data:J,damage_events:q.array(),players:X.array()}),Z=n({game:`string`,type:`string`,creation_time:`number`}),ae=[V.enemiesEliminated,V.objectiveComplete,V.timeRanOut,V.enemiesSurrendered,V.unknownReason];function oe(e){return ae.includes(e)}const se=[V.notPlayed,V.inProgress];function ce(e){return!se.includes(e)}const Q=Z.and({game:`'siege'`}),le=Q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string),match_id:r(n.string),map:Y,is_round_based:`boolean`,current_round_index:`number`,rounds:J.array()}}),ue=Q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:G(),match_type:r(n.string)}}),de=Q.and({type:`'stopped_queuing'`}),fe=Q.and({type:`'match_ended'`}),pe=Q.and({type:`'map_changed'`,content:{map:Y}}),me=Q.and({type:`'operator_ban_voting_started'`,content:{team:b,index:`number`,side:S}}),he=Q.and({type:`'operator_banned'`,content:{team:b,index:`number`,side:S,operator_name:G().or(`null`)}}),ge=Q.and({type:`'operator_ban_cleared'`,content:{team:b,index:`number`}}),_e=Q.and({type:`'round_ended'`,content:ie}),ve=Q.and({type:`'phase_changed'`,content:{phase:v}}),ye=Q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:K,life_state:w,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),be=Q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),xe=Q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:G()}}),Se=Q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),Ce=Q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),we=Q.and({type:`'player_score_changed'`,content:{player_id:r(n.number),score:`number`}}),Te=Q.and({type:`'player_kills_changed'`,content:{player_id:r(n.number),kills:`number`}}),Ee=Q.and({type:`'player_deaths_changed'`,content:{player_id:r(n.number),deaths:`number`}}),De=Q.and({type:`'player_assists_changed'`,content:{player_id:r(n.number),assists:`number`}}),$=Q.and({type:`'player_game_mode_actions_changed'`,content:{player_id:r(n.number),game_mode_actions:`number`}}),Oe=Q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),ke=Q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),Ae=Q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),je=Q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),Me=Q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),Ne=Q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:w}}),Pe=Q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Fe=Q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Ie=Q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Le=Q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Re=t({"#event1":`started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_ban_voting_started | operator_banned | operator_ban_cleared | round_ended | phase_changed | player_joined | player_left | player_operator_changed`,"#event2":`player_location_changed | player_side_changed | player_score_changed | player_kills_changed | player_deaths_changed | player_assists_changed | player_game_mode_actions_changed | player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated`,event:`event1 | event2`,started_queuing:ue,stopped_queuing:de,match_started:le,match_ended:fe,map_changed:pe,operator_ban_voting_started:me,operator_banned:he,operator_ban_cleared:ge,round_ended:_e,phase_changed:ve,player_joined:ye,player_left:be,player_operator_changed:xe,player_location_changed:Se,player_side_changed:Ce,player_score_changed:we,player_kills_changed:Te,player_deaths_changed:Ee,player_assists_changed:De,player_game_mode_actions_changed:$,defuser_planted:ke,defuser_sabotaged:Ae,defuser_picked_up:je,defuser_dropped:Me,player_ping_updated:Oe,player_life_state_changed:Ne,player_died:Pe,player_downed:Fe,player_ping_id_changed:Ie,player_team_changed:Le}).export();function ze(){return{key:`siege`,events:Re}}export{Z as BaseEvent,_ as SIEGE_BOT_ID,ne as SIEGE_DAMAGE_HIT_ZONES,D as SIEGE_DAMAGE_TEAM_TYPES,T as SIEGE_DAMAGE_TYPES,j as SIEGE_GAME_MODES_TO_ID,M as SIEGE_GAME_MODE_LABELS,te as SIEGE_GAME_MODE_PHASES,N as SIEGE_GAME_MODE_TYPES_TO_ID,P as SIEGE_GAME_MODE_TYPE_LABELS,B as SIEGE_MAP_LABELS,z as SIEGE_MAP_TO_ID,A as SIEGE_MATCH_TYPES_TO_ID,re as SIEGE_MATCH_TYPE_LABELS,I as SIEGE_OPERATOR_LABELS,L as SIEGE_OPERATOR_META,F as SIEGE_OPERATOR_TO_ID,C as SIEGE_PLAYER_LIFE_STATES,V as SIEGE_ROUND_STATES_TO_ID,H as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,R as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,W as SIEGE_TIME_OF_DAY_LABELS,U as SIEGE_TIME_OF_DAY_TO_ID,k as SiegeDamageHitZoneSchema,p as SiegeDamageSourceId,O as SiegeDamageTeamTypeSchema,E as SiegeDamageTypeSchema,h as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,f as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,m as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,w as SiegePlayerLifeStateSchema,ee as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,g as SiegeTimeOfDay,ce as isSiegeRoundStateCompleted,oe as isSiegeRoundStateVictory,ze as module};
|
package/dist/universal.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as arktype0 from "arktype";
|
|
2
|
-
import * as
|
|
2
|
+
import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
|
|
3
3
|
|
|
4
4
|
//#region ../games/universal/dist/index.d.ts
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/events/loggedIn.d.ts
|
|
8
|
-
declare const LoggedIn:
|
|
8
|
+
declare const LoggedIn: arktype_internal_variants_object_ts0.ObjectType<{
|
|
9
9
|
game: "siege" | "tft";
|
|
10
10
|
type: "logged_in";
|
|
11
11
|
creation_time: number;
|
|
@@ -16,7 +16,7 @@ declare const LoggedIn: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
16
16
|
type LoggedInEvent = typeof LoggedIn.infer;
|
|
17
17
|
//#endregion
|
|
18
18
|
//#region src/events/moduleLoaded.d.ts
|
|
19
|
-
declare const ModuleLoaded:
|
|
19
|
+
declare const ModuleLoaded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
20
20
|
game: "siege" | "tft";
|
|
21
21
|
type: "module_loaded";
|
|
22
22
|
creation_time: number;
|
|
@@ -28,7 +28,7 @@ declare const ModuleLoaded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
28
28
|
type ModuleLoadedEvent = typeof ModuleLoaded.infer;
|
|
29
29
|
//#endregion
|
|
30
30
|
//#region src/events/moduleUnloaded.d.ts
|
|
31
|
-
declare const ModuleUnloaded:
|
|
31
|
+
declare const ModuleUnloaded: arktype_internal_variants_object_ts0.ObjectType<{
|
|
32
32
|
game: "siege" | "tft";
|
|
33
33
|
type: "module_unloaded";
|
|
34
34
|
creation_time: number;
|
|
@@ -36,7 +36,7 @@ declare const ModuleUnloaded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
36
36
|
type ModuleUnloadedEvent = typeof ModuleUnloaded.infer;
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region src/events/unsupportedGameVersion.d.ts
|
|
39
|
-
declare const UnsupportedGameVersion:
|
|
39
|
+
declare const UnsupportedGameVersion: arktype_internal_variants_object_ts0.ObjectType<{
|
|
40
40
|
game: "siege" | "tft";
|
|
41
41
|
type: "unsupported_game_version";
|
|
42
42
|
creation_time: number;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@overlayed/app",
|
|
3
3
|
"author": "overlayed.gg",
|
|
4
4
|
"homepage": "https://overlayed.gg",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.30.0",
|
|
6
6
|
"description": "Overlayed app",
|
|
7
7
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
8
8
|
"repository": {
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"typescript"
|
|
14
14
|
],
|
|
15
15
|
"type": "module",
|
|
16
|
-
"main": "./dist/index.
|
|
17
|
-
"types": "./dist/index.d.
|
|
16
|
+
"main": "./dist/index.mjs",
|
|
17
|
+
"types": "./dist/index.d.mts",
|
|
18
18
|
"exports": {
|
|
19
19
|
"./package.json": "./package.json",
|
|
20
20
|
".": {
|
|
21
|
-
"types": "./dist/index.d.
|
|
22
|
-
"import": "./dist/index.
|
|
23
|
-
"default": "./dist/index.
|
|
21
|
+
"types": "./dist/index.d.mts",
|
|
22
|
+
"import": "./dist/index.mjs",
|
|
23
|
+
"default": "./dist/index.mjs"
|
|
24
24
|
},
|
|
25
25
|
"./siege": {
|
|
26
26
|
"types": "./dist/siege.d.ts",
|
|
@@ -63,25 +63,25 @@
|
|
|
63
63
|
"@ark/attest": "^0.49.0",
|
|
64
64
|
"@overlayed-gg/native-interface": "0.1.14",
|
|
65
65
|
"@overlayed-gg/render-interface": "0.1.16",
|
|
66
|
-
"msw": "^2.
|
|
66
|
+
"msw": "^2.12.3",
|
|
67
67
|
"rev-utils": "https://r2.reviq.app/rev-utils-v1.0.3.tgz",
|
|
68
|
-
"tsdown": "
|
|
68
|
+
"tsdown": "0.16.8",
|
|
69
69
|
"typescript": "^5.9.3",
|
|
70
|
-
"vite": "^7.
|
|
70
|
+
"vite": "^7.2.4",
|
|
71
71
|
"vitest": "^3.2.4",
|
|
72
72
|
"@overlayed/api": "0.0.4",
|
|
73
73
|
"@overlayed/cortex-client": "0.0.4",
|
|
74
74
|
"@overlayed/events": "0.0.4",
|
|
75
75
|
"@overlayed/native-managers": "0.0.4",
|
|
76
76
|
"@overlayed/siege": "0.0.5",
|
|
77
|
-
"@overlayed/utils": "0.0.4",
|
|
78
77
|
"@overlayed/universal": "0.0.0",
|
|
78
|
+
"@overlayed/utils": "0.0.4",
|
|
79
79
|
"@overlayed/utils-node": "0.0.4"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"arktype": "^2.1.
|
|
82
|
+
"arktype": "^2.1.27",
|
|
83
83
|
"fs-extra": "^11.3.2",
|
|
84
|
-
"glob": "^11.0
|
|
84
|
+
"glob": "^11.1.0",
|
|
85
85
|
"jiti": "^2.6.1",
|
|
86
86
|
"jszip": "^3.10.1",
|
|
87
87
|
"mitt": "^3.0.1",
|
package/dist/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{createRequire as e}from"node:module";import{Type as t,scope as n,type as r}from"arktype";import i from"mitt";import a,{createWriteStream as o,existsSync as s,mkdirSync as c,readdirSync as l,unlinkSync as u,writeFileSync as d}from"fs";import{ensureFileSync as f}from"fs-extra";import{join as p}from"path";import m,{basename as ee,resolve as te}from"node:path";import h from"node:process";import*as g from"node:os";import ne from"node:os";import re from"node:tty";import ie from"events";import{copyFileSync as ae,createReadStream as oe,existsSync as se,mkdirSync as ce,readFileSync as le,readdirSync as ue,writeFileSync as de}from"node:fs";import"glob";import"jiti";import fe from"xior";import _ from"fs/promises";import pe from"jszip";import{createHash as me}from"node:crypto";import{app as he}from"electron";import*as ge from"node:fs/promises";import _e from"systeminformation";var ve=Object.create,ye=Object.defineProperty,be=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyNames,Se=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty,we=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Te=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=xe(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Ce.call(e,s)&&s!==n&&ye(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=be(t,s))||r.enumerable});return e},Ee=(e,t,n)=>(n=e==null?{}:ve(Se(e)),Te(t||!e||!e.__esModule?ye(n,`default`,{value:e,enumerable:!0}):n,e));function v(e){return e?Array.isArray(e)?e:[e]:[]}var De=class{data=[];constructor(){}get size(){return this.data.length}add(e){this.data.push(e)}next(){return this.data.shift()}clear(){this.data.length=0}*flush(){for(;this.size>0;){let e=this.next();e&&(yield e)}}};const Oe=(e=0)=>t=>`\u001B[${t+e}m`,ke=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,Ae=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,y={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(y.modifier);const je=Object.keys(y.color),Me=Object.keys(y.bgColor);[...je,...Me];function Ne(){let e=new Map;for(let[t,n]of Object.entries(y)){for(let[t,r]of Object.entries(n))y[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=y[t],e.set(r[0],r[1]);Object.defineProperty(y,t,{value:n,enumerable:!1})}return Object.defineProperty(y,`codes`,{value:e,enumerable:!1}),y.color.close=`\x1B[39m`,y.bgColor.close=`\x1B[49m`,y.color.ansi=Oe(),y.color.ansi256=ke(),y.color.ansi16m=Ae(),y.bgColor.ansi=Oe(10),y.bgColor.ansi256=ke(10),y.bgColor.ansi16m=Ae(10),Object.defineProperties(y,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>y.rgbToAnsi256(...y.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>y.ansi256ToAnsi(y.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>y.ansi256ToAnsi(y.hexToAnsi256(e)),enumerable:!1}}),y}var b=Ne();function x(e,t=globalThis.Deno?globalThis.Deno.args:h.argv){let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}const{env:S}=h;let C;x(`no-color`)||x(`no-colors`)||x(`color=false`)||x(`color=never`)?C=0:(x(`color`)||x(`colors`)||x(`color=true`)||x(`color=always`))&&(C=1);function Pe(){if(`FORCE_COLOR`in S)return S.FORCE_COLOR===`true`?1:S.FORCE_COLOR===`false`?0:S.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(S.FORCE_COLOR,10),3)}function Fe(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ie(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=Pe();r!==void 0&&(C=r);let i=n?C:r;if(i===0)return 0;if(n){if(x(`color=16m`)||x(`color=full`)||x(`color=truecolor`))return 3;if(x(`color=256`))return 2}if(`TF_BUILD`in S&&`AGENT_NAME`in S)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(S.TERM===`dumb`)return a;if(h.platform===`win32`){let e=ne.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in S)return[`GITHUB_ACTIONS`,`GITEA_ACTIONS`,`CIRCLECI`].some(e=>e in S)?3:[`TRAVIS`,`APPVEYOR`,`GITLAB_CI`,`BUILDKITE`,`DRONE`].some(e=>e in S)||S.CI_NAME===`codeship`?1:a;if(`TEAMCITY_VERSION`in S)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(S.TEAMCITY_VERSION)?1:0;if(S.COLORTERM===`truecolor`||S.TERM===`xterm-kitty`||S.TERM===`xterm-ghostty`||S.TERM===`wezterm`)return 3;if(`TERM_PROGRAM`in S){let e=Number.parseInt((S.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(S.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(S.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(S.TERM)||`COLORTERM`in S?1:a}function Le(e,t={}){return Fe(Ie(e,{streamIsTTY:e&&e.isTTY,...t}))}var Re={stdout:Le({isTTY:re.isatty(1)}),stderr:Le({isTTY:re.isatty(2)})};function ze(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Be(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
|
|
2
|
-
`:`
|
|
3
|
-
`)+n,i=r+1,r=e.indexOf(`
|
|
4
|
-
`,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:Ve,stderr:He}=Re,w=Symbol(`GENERATOR`),T=Symbol(`STYLER`),E=Symbol(`IS_EMPTY`),Ue=[`ansi`,`ansi`,`ansi256`,`ansi16m`],D=Object.create(null),We=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=Ve?Ve.level:0;e.level=t.level===void 0?n:t.level},Ge=e=>{let t=(...e)=>e.join(` `);return We(t,e),Object.setPrototypeOf(t,O.prototype),t};function O(e){return Ge(e)}Object.setPrototypeOf(O.prototype,Function.prototype);for(let[e,t]of Object.entries(b))D[e]={get(){let n=j(this,A(t.open,t.close,this[T]),this[E]);return Object.defineProperty(this,e,{value:n}),n}};D.visible={get(){let e=j(this,this[T],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const k=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?b[n].ansi16m(...r):t===`ansi256`?b[n].ansi256(b.rgbToAnsi256(...r)):b[n].ansi(b.rgbToAnsi(...r)):e===`hex`?k(`rgb`,t,n,...b.hexToRgb(...r)):b[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){D[e]={get(){let{level:t}=this;return function(...n){let r=A(k(e,Ue[t],`color`,...n),b.color.close,this[T]);return j(this,r,this[E])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);D[t]={get(){let{level:t}=this;return function(...n){let r=A(k(e,Ue[t],`bgColor`,...n),b.bgColor.close,this[T]);return j(this,r,this[E])}}}}const Ke=Object.defineProperties(()=>{},{...D,level:{enumerable:!0,get(){return this[w].level},set(e){this[w].level=e}}}),A=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},j=(e,t,n)=>{let r=(...e)=>qe(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ke),r[w]=e,r[T]=t,r[E]=n,r},qe=(e,t)=>{if(e.level<=0||!t)return e[E]?``:t;let n=e[T];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=ze(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
5
|
-
`);return a!==-1&&(t=Be(t,i,r,a)),r+t+i};Object.defineProperties(O.prototype,D);const Je=O();O({level:He?He.level:0});var M=Je,N=class{emitter;constructor(){this.emitter=i()}on(e,t){v(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){v(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){v(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},Ye=class{listeners;constructor(){this.listeners=new Map}on(e,t){v(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){v(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=v(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function P(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const F=P(class extends N{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var Xe=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{f(this.getFilePath()),a.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=a.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=r(`string.json.parse`).to(`object`)(e);if(t instanceof r.errors)return this._defaultValue;let n=this._schema[`~standard`].validate(t);if(n instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return n.issues?this.migrate(t,this._defaultValue):this.migrate(n.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return a.accessSync(e,a.constants.R_OK|a.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){F.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function Ze(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Qe=class e extends N{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date;return{timestamp:n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getUTCMilliseconds().toString().padStart(3,`0`)}`,level:e,message:t.map(e=>Ze(e)).join(` `)}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{c(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=p(this.logPath,this.getFileName(this.currentDate));if(!s(e))try{d(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return`${e.getUTCFullYear()}-${(e.getUTCMonth()+1).toString().padStart(2,`0`)}-${e.getUTCDate().toString().padStart(2,`0`)}`}createStream(){return o(p(this.logPath,this.getFileName(this.currentDate)),{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=l(this.logPath),t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()-7));e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let[t,r,i]=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``).split(`-`).map(Number);return new Date(Date.UTC(t,r-1,i))<=n}).forEach(e=>{try{u(p(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const I=()=>m.join(process.env.APPDATA??``,`overlayed`),$e=()=>m.join(I(),`logs`),et=e=>m.join(I(),`apps`,e),tt=e=>m.join(et(e),`logs`),nt=()=>m.join(I(),`meta.json`);var rt=class{fileLogger;path;appId;messageQueue=new De;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=tt(e),this.fileLogger=new Qe(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:M.red,warn:M.yellow,debug:M.blue,log:M.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Qe.getMessageElements(e,...t),a=console[e],o=n[e];a(`${M.gray(r)} ${o(i)}`)}};const L=P(rt,`overlayed.log`);var it=class extends ie{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function at(e,t){let{recursive:n}=ot(t);return se(e)?n?st(e).map(t=>[e,t]):ue(e).map(t=>[e,t]):[]}function ot(e){return{recursive:e?.recursive??!0}}function st(e){return ue(e,{withFileTypes:!0}).flatMap(t=>{let n=m.join(e,t.name);return t.isDirectory()?st(n):[n]})}function ct(e){return e}const{PipeEventServer:lt,PipeEventClient:ut,PipeEventBase:dt,ProcessMonitor:ft,Process:pt,HardwareInterface:mt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),ht=P(class extends N{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new lt(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`stats-cc`),{RenderInterface:gt,renderHookPath:_t}=e(import.meta.url)(`@overlayed/app/dist/render-interface/build/overlayed_render_interface_x64.node`);let vt=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});const R=r({game:`string`,type:`string`,creation_time:`number`}).and({game:`'siege' | 'tft'`}),yt=R.and({type:`'logged_in'`,content:{account_id:`string`}}),bt=R.and({type:`'module_loaded'`,content:{game_version:`string`,process_hash:`string`}}),xt=R.and({type:`'module_unloaded'`}),St=R.and({type:`'unsupported_game_version'`,content:{game_version:`string`,process_hash:`string`}}),Ct=n({"#event1":`logged_in | module_loaded | module_unloaded | unsupported_game_version`,event:`event1`,logged_in:yt,module_loaded:bt,module_unloaded:xt,unsupported_game_version:St}).export(),wt=Object.keys(Ct).filter(e=>e!==`event`);function Tt(){return{key:`universal`,events:Ct}}var Et=class{logger;initialized=!1;constructor(e){this.logger=L.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},z=class extends N{logger;initialized=!1;constructor(e){super(),this.logger=L.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},Dt=class extends Ye{logger;initialized=!1;constructor(e){super(),this.logger=L.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const Ot=fe.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let kt;function At(e){kt=e}Ot.interceptors.request.use(e=>{let t=kt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=fe.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function jt(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function Mt(e){return e}function Nt(e){return e?t=>(e(t),t):Mt}const Pt=Nt();function Ft(e){return B.get(`/v1/public/applications/${e}`)}function It(e,t,n){return Ot.get(`/v1/native/${Rt(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":zt(n,t)}})}function Lt(e,t,n){return Ot.get(`/v1/native/${Rt(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":zt(n,t)}})}function Rt(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function zt(e,t){return`desktop-application/${e} (channel=${t})`}function Bt(){return B.get(`/v1/public/raven/config`)}function Vt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Ht(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Ut(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function Wt(e){let t=Date.now(),n=jt(e.messages.map(e=>Gt(t,e)),250),r=Promise.all(n.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return r.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),r}function Gt(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function Kt(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function qt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Jt;function Yt(e){Jt=e}const V=P(class extends z{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=m.join(I(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await _.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=m.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await _.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return m.join(this.targetDir,e)}getTargetVersionPath(e,t){return m.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Jt?.();for(let n of e)try{let{data:e}=await It(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r,a=!1;if(!i){let t=this.getTargetVersionPath(n,e);await this.hasPathAccess(t)?(await _.readdir(t)).length===0&&(a=!0,this.logger.warn(`${n} > Version path exists, but no files. Forcing download.`)):(a=!0,this.logger.warn(`${n} > Version path does not exist. Forcing download.`))}i||a?(this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t),this.logger.log(`${n} > Downloaded and extracted`),await this.cleanupOldVersions(n,e),this.logger.log(`${n} > Cleaned up versions older than ${e}`),this.emit(`dllUpdated`,{identifier:n,version:e})):this.logger.log(`${n} > No update found`)}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n){this.logger.log(`${e} > Downloading DLLs for version ${t}`);let{data:r}=await Lt(e,n,global.OVERLAYED.APP_VERSION);this.logger.log(`${e} > Downloaded DLLs for version ${t}`);let i=this.getTargetPath(e),a=this.getTargetVersionPath(e,t);await _.mkdir(a,{recursive:!0});let o=new pe;await o.loadAsync(r);let s=Object.keys(o.files).map(async t=>{let n=o.files[t];if(n&&!n.dir){let r=m.join(a,t),i=await n.async(`nodebuffer`);await _.writeFile(r,i),this.logger.log(`${e} > Extracted DLL: ${t}`)}});await Promise.all(s);let c=m.join(i,`version.txt`);await _.writeFile(c,t),this.logger.log(`${e} > Saved version file: ${t}`)}async cleanupOldVersions(e,t){let n=m.join(this.targetDir,e),r=await _.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await _.rm(m.join(n,e.name),{recursive:!0,force:!0})}async hasPathAccess(e){try{return await _.access(e,_.constants.F_OK),!0}catch{return!1}}}),H=P(class extends z{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await Bt()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Xt,PipeEventClient:Zt,PipeEventBase:Qt,ProcessMonitor:$t,Process:en,HardwareInterface:tn}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),U=P(class extends z{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new $t}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var nn=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=P(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new nn(new gt(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=P(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new De,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{Wt({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}});function rn(e=[]){return m.normalize(m.join(et(global.OVERLAYED.APPLICATION_ID),...e))}const an=r({game:`string`,type:`string`,creation_time:`number`}),K=new Xe({path:nt(),schema:r({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`,"debug?":{"ri_disabled?":`boolean`,"gm_disabled?":`boolean`}}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function on(){let{debug:e}=K.get();return e?{ri_disabled:e.ri_disabled??!1,gm_disabled:e.gm_disabled??!1}:{ri_disabled:!1,gm_disabled:!1}}function sn(){let e=K.get().userId;if(e)return e;let t=un();return K.set({...K.get(),userId:t}),t}function cn(){let e=K.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return K.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function ln(){try{let e=K.get();K.set({...e,sessionLastUsed:Date.now()})}catch(e){L.getInstance().log(`Failed to update sessionLastUsed`,e)}}function un(){try{return tn.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}const dn=e(import.meta.url).resolve(`@overlayed/app/dist/render-interface/build/overlayed_render_hook_x64.dll`),q=P(class extends Dt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}on(e,t){super.on(e,t);let n=v(e);if(!(n.includes(`gameReady`)||n.includes(`*`))||this._activeReadyRavenGames.size===0)return;let r=t;for(let e of this._activeReadyRavenGames)this.logger.log(`Late calling gameReady callback for game`,e),r({game:e})}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=en.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){F.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(dn),a=on();if(a.ri_disabled&&this.logger.log(`Skipping render interface injection due to meta debug`,{renderInterfacePath:i}),i&&!a.ri_disabled)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let o=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=m.basename(t),i=m.join(r,n);if(!i)return Promise.resolve();if(a.gm_disabled)return this.logger.log(`Skipping injection due to meta debug`,{targetPath:i}),Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(o),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.logger.log(`Game Ready`),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=m.basename(e),n=te(e),r=m.join(I(),`resources`),i=m.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{se(r)||ce(r,{recursive:!0}),de(i,le(n)),ae(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await _.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>m.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),fn=P(class extends Et{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),q.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){q.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=le(n.path),i=me(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await Vt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new pe;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new it(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Ht(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Ut(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){Kt(e)?qt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function J(e,t){return`${e}:${t}`}function pn(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function mn(){let e=F.getInstance(),t=q.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const hn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),gn=new Map(hn.entries().map(([e,t])=>[t,e])),_n=r({"[string]":{keys:`string[]`,mode:r(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var vn=class extends z{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new Xe({path:rn([`keybinds.json`]),schema:_n,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.toggle.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.down.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)??{toggle:[],down:[],up:[]};n.up.push(t),this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=hn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=hn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up||n.up.length===0)continue;let r=e[t];if(this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))){this.activeKeybinds.delete(t);for(let e of n.up)e();this.logger.log(`Keybind up triggered`,this.getKeybindToString(r))}}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>gn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>gn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&t.toggle.length>0&&!this.triggeredToggleKeybinds.has(n)){let r;for(let e of t.toggle){let t=e();typeof t==`string`&&r===void 0&&(r=t)}this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&t.down.length>0&&!this.activeKeybinds.has(n)){let r;for(let e of t.down){let t=e();if(typeof t==`string`){r=t;break}}r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function yn(e){let t=new vn(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),he.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function bn(){let e=q.getInstance(),t=F.getInstance(),n=G.getInstance();n.meta=xn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=xn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function xn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:sn(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function Sn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=ht.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const Cn=P(class extends Et{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function wn(){return{scope:e=>Cn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function Tn(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var En=Ee(we(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))(),1);function Dn(){return{registerWindow:e=>{(0,En.setupRevUtils)(e,global.OVERLAYED.electron)}}}function On(e){let t=tt(global.OVERLAYED.APPLICATION_ID),n=at(t,{recursive:!0}),r=$e(),i=at(r,{recursive:!0});L.getInstance().info(`Logs path: `,t),L.getInstance().info(`Overlayed logs path: `,r);let a=new pe;return[...n,...i].forEach(([e,t])=>{L.getInstance().info(`Zipping: `,t);let n=oe(t),r=ee(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{L.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function kn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function An(e){let t=new rt(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category}),await kn(e,await On(t).generateAsync({type:`base64`}))}}}const jn=1e3;function Mn(e,t,n,i,a){let o=ht.getInstance(),s=L.getInstance().scope(`SetupPipeServer`);s.log(`Initializing`);function c(e,t){let r=n.get(t);if(!r)n.set(t,[e]);else{if(r.length>=jn){F.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${r.length}, max: ${jn}`});return}r.push(e)}}function l(n){s.info(n);let i=an(n);if(i instanceof r.errors){G.getInstance().track(`invalid_game_event`,{}),F.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=wt.includes(i.type),l=e.modules.find(e=>e.key===`universal`),u=o?l:e.modules.find(e=>e.key===i.game);if(!u){s.warn(`Invalid module`,{module:o?`universal`:i.game});return}let d=u.events.event,f=d(n);if(f instanceof r.errors){if(`type`in f.byPath)return;s.warn(`Invalid event`,{summary:f.summary}),G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type,summary:f.summary}),F.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:f.summary});return}if(!a[u.key]){c(f,u.key);return}if(f.type===`unsupported_game_version`){let{content:e}=f;G.getInstance().track(`unsupported_game_version`,{game:f.game,hash:e.process_hash,version:e.game_version})}let p=J(u.key,f.type),m=J(u.key,`*`),ee=t.get(p),te=t.get(m),h=[...Array.from(ee??[]),...Array.from(te??[])];if(h.length===0){s.info(`No handlers found for event`,{event:f});return}h.forEach(e=>{e(f)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=n.get(e);t&&(L.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>l(e)),n.delete(e))}),o.on(`data`,e=>e.forEach(l)),o.on(`error`,e=>{s.error(`Pipe server error`,e),F.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Nn={},Q,Pn=new N,$;function Fn(e){let t=In(e),{init:n=!0,debug:r=!1,silent:i=!0}=t;if(Ln(e),L.getInstance().init(e.applicationId,r,i),Z)return Q;function a(){if(Z){L.getInstance().warn(`Overlayed already initialized`);return}bn();let e=new Map,n=new Map,r=pn(t.modules,e,Pn),i=mn(),o=yn(t.keybinds),s=Sn(),c=wn(),l=Dn(),u=Tn(),d=An(t);L.getInstance().log(`Overlayed initialized`),Rn(t),Mn(t,e,n,Pn,Nn),Z=!0,Q={...r,...i,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>q.getInstance().isInGame,init:a,log:d,initialized:Z},Q.universal.on(`logged_in`,e=>{G.getInstance().track(`account_id`,{account_id:e.content.account_id,game:e.game})})}return n?(a(),Q):new Proxy({init:a},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}function In(e){return{...e,modules:[...e.modules,Tt()]}}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function Ln(e){global.OVERLAYED={APPLICATION_ID:Pt(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.29.0`,FRONTEND_VERSION:`0.0.0`,sessionId:cn(),electron:e.electron}}function Rn(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);q.getInstance().setSubscribedGames(t),fn.getInstance().init(),q.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Ft(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=sn();L.getInstance().log(`userId`,t);let n={...await e,userId:t};return L.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{ln()}catch{}},3e4),$.unref()}catch(e){L.getInstance().log(`failed to start sessionLastUsed interval`,e)}async function i(){let e={};e.os=g.platform().trim(),e.os_version=process.getSystemVersion().trim(),e.architecture=g.arch().trim();let t=g.cpus();t.length>0?(e.cpu=t[0].model.trim(),e.cpu_cores=t.length,e.cpu_speed=t[0].speed):L.getInstance().warn(`Failed to collect CPU info`);let n=await _e.graphics();L.getInstance().info(`GPU info`,n);let r=n.controllers.sort((e,t)=>(t.vram??0)-(e.vram??0))[0];r?(e.gpu=r.model.trim(),e.gpu_memory=r.vram??0):L.getInstance().warn(`Failed to find primary GPU`),e.display_count=n.displays.length;let i=n.displays.find(e=>e.main)??n.displays[0];i?(e.primary_display_resolution_x=i.resolutionX??void 0,e.primary_display_resolution_y=i.resolutionY??void 0,e.primary_display_refresh_rate=i.currentRefreshRate??void 0):L.getInstance().warn(`Failed to find main display`),e.ram=process.getSystemMemoryInfo().total;let a=g.homedir(),o=await ge.statfs(a);return o&&`blocks`in o&&`bsize`in o&&`bavail`in o?(e.disk=o.blocks*o.bsize,e.disk_free=o.bavail*o.bsize):L.getInstance().warn(`Failed to collect disk info`),L.getInstance().log(`Retrieved system information`,e),e}he.on(`ready`,()=>{i().then(e=>{G.getInstance().track(`system_info`,e)}).catch(e=>{L.getInstance().log(`Failed to retrieve system information`,e)})}),he.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),zn()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),zn()})}async function zn(){try{ln()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),q.getInstance().destroy(),fn.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),ht.getInstance().destroy(),F.getInstance().destroy()}function Bn(e,t){return e+t}export{gt as RenderInterface,vt as VirtualKey,Bn as add,ct as defineConfig,Fn as overlayed,Yt as setFetchLatestTokenCallback,At as setUpdaterTokenResolver};
|