@groovenet/client 1.0.0 → 1.0.3

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/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # @groovenet/client
2
+
3
+ Typed API client for the [Groovenet](https://github.com/Public-Vinyl-Radio/groovenet) DJ collection system. Provides a single `GroovenetClient` plus domain types (`Track`, `Album`, `Playlist`, `Friend`) and Zod schemas, shared by the [`@groovenet/cli`](https://www.npmjs.com/package/@groovenet/cli) and the Groovenet MCP server.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @groovenet/client
9
+ ```
10
+
11
+ ESM-only. Requires **Node.js ≥ 22**.
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import { GroovenetClient } from "@groovenet/client";
17
+
18
+ const client = new GroovenetClient({
19
+ apiBase: "https://your-groovenet-host",
20
+ apiKey: process.env.GROOVENET_API_KEY, // if your instance requires auth
21
+ });
22
+
23
+ const tracks = await client.searchTracks({ q: "miles davis", limit: 20 });
24
+ const album = await client.getAlbum(releaseId, friendId);
25
+ ```
26
+
27
+ ### Config helpers
28
+
29
+ `loadConfig` / `saveConfig` read and write `~/.groovenet/config.json` (the same file the CLI uses):
30
+
31
+ ```ts
32
+ import { loadConfig, saveConfig } from "@groovenet/client";
33
+
34
+ const cfg = loadConfig();
35
+ saveConfig({ ...cfg, api_base: "https://your-groovenet-host/api" });
36
+ ```
37
+
38
+ ## Exports
39
+
40
+ - `GroovenetClient` — the typed API client
41
+ - Domain types — `Track`, `Album`, `Playlist`, `Friend`, …
42
+ - Zod schemas — request/response validation
43
+ - `loadConfig` / `saveConfig` — config file helpers
44
+
45
+ > **Note:** Types are copied from the Groovenet Next.js app (`my-collection-search/src/types/track.ts`), which remains the source of truth.
46
+
47
+ ## License
48
+
49
+ MIT
package/build/client.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare class GroovenetClient {
11
11
  private request;
12
12
  searchTracks(query: TrackSearchQuery): Promise<TrackSearchResponse>;
13
13
  getTrack(trackId: string, friendId: number): Promise<Track>;
14
- updateTrack(trackId: string, updates: TrackUpdate): Promise<Track>;
14
+ updateTrack(trackId: string, updates: TrackUpdate, friendId?: number): Promise<Track>;
15
15
  getMissingAppleMusic(page?: number, pageSize?: number, username?: string): Promise<{
16
16
  tracks: Track[];
17
17
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,qBAAqB;YAe3B,OAAO;IAuBf,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYnE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI3D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAOlE,oBAAoB,CACxB,IAAI,SAAI,EACR,QAAQ,SAAK,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAWxC,cAAc,CAClB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,EAClE,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,KAAK,EAAE,CAAC;IAOb,iBAAiB,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAcxC,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAW7E,YAAY,CAAC,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWxE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASnE,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,CAAC;IAS5B,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQhE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWhF,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAa1D,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI/D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASrE,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiB5E,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIpC,iBAAiB,CACrB,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC;QAAE,UAAU,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IAelF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAItE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAanD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAM5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAY/B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,gBAAgB,CAAC,IAAI,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAQ7B,aAAa,CAAC,IAAI,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAU7B,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAkB7B,2BAA2B,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,6BAA6B,GACnC,OAAO,CAAC,gCAAgC,CAAC;IAgBtC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,mBAAmB,CAAC;CAchC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/build/client.js CHANGED
@@ -33,29 +33,42 @@ export class GroovenetClient {
33
33
  }
34
34
  // ── Tracks ─────────────────────────────────────────────────────────────────
35
35
  async searchTracks(query) {
36
- return this.request("POST", "/tracks/search", {
37
- query: query.query ?? "",
36
+ const params = {
37
+ q: query.query ?? "",
38
38
  limit: query.limit ?? 10,
39
39
  offset: query.offset ?? 0,
40
- filters: query.filters && Object.keys(query.filters).length > 0
41
- ? query.filters
42
- : undefined,
43
- });
40
+ friend_id: query.filters?.friend_id,
41
+ };
42
+ const result = await this.request("GET", "/tracks/search", undefined, params);
43
+ return {
44
+ tracks: result.hits,
45
+ estimatedTotalHits: result.estimatedTotalHits,
46
+ offset: result.offset,
47
+ limit: result.limit,
48
+ processingTimeMs: result.processingTimeMs,
49
+ };
44
50
  }
45
51
  async getTrack(trackId, friendId) {
46
52
  return this.request("GET", `/tracks/${trackId}`, undefined, { friend_id: friendId });
47
53
  }
48
- async updateTrack(trackId, updates) {
49
- return this.request("PATCH", "/tracks/update", {
54
+ async updateTrack(trackId, updates, friendId = 1) {
55
+ return this.request("PATCH", "/tracks", {
50
56
  track_id: trackId,
57
+ friend_id: friendId,
51
58
  ...updates,
52
59
  });
53
60
  }
54
61
  async getMissingAppleMusic(page = 1, pageSize = 50, username) {
55
- const params = { page, pageSize };
56
- if (username)
57
- params.username = username;
58
- return this.request("GET", "/tracks/missing-apple-music", undefined, params);
62
+ const result = await this.request("GET", "/tracks/search", undefined, {
63
+ q: "",
64
+ limit: pageSize,
65
+ offset: Math.max(0, page - 1) * pageSize,
66
+ filter: "apple_music_url IS NULL",
67
+ });
68
+ // The current API does not expose a username filter. Keep the parameter
69
+ // for backward compatibility while using the supported collection search.
70
+ void username;
71
+ return { tracks: result.hits, total: result.estimatedTotalHits };
59
72
  }
60
73
  async batchGetTracks(refs, options) {
61
74
  return this.request("POST", "/tracks/batch", {
@@ -80,7 +93,7 @@ export class GroovenetClient {
80
93
  q: query.q ?? "",
81
94
  limit: query.limit ?? 20,
82
95
  offset: query.offset ?? 0,
83
- sort: query.sort ?? "date_added:desc",
96
+ sort: query.sort ?? "created_at:desc",
84
97
  };
85
98
  if (query.friend_id != null)
86
99
  params.friend_id = query.friend_id;
@@ -93,7 +106,7 @@ export class GroovenetClient {
93
106
  return this.request("GET", `/albums/${releaseId}/playable-structure`, undefined, { friend_id: friendId });
94
107
  }
95
108
  async updateAlbum(releaseId, friendId, updates) {
96
- return this.request("PATCH", "/albums/update", {
109
+ return this.request("PATCH", "/albums", {
97
110
  release_id: releaseId,
98
111
  friend_id: friendId,
99
112
  ...updates,
@@ -156,22 +169,20 @@ export class GroovenetClient {
156
169
  }
157
170
  // ── Playback (proxied via Next.js API → MPD) ────────────────────────────────
158
171
  async play(filename) {
159
- await this.request("POST", "/playback/local", {
160
- action: "play",
161
- filename,
162
- });
172
+ void filename;
173
+ throw new Error("Server-side playback is not supported by this Groovenet API.");
163
174
  }
164
175
  async pause() {
165
- await this.request("POST", "/playback/local", { action: "pause" });
176
+ throw new Error("Server-side playback is not supported by this Groovenet API.");
166
177
  }
167
178
  async resume() {
168
- await this.request("POST", "/playback/local", { action: "resume" });
179
+ throw new Error("Server-side playback is not supported by this Groovenet API.");
169
180
  }
170
181
  async stop() {
171
- await this.request("POST", "/playback/local", { action: "stop" });
182
+ throw new Error("Server-side playback is not supported by this Groovenet API.");
172
183
  }
173
184
  async getPlaybackStatus() {
174
- return this.request("GET", "/playback/local");
185
+ throw new Error("Server-side playback is not supported by this Groovenet API.");
175
186
  }
176
187
  // ── Friends ─────────────────────────────────────────────────────────────────
177
188
  async getFriends() {
@@ -188,28 +199,47 @@ export class GroovenetClient {
188
199
  }
189
200
  // ── External search helpers (delegate to Next.js AI routes) ─────────────────
190
201
  async searchAppleMusic(opts) {
191
- return this.request("POST", "/ai/apple-music-search", opts);
202
+ return this.request("POST", "/providers/apple-music/search", opts);
192
203
  }
193
204
  async searchYoutube(opts) {
194
- return this.request("POST", "/ai/youtube-music-search", opts);
205
+ return this.request("POST", "/providers/youtube/music-search", opts);
195
206
  }
196
207
  // ── Similarity / Recommendations ─────────────────────────────────────────────
197
208
  async findSimilarIdentity(trackId, friendId, opts) {
209
+ if (opts?.era || opts?.country || opts?.tags) {
210
+ throw new Error("Identity search filters are not supported by the current Groovenet API.");
211
+ }
198
212
  const params = {
199
213
  track_id: trackId,
200
214
  friend_id: friendId,
215
+ mode: "identity",
216
+ limit_identity: opts?.limit ?? 10,
217
+ limit_audio: 0,
201
218
  };
202
- if (opts?.limit != null)
203
- params.limit = opts.limit;
204
219
  if (opts?.ivfflat_probes != null)
205
220
  params.ivfflat_probes = opts.ivfflat_probes;
206
- if (opts?.era)
207
- params.era = opts.era;
208
- if (opts?.country)
209
- params.country = opts.country;
210
- if (opts?.tags)
211
- params.tags = opts.tags;
212
- return this.request("GET", "/embeddings/similar", undefined, params);
221
+ const result = await this.request("GET", "/recommendations/candidates", undefined, params);
222
+ return {
223
+ source_track_id: trackId,
224
+ source_friend_id: friendId,
225
+ filters: {},
226
+ count: result.candidates.length,
227
+ tracks: result.candidates.map((candidate) => ({
228
+ track_id: candidate.trackId,
229
+ friend_id: candidate.friendId,
230
+ title: candidate.metadata.title,
231
+ artist: candidate.metadata.artist,
232
+ album: candidate.metadata.album,
233
+ distance: 1 - (candidate.simIdentity ?? 0),
234
+ bpm: candidate.metadata.bpm,
235
+ key: candidate.metadata.key,
236
+ danceability: candidate.metadata.danceability,
237
+ mood_happy: candidate.metadata.moodHappy,
238
+ mood_sad: candidate.metadata.moodSad,
239
+ mood_relaxed: candidate.metadata.moodRelaxed,
240
+ mood_aggressive: candidate.metadata.moodAggressive,
241
+ })),
242
+ };
213
243
  }
214
244
  async getRecommendationCandidates(trackId, friendId, opts) {
215
245
  const params = {
@@ -228,12 +258,33 @@ export class GroovenetClient {
228
258
  const params = {
229
259
  track_id: trackId,
230
260
  friend_id: friendId,
261
+ mode: "audio",
262
+ limit_identity: 0,
263
+ limit_audio: opts?.limit ?? 10,
231
264
  };
232
- if (opts?.limit != null)
233
- params.limit = opts.limit;
234
265
  if (opts?.ivfflat_probes != null)
235
266
  params.ivfflat_probes = opts.ivfflat_probes;
236
- return this.request("GET", "/embeddings/similar-vibe", undefined, params);
267
+ const result = await this.request("GET", "/recommendations/candidates", undefined, params);
268
+ return {
269
+ source_track_id: trackId,
270
+ source_friend_id: friendId,
271
+ count: result.candidates.length,
272
+ tracks: result.candidates.map((candidate) => ({
273
+ track_id: candidate.trackId,
274
+ friend_id: candidate.friendId,
275
+ title: candidate.metadata.title,
276
+ artist: candidate.metadata.artist,
277
+ album: candidate.metadata.album,
278
+ distance: 1 - (candidate.simAudio ?? 0),
279
+ bpm: candidate.metadata.bpm,
280
+ key: candidate.metadata.key,
281
+ danceability: candidate.metadata.danceability,
282
+ mood_happy: candidate.metadata.moodHappy,
283
+ mood_sad: candidate.metadata.moodSad,
284
+ mood_relaxed: candidate.metadata.moodRelaxed,
285
+ mood_aggressive: candidate.metadata.moodAggressive,
286
+ })),
287
+ };
237
288
  }
238
289
  }
239
290
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC;AAsC5C,MAAM,OAAO,eAAe;IAClB,IAAI,CAAgB;IAE5B,YAAY,MAA6B;QACvC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,MAAM,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;aACR;YACD,GAAG,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc,EACd,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5E,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,GACN,KAAK,CAAC,QAAQ,EAAE,IAA+B,EAAE,KAAK;oBACtD,KAAK,CAAC,QAAQ,EAAE,IAA+B,EAAE,OAAO;oBACzD,KAAK,CAAC,OAAO,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,YAAY,CAAC,KAAuB;QACxC,MAAM,MAAM,GAAgD;YAC1D,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACzB,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS;SACpC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAM9B,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE/C,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,QAAgB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAQ,KAAK,EAAE,WAAW,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,OAAoB,EACpB,QAAQ,GAAG,CAAC;QAEZ,OAAO,IAAI,CAAC,OAAO,CAAQ,OAAO,EAAE,SAAS,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;YACnB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,IAAI,GAAG,CAAC,EACR,QAAQ,GAAG,EAAE,EACb,QAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAI/B,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT;YACE,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ;YACxC,MAAM,EAAE,yBAAyB;SAClC,CACF,CAAC;QACF,wEAAwE;QACxE,0EAA0E;QAC1E,KAAK,QAAQ,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAkE,EAClE,OAAuC;QAEvC,OAAO,IAAI,CAAC,OAAO,CAAU,MAAM,EAAE,eAAe,EAAE;YACpD,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAiB,EACjB,OAA6C;QAE7C,MAAM,MAAM,GAAgD;YAC1D,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAKhB,MAAM,EAAE,WAAW,OAAO,UAAU,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,YAAY,CAAC,KAAK,GAAqB,EAAE;QAC7C,MAAM,MAAM,GAAoC;YAC9C,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,iBAAiB;SACtC,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;YAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAsB,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,QAAgB;QAChD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,WAAW,SAAS,EAAE,EACtB,SAAS,EACT,EAAE,SAAS,EAAE,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,SAAiB,EACjB,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,WAAW,SAAS,qBAAqB,EACzC,SAAS,EACT,EAAE,SAAS,EAAE,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,QAAgB,EAChB,OAAoB;QAEpB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE;YACtC,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,QAAQ;YACnB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,QAAgB;QACrD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,WAAW,SAAS,WAAW,EAC/B,SAAS,EACT,EAAE,SAAS,EAAE,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,SAAS,CAAC,KAAoB;QAClC,MAAM,MAAM,GAA0D;YACpE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;SAC1B,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAmB,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAqB,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,QAAgB;QAC3C,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,EACR,UAAU,EAAE,EAAE,EACd,SAAS,EACT,EAAE,SAAS,EAAE,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyB;QAC/C,MAAM,MAAM,GAA0D;YACpE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;SAC1B,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAI9B,KAAK,EAAE,cAAc,UAAU,SAAS,CAAC,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC;gBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,MAAM,GAAa,EAAE;QACtD,OAAO,IAAI,CAAC,OAAO,CAAW,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,MAAM,EACN,oBAAoB,EACpB,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACnC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,KAAK,QAAQ,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,KAAK,EACL,UAAU,CACX,CAAC;QACF,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,gBAAgB,CAAC,IAKtB;QACC,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,+BAA+B,EAC/B,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAGnB;QACC,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,iCAAiC,EACjC,IAAI,CACL,CAAC;IACJ,CAAC;IAED,gFAAgF;IAEhF,KAAK,CAAC,mBAAmB,CACvB,OAAe,EACf,QAAgB,EAChB,IAA8B;QAE9B,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,MAAM,GAAoC;YAC9C,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YACjC,WAAW,EAAE,CAAC;SACf,CAAC;QACF,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,KAAK,EACL,6BAA6B,EAC7B,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO;YACL,eAAe,EAAE,OAAO;YACxB,gBAAgB,EAAE,QAAQ;YAC1B,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;YAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC5C,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ;gBAC7B,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAC/B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;gBACjC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;gBAC1C,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG;gBAC3B,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG;gBAC3B,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY;gBAC7C,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS;gBACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO;gBACpC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW;gBAC5C,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,cAAc;aACnD,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,OAAe,EACf,QAAgB,EAChB,IAAoC;QAEpC,MAAM,MAAM,GAAoC;YAC9C,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9E,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI;YAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrE,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9E,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,6BAA6B,EAC7B,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,QAAgB,EAChB,IAAsB;QAEtB,MAAM,MAAM,GAAoC;YAC9C,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;SAC/B,CAAC;QACF,IAAI,IAAI,EAAE,cAAc,IAAI,IAAI;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,KAAK,EACL,6BAA6B,EAC7B,SAAS,EACT,MAAM,CACP,CAAC;QACF,OAAO;YACL,eAAe,EAAE,OAAO;YACxB,gBAAgB,EAAE,QAAQ;YAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;YAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC5C,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ;gBAC7B,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAC/B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;gBACjC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACvC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG;gBAC3B,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG;gBAC3B,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY;gBAC7C,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS;gBACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO;gBACpC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW;gBAC5C,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,cAAc;aACnD,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF"}