tsarr 2.7.5 → 2.8.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.
Files changed (50) hide show
  1. package/README.md +4 -1
  2. package/dist/cli/commands/config.d.ts.map +1 -1
  3. package/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/dist/cli/commands/lidarr.d.ts.map +1 -1
  5. package/dist/cli/commands/prowlarr.d.ts.map +1 -1
  6. package/dist/cli/commands/qbit.d.ts +1 -1
  7. package/dist/cli/commands/qbit.d.ts.map +1 -1
  8. package/dist/cli/commands/radarr.d.ts +1 -1
  9. package/dist/cli/commands/radarr.d.ts.map +1 -1
  10. package/dist/cli/commands/readarr.d.ts.map +1 -1
  11. package/dist/cli/commands/seerr.d.ts +1 -1
  12. package/dist/cli/commands/seerr.d.ts.map +1 -1
  13. package/dist/cli/commands/service.d.ts +6 -0
  14. package/dist/cli/commands/service.d.ts.map +1 -1
  15. package/dist/cli/commands/sonarr.d.ts +1 -1
  16. package/dist/cli/commands/sonarr.d.ts.map +1 -1
  17. package/dist/cli/completions.d.ts.map +1 -1
  18. package/dist/cli/config.d.ts +9 -3
  19. package/dist/cli/config.d.ts.map +1 -1
  20. package/dist/cli/index.js +461 -408
  21. package/dist/clients/bazarr.d.ts +3 -2
  22. package/dist/clients/bazarr.d.ts.map +1 -1
  23. package/dist/clients/lidarr.d.ts +4 -3
  24. package/dist/clients/lidarr.d.ts.map +1 -1
  25. package/dist/clients/prowlarr.d.ts +4 -3
  26. package/dist/clients/prowlarr.d.ts.map +1 -1
  27. package/dist/clients/qbittorrent.d.ts +3 -2
  28. package/dist/clients/qbittorrent.d.ts.map +1 -1
  29. package/dist/clients/radarr.d.ts +4 -3
  30. package/dist/clients/radarr.d.ts.map +1 -1
  31. package/dist/clients/readarr.d.ts +4 -3
  32. package/dist/clients/readarr.d.ts.map +1 -1
  33. package/dist/clients/seerr.d.ts +4 -3
  34. package/dist/clients/seerr.d.ts.map +1 -1
  35. package/dist/clients/sonarr.d.ts +4 -3
  36. package/dist/clients/sonarr.d.ts.map +1 -1
  37. package/dist/core/client.d.ts +1 -1
  38. package/dist/core/client.d.ts.map +1 -1
  39. package/dist/core/index.d.ts +3 -4
  40. package/dist/core/index.d.ts.map +1 -1
  41. package/dist/core/types.d.ts +0 -5
  42. package/dist/core/types.d.ts.map +1 -1
  43. package/dist/index.d.ts +17 -18
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -41
  46. package/dist/tsarr-2.8.0.tgz +0 -0
  47. package/package.json +2 -2
  48. package/dist/core/response.d.ts +0 -13
  49. package/dist/core/response.d.ts.map +0 -1
  50. package/dist/tsarr-2.7.5.tgz +0 -0
package/README.md CHANGED
@@ -157,7 +157,7 @@ export TSARR_RADARR_URL=http://localhost:7878
157
157
  export TSARR_RADARR_API_KEY=your-api-key
