ziplayer 0.3.3 → 0.3.4
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/AGENTS.md +717 -653
- package/README.md +658 -639
- package/dist/extensions/BaseExtension.d.ts +10 -1
- package/dist/extensions/BaseExtension.d.ts.map +1 -1
- package/dist/extensions/BaseExtension.js +27 -1
- package/dist/extensions/BaseExtension.js.map +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +24 -6
- package/dist/extensions/index.js.map +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +104 -50
- package/dist/plugins/index.js.map +1 -1
- package/dist/structures/Player.d.ts +74 -43
- package/dist/structures/Player.d.ts.map +1 -1
- package/dist/structures/Player.js +440 -114
- package/dist/structures/Player.js.map +1 -1
- package/dist/structures/PlayerManager.d.ts +41 -6
- package/dist/structures/PlayerManager.d.ts.map +1 -1
- package/dist/structures/PlayerManager.js +94 -125
- package/dist/structures/PlayerManager.js.map +1 -1
- package/dist/types/extension.d.ts +3 -0
- package/dist/types/extension.d.ts.map +1 -1
- package/dist/types/index.d.ts +38 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/extensions/BaseExtension.ts +31 -1
- package/src/extensions/index.ts +30 -7
- package/src/plugins/index.ts +136 -53
- package/src/structures/Player.ts +2937 -2544
- package/src/structures/PlayerManager.ts +916 -955
- package/src/structures/Queue.ts +621 -621
- package/src/types/extension.ts +3 -0
- package/src/types/index.ts +43 -11
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
import { VoiceConnection, AudioPlayer as DiscordAudioPlayer } from "@discordjs/voice";
|
|
2
|
+
import { VoiceConnection, AudioPlayer as DiscordAudioPlayer, AudioResource } from "@discordjs/voice";
|
|
3
3
|
import { Readable } from "stream";
|
|
4
4
|
import type { BaseExtension } from "../extensions";
|
|
5
|
-
import { type Track, type PlayerOptions, type PlayerEvents, type SourcePlugin, type SearchResult, type ProgressBarOptions, type LoopMode, type SaveOptions, type VoiceChannel, type PlayerSession } from "../types";
|
|
5
|
+
import { PlaybackMode, type Track, type PlayerOptions, type PlayerEvents, type SourcePlugin, type SearchResult, type ProgressBarOptions, type LoopMode, type SaveOptions, type VoiceChannel, type PlayerSession, ForwardHealthStatus } from "../types";
|
|
6
6
|
import type { PlayerManager } from "./PlayerManager";
|
|
7
7
|
import { Queue } from "./Queue";
|
|
8
8
|
import { PluginManager } from "../plugins";
|
|
9
9
|
import { ExtensionManager } from "../extensions";
|
|
10
|
+
import { FilterManager } from "./FilterManager";
|
|
10
11
|
import { StreamManager } from "./StreamManager";
|
|
11
12
|
import { PreloadManager } from "./PreloadManager";
|
|
12
13
|
export declare interface Player {
|
|
@@ -55,24 +56,27 @@ export declare class Player extends EventEmitter {
|
|
|
55
56
|
audioPlayer: DiscordAudioPlayer;
|
|
56
57
|
queue: Queue;
|
|
57
58
|
volume: number;
|
|
58
|
-
isPlaying: boolean;
|
|
59
|
-
isPaused: boolean;
|
|
60
59
|
options: PlayerOptions;
|
|
60
|
+
userdata?: Record<string, any>;
|
|
61
|
+
_lastActivity: number;
|
|
62
|
+
_remotePaused: boolean;
|
|
63
|
+
currentResource: AudioResource | null;
|
|
64
|
+
destroyed: boolean;
|
|
65
|
+
manager: PlayerManager;
|
|
61
66
|
pluginManager: PluginManager;
|
|
62
67
|
extensionManager: ExtensionManager;
|
|
63
68
|
streamManager: StreamManager;
|
|
64
69
|
preloadManager: PreloadManager;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
filter: FilterManager;
|
|
71
|
+
playbackMode: PlaybackMode;
|
|
72
|
+
forwardFollowers: Set<Player>;
|
|
73
|
+
forwardLeader: Player | null;
|
|
69
74
|
private leaveTimeout;
|
|
70
|
-
private currentResource;
|
|
71
75
|
private volumeInterval;
|
|
72
76
|
private stuckTimer;
|
|
73
77
|
private skipLoop;
|
|
74
|
-
private filter;
|
|
75
78
|
private refreshLock;
|
|
79
|
+
private remoteHandle;
|
|
76
80
|
private currentSlot;
|
|
77
81
|
private preloadEnabled;
|
|
78
82
|
private crossfadeEnabled;
|
|
@@ -99,7 +103,6 @@ export declare class Player extends EventEmitter {
|
|
|
99
103
|
private loudnessMaxBoostDb;
|
|
100
104
|
private loudnessMaxCutDb;
|
|
101
105
|
private loudnessLimiterCeiling;
|
|
102
|
-
private destroyed;
|
|
103
106
|
private readonly trackMiddlewareChain;
|
|
104
107
|
private searchCache;
|
|
105
108
|
private readonly SEARCH_CACHE_TTL;
|
|
@@ -221,10 +224,6 @@ export declare class Player extends EventEmitter {
|
|
|
221
224
|
* Start playing a specific track immediately, replacing the current resource.
|
|
222
225
|
*/
|
|
223
226
|
private startTrack;
|
|
224
|
-
/**
|
|
225
|
-
* Swap preload slot to current slot
|
|
226
|
-
*/
|
|
227
|
-
private swapToCurrent;
|
|
228
227
|
/**
|
|
229
228
|
* Load fresh stream when no preload available
|
|
230
229
|
*/
|
|
@@ -232,7 +231,8 @@ export declare class Player extends EventEmitter {
|
|
|
232
231
|
/**
|
|
233
232
|
* Play the next track in the queue, handling errors and edge cases gracefully
|
|
234
233
|
*/
|
|
235
|
-
|
|
234
|
+
playNext(): Promise<boolean>;
|
|
235
|
+
private playRemote;
|
|
236
236
|
private ensureTTSPlayer;
|
|
237
237
|
/**
|
|
238
238
|
* Interrupt current music with a TTS track. Pauses music, swaps the
|
|
@@ -254,45 +254,70 @@ export declare class Player extends EventEmitter {
|
|
|
254
254
|
*/
|
|
255
255
|
connect(channel: VoiceChannel): Promise<VoiceConnection>;
|
|
256
256
|
/**
|
|
257
|
-
* Subscribe this player's
|
|
258
|
-
*
|
|
257
|
+
* Subscribe this player to another player's playback stream.
|
|
258
|
+
*
|
|
259
|
+
* This enables "forward mode", where the follower player directly subscribes
|
|
260
|
+
* to the leader player's {@link audioPlayer} instead of creating its own stream.
|
|
259
261
|
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
* - radio/broadcast systems
|
|
263
|
-
* - multi-guild synchronized playback
|
|
264
|
-
* - forwardMode shared streaming
|
|
262
|
+
* Greatly reduces CPU, bandwidth, and extractor usage because only the leader
|
|
263
|
+
* creates and decodes the audio resource.
|
|
265
264
|
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
265
|
+
* ## Features
|
|
266
|
+
* - Real-time shared playback
|
|
267
|
+
* - Followers may join at any time
|
|
268
|
+
* - Automatic track synchronization
|
|
269
|
+
* - Optional volume synchronization
|
|
270
|
+
* - Automatic cleanup on destroy
|
|
271
|
+
* - Supports unlimited followers
|
|
269
272
|
*
|
|
270
|
-
*
|
|
271
|
-
* -
|
|
272
|
-
* -
|
|
273
|
-
* -
|
|
274
|
-
* -
|
|
273
|
+
* ## Lifecycle
|
|
274
|
+
* - When the leader starts a track, followers automatically receive the same track metadata.
|
|
275
|
+
* - When the leader pauses/resumes/stops, followers are synchronized.
|
|
276
|
+
* - Destroying the leader automatically unsubscribes all followers.
|
|
277
|
+
* - Destroying a follower only removes that follower.
|
|
275
278
|
*
|
|
276
|
-
*
|
|
277
|
-
* -
|
|
278
|
-
* -
|
|
279
|
-
* -
|
|
279
|
+
* ## Notes
|
|
280
|
+
* - Both players must already be connected to voice.
|
|
281
|
+
* - A player cannot subscribe to itself.
|
|
282
|
+
* - Existing playback subscriptions are automatically replaced.
|
|
280
283
|
*
|
|
281
|
-
* @param {Player}
|
|
284
|
+
* @param {Player} leader The leader player to subscribe to.
|
|
285
|
+
* @param options Additional playback mirror options.
|
|
286
|
+
* @param options.syncVolume When true, follower volume automatically follows the leader. Default: true.
|
|
282
287
|
*
|
|
283
|
-
* @returns {boolean}
|
|
284
|
-
* Returns true if subscription succeeded,
|
|
285
|
-
* otherwise false.
|
|
288
|
+
* @returns {boolean} True if subscription succeeded.
|
|
286
289
|
*
|
|
287
290
|
* @example
|
|
288
291
|
* follower.subscribeTo(leader);
|
|
289
292
|
*
|
|
290
293
|
* @example
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
* }
|
|
294
|
+
* follower.subscribeTo(leader, {
|
|
295
|
+
* syncVolume: true,
|
|
296
|
+
* });
|
|
297
|
+
*/
|
|
298
|
+
subscribeTo(leader: Player, options?: {
|
|
299
|
+
forwardMode?: boolean;
|
|
300
|
+
}): boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Unsubscribe this player from its current playback leader.
|
|
303
|
+
*
|
|
304
|
+
* This disables forward mode and restores the player's own audioPlayer
|
|
305
|
+
* subscription back to its voice connection.
|
|
306
|
+
*
|
|
307
|
+
* Automatically emitted when:
|
|
308
|
+
* - The leader player is destroyed
|
|
309
|
+
* - This player is destroyed
|
|
310
|
+
* - A new leader subscription replaces the old one
|
|
311
|
+
*
|
|
312
|
+
* Emits:
|
|
313
|
+
* - `forwardModeEnd`
|
|
314
|
+
*
|
|
315
|
+
* @returns {boolean} True if a playback subscription existed and was removed.
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* follower.unsubscribeForward();
|
|
294
319
|
*/
|
|
295
|
-
|
|
320
|
+
unsubscribeForward(reason?: string | undefined): boolean;
|
|
296
321
|
/**
|
|
297
322
|
* Pause the current track
|
|
298
323
|
*
|
|
@@ -567,6 +592,7 @@ export declare class Player extends EventEmitter {
|
|
|
567
592
|
* @returns {PlayerSession} The saved session data
|
|
568
593
|
*/
|
|
569
594
|
saveSession(): PlayerSession;
|
|
595
|
+
exitRemoteMode(): void;
|
|
570
596
|
/**
|
|
571
597
|
* Get serializable state (for manual persistence)
|
|
572
598
|
*/
|
|
@@ -597,6 +623,7 @@ export declare class Player extends EventEmitter {
|
|
|
597
623
|
};
|
|
598
624
|
totalStreams: number;
|
|
599
625
|
};
|
|
626
|
+
getForwardHealthStatus(): ForwardHealthStatus;
|
|
600
627
|
/**
|
|
601
628
|
* Get the size of the queue
|
|
602
629
|
*
|
|
@@ -661,5 +688,9 @@ export declare class Player extends EventEmitter {
|
|
|
661
688
|
*/
|
|
662
689
|
get relatedTracks(): Track[] | null;
|
|
663
690
|
get isLive(): boolean;
|
|
691
|
+
get isPlaying(): boolean;
|
|
692
|
+
get isPaused(): boolean;
|
|
693
|
+
get isIdle(): boolean;
|
|
694
|
+
get isBuffering(): boolean;
|
|
664
695
|
}
|
|
665
696
|
//# sourceMappingURL=Player.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKN,eAAe,EACf,WAAW,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKN,eAAe,EACf,WAAW,IAAI,kBAAkB,EAIjC,aAAa,EAEb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,YAAY,EAEZ,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAEb,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAMlB,mBAAmB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,OAAO,WAAW,MAAM;IAC9B,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/F,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACvC,SAAgB,OAAO,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAO;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAc;IACnC,aAAa,UAAS;IACtB,eAAe,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC7C,SAAS,EAAE,OAAO,CAAS;IAE3B,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAG,aAAa,CAAC;IAEvB,YAAY,eAAuB;IAEnC,gBAAgB,cAAqB;IACrC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAA+B;IAEjD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,WAAW,CAQjB;IAEF,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,mBAAmB,CAAO;IAClC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,yBAAyB,CAAQ;IACzC,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,qBAAqB,CAAO;IACpC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,oBAAoB,CAAQ;IACpC,OAAO,CAAC,6BAA6B,CASnC;IACF,OAAO,CAAC,iCAAiC,CAAO;IAChD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,qBAAqB,CAAO;IACpC,OAAO,CAAC,0BAA0B,CAAQ;IAC1C,OAAO,CAAC,6BAA6B,CAAQ;IAC7C,OAAO,CAAC,gCAAgC,CAAK;IAC7C,OAAO,CAAC,4BAA4B,CAAK;IACzC,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,kBAAkB,CAAO;IACjC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoB;IAGzD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,YAAY,CAAa;gBAErB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,YAAK,EAAE,OAAO,EAAE,aAAa;IA4IhF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmCvE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;;OAIG;IACI,gBAAgB,IAAI,IAAI;IAM/B;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;QACvC,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACrB;YAqBa,gBAAgB;IAe9B;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6J/F;;OAEG;YACW,gBAAgB;IAI9B;;OAEG;YACW,iBAAiB;IAK/B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,kBAAkB;YAoBlB,gBAAgB;YAOhB,wBAAwB;YAWxB,oBAAoB;IAiBlC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,8BAA8B;YAiBxB,wBAAwB;IAkBtC,OAAO,CAAC,oBAAoB;YAqBd,oBAAoB;IAkDlC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,SAAS;IA0BjB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;;;;;OAOG;YACW,cAAc;IA4C5B,OAAO,CAAC,qBAAqB;YAUf,oBAAoB;YAepB,SAAS;IA0EvB,OAAO,CAAC,0BAA0B;IAKlC;;OAEG;YACW,UAAU;IAmExB;;OAEG;YACW,eAAe;IAmE7B;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;YAgG3B,UAAU;IA6BxB,OAAO,CAAC,eAAe;IAWvB;;;;;;;;OAQG;IACU,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAoF/D;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA8C9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACI,WAAW,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;KACtB,GACC,OAAO;IAkFV;;;;;;;;;;;;;;;;;;OAkBG;IACI,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IA0B/D;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO;IAkBhB;;;;;;;OAOG;IACH,MAAM,IAAI,OAAO;IA4BjB;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO;IAkCf;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B9C;;;;;;;;;OASG;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IA+C7B;;;;;;;OAOG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAalC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqD3E;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ;IAqBxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO;IASjC;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IA+ClC;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAKf;;;;;;OAMG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CpG;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAQnC;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM;IA8DxD;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAY9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAYrC;;;;;;;;OAQG;IACH,OAAO;;;;;;;;;IAwCP;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAiEf,OAAO,CAAC,aAAa;IAcrB;;;;;;;;;OASG;IACU,qBAAqB,CAAC,cAAc,GAAE,OAAc,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE3G;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAItD;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAItD;;;;;;;OAOG;IACI,aAAa,IAAI,SAAS,aAAa,EAAE;IAIhD,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,mBAAmB;IA2H3B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAKrC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,WAAW,IAAI,aAAa;IAcrB,cAAc,IAAI,IAAI;IAqB7B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAe9B;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBhD;;OAEG;IACH,qBAAqB;;;;;;;;;;;;;;;;;;;IAQd,sBAAsB,IAAI,mBAAmB;IA6DpD;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;OAOG;IACH,IAAI,YAAY,IAAI,KAAK,GAAG,IAAI,CAE/B;IAED;;;;;;;OAOG;IACH,IAAI,aAAa,IAAI,KAAK,GAAG,IAAI,CAEhC;IAED;;;;;;;OAOG;IACH,IAAI,cAAc,IAAI,KAAK,EAAE,CAE5B;IAED;;;;;;;OAOG;IACH,IAAI,cAAc,IAAI,KAAK,EAAE,CAE5B;IAED;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAE/B;IAED;;;;;;;OAOG;IACH,IAAI,aAAa,IAAI,KAAK,EAAE,GAAG,IAAI,CAElC;IAED,IAAI,MAAM,IAAI,OAAO,CAIpB;IAED,IAAW,SAAS,IAAI,OAAO,CAe9B;IAED,IAAW,QAAQ,IAAI,OAAO,CAS7B;IAED,IAAW,MAAM,IAAI,OAAO,CAK3B;IAED,IAAW,WAAW,IAAI,OAAO,CAKhC;CAED"}
|