amaran-light-cli 1.1.4 → 1.4.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 (116) hide show
  1. package/CHANGELOG.md +44 -9
  2. package/README.md +32 -5
  3. package/dist/__tests__/autoCct.test.js +89 -20
  4. package/dist/__tests__/autoCct.test.js.map +1 -1
  5. package/dist/__tests__/autostart.test.js +87 -41
  6. package/dist/__tests__/autostart.test.js.map +1 -1
  7. package/dist/__tests__/cctUtil.test.js +26 -27
  8. package/dist/__tests__/cctUtil.test.js.map +1 -1
  9. package/dist/__tests__/cli.smoke.test.js +18 -13
  10. package/dist/__tests__/cli.smoke.test.js.map +1 -1
  11. package/dist/__tests__/intensityApi.test.js +4 -9
  12. package/dist/__tests__/intensityApi.test.js.map +1 -1
  13. package/dist/__tests__/lightControl.test.js +79 -68
  14. package/dist/__tests__/lightControl.test.js.map +1 -1
  15. package/dist/__tests__/setupTests.js +9 -8
  16. package/dist/__tests__/setupTests.js.map +1 -1
  17. package/dist/__tests__/simulateSchedule.test.d.ts +2 -0
  18. package/dist/__tests__/simulateSchedule.test.d.ts.map +1 -0
  19. package/dist/__tests__/simulateSchedule.test.js +87 -0
  20. package/dist/__tests__/simulateSchedule.test.js.map +1 -0
  21. package/dist/autostart.js +19 -60
  22. package/dist/autostart.js.map +1 -1
  23. package/dist/cctUtil.d.ts.map +1 -1
  24. package/dist/cctUtil.js +106 -107
  25. package/dist/cctUtil.js.map +1 -1
  26. package/dist/cli.d.ts +2 -2
  27. package/dist/cli.d.ts.map +1 -1
  28. package/dist/cli.js +52 -247
  29. package/dist/cli.js.map +1 -1
  30. package/dist/commands/__tests__/integration.test.d.ts +2 -0
  31. package/dist/commands/__tests__/integration.test.d.ts.map +1 -0
  32. package/dist/commands/__tests__/integration.test.js +279 -0
  33. package/dist/commands/__tests__/integration.test.js.map +1 -0
  34. package/dist/commands/autoCct.d.ts +1 -1
  35. package/dist/commands/autoCct.d.ts.map +1 -1
  36. package/dist/commands/autoCct.js +74 -76
  37. package/dist/commands/autoCct.js.map +1 -1
  38. package/dist/commands/cct.d.ts +1 -1
  39. package/dist/commands/cct.d.ts.map +1 -1
  40. package/dist/commands/cct.js +17 -23
  41. package/dist/commands/cct.js.map +1 -1
  42. package/dist/commands/color.d.ts +1 -1
  43. package/dist/commands/color.d.ts.map +1 -1
  44. package/dist/commands/color.js +9 -15
  45. package/dist/commands/color.js.map +1 -1
  46. package/dist/commands/config.d.ts +1 -1
  47. package/dist/commands/config.d.ts.map +1 -1
  48. package/dist/commands/config.js +64 -66
  49. package/dist/commands/config.js.map +1 -1
  50. package/dist/commands/discover.d.ts +1 -1
  51. package/dist/commands/discover.d.ts.map +1 -1
  52. package/dist/commands/discover.js +8 -14
  53. package/dist/commands/discover.js.map +1 -1
  54. package/dist/commands/graphSchedule.d.ts +5 -0
  55. package/dist/commands/graphSchedule.d.ts.map +1 -0
  56. package/dist/commands/graphSchedule.js +293 -0
  57. package/dist/commands/graphSchedule.js.map +1 -0
  58. package/dist/commands/hsi.d.ts +1 -1
  59. package/dist/commands/hsi.d.ts.map +1 -1
  60. package/dist/commands/hsi.js +11 -17
  61. package/dist/commands/hsi.js.map +1 -1
  62. package/dist/commands/intensity.d.ts +1 -1
  63. package/dist/commands/intensity.d.ts.map +1 -1
  64. package/dist/commands/intensity.js +9 -15
  65. package/dist/commands/intensity.js.map +1 -1
  66. package/dist/commands/list.d.ts +1 -1
  67. package/dist/commands/list.d.ts.map +1 -1
  68. package/dist/commands/list.js +6 -12
  69. package/dist/commands/list.js.map +1 -1
  70. package/dist/commands/power.d.ts +1 -1
  71. package/dist/commands/power.d.ts.map +1 -1
  72. package/dist/commands/power.js +18 -24
  73. package/dist/commands/power.js.map +1 -1
  74. package/dist/commands/printSchedule.d.ts +5 -0
  75. package/dist/commands/printSchedule.d.ts.map +1 -0
  76. package/dist/commands/{schedule.js → printSchedule.js} +113 -116
  77. package/dist/commands/printSchedule.js.map +1 -0
  78. package/dist/commands/service.d.ts +1 -1
  79. package/dist/commands/service.d.ts.map +1 -1
  80. package/dist/commands/service.js +54 -88
  81. package/dist/commands/service.js.map +1 -1
  82. package/dist/commands/simulateSchedule.d.ts +1 -1
  83. package/dist/commands/simulateSchedule.d.ts.map +1 -1
  84. package/dist/commands/simulateSchedule.js +50 -70
  85. package/dist/commands/simulateSchedule.js.map +1 -1
  86. package/dist/commands/status.d.ts +1 -1
  87. package/dist/commands/status.d.ts.map +1 -1
  88. package/dist/commands/status.js +8 -14
  89. package/dist/commands/status.js.map +1 -1
  90. package/dist/commands.d.ts +1 -1
  91. package/dist/commands.d.ts.map +1 -1
  92. package/dist/commands.js +52 -54
  93. package/dist/commands.js.map +1 -1
  94. package/dist/constants.d.ts +13 -14
  95. package/dist/constants.d.ts.map +1 -1
  96. package/dist/constants.js +21 -27
  97. package/dist/constants.js.map +1 -1
  98. package/dist/discovery.js +8 -15
  99. package/dist/discovery.js.map +1 -1
  100. package/dist/geoipUtil.js +3 -9
  101. package/dist/geoipUtil.js.map +1 -1
  102. package/dist/lightControl.js +18 -20
  103. package/dist/lightControl.js.map +1 -1
  104. package/dist/test/MockLightServer.d.ts +13 -0
  105. package/dist/test/MockLightServer.d.ts.map +1 -0
  106. package/dist/test/MockLightServer.js +140 -0
  107. package/dist/test/MockLightServer.js.map +1 -0
  108. package/dist/types.d.ts +2 -1
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/types.js +1 -2
  111. package/package.json +17 -15
  112. package/scripts/release.js +8 -4
  113. package/scripts/test.sh +2 -2
  114. package/dist/commands/schedule.d.ts +0 -5
  115. package/dist/commands/schedule.d.ts.map +0 -1
  116. package/dist/commands/schedule.js.map +0 -1