158
158
  ```
159
159
 
160
- Config is stored in `~/.config/tsarr/config.json` (global) or `.tsarr.json` (local project). Environment variables take priority over config files.
160
+ Config is stored in `~/.config/tsarr/config.json` (global) or `.tsarr.json` (local project). Environment variables take priority over config files. You can configure multiple instances of the same service (e.g. a 4K and 1080p Radarr) — see the [CLI Guide](./docs/cli.md) for details.
161
161
 
162
162
  ### Usage
163
163
 
@@ -171,6 +171,9 @@ tsarr sonarr series list
171
171
  tsarr prowlarr indexer list
172
172
  tsarr lidarr artist search --term "Radiohead"
173
173
 
174
+ # Multi-instance: target a specific named instance
175
+ tsarr radarr movie list --instance 4K
176
+
174
177
  # Output formats
175
178
  tsarr radarr movie list --table # Table (default in terminal)
176
179
  tsarr radarr movie list --json # JSON (default when piped)
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AA+LA,eAAO,MAAM,MAAM,qDAWjB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAmPA,eAAO,MAAM,MAAM,qDAWjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;EA8FjB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;EAwGjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AAojBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AAmjBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prowlarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prowlarr.ts"],"names":[],"mappings":"AAwTA,eAAO,MAAM,QAAQ,qDAKpB,CAAC"}
1
+ {"version":3,"file":"prowlarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prowlarr.ts"],"names":[],"mappings":"AAuTA,eAAO,MAAM,QAAQ,qDAKpB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ResourceDef } from './service.js';
1
+ import type { ResourceDef } from './service';
2
2
  export declare const resources: ResourceDef[];
3
3
  export declare const qbit: import("citty").CommandDef<import("citty").ArgsDef>;
4
4
  //# sourceMappingURL=qbit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qbit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/qbit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EAgGlC,CAAC;AAEF,eAAO,MAAM,IAAI,qDAKhB,CAAC"}
1
+ {"version":3,"file":"qbit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/qbit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,WAAW,EAgGlC,CAAC;AAEF,eAAO,MAAM,IAAI,qDAKhB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ResourceDef } from './service.js';
1
+ import type { ResourceDef } from './service';
2
2
  export declare const resources: ResourceDef[];
3
3
  export declare const radarr: import("citty").CommandDef<import("citty").ArgsDef>;
4
4
  //# sourceMappingURL=radarr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"radarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/radarr.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EA6kBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"radarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/radarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAa7C,eAAO,MAAM,SAAS,EAAE,WAAW,EA6kBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/readarr.ts"],"names":[],"mappings":"AAqjBA,eAAO,MAAM,OAAO,qDAKnB,CAAC"}
1
+ {"version":3,"file":"readarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/readarr.ts"],"names":[],"mappings":"AAojBA,eAAO,MAAM,OAAO,qDAKnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ResourceDef } from './service.js';
1
+ import type { ResourceDef } from './service';
2
2
  export declare const resources: ResourceDef[];
3
3
  export declare const seerr: import("citty").CommandDef<import("citty").ArgsDef>;
4
4
  //# sourceMappingURL=seerr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seerr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/seerr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EA4GlC,CAAC;AAEF,eAAO,MAAM,KAAK,qDAKjB,CAAC"}
1
+ {"version":3,"file":"seerr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/seerr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,eAAO,MAAM,SAAS,EAAE,WAAW,EA4GlC,CAAC;AAEF,eAAO,MAAM,KAAK,qDAKjB,CAAC"}
@@ -22,4 +22,10 @@ export interface ResourceDef {
22
22
  export declare const COMMAND_OUTPUT_COLUMNS: string[];
23
23
  export declare function limitResults<T>(results: T[], limit: number | undefined): T[];
24
24
  export declare function buildServiceCommand(serviceName: string, description: string, clientFactory: (config: any) => any, resources: ResourceDef[]): import("citty").CommandDef<import("citty").ArgsDef>;
25
+ export declare function unwrapData<T>(result: any): T;
26
+ export declare function readJsonInput(filePath: string): any;
27
+ export declare function parseBooleanArg(value: unknown, fallback: boolean): boolean;
28
+ export declare function resolveQualityProfileId(profiles: any[], profileId: number): number;
29
+ export declare function resolveRootFolderPath(folders: any[], rootFolderPath: string): string;
30
+ export declare function getApiStatus(result: any): number | undefined;
25
31
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,UAA0D,CAAC;AAE9F,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAM5E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,EACnC,SAAS,EAAE,WAAW,EAAE,uDAsMzB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,UAA0D,CAAC;AAE9F,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAM5E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,EACnC,SAAS,EAAE,WAAW,EAAE,uDAoNzB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAE5C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAGnD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAS1E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMpF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAE5D"}
@@ -1,4 +1,4 @@
1
- import type { ResourceDef } from './service.js';
1
+ import type { ResourceDef } from './service';
2
2
  export declare const resources: ResourceDef[];
3
3
  export declare const sonarr: import("citty").CommandDef<import("citty").ArgsDef>;
4
4
  //# sourceMappingURL=sonarr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sonarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sonarr.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EA8nBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"sonarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sonarr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAa7C,eAAO,MAAM,SAAS,EAAE,WAAW,EA8nBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/cli/completions.ts"],"names":[],"mappings":"AAkOA,eAAO,MAAM,WAAW;;;;;;EA4BtB,CAAC"}
1
+ {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/cli/completions.ts"],"names":[],"mappings":"AAqOA,eAAO,MAAM,WAAW;;;;;;EA4BtB,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { QBittorrentClientConfig, ServarrClientConfig } from '../core/types.js';
1
+ import type { QBittorrentClientConfig, ServarrClientConfig } from '../core/types';
2
2
  export interface ServiceConfig {
3
+ name?: string;
3
4
  baseUrl: string;
4
5
  apiKey?: string;
5
6
  apiKeyFile?: string;
@@ -7,8 +8,9 @@ export interface ServiceConfig {
7
8
  password?: string;
8
9
  timeout?: number;
9
10
  }
11
+ /** Internal config — services always normalized to arrays */
10
12
  export interface TsarrCliConfig {
11
- services: Record<string, ServiceConfig>;
13
+ services: Record<string, ServiceConfig[]>;
12
14
  defaults?: {
13
15
  output?: 'json' | 'table' | 'quiet';
14
16
  };
@@ -17,7 +19,11 @@ declare const SERVICES: readonly ["radarr", "sonarr", "lidarr", "readarr", "prow
17
19
  declare const GLOBAL_CONFIG_PATH: string;
18
20
  declare const LOCAL_CONFIG_NAME = ".tsarr.json";
19
21
  export declare function loadConfig(): TsarrCliConfig;
20
- export declare function getServiceConfig(serviceName: string): ServarrClientConfig | QBittorrentClientConfig | null;
22
+ /** Returns all instances for a service (normalized, always an array). */
23
+ export declare function getServiceInstances(serviceName: string): ServiceConfig[];
24
+ /** Returns instance names for a service. */
25
+ export declare function getInstanceNames(serviceName: string): string[];
26
+ export declare function getServiceConfig(serviceName: string, instanceName?: string): ServarrClientConfig | QBittorrentClientConfig | null;
21
27
  export declare function saveGlobalConfig(config: TsarrCliConfig): void;
22
28
  export declare function saveLocalConfig(config: TsarrCliConfig): void;
23
29
  export declare function getConfigValue(key: string): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAErF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KACrC,CAAC;CACH;AAED,QAAA,MAAM,QAAQ,kGASJ,CAAC;AAEX,QAAA,MAAM,kBAAkB,QAAyC,CAAC;AAClE,QAAA,MAAM,iBAAiB,gBAAgB,CAAC;AAiFxC,wBAAgB,UAAU,IAAI,cAAc,CA+B3C;AA0CD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,mBAAmB,GAAG,uBAAuB,GAAG,IAAI,CAgCtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAG7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,IAAI,CAoB9E;AAcD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAQhD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAMnF;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAElF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KACrC,CAAC;CACH;AAUD,QAAA,MAAM,QAAQ,kGASJ,CAAC;AAEX,QAAA,MAAM,kBAAkB,QAAyC,CAAC;AAClE,QAAA,MAAM,iBAAiB,gBAAgB,CAAC;AA6FxC,wBAAgB,UAAU,IAAI,cAAc,CAqE3C;AAoDD,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAGxE;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAI9D;AAWD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,mBAAmB,GAAG,uBAAuB,GAAG,IAAI,CAgCtD;AAiBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAG7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI5D;AAYD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoB9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,IAAI,CAmC9E;AAcD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAWhD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAMnF;AAED,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC"}