@@ -1,11 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerPower = registerPower;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- function registerPower(program, deps) {
1
+ import chalk from 'chalk';
2
+ export function registerPower(program, deps) {
9
3
  const { createController, findDevice, asyncCommand } = deps;
10
4
  // on
11
5
  program
@@ -19,7 +13,7 @@ function registerPower(program, deps) {
19
13
  if (!deviceQuery || deviceQuery.toLowerCase() === 'all') {
20
14
  await controller.turnOnAllLights((success, message) => {
21
15
  if (!success) {
22
- console.error(chalk_1.default.red(`✗ Failed to turn on light: ${message}`));
16
+ console.error(chalk.red(`✗ Failed to turn on light: ${message}`));
23
17
  }
24
18
  });
25
19
  await controller.disconnect();
@@ -27,20 +21,20 @@ function registerPower(program, deps) {
27
21
  }
28
22
  const device = findDevice(controller, deviceQuery);
29
23
  if (!device) {
30
- console.error(chalk_1.default.red(`Device "${deviceQuery}" not found`));
24
+ console.error(chalk.red(`Device "${deviceQuery}" not found`));
31
25
  process.exit(1);
32
26
  }
33
27
  if (!device.node_id) {
34
- console.error(chalk_1.default.red(`Device "${deviceQuery}" has no node_id`));
28
+ console.error(chalk.red(`Device "${deviceQuery}" has no node_id`));
35
29
  process.exit(1);
36
30
  }
37
31
  controller.turnLightOn(device.node_id, (success, message) => {
38
32
  if (success) {
39
33
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
40
- console.log(chalk_1.default.green(`✓ ${displayName} turned on`));
34
+ console.log(chalk.green(`✓ ${displayName} turned on`));
41
35
  }
42
36
  else {
43
- console.error(chalk_1.default.red(`✗ Failed to turn on light: ${message}`));
37
+ console.error(chalk.red(`✗ Failed to turn on light: ${message}`));
44
38
  }
45
39
  controller.disconnect();
46
40
  });
@@ -57,7 +51,7 @@ function registerPower(program, deps) {
57
51
  if (!deviceQuery || deviceQuery.toLowerCase() === 'all') {
58
52
  await controller.turnOffAllLights((success, message) => {
59
53
  if (!success) {
60
- console.error(chalk_1.default.red(`✗ Failed to turn off light: ${message}`));
54
+ console.error(chalk.red(`✗ Failed to turn off light: ${message}`));
61
55
  }
62
56
  });
63
57
  await controller.disconnect();
@@ -65,20 +59,20 @@ function registerPower(program, deps) {
65
59
  }
66
60
  const device = findDevice(controller, deviceQuery);
67
61
  if (!device) {
68
- console.error(chalk_1.default.red(`Device "${deviceQuery}" not found`));
62
+ console.error(chalk.red(`Device "${deviceQuery}" not found`));
69
63
  process.exit(1);
70
64
  }
71
65
  if (!device.node_id) {
72
- console.error(chalk_1.default.red(`Device "${deviceQuery}" has no node_id`));
66
+ console.error(chalk.red(`Device "${deviceQuery}" has no node_id`));
73
67
  process.exit(1);
74
68
  }
75
69
  controller.turnLightOff(device.node_id, (success, message) => {
76
70
  if (success) {
77
71
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
78
- console.log(chalk_1.default.green(`✓ ${displayName} turned off`));
72
+ console.log(chalk.green(`✓ ${displayName} turned off`));
79
73
  }
80
74
  else {
81
- console.error(chalk_1.default.red(`✗ Failed to turn off light: ${message}`));
75
+ console.error(chalk.red(`✗ Failed to turn off light: ${message}`));
82
76
  }
83
77
  controller.disconnect();
84
78
  });
@@ -95,7 +89,7 @@ function registerPower(program, deps) {
95
89
  if (!deviceQuery || deviceQuery.toLowerCase() === 'all') {
96
90
  await controller.toggleAllLights((success, message) => {
97
91
  if (!success) {
98
- console.error(chalk_1.default.red(`✗ Failed to toggle light: ${message}`));
92
+ console.error(chalk.red(`✗ Failed to toggle light: ${message}`));
99
93
  }
100
94
  });
101
95
  await controller.disconnect();
@@ -103,24 +97,24 @@ function registerPower(program, deps) {
103
97
  }
104
98
  const device = findDevice(controller, deviceQuery);
105
99
  if (!device) {
106
- console.error(chalk_1.default.red(`Device "${deviceQuery}" not found`));
100
+ console.error(chalk.red(`Device "${deviceQuery}" not found`));
107
101
  process.exit(1);
108
102
  }
109
103
  if (!device.node_id) {
110
- console.error(chalk_1.default.red(`Device "${deviceQuery}" has no node_id`));
104
+ console.error(chalk.red(`Device "${deviceQuery}" has no node_id`));
111
105
  process.exit(1);
112
106
  }
113
107
  controller.toggleLight(device.node_id, (success, message) => {
114
108
  if (success) {
115
109
  const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
116
- console.log(chalk_1.default.green(`✓ ${displayName} toggled`));
110
+ console.log(chalk.green(`✓ ${displayName} toggled`));
117
111
  }
118
112
  else {
119
- console.error(chalk_1.default.red(`✗ Failed to toggle light: ${message}`));
113
+ console.error(chalk.red(`✗ Failed to toggle light: ${message}`));
120
114
  }
121
115
  controller.disconnect();
122
116
  });
123
117
  }));
124
118
  }
125
- exports.default = registerPower;
119
+ export default registerPower;
126
120
  //# sourceMappingURL=power.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/commands/power.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandDeps } from '../types.js';
3
+ declare function registerPrintSchedule(program: Command, deps: CommandDeps): void;
4
+ export default registerPrintSchedule;
5
+ //# sourceMappingURL=printSchedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printSchedule.d.ts","sourceRoot":"","sources":["../../src/commands/printSchedule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AA8E/D,iBAAS,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA+bjE;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,43 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const chalk_1 = __importDefault(require("chalk"));
40
- const constants_1 = require("../constants");
1
+ import chalk from 'chalk';
2
+ import { SPECIAL_TIME_CONFIG } from '../constants.js';
41
3
  // Helper function to get color and emoji for a special time
42
4
  function getSpecialTimeStyling(currentTime, times) {
43
5
  const isSpecialTime = (specialTime) => {
@@ -45,12 +7,12 @@ function getSpecialTimeStyling(currentTime, times) {
45
7
  return false;
46
8
  return Math.abs(currentTime.getTime() - specialTime.getTime()) < 30000; // 30 seconds
47
9
  };
48
- for (const config of constants_1.SPECIAL_TIME_CONFIG) {
10
+ for (const config of SPECIAL_TIME_CONFIG) {
49
11
  if (isSpecialTime(times[config.key])) {
50
12
  return { color: config.color, emoji: config.emoji };
51
13
  }
52
14
  }
53
- return { color: chalk_1.default.white, emoji: '' };
15
+ return { color: chalk.white, emoji: '' };
54
16
  }
55
17
  // Helper function to display all special times
56
18
  function displayAllSpecialTimes(times) {
@@ -62,7 +24,7 @@ function displayAllSpecialTimes(times) {
62
24
  };
63
25
  // Create array of all special times including nadir
64
26
  const allSpecialTimes = [
65
- ...constants_1.SPECIAL_TIME_CONFIG.map((config) => ({
27
+ ...SPECIAL_TIME_CONFIG.map((config) => ({
66
28
  key: config.key,
67
29
  emoji: config.emoji,
68
30
  color: config.color,
@@ -71,7 +33,7 @@ function displayAllSpecialTimes(times) {
71
33
  {
72
34
  key: 'nadir',
73
35
  emoji: 'NA',
74
- color: chalk_1.default.blue,
36
+ color: chalk.blue,
75
37
  time: times.nadir,
76
38
  },
77
39
  ].filter((item) => item.time && !Number.isNaN(item.time.getTime()));
@@ -94,21 +56,22 @@ function displayAllSpecialTimes(times) {
94
56
  console.log(line);
95
57
  }
96
58
  }
97
- function registerSchedule(program, deps) {
59
+ function registerPrintSchedule(program, deps) {
98
60
  const { asyncCommand, loadConfig } = deps;
99
61
  program
100
- .command('schedule')
62
+ .command('print-schedule')
101
63
  .description('Preview auto-cct schedule from sunrise to sunset')
102
64
  .option('-y, --lat <latitude>', 'Manual latitude (-90 to 90)')
103
65
  .option('-x, --lon <longitude>', 'Manual longitude (-180 to 180)')
104
66
  .option('-d, --date <date>', 'Date to preview (ISO format, e.g., 2025-10-26)')
105
67
  .option('-i, --interval <minutes>', 'Minutes between schedule entries (default: 30)', '30')
106
- .option('-C, --curve <curve>', 'Curve type for CCT calculation (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight)')
68
+ .option('-C, --curve <curve>', 'Curve type (comma-separated list, or "all"). Available: hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight', 'all')
107
69
  .option('-p, --no-private', 'Show full IP address and precise coordinates', true)
108
70
  .action(asyncCommand(async (options) => {
109
- const { getLocationFromIP } = await Promise.resolve().then(() => __importStar(require('../geoipUtil')));
110
- const { calculateCCT, CurveType, parseCurveType } = await Promise.resolve().then(() => __importStar(require('../cctUtil')));
111
- const { getTimes } = await Promise.resolve().then(() => __importStar(require('suncalc')));
71
+ const { getLocationFromIP } = await import('../geoipUtil.js');
72
+ const { calculateCCT, CurveType, parseCurveType } = await import('../cctUtil.js');
73
+ const SunCalc = (await import('suncalc')).default;
74
+ const { getTimes } = SunCalc;
112
75
  let lat;
113
76
  let lon;
114
77
  let date = new Date();
@@ -116,54 +79,74 @@ function registerSchedule(program, deps) {
116
79
  if (options.date) {
117
80
  date = new Date(options.date);
118
81
  if (Number.isNaN(date.getTime())) {
119
- console.error(chalk_1.default.red('Invalid date format. Use ISO format (e.g., 2025-10-26)'));
82
+ console.error(chalk.red('Invalid date format. Use ISO format (e.g., 2025-10-26)'));
120
83
  process.exit(1);
121
84
  }
122
85
  }
123
- // Validate curve option - if no curve specified, check config or show all curves
124
- let showAllCurves = false;
125
- let curveType;
126
- if (options.curve) {
86
+ // Validate curve option
87
+ let curveTypes = ['HANN'];
88
+ const curveOption = options.curve?.toLowerCase() || '';
89
+ const allCurveTypesOrdered = [
90
+ 'HANN',
91
+ 'WIDER_MIDDLE_SMALL',
92
+ 'WIDER_MIDDLE_MEDIUM',
93
+ 'WIDER_MIDDLE_LARGE',
94
+ 'CIE_DAYLIGHT',
95
+ 'SUN_ALTITUDE',
96
+ 'PEREZ_DAYLIGHT',
97
+ ];
98
+ if (curveOption === 'all') {
99
+ curveTypes = [...allCurveTypesOrdered];
100
+ }
101
+ else if (curveOption) {
127
102
  try {
128
- curveType = parseCurveType(options.curve);
103
+ const parts = curveOption.split(',').map((s) => s.trim());
104
+ const parsedList = [];
105
+ for (const part of parts) {
106
+ if (part === 'all') {
107
+ parsedList.push(...allCurveTypesOrdered);
108
+ }
109
+ else {
110
+ parsedList.push(parseCurveType(part));
111
+ }
112
+ }
113
+ // Dedup and sort according to standard order
114
+ const unique = new Set(parsedList);
115
+ curveTypes = allCurveTypesOrdered.filter((c) => unique.has(c));
129
116
  }
130
117
  catch (error) {
131
- console.error(chalk_1.default.red(error.message));
118
+ console.error(chalk.red(error.message));
132
119
  process.exit(1);
133
120
  }
134
121
  }
135
122
  else if (loadConfig) {
136
- // Try to get default curve from config
137
123
  const config = loadConfig();
138
124
  if (config?.defaultCurve) {
139
125
  try {
140
- curveType = parseCurveType(config.defaultCurve);
141
- showAllCurves = false; // Use the specified curve from config
126
+ const parsed = parseCurveType(config.defaultCurve);
127
+ curveTypes = [parsed];
142
128
  }
143
129
  catch (_) {
144
- console.warn(chalk_1.default.yellow(`Warning: Invalid default curve in config: ${config.defaultCurve}. Showing all curves.`));
145
- showAllCurves = true;
146
- curveType = 'HANN'; // fallback for single curve calculations
130
+ console.warn(chalk.yellow(`Warning: Invalid default curve in config: ${config.defaultCurve}. Showing all curves.`));
131
+ curveTypes = [...allCurveTypesOrdered];
147
132
  }
148
133
  }
149
134
  else {
150
- showAllCurves = true;
151
- curveType = 'HANN'; // fallback for single curve calculations
135
+ curveTypes = [...allCurveTypesOrdered];
152
136
  }
153
137
  }
154
138
  else {
155
- showAllCurves = true;
156
- curveType = 'HANN'; // fallback for single curve calculations
139
+ curveTypes = [...allCurveTypesOrdered];
157
140
  }
158
141
  if (options.lat !== undefined && options.lon !== undefined) {
159
142
  lat = parseFloat(options.lat);
160
143
  lon = parseFloat(options.lon);
161
144
  if (Number.isNaN(lat) || lat < -90 || lat > 90) {
162
- console.error(chalk_1.default.red('Latitude must be between -90 and 90'));
145
+ console.error(chalk.red('Latitude must be between -90 and 90'));
163
146
  process.exit(1);
164
147
  }
165
148
  if (Number.isNaN(lon) || lon < -180 || lon > 180) {
166
- console.error(chalk_1.default.red('Longitude must be between -180 and 180'));
149
+ console.error(chalk.red('Longitude must be between -180 and 180'));
167
150
  process.exit(1);
168
151
  }
169
152
  source = 'manual';
@@ -182,20 +165,20 @@ function registerSchedule(program, deps) {
182
165
  const data = await res.json();
183
166
  const location = getLocationFromIP(data.ip);
184
167
  if (!location || !location.ll) {
185
- console.error(chalk_1.default.red('Could not determine location. Use --lat and --lon to specify manually.'));
168
+ console.error(chalk.red('Could not determine location. Use --lat and --lon to specify manually.'));
186
169
  process.exit(1);
187
170
  }
188
171
  [lat, lon] = location.ll;
189
172
  source = `geoip (${data.ip})`;
190
173
  }
191
174
  catch (_err) {
192
- console.error(chalk_1.default.red('Could not determine location. Use --lat and --lon to specify manually.'));
175
+ console.error(chalk.red('Could not determine location. Use --lat and --lon to specify manually.'));
193
176
  process.exit(1);
194
177
  }
195
178
  }
196
179
  const interval = parseInt(options.interval ?? '30', 10);
197
180
  if (Number.isNaN(interval) || interval < 1) {
198
- console.error(chalk_1.default.red('Interval must be a positive number of minutes'));
181
+ console.error(chalk.red('Interval must be a positive number of minutes'));
199
182
  process.exit(1);
200
183
  }
201
184
  const times = getTimes(date, lat, lon);
@@ -214,12 +197,12 @@ function registerSchedule(program, deps) {
214
197
  const night = times.night;
215
198
  const nightEnd = times.nightEnd;
216
199
  if (!sunrise || !sunset || Number.isNaN(sunrise.getTime()) || Number.isNaN(sunset.getTime())) {
217
- console.error(chalk_1.default.red('Could not calculate sunrise/sunset for this location and date'));
200
+ console.error(chalk.red('Could not calculate sunrise/sunset for this location and date'));
218
201
  process.exit(1);
219
202
  }
220
- console.log(chalk_1.default.blue.bold('\n═══════════════════════════════════════════════════════════'));
221
- console.log(chalk_1.default.blue.bold(' Auto-CCT Schedule Preview'));
222
- console.log(chalk_1.default.blue.bold('═══════════════════════════════════════════════════════════\n'));
203
+ console.log(chalk.blue('\n═══════════════════════════════════════════════════════════'));
204
+ console.log(chalk.blue(' Auto-CCT Schedule Preview'));
205
+ console.log(chalk.blue('═══════════════════════════════════════════════════════════\n'));
223
206
  // Format location based on private mode
224
207
  const formatCoordinate = (coord, isPrivate) => {
225
208
  return isPrivate ? `${Math.round(coord)}.XXXX` : coord.toFixed(4);
@@ -238,15 +221,15 @@ function registerSchedule(program, deps) {
238
221
  }
239
222
  return src;
240
223
  };
241
- console.log(chalk_1.default.cyan(`Location: ${formatCoordinate(lat, options.private)}°, ${formatCoordinate(lon, options.private)}° ` +
224
+ console.log(chalk.cyan(`Location: ${formatCoordinate(lat, options.private)}°, ${formatCoordinate(lon, options.private)}° ` +
242
225
  `(${formatSource(source, options.private)})`));
243
- console.log(chalk_1.default.cyan(`Date: ${date.toLocaleDateString(undefined, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}`));
244
- console.log(chalk_1.default.cyan(`Interval: Every ${interval} minute${interval !== 1 ? 's' : ''}`));
245
- if (showAllCurves) {
246
- console.log(chalk_1.default.cyan(`Curve: All available curves\n`));
226
+ console.log(chalk.cyan(`Date: ${date.toLocaleDateString(undefined, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}`));
227
+ console.log(chalk.cyan(`Interval: Every ${interval} minute${interval !== 1 ? 's' : ''}`));
228
+ if (curveTypes.length > 1) {
229
+ console.log(chalk.cyan(`Curve: Multiple curves selected\n`));
247
230
  }
248
231
  else {
249
- console.log(chalk_1.default.cyan(`Curve: ${curveType.toLowerCase()}\n`));
232
+ console.log(chalk.cyan(`Curve: ${curveTypes[0].toLowerCase()}\n`));
250
233
  }
251
234
  // Display all special times
252
235
  const specialTimesObject = {
@@ -266,7 +249,7 @@ function registerSchedule(program, deps) {
266
249
  nadir,
267
250
  };
268
251
  displayAllSpecialTimes(specialTimesObject);
269
- console.log(chalk_1.default.blue('\n'));
252
+ console.log(chalk.blue('\n'));
270
253
  // Calculate time range - extend beyond special times
271
254
  const allSpecialTimes = [
272
255
  nightEnd,
@@ -286,7 +269,7 @@ function registerSchedule(program, deps) {
286
269
  .filter((time) => time && !Number.isNaN(time.getTime()))
287
270
  .map((time) => time?.getTime());
288
271
  if (allSpecialTimes.length === 0) {
289
- console.error(chalk_1.default.red('Could not calculate special times for this location and date'));
272
+ console.error(chalk.red('Could not calculate special times for this location and date'));
290
273
  process.exit(1);
291
274
  }
292
275
  const minTime = new Date(Math.min(...allSpecialTimes));
@@ -341,21 +324,42 @@ function registerSchedule(program, deps) {
341
324
  const hasIntensityBounds = typeof iMinRaw === 'number' || typeof iMaxRaw === 'number';
342
325
  // Calculate table widths
343
326
  const multiCurveColWidths = [13, 12, 12, 12, 12, 12, 12, 12];
344
- const totalWidth = multiCurveColWidths.reduce((a, b) => a + b, 0);
327
+ const _totalWidth = multiCurveColWidths.reduce((a, b) => a + b, 0);
345
328
  const singleCurveWidth = 13 + 18; // Time width + CCT/Intensity width
346
- if (showAllCurves) {
347
- // Show all curves in one table with compact formatting
348
- const _allCurveTypes = Object.values(CurveType);
349
- const headers = ['Time', 'HANN', 'WM_SMALL', 'WM_MEDIUM', 'WM_LARGE', 'CIE', 'SUN_ALT', 'PEREZ'];
350
- const colWidths = multiCurveColWidths;
329
+ if (curveTypes.length > 1) {
330
+ // Show multiple curves in one table
331
+ const headers = [
332
+ 'Time',
333
+ ...curveTypes.map((c) => {
334
+ // Abbreviate headers if needed or just use names
335
+ const name = c.replace(/_/g, ' ');
336
+ if (name.length > 12) {
337
+ if (c === 'WIDER_MIDDLE_SMALL')
338
+ return 'WM_SMALL';
339
+ if (c === 'WIDER_MIDDLE_MEDIUM')
340
+ return 'WM_MEDIUM';
341
+ if (c === 'WIDER_MIDDLE_LARGE')
342
+ return 'WM_LARGE';
343
+ if (c === 'CIE_DAYLIGHT')
344
+ return 'CIE';
345
+ if (c === 'SUN_ALTITUDE')
346
+ return 'SUN_ALT';
347
+ if (c === 'PEREZ_DAYLIGHT')
348
+ return 'PEREZ';
349
+ }
350
+ return name;
351
+ }),
352
+ ];
353
+ const colWidths = [13, ...curveTypes.map(() => 12)];
354
+ const totalWidth = colWidths.reduce((a, b) => a + b, 0);
351
355
  // Print header
352
356
  let headerLine = '';
353
357
  headers.forEach((header, i) => {
354
358
  headerLine += header.padEnd(colWidths[i]);
355
359
  });
356
- console.log(chalk_1.default.blue('─'.repeat(totalWidth)));
357
- console.log(chalk_1.default.bold(headerLine));
358
- console.log(chalk_1.default.blue('─'.repeat(totalWidth)));
360
+ console.log(chalk.blue('─'.repeat(totalWidth)));
361
+ console.log(chalk.blue(headerLine));
362
+ console.log(chalk.blue('─'.repeat(totalWidth)));
359
363
  for (const currentTime of uniqueTimes) {
360
364
  const timeStr = currentTime.toLocaleTimeString(undefined, {
361
365
  hour: '2-digit',
@@ -379,25 +383,15 @@ function registerSchedule(program, deps) {
379
383
  };
380
384
  const { color, emoji } = getSpecialTimeStyling(currentTime, times);
381
385
  let rowLine = color(`${timeStr} ${emoji || ' '} `);
382
- // Calculate for each curve in fixed order
383
- const curvesInOrder = [
384
- CurveType.HANN,
385
- CurveType.WIDER_MIDDLE_SMALL,
386
- CurveType.WIDER_MIDDLE_MEDIUM,
387
- CurveType.WIDER_MIDDLE_LARGE,
388
- CurveType.CIE_DAYLIGHT,
389
- CurveType.SUN_ALTITUDE,
390
- CurveType.PEREZ_DAYLIGHT,
391
- ];
392
- curvesInOrder.forEach((curve, index) => {
386
+ curveTypes.forEach((curve, index) => {
393
387
  const result = hasCctBounds || hasIntensityBounds
394
388
  ? calculateCCT(lat, lon, currentTime, {
395
389
  cctMinK: typeof cctMinRaw === 'number' ? cctMinRaw : undefined,
396
390
  cctMaxK: typeof cctMaxRaw === 'number' ? cctMaxRaw : undefined,
397
391
  intensityMinPct: typeof iMinRaw === 'number' ? iMinRaw : undefined,
398
392
  intensityMaxPct: typeof iMaxRaw === 'number' ? iMaxRaw : undefined,
399
- }, curve)
400
- : calculateCCT(lat, lon, currentTime, undefined, curve);
393
+ }, CurveType[curve])
394
+ : calculateCCT(lat, lon, currentTime, undefined, CurveType[curve]);
401
395
  const valueStr = `${result.cct}K/${(result.intensity / 10).toFixed(0)}%`;
402
396
  rowLine += color(valueStr.padEnd(colWidths[index + 1]));
403
397
  });
@@ -406,9 +400,9 @@ function registerSchedule(program, deps) {
406
400
  }
407
401
  else {
408
402
  // Show single curve (original behavior)
409
- console.log(chalk_1.default.blue('─'.repeat(singleCurveWidth)));
410
- console.log(chalk_1.default.bold('Time CCT/Intensity'));
411
- console.log(chalk_1.default.blue('─'.repeat(singleCurveWidth)));
403
+ console.log(chalk.blue('─'.repeat(singleCurveWidth)));
404
+ console.log(chalk.blue('Time CCT/Intensity'));
405
+ console.log(chalk.blue('─'.repeat(singleCurveWidth)));
412
406
  for (const currentTime of uniqueTimes) {
413
407
  const result = hasCctBounds || hasIntensityBounds
414
408
  ? calculateCCT(lat, lon, currentTime, {
@@ -416,8 +410,8 @@ function registerSchedule(program, deps) {
416
410
  cctMaxK: typeof cctMaxRaw === 'number' ? cctMaxRaw : undefined,
417
411
  intensityMinPct: typeof iMinRaw === 'number' ? iMinRaw : undefined,
418
412
  intensityMaxPct: typeof iMaxRaw === 'number' ? iMaxRaw : undefined,
419
- }, CurveType[curveType])
420
- : calculateCCT(lat, lon, currentTime, undefined, CurveType[curveType]);
413
+ }, CurveType[curveTypes[0]])
414
+ : calculateCCT(lat, lon, currentTime, undefined, CurveType[curveTypes[0]]);
421
415
  const timeStr = currentTime.toLocaleTimeString(undefined, {
422
416
  hour: '2-digit',
423
417
  minute: '2-digit',
@@ -443,13 +437,16 @@ function registerSchedule(program, deps) {
443
437
  console.log(color(`${timeStr} ${emoji || ' '} ${valueStr}`));
444
438
  }
445
439
  }
446
- if (showAllCurves) {
447
- console.log(chalk_1.default.blue(`${'─'.repeat(totalWidth)}\n`));
440
+ if (curveTypes.length > 1) {
441
+ // Recalculate totalWidth since it is block scoped above
442
+ const colWidths = [13, ...curveTypes.map(() => 12)];
443
+ const totalWidth = colWidths.reduce((a, b) => a + b, 0);
444
+ console.log(chalk.blue(`${'─'.repeat(totalWidth)}\n`));
448
445
  }
449
446
  else {
450
- console.log(chalk_1.default.blue(`${'─'.repeat(singleCurveWidth)}\n`));
447
+ console.log(chalk.blue(`${'─'.repeat(singleCurveWidth)}\n`));
451
448
  }
452
449
  }));
453
450
  }
454
- exports.default = registerSchedule;
455
- //# sourceMappingURL=schedule.js.map
451
+ export default registerPrintSchedule;
452
+ //# sourceMappingURL=printSchedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printSchedule.js","sourceRoot":"","sources":["../../src/commands/printSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAYtD,4DAA4D;AAC5D,SAAS,qBAAqB,CAC5B,WAAiB,EACjB,KAA8C;IAE9C,MAAM,aAAa,GAAG,CAAC,WAAoC,EAAE,EAAE;QAC7D,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa;IACvF,CAAC,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,+CAA+C;AAC/C,SAAS,sBAAsB,CAAC,KAAuC;IACrE,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;QAC1C,OAAO,GAAG;aACP,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,mCAAmC;aAC9D,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,0BAA0B;aACtE,IAAI,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,oDAAoD;IACpD,MAAM,eAAe,GAAG;QACtB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;SACxB,CAAC,CAAC;QACH;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,IAAI,EAAE,KAAK,CAAC,KAAK;SAClB;KACF,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEpE,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAChG,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACjG,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,IAAiB;IAChE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE1C,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;SAC7E,MAAM,CAAC,0BAA0B,EAAE,gDAAgD,EAAE,IAAI,CAAC;SAC1F,MAAM,CACL,qBAAqB,EACrB,uKAAuK,EACvK,KAAK,CACN;SACA,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,EAAE,IAAI,CAAC;SAChF,MAAM,CACL,YAAY,CAAC,KAAK,EAAE,OAAgD,EAAE,EAAE;QACtE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE7B,IAAI,GAAuB,CAAC;QAC5B,IAAI,GAAuB,CAAC;QAC5B,IAAI,IAAI,GAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,GAA+B,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEvD,MAAM,oBAAoB,GAA+B;YACvD,MAAM;YACN,oBAAoB;YACpB,qBAAqB;YACrB,oBAAoB;YACpB,cAAc;YACd,cAAc;YACd,gBAAgB;SACjB,CAAC;QAEF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,UAAU,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAA+B,EAAE,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;wBACnB,UAAU,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBACD,6CAA6C;gBAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnC,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CAAC,6CAA6C,MAAM,CAAC,YAAY,uBAAuB,CAAC,CACtG,CAAC;oBACF,UAAU,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3D,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC1F,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACtB,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;gBACvB,MAAM,GAAG,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;oBACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,UAAU,IAAI,CAAC,EAAE,GAAG,CAAC;YAChC,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;gBACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAEzF,wCAAwC;QACxC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,SAAkB,EAAE,EAAE;YAC7D,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,SAAkB,EAAE,EAAE;YACvD,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YAEjD,wBAAwB;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACnB,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACnB,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBACnB,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,aAAa,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjG,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAC/C,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,SAAS,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CACnH,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,4BAA4B;QAC5B,MAAM,kBAAkB,GAAG;YACzB,QAAQ;YACR,YAAY;YACZ,IAAI;YACJ,OAAO;YACP,UAAU;YACV,aAAa;YACb,SAAS;YACT,UAAU;YACV,WAAW;YACX,MAAM;YACN,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,KAAK;SACN,CAAC;QACF,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9B,qDAAqD;QACrD,MAAM,eAAe,GAAG;YACtB,QAAQ;YACR,YAAY;YACZ,IAAI;YACJ,OAAO;YACP,UAAU;YACV,aAAa;YACb,SAAS;YACT,UAAU;YACV,WAAW;YACX,MAAM;YACN,YAAY;YACZ,IAAI;YACJ,KAAK;SACN;aACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAElC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,+BAA+B;QAEtE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,mBAAmB,GAAG,UAAU,GAAG,CAAC,CAAC;QAE3C,0EAA0E;QAC1E,MAAM,QAAQ,GAAW,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,YAAY,IAAI,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG;YACnB,QAAQ;YACR,YAAY;YACZ,IAAI;YACJ,OAAO;YACP,UAAU;YACV,aAAa;YACb,SAAS;YACT,UAAU;YACV,WAAW;YACX,MAAM;YACN,YAAY;YACZ,IAAI;YACJ,KAAK;SACN,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE1D,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE/B,mEAAmE;QACnE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,WAAW,GAAW,EAAE,CAAC;QAC/B,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAErD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,oBAAoB,EACrF,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,6CAA6C;QAC7C,MAAM,GAAG,GAA4B,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;QACjC,MAAM,YAAY,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC;QACpF,MAAM,kBAAkB,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;QAEtF,yBAAyB;QACzB,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,mCAAmC;QAErE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,oCAAoC;YACpC,MAAM,OAAO,GAAG;gBACd,MAAM;gBACN,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtB,iDAAiD;oBACjD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,oBAAoB;4BAAE,OAAO,UAAU,CAAC;wBAClD,IAAI,CAAC,KAAK,qBAAqB;4BAAE,OAAO,WAAW,CAAC;wBACpD,IAAI,CAAC,KAAK,oBAAoB;4BAAE,OAAO,UAAU,CAAC;wBAClD,IAAI,CAAC,KAAK,cAAc;4BAAE,OAAO,KAAK,CAAC;wBACvC,IAAI,CAAC,KAAK,cAAc;4BAAE,OAAO,SAAS,CAAC;wBAC3C,IAAI,CAAC,KAAK,gBAAgB;4BAAE,OAAO,OAAO,CAAC;oBAC7C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;aACH,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAExD,eAAe;YACf,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5B,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAEhD,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,MAAM,KAAK,GAAG;oBACZ,QAAQ;oBACR,YAAY;oBACZ,IAAI;oBACJ,OAAO;oBACP,UAAU;oBACV,aAAa;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,MAAM;oBACN,YAAY;oBACZ,IAAI;oBACJ,KAAK;iBACN,CAAC;gBAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC;gBAErD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,MAAM,MAAM,GACV,YAAY,IAAI,kBAAkB;wBAChC,CAAC,CAAC,YAAY,CACV,GAAG,EACH,GAAG,EACH,WAAW,EACX;4BACE,OAAO,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;4BAC9D,OAAO,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;4BAC9D,eAAe,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;4BAClE,eAAe,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;yBACnE,EACD,SAAS,CAAC,KAAK,CAAC,CACjB;wBACH,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBAEvE,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzE,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEtD,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;gBACtC,MAAM,MAAM,GACV,YAAY,IAAI,kBAAkB;oBAChC,CAAC,CAAC,YAAY,CACV,GAAG,EACH,GAAG,EACH,WAAW,EACX;wBACE,OAAO,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBAC9D,OAAO,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBAC9D,eAAe,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBAClE,eAAe,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;qBACnE,EACD,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzB;oBACH,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEpF,0CAA0C;gBAC1C,MAAM,KAAK,GAAG;oBACZ,QAAQ;oBACR,YAAY;oBACZ,IAAI;oBACJ,OAAO;oBACP,UAAU;oBACV,aAAa;oBACb,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,MAAM;oBACN,YAAY;oBACZ,IAAI;oBACJ,KAAK;iBACN,CAAC;gBAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,wDAAwD;YACxD,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACN,CAAC;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from 'commander';
2
- import type { CommandDeps } from '../types';
2
+ import type { CommandDeps } from '../types.js';
3
3
  export declare function registerService(program: Command, deps: CommandDeps): void;
4
4
  export default registerService;
5
5
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AAE5D,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA4TlE;AA8CD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA6TlE;AA8CD,eAAe,eAAe,CAAC"}