@oxlayer/cli 0.0.1 → 0.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/dist/cli.js CHANGED
@@ -1,1328 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- createSpinner,
4
- error,
5
- formatDuration,
6
- getBanner,
7
- header,
8
- info,
9
- printCapabilities,
10
- printList,
11
- success,
12
- warning as warning2
13
- } from "./chunk-HOFSFUN5.js";
14
- import {
15
- getInstalledVersion,
16
- getVendorDir,
17
- hasPackageJson,
18
- readPackageJson
19
- } from "./chunk-M3AAB53U.js";
20
- import {
21
- healthCheck,
22
- requestPackageDownload,
23
- resolveCapabilities
24
- } from "./chunk-DOYXC6AO.js";
25
- import {
26
- getAuthInfo,
27
- getDeviceName,
28
- getManifest,
29
- init_device_auth_service,
30
- initiateDeviceAuth,
31
- isTokenExpired,
32
- loadConfig,
33
- openBrowser,
34
- pollForToken,
35
- saveConfig
36
- } from "./chunk-QERPYPW4.js";
37
- import {
38
- __require,
39
- init_esm_shims
40
- } from "./chunk-HQST7GVM.js";
41
-
42
- // src/cli.ts
43
- init_esm_shims();
44
- import { Command } from "commander";
45
-
46
- // src/commands/login.command.ts
47
- init_esm_shims();
48
- init_device_auth_service();
49
- async function login(options = {}) {
50
- header("OxLayer Authentication");
51
- const deviceName = await getDeviceName();
52
- info(`Device: ${deviceName}`);
53
- info(`Environment: ${options.environment || "development"}`);
54
- info(`API Endpoint: ${options.apiEndpoint || "http://localhost:3001"}`);
55
- console.log();
56
- const spinner = createSpinner("Initiating device authorization...");
57
- spinner.start();
58
- let deviceCodeResponse;
59
- try {
60
- const apiEndpoint = options.apiEndpoint || "http://localhost:3001";
61
- info(`API Endpoint: ${apiEndpoint}`);
62
- deviceCodeResponse = await initiateDeviceAuth(
63
- options.environment || "development",
64
- apiEndpoint
65
- );
66
- spinner.succeed("Device authorization initiated");
67
- } catch (err) {
68
- spinner.fail("Failed to initiate device authorization");
69
- error(err instanceof Error ? err.message : "Unknown error");
70
- process.exit(1);
71
- }
72
- console.log();
73
- info("To complete authentication, follow these steps:");
74
- console.log();
75
- const verificationUrl = deviceCodeResponse.verificationUrl;
76
- const userCode = deviceCodeResponse.userCode;
77
- console.log(` 1. Visit this URL in your browser:`);
78
- console.log(` ${verificationUrl}`);
79
- console.log();
80
- console.log(` 2. Enter this code when prompted:`);
81
- console.log(` ${userCode}`);
82
- console.log();
83
- if (!options["no-browser"]) {
84
- try {
85
- const urlWithCode = new URL(verificationUrl);
86
- urlWithCode.searchParams.set("device_code", deviceCodeResponse.deviceCode);
87
- const openSpinner = createSpinner("Opening browser...");
88
- openSpinner.start();
89
- await openBrowser(urlWithCode.toString());
90
- openSpinner.succeed("Browser opened");
91
- } catch (err) {
92
- info("Could not open browser automatically. Please visit the URL manually.");
93
- }
94
- } else {
95
- info("Browser auto-open disabled (--no-browser flag set)");
96
- }
97
- console.log();
98
- info("Waiting for authentication to complete...");
99
- const pollSpinner = createSpinner("Waiting for approval");
100
- try {
101
- pollSpinner.start();
102
- const result = await pollForToken(
103
- deviceCodeResponse.pollEndpoint,
104
- deviceCodeResponse.deviceCode,
105
- {
106
- interval: options["poll-interval"] || deviceCodeResponse.interval,
107
- maxAttempts: 120,
108
- // 2 minutes
109
- onProgress: (attempt, maxAttempts) => {
110
- if (attempt % 8 === 0) {
111
- pollSpinner.text = `Waiting for approval (${Math.floor(attempt / maxAttempts * 100)}%)`;
112
- }
113
- }
114
- }
115
- );
116
- pollSpinner.succeed("Authentication successful");
117
- const apiEndpoint = options.apiEndpoint || "http://localhost:3001";
118
- const config = {
119
- token: result.accessToken,
120
- tokenInfo: result.tokenInfo,
121
- organizationId: result.organizationId,
122
- environment: options.environment || "development",
123
- vendorDir: ".capabilities-vendor",
124
- apiEndpoint,
125
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
126
- };
127
- await saveConfig(config);
128
- pollSpinner.stop();
129
- console.log();
130
- success("Logged in successfully");
131
- info(`Organization: ${result.organizationId}`);
132
- info(`Device ID: ${result.tokenInfo.deviceId}`);
133
- info(`Scopes: ${result.tokenInfo.scopes.join(", ")}`);
134
- info(`Expires: ${new Date(result.tokenInfo.expiresAt).toLocaleString()}`);
135
- process.exit(0);
136
- } catch (err) {
137
- pollSpinner.fail("Authentication failed");
138
- error(err instanceof Error ? err.message : "Unknown error");
139
- process.exit(1);
140
- }
141
- }
142
-
143
- // src/commands/status.command.ts
144
- init_esm_shims();
145
- init_device_auth_service();
146
-
147
- // src/utils/env.ts
148
- init_esm_shims();
149
- import { existsSync, readFileSync } from "fs";
150
- import { join } from "path";
151
- function detectPackageManager(cwd = process.cwd()) {
152
- if (existsSync(join(cwd, "pnpm-lock.yaml"))) {
153
- return "pnpm";
154
- }
155
- if (existsSync(join(cwd, "bun.lockb"))) {
156
- return "bun";
157
- }
158
- if (existsSync(join(cwd, "yarn.lock"))) {
159
- return "yarn";
160
- }
161
- if (existsSync(join(cwd, "package-lock.json"))) {
162
- return "npm";
163
- }
164
- return "unknown";
165
- }
166
- function findProjectRoot(startDir = process.cwd()) {
167
- let currentDir = startDir;
168
- while (currentDir !== "/" && currentDir !== ".") {
169
- if (existsSync(join(currentDir, "package.json"))) {
170
- if (existsSync(join(currentDir, "pnpm-workspace.yaml")) || existsSync(join(currentDir, "turbo.json")) || existsSync(join(currentDir, "lerna.json")) || existsSync(join(currentDir, "nx.json"))) {
171
- return currentDir;
172
- }
173
- try {
174
- const pkgPath = join(currentDir, "package.json");
175
- const pkgContent = readFileSync(pkgPath, "utf-8");
176
- const pkg = JSON.parse(pkgContent);
177
- if (pkg.workspaces) {
178
- return currentDir;
179
- }
180
- } catch {
181
- }
182
- if (currentDir === startDir) {
183
- return currentDir;
184
- }
185
- }
186
- const parentDir = join(currentDir, "..");
187
- if (parentDir === currentDir) {
188
- break;
189
- }
190
- currentDir = parentDir;
191
- }
192
- return startDir;
193
- }
194
- async function detectProjectType(cwd = process.cwd()) {
195
- const rootDir = findProjectRoot(cwd);
196
- const hasPackageJson2 = existsSync(join(rootDir, "package.json"));
197
- const hasTsConfig = existsSync(join(rootDir, "tsconfig.json")) || existsSync(join(rootDir, "tsconfig.json"));
198
- const packageManager = detectPackageManager(rootDir);
199
- let type = "unknown";
200
- if (hasPackageJson2) {
201
- try {
202
- const pkg = await readPackageJson(rootDir);
203
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
204
- const hasReact = "react" in deps || "react-dom" in deps || "@types/react" in deps || "next" in deps;
205
- const hasHono = "hono" in deps || "@hono/hono" in deps;
206
- const isFrontend = hasReact;
207
- const isBackend = hasHono;
208
- if (isFrontend && isBackend) {
209
- type = "unknown";
210
- } else if (isFrontend) {
211
- type = "frontend";
212
- } else if (isBackend) {
213
- type = "backend";
214
- }
215
- } catch {
216
- }
217
- }
218
- return {
219
- type,
220
- hasPackageJson: hasPackageJson2,
221
- hasTsConfig,
222
- packageManager,
223
- rootDir
224
- };
225
- }
226
- function getInstallCommand(packageManager) {
227
- switch (packageManager) {
228
- case "pnpm":
229
- return "pnpm install";
230
- case "bun":
231
- return "bun install";
232
- case "yarn":
233
- return "yarn install";
234
- case "npm":
235
- return "npm install";
236
- default:
237
- return "pnpm install";
238
- }
239
- }
240
- function getRecommendedPackages(projectType) {
241
- switch (projectType) {
242
- case "backend":
243
- return ["backend-sdk"];
244
- case "frontend":
245
- return ["frontend-sdk"];
246
- default:
247
- return ["backend-sdk", "frontend-sdk", "cli-tools"];
248
- }
249
- }
250
-
251
- // src/commands/status.command.ts
252
- async function status(options = {}) {
253
- header("OxLayer SDK Status");
254
- const authInfo = await getAuthInfo();
255
- if (authInfo.authenticated) {
256
- success("Authenticated");
257
- info(`Organization: ${authInfo.organizationId || "Unknown"}`);
258
- info(`Device: ${authInfo.deviceId || "Unknown"}`);
259
- if (options.verbose && authInfo.scopes) {
260
- info(`Scopes: ${authInfo.scopes.join(", ")}`);
261
- }
262
- if (options.verbose && authInfo.expiresAt) {
263
- const expires = new Date(authInfo.expiresAt);
264
- const now = /* @__PURE__ */ new Date();
265
- const daysUntilExpiry = Math.ceil((expires.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
266
- info(`Expires: ${expires.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
267
- }
268
- } else {
269
- error("Not authenticated");
270
- info('Run "oxlayer login" to authenticate');
271
- }
272
- console.log();
273
- if (authInfo.authenticated) {
274
- header("Capabilities");
275
- const manifest = await getManifest();
276
- if (manifest) {
277
- success(`Capability manifest loaded`);
278
- info(`Schema Version: ${manifest.schemaVersion}`);
279
- info(`License: ${manifest.licenseId}`);
280
- info(`Environment: ${manifest.environment}`);
281
- if (manifest.capabilities) {
282
- const capabilityCount = Object.keys(manifest.capabilities).length;
283
- info(`Available Capabilities: ${capabilityCount}`);
284
- if (options.verbose) {
285
- const capabilityNames = Object.keys(manifest.capabilities);
286
- if (capabilityNames.length > 0) {
287
- info("Capabilities:");
288
- printList(capabilityNames);
289
- }
290
- const manifestExpires = new Date(manifest.expiresAt);
291
- const now = /* @__PURE__ */ new Date();
292
- const daysUntilExpiry = Math.ceil((manifestExpires.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
293
- info(`Manifest Expires: ${manifestExpires.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
294
- }
295
- } else {
296
- info("No capabilities available in manifest");
297
- }
298
- } else {
299
- info("No capability manifest available");
300
- info('Run "oxlayer install" to fetch the latest capabilities');
301
- }
302
- console.log();
303
- }
304
- header("Project");
305
- const projectConfig = await detectProjectType();
306
- const recommendedPackages = getRecommendedPackages(projectConfig.type);
307
- if (projectConfig.hasPackageJson) {
308
- success("package.json found");
309
- info(`Project type: ${projectConfig.type}`);
310
- info(`Package manager: ${projectConfig.packageManager}`);
311
- info(`TypeScript: ${projectConfig.hasTsConfig ? "Yes" : "No"}`);
312
- } else {
313
- error("No package.json found in current directory");
314
- }
315
- console.log();
316
- header("Installation");
317
- const installedVersion = await getInstalledVersion();
318
- if (installedVersion) {
319
- success(`SDK version ${installedVersion} installed`);
320
- info(`Location: .capabilities-vendor/${installedVersion}/`);
321
- if (options.verbose) {
322
- const { existsSync: existsSync4 } = await import("fs");
323
- const { join: join6 } = await import("path");
324
- const vendorDir = join6(process.cwd(), ".capabilities-vendor", installedVersion);
325
- if (existsSync4(vendorDir)) {
326
- const { readdir } = await import("fs/promises");
327
- const packages = await readdir(vendorDir, { withFileTypes: true });
328
- const packageNames = packages.filter((p) => p.isDirectory()).map((p) => p.name);
329
- if (packageNames.length > 0) {
330
- info("Installed packages:");
331
- printList(packageNames);
332
- }
333
- }
334
- }
335
- } else {
336
- info("No SDK installed");
337
- info('Run "oxlayer install" to install the SDK');
338
- }
339
- console.log();
340
- if (recommendedPackages.length > 0 && !installedVersion) {
341
- header("Recommended");
342
- info("For this project, OxLayer recommends installing:");
343
- printList(recommendedPackages);
344
- }
345
- }
346
-
347
- // src/commands/install.command.ts
348
- init_esm_shims();
349
- import { promises as fs3 } from "fs";
350
- import { join as join4 } from "path";
351
- import { execSync } from "child_process";
352
-
353
- // src/services/index.ts
354
- init_esm_shims();
355
-
356
- // src/services/auth.service.ts
357
- init_esm_shims();
358
- init_device_auth_service();
359
- async function loadConfig2() {
360
- const { loadConfig: loadNewConfig } = await import("./device-auth.service-CMNCNKYX.js");
361
- const config = await loadNewConfig();
362
- if (!config) {
363
- return null;
364
- }
365
- return {
366
- apiKey: config.token,
367
- // Map token to apiKey for legacy consumers
368
- environment: config.environment,
369
- vendorDir: config.vendorDir,
370
- apiEndpoint: config.apiEndpoint
371
- };
372
- }
373
- async function removeConfig() {
374
- const { removeConfig: removeNewConfig } = await import("./device-auth.service-CMNCNKYX.js");
375
- await removeNewConfig();
376
- }
377
- function getConfigDir() {
378
- const { join: join6 } = __require("path");
379
- const { homedir } = __require("os");
380
- return join6(homedir(), ".oxlayer");
381
- }
382
- function getConfigFile() {
383
- return __require("path").join(getConfigDir(), "config.json");
384
- }
385
-
386
- // src/services/index.ts
387
- init_device_auth_service();
388
-
389
- // src/services/download.service.ts
390
- init_esm_shims();
391
- import { promises as fs } from "fs";
392
- import { join as join2 } from "path";
393
- async function downloadFile(url, destination, onProgress) {
394
- const response = await fetch(url);
395
- if (!response.ok) {
396
- throw new Error(`Failed to download: ${response.statusText}`);
397
- }
398
- const total = parseInt(response.headers.get("content-length") || "0", 10);
399
- let downloaded = 0;
400
- await fs.mkdir(join2(destination, ".."), { recursive: true });
401
- const writer = await fs.open(destination, "w");
402
- try {
403
- const reader = response.body?.getReader();
404
- if (!reader) {
405
- throw new Error("No response body");
406
- }
407
- while (true) {
408
- const { done, value } = await reader.read();
409
- if (done) break;
410
- await writer.write(value);
411
- downloaded += value.length;
412
- if (onProgress && total > 0) {
413
- onProgress(downloaded, total);
414
- }
415
- }
416
- } finally {
417
- await writer.close();
418
- }
419
- }
420
- async function verifyManifest(manifestPath, expectedHash) {
421
- const content = await fs.readFile(manifestPath, "utf-8");
422
- const manifest = JSON.parse(content);
423
- if (expectedHash && manifest.sha256 !== expectedHash) {
424
- throw new Error(
425
- `Manifest SHA256 mismatch. Expected ${expectedHash}, got ${manifest.sha256}`
426
- );
427
- }
428
- return manifest;
429
- }
430
- async function extractZip(zipPath, destination) {
431
- const AdmZip = (await import("adm-zip")).default;
432
- const zip = new AdmZip(zipPath);
433
- await fs.mkdir(destination, { recursive: true });
434
- zip.extractAllTo(destination, true);
435
- }
436
-
437
- // src/services/hooks.service.ts
438
- init_esm_shims();
439
-
440
- // src/services/telemetry.service.ts
441
- init_esm_shims();
442
- import { promises as fs2 } from "fs";
443
- import { join as join3 } from "path";
444
- import { existsSync as existsSync2 } from "fs";
445
- var TELEMETRY_FILE = join3(process.env.HOME || process.env.USERPROFILE || "", ".oxlayer", "telemetry.json");
446
- var TELEMETRY_ENABLED = process.env.OXLAYER_TELEMETRY !== "0";
447
- async function getTelemetryConfig() {
448
- try {
449
- if (existsSync2(TELEMETRY_FILE)) {
450
- const content = await fs2.readFile(TELEMETRY_FILE, "utf-8");
451
- return JSON.parse(content);
452
- }
453
- } catch {
454
- }
455
- const config = {
456
- enabled: TELEMETRY_ENABLED,
457
- userId: generateAnonymousId()
458
- };
459
- await saveTelemetryConfig(config);
460
- return config;
461
- }
462
- async function saveTelemetryConfig(config) {
463
- const dir = join3(process.env.HOME || process.env.USERPROFILE || "", ".oxlayer");
464
- await fs2.mkdir(dir, { recursive: true });
465
- await fs2.writeFile(TELEMETRY_FILE, JSON.stringify(config, null, 2));
466
- }
467
- function generateAnonymousId() {
468
- const bytes = new Uint8Array(8);
469
- crypto.getRandomValues(bytes);
470
- return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
471
- }
472
- async function trackEvent(data) {
473
- const config = await getTelemetryConfig();
474
- if (!config.enabled) {
475
- return;
476
- }
477
- const enrichedData = {
478
- ...data,
479
- userId: config.userId,
480
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
481
- };
482
- sendTelemetry(enrichedData).catch(() => {
483
- });
484
- }
485
- async function sendTelemetry(data) {
486
- const endpoint = process.env.OXLAYER_TELEMETRY_ENDPOINT || "https://telemetry.oxlayer.dev/v1/event";
487
- try {
488
- await fetch(endpoint, {
489
- method: "POST",
490
- headers: {
491
- "Content-Type": "application/json"
492
- },
493
- body: JSON.stringify(data),
494
- // Keep request light - don't wait for response
495
- keepalive: true
496
- }).catch(() => {
497
- });
498
- } catch {
499
- }
500
- }
501
- function trackCommand(command, options = {}) {
502
- trackEvent({
503
- event: command,
504
- command,
505
- ...options,
506
- cliVersion: "0.0.1",
507
- nodeVersion: process.version,
508
- platform: process.platform
509
- });
510
- }
511
- function trackError(command, errorCode, options = {}) {
512
- trackEvent({
513
- event: "error",
514
- command,
515
- errorCode,
516
- ...options,
517
- cliVersion: "0.0.1",
518
- nodeVersion: process.version,
519
- platform: process.platform
520
- });
521
- }
522
-
523
- // src/commands/install.command.ts
524
- init_device_auth_service();
525
- var VENDOR_DIR = ".capabilities-vendor";
526
- var CAPABILITIES_DIR = ".capabilities";
527
- function resolvePackagesToInstall(projectType, options) {
528
- if (options.packages && options.packages.length > 0) {
529
- return options.packages;
530
- }
531
- switch (projectType) {
532
- case "backend":
533
- return ["backend-sdk"];
534
- case "frontend":
535
- return ["frontend-sdk"];
536
- default:
537
- return ["backend-sdk", "frontend-sdk", "cli-tools"];
538
- }
539
- }
540
- function generatePackageJson(version, manifest) {
541
- const exports = {};
542
- const dependencies = {};
543
- for (const [name, pkg] of Object.entries(manifest.packages)) {
544
- const relativePath = pkg.path;
545
- exports[name] = `./${relativePath}`;
546
- dependencies[name] = `workspace:*`;
547
- const parts = name.split("/").slice(1);
548
- if (parts.length > 1) {
549
- const subPath = parts.join("-");
550
- exports[`@oxlayer/${subPath}`] = `./${relativePath}`;
551
- }
552
- }
553
- return JSON.stringify({
554
- name: "@oxlayer/sdk-workspace",
555
- version,
556
- private: true,
557
- description: `OxLayer SDK v${version} - Local workspace package`,
558
- type: "module",
559
- exports,
560
- dependencies
561
- }, null, 2);
562
- }
563
- async function updateWorkspaceConfig(rootDir, vendorVersionDir) {
564
- const workspacePath = join4(rootDir, "pnpm-workspace.yaml");
565
- const relativeVendorPath = vendorVersionDir.replace(rootDir + "/", "").replace(/^\//, "");
566
- let workspaceConfig;
567
- try {
568
- const content = await fs3.readFile(workspacePath, "utf-8");
569
- const match = content.match(/packages:\s*\n((?:\s*-\s*[^\n]+\n*)+)/);
570
- if (match) {
571
- const packages = match[1].split("\n").map((line) => line.replace(/^\s*-\s*/, "").trim()).filter((line) => line.length > 0);
572
- workspaceConfig = { packages };
573
- } else {
574
- workspaceConfig = { packages: [] };
575
- }
576
- } catch {
577
- workspaceConfig = { packages: [] };
578
- }
579
- if (!workspaceConfig.packages?.includes(relativeVendorPath)) {
580
- workspaceConfig.packages = [...workspaceConfig.packages || [], relativeVendorPath];
581
- const yamlContent = `packages:
582
- ${workspaceConfig.packages.map((p) => ` - '${p}'`).join("\n")}
583
- `;
584
- await fs3.writeFile(workspacePath, yamlContent, "utf-8");
585
- }
586
- }
587
- async function updateCurrentSymlink(baseDir, version) {
588
- const currentPath = join4(baseDir, "current");
589
- const versionPath = join4(baseDir, version);
590
- try {
591
- await fs3.unlink(currentPath);
592
- } catch {
593
- }
594
- await fs3.symlink(versionPath, currentPath, "dir");
595
- }
596
- async function addWorkspaceDependency(rootDir, vendorVersionPath) {
597
- const packageJsonPath = join4(rootDir, "package.json");
598
- try {
599
- const content = await fs3.readFile(packageJsonPath, "utf-8");
600
- const pkg = JSON.parse(content);
601
- if (!pkg.dependencies) {
602
- pkg.dependencies = {};
603
- }
604
- if (!pkg.dependencies["@oxlayer/sdk-workspace"]) {
605
- pkg.dependencies["@oxlayer/sdk-workspace"] = "workspace:*";
606
- }
607
- await fs3.writeFile(packageJsonPath, JSON.stringify(pkg, null, 2) + "\n", "utf-8");
608
- } catch (err) {
609
- throw new Error(`Failed to update package.json: ${err instanceof Error ? err.message : "Unknown error"}`);
610
- }
611
- }
612
- async function install(version, options = {}) {
613
- const startTime = Date.now();
614
- const startDir = process.cwd();
615
- header("OxLayer SDK Installer");
616
- const rootDir = findProjectRoot(startDir);
617
- if (!await hasPackageJson()) {
618
- error("No package.json found in current directory");
619
- info("Navigate to your project directory before installing.");
620
- process.exit(1);
621
- }
622
- const projectConfig = await detectProjectType(startDir);
623
- info(`Project root: ${rootDir === startDir ? "." : rootDir}`);
624
- info(`Package manager: ${projectConfig.packageManager}`);
625
- info(`Project type: ${projectConfig.type}`);
626
- const packagesToInstall = resolvePackagesToInstall(projectConfig.type, options);
627
- info(`Packages: ${packagesToInstall.join(", ")}`);
628
- const authSpinner = createSpinner("Validating authentication...");
629
- authSpinner.start();
630
- try {
631
- const config = await loadConfig();
632
- if (!config || !config.token) {
633
- authSpinner.fail("Authentication required");
634
- error("Please run: oxlayer login");
635
- process.exit(1);
636
- }
637
- if (isTokenExpired(config)) {
638
- authSpinner.fail("Token expired");
639
- error("Your authentication token has expired. Please run: oxlayer login");
640
- process.exit(1);
641
- }
642
- authSpinner.succeed("Authenticated");
643
- info(`Organization: ${config.organizationId}`);
644
- info(`Device: ${config.tokenInfo?.deviceId || "Unknown"}`);
645
- const expiresAt = new Date(config.tokenInfo.expiresAt);
646
- const now = /* @__PURE__ */ new Date();
647
- const daysUntilExpiry = Math.ceil((expiresAt.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
648
- info(`Token expires: ${expiresAt.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
649
- } catch (err) {
650
- authSpinner.fail("Authentication failed");
651
- error(err instanceof Error ? err.message : "Unknown error");
652
- process.exit(1);
653
- }
654
- console.log();
655
- const downloadSpinner = createSpinner("Downloading SDK...");
656
- downloadSpinner.start();
657
- let resolvedVersion = version;
658
- let manifest;
659
- try {
660
- const { downloadUrl, version: resolvedVer } = await requestPackageDownload(
661
- packagesToInstall[0],
662
- version
663
- );
664
- resolvedVersion = resolvedVer;
665
- const tempDir = join4(rootDir, ".oxlayer-temp");
666
- await fs3.mkdir(tempDir, { recursive: true });
667
- const zipPath = join4(tempDir, `oxlayer-sdk-${resolvedVersion}.zip`);
668
- let lastProgress = 0;
669
- await downloadFile(
670
- downloadUrl,
671
- zipPath,
672
- (progress, total) => {
673
- const percent = Math.floor(progress / total * 100);
674
- if (percent - lastProgress >= 10) {
675
- downloadSpinner.text = `Downloading SDK... ${percent}%`;
676
- lastProgress = percent;
677
- }
678
- }
679
- );
680
- downloadSpinner.succeed(`Downloaded SDK (${resolvedVersion})`);
681
- const extractSpinner = createSpinner("Extracting SDK...");
682
- extractSpinner.start();
683
- const vendorBaseDir = join4(rootDir, VENDOR_DIR);
684
- const vendorVersionDir = join4(vendorBaseDir, resolvedVersion);
685
- await fs3.mkdir(vendorVersionDir, { recursive: true });
686
- await extractZip(zipPath, join4(tempDir, "extracted"));
687
- const extractedBase = join4(tempDir, "extracted", resolvedVersion);
688
- const manifestPath = join4(extractedBase, "manifest.json");
689
- manifest = await verifyManifest(manifestPath);
690
- await copyDirectory(extractedBase, vendorVersionDir);
691
- const packageJsonPath = join4(vendorVersionDir, "package.json");
692
- const packageJsonContent = generatePackageJson(resolvedVersion, manifest);
693
- await fs3.writeFile(packageJsonPath, packageJsonContent, "utf-8");
694
- extractSpinner.succeed("Extracted SDK");
695
- const workspaceSpinner = createSpinner("Configuring workspace...");
696
- workspaceSpinner.start();
697
- await updateWorkspaceConfig(rootDir, vendorVersionDir);
698
- await updateCurrentSymlink(vendorBaseDir, resolvedVersion);
699
- await addWorkspaceDependency(rootDir, vendorVersionDir);
700
- workspaceSpinner.succeed("Workspace configured");
701
- await fs3.rm(tempDir, { recursive: true, force: true });
702
- } catch (err) {
703
- downloadSpinner.fail("Failed to install SDK");
704
- error(err instanceof Error ? err.message : "Unknown error");
705
- process.exit(1);
706
- }
707
- console.log();
708
- const duration = Date.now() - startTime;
709
- header("Installation Complete");
710
- success(`SDK version ${resolvedVersion} installed successfully`);
711
- info(`Duration: ${formatDuration(duration)}`);
712
- info(`Workspace: ${VENDOR_DIR}/${resolvedVersion}/`);
713
- info(`Current link: ${CAPABILITIES_DIR}/current -> ${resolvedVersion}`);
714
- const installSpinner = createSpinner("Running package manager install...");
715
- installSpinner.start();
716
- try {
717
- const installCommand = getInstallCommand(projectConfig.packageManager);
718
- execSync(installCommand, { cwd: rootDir, stdio: "pipe" });
719
- installSpinner.succeed(`Dependencies installed via ${projectConfig.packageManager}`);
720
- } catch (err) {
721
- installSpinner.warn(`Package manager install failed. Please run '${getInstallCommand(projectConfig.packageManager)}' manually.`);
722
- }
723
- console.log();
724
- info("Next steps:");
725
- console.log(" Import in your code:");
726
- console.log(" import { SomeCapability } from '@oxlayer/sdk-workspace';");
727
- console.log();
728
- console.log(` To switch SDK versions, update the ${CAPABILITIES_DIR}/current symlink.`);
729
- }
730
- async function copyDirectory(src, dest) {
731
- await fs3.mkdir(dest, { recursive: true });
732
- const entries = await fs3.readdir(src, { withFileTypes: true });
733
- for (const entry of entries) {
734
- const srcPath = join4(src, entry.name);
735
- const destPath = join4(dest, entry.name);
736
- if (entry.isDirectory()) {
737
- await copyDirectory(srcPath, destPath);
738
- } else {
739
- await fs3.copyFile(srcPath, destPath);
740
- }
741
- }
742
- }
743
-
744
- // src/commands/resolve.command.ts
745
- init_esm_shims();
746
- async function resolve(options = {}) {
747
- header("OxLayer Capability Resolution");
748
- const projectConfig = await detectProjectType();
749
- const environment = options.environment || "development";
750
- info(`Project type: ${projectConfig.type}`);
751
- info(`Environment: ${environment}`);
752
- const capabilitiesToRequest = [];
753
- switch (projectConfig.type) {
754
- case "backend":
755
- capabilitiesToRequest.push(
756
- "auth",
757
- "storage",
758
- "cache",
759
- "events",
760
- "queues",
761
- "metrics",
762
- "telemetry"
763
- );
764
- break;
765
- case "frontend":
766
- capabilitiesToRequest.push("auth", "storage");
767
- break;
768
- default:
769
- capabilitiesToRequest.push(
770
- "auth",
771
- "storage",
772
- "search",
773
- "vector",
774
- "cache",
775
- "events",
776
- "queues",
777
- "metrics",
778
- "telemetry"
779
- );
780
- }
781
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Resolving capabilities..."));
782
- spinner.start();
783
- try {
784
- const result = await resolveCapabilities(capabilitiesToRequest, environment);
785
- spinner.succeed("Capabilities resolved");
786
- console.log();
787
- info(`Organization: ${result.organizationId}`);
788
- info(`License: ${result.licenseId}`);
789
- info(`Resolved at: ${new Date(result.resolvedAt).toLocaleString()}`);
790
- console.log();
791
- header("Available Capabilities");
792
- printCapabilities(result.capabilities);
793
- if (options.verbose) {
794
- console.log();
795
- header("Usage Example");
796
- console.log();
797
- console.log("Import and use capabilities in your code:");
798
- console.log();
799
- console.log(chalk.gray("```typescript"));
800
- console.log(chalk.gray("import { resolveCapabilities } from '@oxlayer/capabilities-internal';"));
801
- console.log();
802
- console.log(chalk.gray("const capabilities = await resolveCapabilities({"));
803
- console.log(chalk.gray(` projectId: 'your-project-id',`));
804
- console.log(chalk.gray(` environment: '${environment}',`));
805
- console.log(chalk.gray(` requested: ['${capabilitiesToRequest.join("', '")}']`));
806
- console.log(chalk.gray("});"));
807
- console.log(chalk.gray("```"));
808
- console.log();
809
- }
810
- success(`Your project has access to ${Object.keys(result.capabilities).length} capabilities`);
811
- } catch (err) {
812
- spinner.fail("Failed to resolve capabilities");
813
- error(err instanceof Error ? err.message : "Unknown error");
814
- if (err instanceof Error && err.message.includes("API key")) {
815
- console.log();
816
- info("Make sure you're authenticated:");
817
- console.log(" oxlayer login");
818
- }
819
- process.exit(1);
820
- }
821
- }
822
- var chalk = (await import("chalk")).default;
823
-
824
- // src/commands/logout.command.ts
825
- init_esm_shims();
826
- async function logout() {
827
- try {
828
- await removeConfig();
829
- success("Logged out successfully");
830
- info(`Configuration removed from ${getConfigFile()}`);
831
- info("Your API key is no longer stored locally.");
832
- } catch (err) {
833
- warning2("Could not remove configuration");
834
- info(err instanceof Error ? err.message : "Unknown error");
835
- }
836
- }
837
-
838
- // src/commands/doctor.command.ts
839
- init_esm_shims();
840
- import { existsSync as existsSync3 } from "fs";
841
- import { join as join5 } from "path";
842
- async function runDiagnostics(options) {
843
- const results = [];
844
- const config = await loadConfig2();
845
- if (config) {
846
- results.push({
847
- name: "Authentication",
848
- status: "pass",
849
- message: "API key configured"
850
- });
851
- } else {
852
- results.push({
853
- name: "Authentication",
854
- status: "fail",
855
- message: "Not authenticated",
856
- fix: "Run: oxlayer login"
857
- });
858
- }
859
- try {
860
- const isHealthy = await healthCheck();
861
- if (isHealthy) {
862
- results.push({
863
- name: "API Connectivity",
864
- status: "pass",
865
- message: "Control Panel API is reachable"
866
- });
867
- } else {
868
- results.push({
869
- name: "API Connectivity",
870
- status: "fail",
871
- message: "API health check failed",
872
- fix: "Check your network connection"
873
- });
874
- }
875
- } catch {
876
- results.push({
877
- name: "API Connectivity",
878
- status: "fail",
879
- message: "Cannot reach Control Panel API",
880
- fix: "Check your network connection or API endpoint"
881
- });
882
- }
883
- const projectConfig = await detectProjectType();
884
- if (projectConfig.hasPackageJson) {
885
- results.push({
886
- name: "Project Structure",
887
- status: "pass",
888
- message: `Found ${projectConfig.type} project with ${projectConfig.packageManager}`
889
- });
890
- } else {
891
- results.push({
892
- name: "Project Structure",
893
- status: "warn",
894
- message: "No package.json found",
895
- fix: "Navigate to your project directory"
896
- });
897
- }
898
- if (projectConfig.hasTsConfig) {
899
- results.push({
900
- name: "TypeScript",
901
- status: "pass",
902
- message: "TypeScript configuration found"
903
- });
904
- } else {
905
- results.push({
906
- name: "TypeScript",
907
- status: "warn",
908
- message: "No TypeScript configuration found",
909
- fix: "Run: npx tsc --init"
910
- });
911
- }
912
- const installedVersion = await getInstalledVersion();
913
- if (installedVersion) {
914
- const vendorDir = getVendorDir(installedVersion);
915
- const manifestPath = join5(vendorDir, "manifest.json");
916
- if (existsSync3(manifestPath)) {
917
- results.push({
918
- name: "SDK Installation",
919
- status: "pass",
920
- message: `SDK version ${installedVersion} installed`
921
- });
922
- } else {
923
- results.push({
924
- name: "SDK Installation",
925
- status: "warn",
926
- message: `SDK version ${installedVersion} incomplete (missing manifest)`,
927
- fix: "Run: oxlayer install --force"
928
- });
929
- }
930
- } else {
931
- results.push({
932
- name: "SDK Installation",
933
- status: "warn",
934
- message: "No SDK installed",
935
- fix: "Run: oxlayer install"
936
- });
937
- }
938
- const gitignorePath = join5(process.cwd(), ".gitignore");
939
- if (existsSync3(gitignorePath)) {
940
- const gitignoreContent = await import("fs/promises").then((fs4) => fs4.readFile(gitignorePath, "utf-8"));
941
- const hasVendorIgnore = gitignoreContent.includes(".capabilities-vendor");
942
- if (hasVendorIgnore) {
943
- results.push({
944
- name: ".gitignore",
945
- status: "pass",
946
- message: "Vendor directory is ignored"
947
- });
948
- } else {
949
- results.push({
950
- name: ".gitignore",
951
- status: "warn",
952
- message: "Vendor directory not in .gitignore",
953
- fix: 'Add ".capabilities-vendor/" to .gitignore'
954
- });
955
- }
956
- } else {
957
- results.push({
958
- name: ".gitignore",
959
- status: "warn",
960
- message: "No .gitignore found",
961
- fix: 'Create .gitignore and add ".capabilities-vendor/"'
962
- });
963
- }
964
- if (process.env.OXLAYER_API_KEY) {
965
- results.push({
966
- name: "Environment Variables",
967
- status: "pass",
968
- message: "OXLAYER_API_KEY is set"
969
- });
970
- } else if (!config) {
971
- results.push({
972
- name: "Environment Variables",
973
- status: "warn",
974
- message: "No API key in environment or config",
975
- fix: "Set OXLAYER_API_KEY or run: oxlayer login"
976
- });
977
- }
978
- const nodeVersion = process.version;
979
- const majorVersion = parseInt(nodeVersion.slice(1).split(".")[0], 10);
980
- if (majorVersion >= 18) {
981
- results.push({
982
- name: "Node Version",
983
- status: "pass",
984
- message: `Node ${nodeVersion} (supported)`
985
- });
986
- } else {
987
- results.push({
988
- name: "Node Version",
989
- status: "fail",
990
- message: `Node ${nodeVersion} is not supported (requires >= 18)`,
991
- fix: "Upgrade to Node.js 18 or later"
992
- });
993
- }
994
- if (options.verbose && config) {
995
- try {
996
- const { resolveCapabilities: resolveCapabilities2 } = await import("./api.service-CDPTVMJM.js");
997
- const capabilities = await resolveCapabilities2(["auth", "storage"], "development");
998
- if (Object.keys(capabilities.capabilities).length > 0) {
999
- results.push({
1000
- name: "Capabilities",
1001
- status: "pass",
1002
- message: `${Object.keys(capabilities.capabilities).length} capabilities available`
1003
- });
1004
- } else {
1005
- results.push({
1006
- name: "Capabilities",
1007
- status: "warn",
1008
- message: "No capabilities available",
1009
- fix: "Check your license configuration"
1010
- });
1011
- }
1012
- } catch {
1013
- results.push({
1014
- name: "Capabilities",
1015
- status: "fail",
1016
- message: "Could not resolve capabilities",
1017
- fix: "Check your API key and license"
1018
- });
1019
- }
1020
- }
1021
- return results;
1022
- }
1023
- function printDiagnostics(results) {
1024
- let passCount = 0;
1025
- let warnCount = 0;
1026
- let failCount = 0;
1027
- for (const result of results) {
1028
- switch (result.status) {
1029
- case "pass":
1030
- success(`${result.name}: ${result.message}`);
1031
- passCount++;
1032
- break;
1033
- case "warn":
1034
- warning2(`${result.name}: ${result.message}`);
1035
- if (result.fix) {
1036
- info(` \u2192 ${result.fix}`);
1037
- }
1038
- warnCount++;
1039
- break;
1040
- case "fail":
1041
- error(`${result.name}: ${result.message}`);
1042
- if (result.fix) {
1043
- info(` \u2192 ${result.fix}`);
1044
- }
1045
- failCount++;
1046
- break;
1047
- }
1048
- }
1049
- console.log();
1050
- if (failCount === 0 && warnCount === 0) {
1051
- success("All checks passed! Your system is properly configured.");
1052
- } else if (failCount === 0) {
1053
- warning2(`${warnCount} warning(s) found. Consider fixing them for optimal performance.`);
1054
- } else {
1055
- error(`${failCount} error(s) and ${warnCount} warning(s) found. Please fix the errors.`);
1056
- }
1057
- }
1058
- async function doctor(options = {}) {
1059
- header("OxLayer SDK Diagnostics");
1060
- const results = await runDiagnostics(options);
1061
- console.log();
1062
- printDiagnostics(results);
1063
- if (results.some((r) => r.status === "fail")) {
1064
- process.exit(1);
1065
- }
1066
- }
1067
-
1068
- // src/commands/diff.command.ts
1069
- init_esm_shims();
1070
- function formatLimitValue(key, value) {
1071
- if (typeof value === "boolean") {
1072
- return value ? "\u2713 enabled" : "\u2717 disabled";
1073
- }
1074
- if (Array.isArray(value)) {
1075
- return value.join(", ");
1076
- }
1077
- if (typeof value === "object" && value !== null) {
1078
- return JSON.stringify(value);
1079
- }
1080
- return String(value);
1081
- }
1082
- function getCapabilityChanges(before, after) {
1083
- const changes = [];
1084
- const allKeys = /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)]);
1085
- for (const key of allKeys) {
1086
- const beforeValue = before[key];
1087
- const afterValue = after[key];
1088
- if (JSON.stringify(beforeValue) !== JSON.stringify(afterValue)) {
1089
- changes.push(
1090
- ` ${key}: ${formatLimitValue(key, beforeValue)} \u2192 ${formatLimitValue(key, afterValue)}`
1091
- );
1092
- }
1093
- }
1094
- return changes;
1095
- }
1096
- async function diff(fromVersion, toVersion, options = {}) {
1097
- header(`Capability Diff: ${fromVersion} \u2192 ${toVersion}`);
1098
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Fetching manifests..."));
1099
- spinner.start();
1100
- try {
1101
- spinner.succeed("Manifests fetched");
1102
- const beforeCapabilities = {
1103
- auth: { maxRealms: 1, sso: false, rbac: true },
1104
- storage: { encryption: false, maxStorageGb: 100 },
1105
- vector: { maxVectorCollections: 10, maxVectorDimensions: 1536 }
1106
- };
1107
- const afterCapabilities = {
1108
- auth: { maxRealms: 5, sso: true, rbac: true },
1109
- storage: { encryption: true, maxStorageGb: 1e3 },
1110
- search: { maxResults: 1e4 },
1111
- vector: { maxVectorCollections: 50, hybridSearch: true }
1112
- };
1113
- const diffs = [];
1114
- for (const [name, limits] of Object.entries(afterCapabilities)) {
1115
- if (!(name in beforeCapabilities)) {
1116
- diffs.push({
1117
- name,
1118
- change: "added",
1119
- after: limits
1120
- });
1121
- }
1122
- }
1123
- for (const [name, limits] of Object.entries(beforeCapabilities)) {
1124
- if (!(name in afterCapabilities)) {
1125
- diffs.push({
1126
- name,
1127
- change: "removed",
1128
- before: limits
1129
- });
1130
- }
1131
- }
1132
- for (const name of Object.keys(beforeCapabilities)) {
1133
- if (name in afterCapabilities) {
1134
- const before = beforeCapabilities[name];
1135
- const after = afterCapabilities[name];
1136
- const changes = getCapabilityChanges(before, after);
1137
- if (changes.length > 0) {
1138
- diffs.push({
1139
- name,
1140
- change: "modified",
1141
- before,
1142
- after,
1143
- changes
1144
- });
1145
- }
1146
- }
1147
- }
1148
- console.log();
1149
- const addedCount = diffs.filter((d) => d.change === "added").length;
1150
- const removedCount = diffs.filter((d) => d.change === "removed").length;
1151
- const modifiedCount = diffs.filter((d) => d.change === "modified").length;
1152
- if (addedCount > 0) {
1153
- success(`${addedCount} capability(ies) added`);
1154
- }
1155
- if (modifiedCount > 0) {
1156
- info(`${modifiedCount} capability(ies) modified`);
1157
- }
1158
- if (removedCount > 0) {
1159
- error(`${removedCount} capability(ies) removed`);
1160
- }
1161
- console.log();
1162
- if (options.verbose || diffs.length > 0) {
1163
- header("Detailed Changes");
1164
- for (const diff2 of diffs) {
1165
- switch (diff2.change) {
1166
- case "added":
1167
- success(`+ ${diff2.name} (new)`);
1168
- if (options.verbose && diff2.after) {
1169
- const limits = Object.entries(diff2.after).map(([k, v]) => ` ${k}: ${formatLimitValue(k, v)}`).join("\n");
1170
- console.log(limits);
1171
- }
1172
- break;
1173
- case "removed":
1174
- error(`- ${diff2.name} (removed)`);
1175
- if (options.verbose && diff2.before) {
1176
- const limits = Object.entries(diff2.before).map(([k, v]) => ` ${k}: ${formatLimitValue(k, v)}`).join("\n");
1177
- console.log(limits);
1178
- }
1179
- break;
1180
- case "modified":
1181
- info(`~ ${diff2.name} (modified)`);
1182
- if (diff2.changes && diff2.changes.length > 0) {
1183
- console.log(diff2.changes.join("\n"));
1184
- }
1185
- break;
1186
- }
1187
- console.log();
1188
- }
1189
- }
1190
- header("Upgrade Recommendations");
1191
- if (modifiedCount > 0) {
1192
- const modifiedDiffs = diffs.filter((d) => d.change === "modified");
1193
- for (const diff2 of modifiedDiffs) {
1194
- const breakingChanges = diff2.changes?.filter(
1195
- (c) => c.includes("\u2192") && !c.includes("0 \u2192")
1196
- );
1197
- if (breakingChanges && breakingChanges.length > 0) {
1198
- warning(`${diff2.name}: Review breaking changes`);
1199
- printList(breakingChanges);
1200
- }
1201
- }
1202
- }
1203
- if (removedCount > 0) {
1204
- warning("Some capabilities were removed. Check your code for usage.");
1205
- const removed = diffs.filter((d) => d.change === "removed").map((d) => d.name);
1206
- printList(removed);
1207
- }
1208
- } catch (err) {
1209
- spinner.fail("Failed to compare versions");
1210
- error(err instanceof Error ? err.message : "Unknown error");
1211
- process.exit(1);
1212
- }
1213
- }
1214
- async function showLatest() {
1215
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Checking for updates..."));
1216
- spinner.start();
1217
- try {
1218
- const { getInstalledVersion: getInstalledVersion2 } = await import("./package.service-XK5PPZVF.js");
1219
- const { getLatestVersion } = await import("./api.service-CDPTVMJM.js");
1220
- const installed = await getInstalledVersion2();
1221
- const latest = await getLatestVersion();
1222
- spinner.succeed("Version check complete");
1223
- header("Version Information");
1224
- info(`Installed: ${installed || "None"}`);
1225
- info(`Latest: ${latest}`);
1226
- if (installed !== latest) {
1227
- console.log();
1228
- success("New version available!");
1229
- info(`Run: oxlayer install ${latest}`);
1230
- } else if (installed) {
1231
- console.log();
1232
- success("You're up to date!");
1233
- }
1234
- } catch (err) {
1235
- spinner.fail("Failed to check version");
1236
- error(err instanceof Error ? err.message : "Unknown error");
1237
- }
1238
- }
1239
-
1240
- // src/commands/telemetry.command.ts
1241
- init_esm_shims();
1242
- async function telemetryEnable() {
1243
- success("Telemetry enabled");
1244
- info("Anonymous usage data will be collected to improve the SDK");
1245
- }
1246
- async function telemetryDisable() {
1247
- warning2("Telemetry disabled");
1248
- info("No usage data will be collected");
1249
- }
1250
- async function telemetryStatus() {
1251
- info("Checking telemetry status...");
1252
- info("Telemetry status: unknown (not implemented yet)");
1253
- }
1254
-
1255
- // src/commands/update.command.ts
1256
- init_esm_shims();
1257
- async function update(options = {}) {
1258
- if (options.dryRun) {
1259
- info("Dry run mode: Would update SDK to latest version");
1260
- return;
1261
- }
1262
- info("Checking for SDK updates...");
1263
- success("SDK is up to date");
1264
- }
1265
- async function check() {
1266
- info("Checking for SDK updates...");
1267
- success("No updates available");
1268
- }
1269
-
1270
- // src/cli.ts
1271
- var program = new Command();
1272
- program.addHelpText("beforeAll", getBanner());
1273
- program.name("oxlayer").description("OxLayer SDK Installer - Download and install private SDK packages").version("0.0.1");
1274
- program.command("login").description("Authenticate with OxLayer Control Panel").option("-k, --key <key>", "API key (will prompt if not provided)").option("-e, --environment <env>", "Environment (development|staging|production)", "development").action(async (options) => {
1275
- trackCommand("login");
1276
- await login(options);
1277
- });
1278
- program.command("status").description("Show installation and authentication status").option("-v, --verbose", "Show detailed information").action(async (options) => {
1279
- trackCommand("status");
1280
- await status(options);
1281
- });
1282
- program.command("install [version]").description("Install SDK packages").option("-p, --packages <packages...>", "Specific packages to install").option("-e, --environment <env>", "Environment (development|staging|production)", "development").option("--dry-run", "Show what would be installed without installing").option("-f, --force", "Force reinstall even if already installed").option("--save", "Add to dependencies").option("--save-dev", "Add to devDependencies").action(async (version, options) => {
1283
- trackCommand("install", { sdkVersion: version });
1284
- await install(version || "latest", options);
1285
- });
1286
- program.command("resolve").description("Resolve capabilities for current project").option("-e, --environment <env>", "Environment (development|staging|production)", "development").option("-v, --verbose", "Show usage examples").action(async (options) => {
1287
- trackCommand("resolve");
1288
- await resolve(options);
1289
- });
1290
- program.command("logout").description("Remove stored API key").action(async () => {
1291
- trackCommand("logout");
1292
- await logout();
1293
- });
1294
- program.command("doctor").description("Run diagnostics to troubleshoot issues").option("-v, --verbose", "Show detailed diagnostic information").option("--fix", "Attempt to fix common issues automatically").action(async (options) => {
1295
- trackCommand("doctor");
1296
- await doctor(options);
1297
- });
1298
- program.command("diff [from-version] [to-version]").description("Compare capabilities between SDK versions").option("-v, --verbose", "Show detailed changes").option("--format <format>", "Output format (text|json)", "text").action(async (fromVersion, toVersion, options) => {
1299
- trackCommand("diff");
1300
- if (!fromVersion) {
1301
- await showLatest();
1302
- } else {
1303
- await diff(fromVersion, toVersion || "latest", options);
1304
- }
1305
- });
1306
- program.command("update").description("Update SDK to the latest version").option("--dry-run", "Show what would be updated without installing").action(async (options) => {
1307
- trackCommand("update");
1308
- await update(options);
1309
- });
1310
- program.command("check").description("Quick check for SDK updates").action(async () => {
1311
- await check();
1312
- });
1313
- var telemetryCmd = program.command("telemetry").description("Manage telemetry settings");
1314
- telemetryCmd.command("enable").description("Enable anonymous usage tracking").action(async () => {
1315
- await telemetryEnable();
1316
- });
1317
- telemetryCmd.command("disable").description("Disable anonymous usage tracking").action(async () => {
1318
- await telemetryDisable();
1319
- });
1320
- telemetryCmd.command("status").description("Show telemetry status").action(async () => {
1321
- await telemetryStatus();
1322
- });
1323
- program.parseAsync(process.argv).catch((err) => {
1324
- console.error(err);
1325
- trackError("cli", "parse_error");
1326
- process.exit(1);
1327
- });
1328
- //# sourceMappingURL=cli.js.map
2
+ var Dt=Object['\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x79'],X=(c=>typeof require<'\x75'?require:typeof Proxy<'\x75'?new Proxy(c,{'\x67\x65\x74':(f,g)=>(typeof require<'\x75'?require:f)[g]}):c)(function(c){if(typeof require<'\x75')return require['\x61\x70\x70\x6c\x79'](this,arguments);throw Error('\x44\x79\x6e\x61\x6d\x69\x63\x20\x72\x65\x71\x75\x69\x72\x65\x20\x6f\x66\x20\x22'+c+'\x22\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64');}),M=(c,f)=>()=>(c&&(f=c(c=0x0)),f),G=(c,f)=>{for(var g in f)Dt(c,g,{'\x67\x65\x74':f[g],'\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65':!0x0});};import a9 from'\x70\x61\x74\x68';import{fileURLToPath as aa}from'\x75\x72\x6c';var p=M(()=>{'use strict';}),Z={};const a={};a['\x63\x6f\x6e\x66\x69\x72\x6d']=()=>jt,a['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']=()=>j,a['\x65\x72\x72\x6f\x72']=()=>y,a['\x66\x6f\x72\x6d\x61\x74\x44\x75\x72\x61\x74\x69\x6f\x6e']=()=>fe,a['\x66\x6f\x72\x6d\x61\x74\x53\x69\x7a\x65']=()=>Et,a['\x67\x65\x74\x42\x61\x6e\x6e\x65\x72']=()=>me,a['\x68\x65\x61\x64\x65\x72']=()=>w,a['\x69\x6e\x66\x6f']=()=>r,a['\x70\x72\x69\x6e\x74\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=()=>de,a['\x70\x72\x69\x6e\x74\x4c\x69\x73\x74']=()=>T,a['\x73\x75\x63\x63\x65\x73\x73']=()=>u,a['\x77\x61\x72\x6e\x69\x6e\x67']=()=>$,G(Z,a);import ab from'\x63\x68\x61\x6c\x6b';import ac from'\x63\x6c\x69\x2d\x74\x61\x62\x6c\x65\x33';import ad from'\x6f\x72\x61';function r(c){console['\x6c\x6f\x67'](ab['\x62\x6c\x75\x65']('\u2139'),c);}function u(c){console['\x6c\x6f\x67'](ab['\x67\x72\x65\x65\x6e']('\u2713'),c);}function $(c){console['\x6c\x6f\x67'](ab['\x79\x65\x6c\x6c\x6f\x77']('\u26a0'),c);}function y(c){console['\x65\x72\x72\x6f\x72'](ab['\x72\x65\x64']('\u2717'),c);}function w(c){console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](ab['\x62\x6f\x6c\x64']['\x77\x68\x69\x74\x65'](c)),console['\x6c\x6f\x67'](ab['\x67\x72\x61\x79']('\u2500'['\x72\x65\x70\x65\x61\x74'](c['\x6c\x65\x6e\x67\x74\x68'])));}function de(c){if(Object['\x6b\x65\x79\x73'](c)['\x6c\x65\x6e\x67\x74\x68']===0x0){r('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65');return;}let f=new ac({'\x68\x65\x61\x64':[ab['\x63\x79\x61\x6e']('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79'),ab['\x63\x79\x61\x6e']('\x4c\x69\x6d\x69\x74\x73')],'\x63\x6f\x6c\x57\x69\x64\x74\x68\x73':[0x14,0x3c]});for(let [g,h]of Object['\x65\x6e\x74\x72\x69\x65\x73'](c)){let l=Object['\x65\x6e\x74\x72\x69\x65\x73'](h)['\x66\x69\x6c\x74\x65\x72'](([m,q])=>q!==void 0x0)['\x6d\x61\x70'](([m,q])=>typeof q=='\x62\x6f\x6f\x6c\x65\x61\x6e'?q?ab['\x67\x72\x65\x65\x6e'](m):ab['\x72\x65\x64'](m):m+'\x3a\x20'+ab['\x79\x65\x6c\x6c\x6f\x77'](String(q)))['\x6a\x6f\x69\x6e']('\x2c\x20');f['\x70\x75\x73\x68']([ab['\x77\x68\x69\x74\x65'](g),l||'\x4e\x6f\x20\x6c\x69\x6d\x69\x74\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64']);}console['\x6c\x6f\x67'](f['\x74\x6f\x53\x74\x72\x69\x6e\x67']());}function T(c){c['\x66\x6f\x72\x45\x61\x63\x68'](f=>console['\x6c\x6f\x67']('\x20\x20'+ab['\x67\x72\x61\x79']('\u2022')+'\x20'+f));}function j(f){const g={};return g['\x74\x65\x78\x74']=f,g['\x63\x6f\x6c\x6f\x72']='\x62\x6c\x75\x65',ad(g);}async function jt(f){let {default:g}=await import('prompts');const h={};return h['\x74\x79\x70\x65']='\x63\x6f\x6e\x66\x69\x72\x6d',h['\x6e\x61\x6d\x65']='\x76\x61\x6c\x75\x65',h['\x6d\x65\x73\x73\x61\x67\x65']=f,h['\x69\x6e\x69\x74\x69\x61\x6c']=!0x1,(await g(h))['\x76\x61\x6c\x75\x65'];}function Et(c){let f=['\x42','\x4b\x42','\x4d\x42','\x47\x42'],g=c,h=0x0;for(;g>=0x400&&h<f['\x6c\x65\x6e\x67\x74\x68']-0x1;)g/=0x400,h++;return g['\x74\x6f\x46\x69\x78\x65\x64'](0x2)+'\x20'+f[h];}function fe(c){let f=Math['\x66\x6c\x6f\x6f\x72'](c/0x3e8),g=Math['\x66\x6c\x6f\x6f\x72'](f/0x3c),h=Math['\x66\x6c\x6f\x6f\x72'](g/0x3c);return h>0x0?h+'\x68\x20'+g%0x3c+'\x6d':g>0x0?g+'\x6d\x20'+f%0x3c+'\x73':f+'\x73';}function me(){return'\x0a'+ab['\x67\x72\x61\x79']('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x4c\x49')+'\x0a';}var b=M(()=>{'use strict';p();}),De={};const d={};d['\x62\x75\x69\x6c\x64\x56\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x55\x72\x6c']=()=>_t,d['\x67\x65\x74\x41\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e']=()=>ke,d['\x67\x65\x74\x41\x75\x74\x68\x49\x6e\x66\x6f']=()=>Pe,d['\x67\x65\x74\x44\x65\x76\x69\x63\x65\x49\x64']=()=>we,d['\x67\x65\x74\x44\x65\x76\x69\x63\x65\x4e\x61\x6d\x65']=()=>J,d['\x67\x65\x74\x4d\x61\x6e\x69\x66\x65\x73\x74']=()=>be,d['\x69\x6e\x69\x74\x69\x61\x74\x65\x44\x65\x76\x69\x63\x65\x41\x75\x74\x68']=()=>he,d['\x69\x73\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']=()=>Ft,d['\x69\x73\x54\x6f\x6b\x65\x6e\x45\x78\x70\x69\x72\x65\x64']=()=>U,d['\x6c\x6f\x61\x64\x43\x6f\x6e\x66\x69\x67']=()=>F,d['\x6d\x69\x67\x72\x61\x74\x65\x46\x72\x6f\x6d\x41\x70\x69\x4b\x65\x79']=()=>Vt,d['\x6f\x70\x65\x6e\x42\x72\x6f\x77\x73\x65\x72']=()=>Ce,d['\x70\x6f\x6c\x6c\x46\x6f\x72\x54\x6f\x6b\x65\x6e']=()=>ve,d['\x72\x65\x66\x72\x65\x73\x68\x4d\x61\x6e\x69\x66\x65\x73\x74']=()=>Ke,d['\x72\x65\x6d\x6f\x76\x65\x43\x6f\x6e\x66\x69\x67']=()=>Lt,d['\x73\x61\x76\x65\x43\x6f\x6e\x66\x69\x67']=()=>ee,d['\x76\x61\x6c\x69\x64\x61\x74\x65\x54\x6f\x6b\x65\x6e']=()=>xe,G(De,d);import{promises as af}from'\x66\x73';import{join as ag}from'\x70\x61\x74\x68';import{homedir as ah}from'\x6f\x73';import{randomBytes as ai}from'\x63\x72\x79\x70\x74\x6f';async function we(){try{let c=await Rt(),f=await Ve(),g=c['\x64\x65\x76\x69\x63\x65\x73']['\x66\x69\x6e\x64'](h=>h['\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65']===f);return g?(g['\x6c\x61\x73\x74\x53\x65\x65\x6e\x41\x74']=new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67'](),await Fe(c)):(g={'\x64\x65\x76\x69\x63\x65\x49\x64':Le(),'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':f,'\x63\x72\x65\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67'](),'\x6c\x61\x73\x74\x53\x65\x65\x6e\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()},c['\x64\x65\x76\x69\x63\x65\x73']['\x70\x75\x73\x68'](g),await Fe(c)),g['\x64\x65\x76\x69\x63\x65\x49\x64'];}catch{return Le();}}async function J(){return Ve();}function Le(){return'\x6f\x78\x6c\x5f\x64\x65\x76\x5f'+ai(0x10)['\x74\x6f\x53\x74\x72\x69\x6e\x67']('\x68\x65\x78');}async function Ve(){return(await import('os'))['\x68\x6f\x73\x74\x6e\x61\x6d\x65']();}async function Rt(){try{let f=await af['\x72\x65\x61\x64\x46\x69\x6c\x65'](_e,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](f);}catch{const g={};return g['\x64\x65\x76\x69\x63\x65\x73']=[],g;}}async function Fe(f){const g={};g['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await af['\x6d\x6b\x64\x69\x72'](Q,g),await af['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](_e,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f,null,0x2)));}async function he(f='\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',g){const h={};h['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';let l=await we(),m=await J(),q=await fetch((g||ye)+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x64\x65\x76\x69\x63\x65\x2f\x63\x6f\x64\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':h,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79']({'\x64\x65\x76\x69\x63\x65\x49\x64':l,'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':m,'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':f})});if(!q['\x6f\x6b']){let v=await q['\x74\x65\x78\x74']();throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x3a\x20'+v);}return q['\x6a\x73\x6f\x6e']();}async function ve(l,m,q={}){let v=q['\x69\x6e\x74\x65\x72\x76\x61\x6c']||Tt,K=q['\x6d\x61\x78\x41\x74\x74\x65\x6d\x70\x74\x73']||At;for(let N=0x1;N<=K;N++){q['\x6f\x6e\x50\x72\x6f\x67\x72\x65\x73\x73']?.(N,K);const W={};W['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';const a0={};a0['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65']=m;let a1=await fetch(l,{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':W,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](a0)});if(!a1['\x6f\x6b'])throw new Error('\x50\x6f\x6c\x6c\x20\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+a1['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let a2=await a1['\x6a\x73\x6f\x6e']();if(!a2['\x70\x65\x6e\x64\x69\x6e\x67']){if(a2['\x65\x72\x72\x6f\x72'])throw new Error('\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+a2['\x65\x72\x72\x6f\x72']);const a3={...a2};return a3['\x73\x75\x63\x63\x65\x73\x73']=!0x0,a3;}await Nt(v*0x3e8);}throw new Error('\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x64\x20\x6f\x75\x74\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6e\x2e');}function Nt(c){return new Promise(f=>setTimeout(f,c));}async function ee(g){const h={};h['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0;const l={};l['\x6d\x6f\x64\x65']=0x180,(await af['\x6d\x6b\x64\x69\x72'](Q,h),await af['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](ue,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](g,null,0x2),l));}async function F(){try{let c=await af['\x72\x65\x61\x64\x46\x69\x6c\x65'](ue,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](c);}catch{return null;}}async function Lt(){try{await af['\x75\x6e\x6c\x69\x6e\x6b'](ue);}catch{}}async function ke(){let c=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x4f\x4b\x45\x4e'];return c||((await F())?.['\x74\x6f\x6b\x65\x6e']??null);}function xe(c){let f=c['\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68']('\x65\x79\x4a'),g=c['\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68']('\x6f\x78\x6c\x5f\x63\x6c\x69\x5f');return typeof c=='\x73\x74\x72\x69\x6e\x67'&&(f||g)&&c['\x6c\x65\x6e\x67\x74\x68']>=0x20;}function U(c){return new Date(c['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])<new Date();}async function Ke(c,f){let g=f||c['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||ye,h=await fetch(g+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x6d\x61\x6e\x69\x66\x65\x73\x74',{'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':'\x42\x65\x61\x72\x65\x72\x20'+c['\x74\x6f\x6b\x65\x6e']}});if(!h['\x6f\x6b'])return{...c,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};let l=await h['\x6a\x73\x6f\x6e']();return{...c,'\x6d\x61\x6e\x69\x66\x65\x73\x74':l,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};}async function be(c){let f=await F();if(!f)return null;if(f['\x6d\x61\x6e\x69\x66\x65\x73\x74']&&new Date(f['\x6d\x61\x6e\x69\x66\x65\x73\x74']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])>new Date())return f['\x6d\x61\x6e\x69\x66\x65\x73\x74'];let g=await Ke(f,c);return await ee(g),g['\x6d\x61\x6e\x69\x66\x65\x73\x74']||null;}async function Ft(){let c=await F();return!(!c||U(c));}async function Pe(){let f=await F();const g={};return g['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']=!0x1,f?{'\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64':!U(f),'\x64\x65\x76\x69\x63\x65\x49\x64':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x64\x65\x76\x69\x63\x65\x49\x64'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':f['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x78\x70\x69\x72\x65\x73\x41\x74':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'],'\x73\x63\x6f\x70\x65\x73':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x73\x63\x6f\x70\x65\x73']}:g;}function _t(c,f){let g=new URL(c);return g['\x73\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6d\x73']['\x73\x65\x74']('\x64\x65\x76\x69\x63\x65\x5f\x63\x6f\x64\x65',f),g['\x74\x6f\x53\x74\x72\x69\x6e\x67']();}async function Ce(c){let {exec:f}=await import('child_process'),g=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],h;switch(g){case'\x64\x61\x72\x77\x69\x6e':h='\x6f\x70\x65\x6e\x20\x22'+c+'\x22';break;case'\x77\x69\x6e\x33\x32':h='\x73\x74\x61\x72\x74\x20\x22\x22\x20\x22'+c+'\x22';break;default:h='\x78\x64\x67\x2d\x6f\x70\x65\x6e\x20\x22'+c+'\x22';}return new Promise((l,m)=>{f(h,q=>{q?m(new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x62\x72\x6f\x77\x73\x65\x72\x3a\x20'+q['\x6d\x65\x73\x73\x61\x67\x65'])):l();});});}async function Vt(f){const g={};g['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';let h=await we(),l=await J(),m=await fetch(ye+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x6d\x69\x67\x72\x61\x74\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':g,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79']({'\x61\x70\x69\x4b\x65\x79':f,'\x64\x65\x76\x69\x63\x65\x49\x64':h,'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':l})});if(!m['\x6f\x6b'])throw new Error('\x4d\x69\x67\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+m['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let o=await m['\x6a\x73\x6f\x6e']();return{'\x74\x6f\x6b\x65\x6e':o['\x61\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e'],'\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f':o['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':o['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74','\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':'\x2e\x6f\x78','\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};}var Q,ue,_e,ye,Tt,At,E=M(()=>{'use strict';p(),(Q=ag(ah(),'\x2e\x6f\x78\x6c\x61\x79\x65\x72'),ue=ag(Q,'\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e'),_e=ag(Q,'\x64\x65\x76\x69\x63\x65\x73\x2e\x6a\x73\x6f\x6e'),ye='\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31',Tt=0x5,At=0x78);}),Ye={};const i={};i['\x61\x64\x64\x53\x64\x6b\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']=()=>Je,i['\x64\x65\x66\x61\x75\x6c\x74']=()=>Kt,i['\x66\x72\x65\x65\x7a\x65\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x56\x65\x72\x73\x69\x6f\x6e\x73']=()=>Ue,i['\x67\x65\x74\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x56\x65\x72\x73\x69\x6f\x6e']=()=>V,i['\x67\x65\x74\x56\x65\x6e\x64\x6f\x72\x44\x69\x72']=()=>H,i['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>ne,i['\x69\x73\x56\x65\x72\x73\x69\x6f\x6e\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64']=()=>ze,i['\x72\x65\x61\x64\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>_,i['\x77\x72\x69\x74\x65\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>te,G(Ye,i);import{promises as aj}from'\x66\x73';import{join as ak}from'\x70\x61\x74\x68';async function _(c=process['\x63\x77\x64']()){let f=ak(c,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');try{let g=await aj['\x72\x65\x61\x64\x46\x69\x6c\x65'](f,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](g);}catch{throw new Error('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20'+c);}}async function te(c,f=process['\x63\x77\x64']()){let g=ak(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');await aj['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](g,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](c,null,0x2)+'\x0a');}async function Je(c,f={},g=process['\x63\x77\x64']()){let h=await _(g);h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={}),h['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(h['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={});for(let [l,m]of Object['\x65\x6e\x74\x72\x69\x65\x73'](c['\x70\x61\x63\x6b\x61\x67\x65\x73'])){let q=f['\x73\x61\x76\x65\x44\x65\x76']?h['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']:h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73'];(f['\x73\x61\x76\x65']||f['\x73\x61\x76\x65\x44\x65\x76'])&&(q[l]=c['\x76\x65\x72\x73\x69\x6f\x6e']);}await te(h,g);}async function Ue(c=process['\x63\x77\x64']()){let f=await _(c),g=h=>{if(h){for(let [l,m]of Object['\x65\x6e\x74\x72\x69\x65\x73'](h));}};g(f['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']),g(f['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']),await te(f,c);}async function ne(c=process['\x63\x77\x64']()){try{return await aj['\x61\x63\x63\x65\x73\x73'](ak(c,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e')),!0x0;}catch{return!0x1;}}function H(c,f=process['\x63\x77\x64']()){return ak(f,'\x2e\x6f\x78',c);}async function ze(c,f=process['\x63\x77\x64']()){let g=H(c,f);try{return await aj['\x61\x63\x63\x65\x73\x73'](g),!0x0;}catch{return!0x1;}}async function V(c=process['\x63\x77\x64']()){let f=ak(c,'\x2e\x6f\x78');try{return(await aj['\x72\x65\x61\x64\x64\x69\x72'](f))['\x73\x6f\x72\x74']()['\x72\x65\x76\x65\x72\x73\x65']()[0x0]||null;}catch{return null;}}var Kt,B=M(()=>{'use strict';p();const e={};e['\x72\x65\x61\x64\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=_,e['\x77\x72\x69\x74\x65\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=te,e['\x61\x64\x64\x53\x64\x6b\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']=Je,e['\x66\x72\x65\x65\x7a\x65\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x56\x65\x72\x73\x69\x6f\x6e\x73']=Ue,e['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=ne,e['\x67\x65\x74\x56\x65\x6e\x64\x6f\x72\x44\x69\x72']=H,e['\x69\x73\x56\x65\x72\x73\x69\x6f\x6e\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64']=ze,e['\x67\x65\x74\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x56\x65\x72\x73\x69\x6f\x6e']=V,Kt=e;}),je={};const k={};k['\x64\x65\x66\x61\x75\x6c\x74']=()=>Yt,k['\x67\x65\x74\x4c\x61\x74\x65\x73\x74\x56\x65\x72\x73\x69\x6f\x6e']=()=>Ge,k['\x68\x65\x61\x6c\x74\x68\x43\x68\x65\x63\x6b']=()=>re,k['\x72\x65\x71\x75\x65\x73\x74\x50\x61\x63\x6b\x61\x67\x65\x44\x6f\x77\x6e\x6c\x6f\x61\x64']=()=>ae,k['\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=()=>ie,G(je,k);function zt(){return'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31';}async function oe(f,g={}){let h=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x4f\x4b\x45\x4e']||await ke();if(!h||!xe(h))throw new Error('\x49\x6e\x76\x61\x6c\x69\x64\x20\x6f\x72\x20\x6d\x69\x73\x73\x69\x6e\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6f\x6b\x65\x6e\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x6c\x61\x79\x65\x72\x20\x6c\x6f\x67\x69\x6e');const l={...g};l['\x68\x65\x61\x64\x65\x72\x73']={'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':'\x42\x65\x61\x72\x65\x72\x20'+h,...g['\x68\x65\x61\x64\x65\x72\x73']};let m=''+zt()+f,q=await fetch(m,l);if(!q['\x6f\x6b']){let s=await q['\x74\x65\x78\x74']();throw new Error('\x41\x50\x49\x20\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6c\x65\x64\x20\x28'+q['\x73\x74\x61\x74\x75\x73']+'\x29\x3a\x20'+s);}return q['\x6a\x73\x6f\x6e']();}async function ie(f,g='\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',h){const l={};return l['\x70\x72\x6f\x6a\x65\x63\x74\x49\x64']=h,l['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']=g,l['\x72\x65\x71\x75\x65\x73\x74\x65\x64']=f,(await oe('\x2f\x76\x31\x2f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2f\x72\x65\x73\x6f\x6c\x76\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](l)}))['\x64\x61\x74\x61'];}async function ae(f,g){const h={};return h['\x70\x61\x63\x6b\x61\x67\x65\x54\x79\x70\x65']=f,h['\x76\x65\x72\x73\x69\x6f\x6e']=g,(await oe('\x2f\x76\x31\x2f\x70\x61\x63\x6b\x61\x67\x65\x73\x2f\x64\x6f\x77\x6e\x6c\x6f\x61\x64',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](h)}))['\x64\x61\x74\x61'];}async function Ge(){return(await oe('\x2f\x76\x31\x2f\x6c\x61\x74\x65\x73\x74\x2d\x76\x65\x72\x73\x69\x6f\x6e'))['\x64\x61\x74\x61']['\x76\x65\x72\x73\x69\x6f\x6e'];}async function re(){try{return await oe('\x2f\x76\x31\x2f\x68\x65\x61\x6c\x74\x68'),!0x0;}catch{return!0x1;}}var Yt,se=M(()=>{'use strict';p(),E();const e={};e['\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=ie,e['\x72\x65\x71\x75\x65\x73\x74\x50\x61\x63\x6b\x61\x67\x65\x44\x6f\x77\x6e\x6c\x6f\x61\x64']=ae,e['\x67\x65\x74\x4c\x61\x74\x65\x73\x74\x56\x65\x72\x73\x69\x6f\x6e']=Ge,e['\x68\x65\x61\x6c\x74\x68\x43\x68\x65\x63\x6b']=re,Yt=e;});p(),b();import{Command as al}from'\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x72';p(),E(),b();async function Me(g={}){w('\x4f\x78\x4c\x61\x79\x65\x72\x20\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e');let h=await J();r('\x44\x65\x76\x69\x63\x65\x3a\x20'+h),r('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+(g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')),r('\x41\x50\x49\x20\x45\x6e\x64\x70\x6f\x69\x6e\x74\x3a\x20'+(g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31')),console['\x6c\x6f\x67']();let l=j('\x49\x6e\x69\x74\x69\x61\x74\x69\x6e\x67\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x2e\x2e\x2e');l['\x73\x74\x61\x72\x74']();let q;try{let W=g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31';r('\x41\x50\x49\x20\x45\x6e\x64\x70\x6f\x69\x6e\x74\x3a\x20'+W),q=await he(g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',W),l['\x73\x75\x63\x63\x65\x65\x64']('\x44\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x64');}catch(a0){l['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e'),y(a0 instanceof Error?a0['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67'](),r('\x54\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x2c\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x74\x68\x65\x73\x65\x20\x73\x74\x65\x70\x73\x3a'),console['\x6c\x6f\x67']();let v=q['\x76\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x55\x72\x6c'],K=q['\x75\x73\x65\x72\x43\x6f\x64\x65'];if(console['\x6c\x6f\x67']('\x20\x20\x31\x2e\x20\x56\x69\x73\x69\x74\x20\x74\x68\x69\x73\x20\x55\x52\x4c\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x62\x72\x6f\x77\x73\x65\x72\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20'+v),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67']('\x20\x20\x32\x2e\x20\x45\x6e\x74\x65\x72\x20\x74\x68\x69\x73\x20\x63\x6f\x64\x65\x20\x77\x68\x65\x6e\x20\x70\x72\x6f\x6d\x70\x74\x65\x64\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20'+K),console['\x6c\x6f\x67'](),g['\x6e\x6f\x2d\x62\x72\x6f\x77\x73\x65\x72'])r('\x42\x72\x6f\x77\x73\x65\x72\x20\x61\x75\x74\x6f\x2d\x6f\x70\x65\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x64\x20\x28\x2d\x2d\x6e\x6f\x2d\x62\x72\x6f\x77\x73\x65\x72\x20\x66\x6c\x61\x67\x20\x73\x65\x74\x29');else try{let a1=new URL(v);a1['\x73\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6d\x73']['\x73\x65\x74']('\x64\x65\x76\x69\x63\x65\x5f\x63\x6f\x64\x65',q['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65']);let a2=j('\x4f\x70\x65\x6e\x69\x6e\x67\x20\x62\x72\x6f\x77\x73\x65\x72\x2e\x2e\x2e');a2['\x73\x74\x61\x72\x74'](),await Ce(a1['\x74\x6f\x53\x74\x72\x69\x6e\x67']()),a2['\x73\x75\x63\x63\x65\x65\x64']('\x42\x72\x6f\x77\x73\x65\x72\x20\x6f\x70\x65\x6e\x65\x64');}catch{r('\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x6f\x70\x65\x6e\x20\x62\x72\x6f\x77\x73\x65\x72\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x76\x69\x73\x69\x74\x20\x74\x68\x65\x20\x55\x52\x4c\x20\x6d\x61\x6e\x75\x61\x6c\x6c\x79\x2e');}console['\x6c\x6f\x67'](),r('\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x2e\x2e');let N=j('\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x70\x70\x72\x6f\x76\x61\x6c');try{N['\x73\x74\x61\x72\x74']();let a3=await ve(q['\x70\x6f\x6c\x6c\x45\x6e\x64\x70\x6f\x69\x6e\x74'],q['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65'],{'\x69\x6e\x74\x65\x72\x76\x61\x6c':g['\x70\x6f\x6c\x6c\x2d\x69\x6e\x74\x65\x72\x76\x61\x6c']||q['\x69\x6e\x74\x65\x72\x76\x61\x6c'],'\x6d\x61\x78\x41\x74\x74\x65\x6d\x70\x74\x73':0x78,'\x6f\x6e\x50\x72\x6f\x67\x72\x65\x73\x73':(a6,a7)=>{a6%0x8===0x0&&(N['\x74\x65\x78\x74']='\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x70\x70\x72\x6f\x76\x61\x6c\x20\x28'+Math['\x66\x6c\x6f\x6f\x72'](a6/a7*0x64)+'\x25\x29');}});N['\x73\x75\x63\x63\x65\x65\x64']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c');let a4=g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31',a5={'\x74\x6f\x6b\x65\x6e':a3['\x61\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e'],'\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f':a3['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':a3['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74','\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':'\x2e\x6f\x78','\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74':a4,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};await ee(a5),N['\x73\x74\x6f\x70'](),console['\x6c\x6f\x67'](),u('\x4c\x6f\x67\x67\x65\x64\x20\x69\x6e\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),r('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+a3['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),r('\x44\x65\x76\x69\x63\x65\x20\x49\x44\x3a\x20'+a3['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x64\x65\x76\x69\x63\x65\x49\x64']),r('\x53\x63\x6f\x70\x65\x73\x3a\x20'+a3['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x73\x63\x6f\x70\x65\x73']['\x6a\x6f\x69\x6e']('\x2c\x20')),r('\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+new Date(a3['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()),process['\x65\x78\x69\x74'](0x0);}catch(a6){N['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64'),y(a6 instanceof Error?a6['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}}p(),E(),B(),p(),B();import{existsSync as am,readFileSync as ao}from'\x66\x73';import{join as ap}from'\x70\x61\x74\x68';function Jt(c=process['\x63\x77\x64']()){return am(ap(c,'\x70\x6e\x70\x6d\x2d\x6c\x6f\x63\x6b\x2e\x79\x61\x6d\x6c'))?'\x70\x6e\x70\x6d':am(ap(c,'\x62\x75\x6e\x2e\x6c\x6f\x63\x6b\x62'))?'\x62\x75\x6e':am(ap(c,'\x79\x61\x72\x6e\x2e\x6c\x6f\x63\x6b'))?'\x79\x61\x72\x6e':am(ap(c,'\x70\x61\x63\x6b\x61\x67\x65\x2d\x6c\x6f\x63\x6b\x2e\x6a\x73\x6f\x6e'))?'\x6e\x70\x6d':'\x75\x6e\x6b\x6e\x6f\x77\x6e';}function Se(c=process['\x63\x77\x64']()){let f=c;for(;f!=='\x2f'&&f!=='\x2e';){if(am(ap(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'))){if(am(ap(f,'\x70\x6e\x70\x6d\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x79\x61\x6d\x6c'))||am(ap(f,'\x74\x75\x72\x62\x6f\x2e\x6a\x73\x6f\x6e'))||am(ap(f,'\x6c\x65\x72\x6e\x61\x2e\x6a\x73\x6f\x6e'))||am(ap(f,'\x6e\x78\x2e\x6a\x73\x6f\x6e')))return f;try{let h=ap(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'),l=ao(h,'\x75\x74\x66\x2d\x38');if(JSON['\x70\x61\x72\x73\x65'](l)['\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x73'])return f;}catch{}if(f===c)return f;}let g=ap(f,'\x2e\x2e');if(g===f)break;f=g;}return c;}async function A(h=process['\x63\x77\x64']()){let q=Se(h),v=am(ap(q,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e')),K=am(ap(q,'\x74\x73\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e'))||am(ap(q,'\x74\x73\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e')),N=Jt(q),W='\x75\x6e\x6b\x6e\x6f\x77\x6e';if(v)try{let a1=await _(q),a2={...a1['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73'],...a1['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']},a3='\x72\x65\x61\x63\x74'in a2||'\x72\x65\x61\x63\x74\x2d\x64\x6f\x6d'in a2||'\x40\x74\x79\x70\x65\x73\x2f\x72\x65\x61\x63\x74'in a2||'\x6e\x65\x78\x74'in a2,a4='\x68\x6f\x6e\x6f'in a2||'\x40\x68\x6f\x6e\x6f\x2f\x68\x6f\x6e\x6f'in a2,a5=a3,a6=a4;a5&&a6?W='\x75\x6e\x6b\x6e\x6f\x77\x6e':a5?W='\x66\x72\x6f\x6e\x74\x65\x6e\x64':a6&&(W='\x62\x61\x63\x6b\x65\x6e\x64');}catch{}const a0={};return a0['\x74\x79\x70\x65']=W,a0['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=v,a0['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']=K,a0['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']=N,a0['\x72\x6f\x6f\x74\x44\x69\x72']=q,a0;}function Ie(c){switch(c){case'\x70\x6e\x70\x6d':return'\x70\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x62\x75\x6e':return'\x62\x75\x6e\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x79\x61\x72\x6e':return'\x79\x61\x72\x6e\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x6e\x70\x6d':return'\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';default:return'\x70\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';}}function He(c){switch(c){case'\x62\x61\x63\x6b\x65\x6e\x64':return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b'];case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':return['\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b'];default:return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b','\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b','\x63\x6c\x69\x2d\x74\x6f\x6f\x6c\x73'];}}b();async function Be(h={}){w('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x53\x74\x61\x74\x75\x73');let q=await Pe();if(q['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']){if(u('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),r('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+(q['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e')),r('\x44\x65\x76\x69\x63\x65\x3a\x20'+(q['\x64\x65\x76\x69\x63\x65\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e')),h['\x76\x65\x72\x62\x6f\x73\x65']&&q['\x73\x63\x6f\x70\x65\x73']&&r('\x53\x63\x6f\x70\x65\x73\x3a\x20'+q['\x73\x63\x6f\x70\x65\x73']['\x6a\x6f\x69\x6e']('\x2c\x20')),h['\x76\x65\x72\x62\x6f\x73\x65']&&q['\x65\x78\x70\x69\x72\x65\x73\x41\x74']){let W=new Date(q['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),a0=new Date(),a1=Math['\x63\x65\x69\x6c']((W['\x67\x65\x74\x54\x69\x6d\x65']()-a0['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));r('\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+W['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(a1>0x0?'\x69\x6e\x20'+a1+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}}else y('\x4e\x6f\x74\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),r('\x52\x75\x6e\x20\x22\x6f\x78\x20\x6c\x6f\x67\x69\x6e\x22\x20\x74\x6f\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65');if(console['\x6c\x6f\x67'](),q['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']){w('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');let a2=await be();if(a2){if(u('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x20\x6c\x6f\x61\x64\x65\x64'),r('\x53\x63\x68\x65\x6d\x61\x20\x56\x65\x72\x73\x69\x6f\x6e\x3a\x20'+a2['\x73\x63\x68\x65\x6d\x61\x56\x65\x72\x73\x69\x6f\x6e']),r('\x4c\x69\x63\x65\x6e\x73\x65\x3a\x20'+a2['\x6c\x69\x63\x65\x6e\x73\x65\x49\x64']),r('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+a2['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']),a2['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']){let a3=Object['\x6b\x65\x79\x73'](a2['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68'];if(r('\x41\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x3a\x20'+a3),h['\x76\x65\x72\x62\x6f\x73\x65']){let a4=Object['\x6b\x65\x79\x73'](a2['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']);a4['\x6c\x65\x6e\x67\x74\x68']>0x0&&(r('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x3a'),T(a4));let a5=new Date(a2['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),a6=new Date(),a7=Math['\x63\x65\x69\x6c']((a5['\x67\x65\x74\x54\x69\x6d\x65']()-a6['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));r('\x4d\x61\x6e\x69\x66\x65\x73\x74\x20\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+a5['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(a7>0x0?'\x69\x6e\x20'+a7+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}}else r('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x69\x6e\x20\x6d\x61\x6e\x69\x66\x65\x73\x74');}else r('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65'),r('\x52\x75\x6e\x20\x22\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x22\x20\x74\x6f\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x6c\x61\x74\x65\x73\x74\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');console['\x6c\x6f\x67']();}w('\x50\x72\x6f\x6a\x65\x63\x74');let v=await A(),K=He(v['\x74\x79\x70\x65']);v['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']?(u('\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64'),r('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+v['\x74\x79\x70\x65']),r('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x3a\x20'+v['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']),r('\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x3a\x20'+(v['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']?'\x59\x65\x73':'\x4e\x6f'))):y('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79'),console['\x6c\x6f\x67'](),w('\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e');let N=await V();if(N){if(u('\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+N+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64'),r('\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a\x20\x2e\x6f\x78\x2f'+N+'\x2f'),h['\x76\x65\x72\x62\x6f\x73\x65']){let {existsSync:a8}=await import('fs'),{join:aB}=await import('path'),aC=aB(process['\x63\x77\x64'](),'\x2e\x6f\x78',N);if(a8(aC)){const aD={};aD['\x77\x69\x74\x68\x46\x69\x6c\x65\x54\x79\x70\x65\x73']=!0x0;let {readdir:aE}=await import('fs/promises'),aF=(await aE(aC,aD))['\x66\x69\x6c\x74\x65\x72'](aG=>aG['\x69\x73\x44\x69\x72\x65\x63\x74\x6f\x72\x79']())['\x6d\x61\x70'](aG=>aG['\x6e\x61\x6d\x65']);aF['\x6c\x65\x6e\x67\x74\x68']>0x0&&(r('\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x3a'),T(aF));}}}else r('\x4e\x6f\x20\x53\x44\x4b\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64'),r('\x52\x75\x6e\x20\x22\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x22\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x74\x68\x65\x20\x53\x44\x4b');console['\x6c\x6f\x67'](),K['\x6c\x65\x6e\x67\x74\x68']>0x0&&!N&&(w('\x52\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x65\x64'),r('\x46\x6f\x72\x20\x74\x68\x69\x73\x20\x70\x72\x6f\x6a\x65\x63\x74\x2c\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x72\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3a'),T(K));}p();import{promises as aq}from'\x66\x73';import{join as ar}from'\x70\x61\x74\x68';import{execSync as as}from'\x63\x68\x69\x6c\x64\x5f\x70\x72\x6f\x63\x65\x73\x73';p(),p(),E();async function We(){let {loadConfig:c}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(E(),De)),f=await c();return f?{'\x61\x70\x69\x4b\x65\x79':f['\x74\x6f\x6b\x65\x6e'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':f['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74'],'\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':f['\x76\x65\x6e\x64\x6f\x72\x44\x69\x72'],'\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74':f['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']}:null;}async function qe(){let {removeConfig:c}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(E(),De));await c();}function Ut(){let {join:c}=X('\x70\x61\x74\x68'),{homedir:f}=X('\x6f\x73');return c(f(),'\x2e\x6f\x78\x6c\x61\x79\x65\x72');}function Xe(){return X('\x70\x61\x74\x68')['\x6a\x6f\x69\x6e'](Ut(),'\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e');}E(),se(),p();import{promises as au}from'\x66\x73';import{join as av}from'\x70\x61\x74\x68';async function Ze(h,l,q){let v=await fetch(h);if(!v['\x6f\x6b'])throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x64\x6f\x77\x6e\x6c\x6f\x61\x64\x3a\x20'+v['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let K=parseInt(v['\x68\x65\x61\x64\x65\x72\x73']['\x67\x65\x74']('\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x6c\x65\x6e\x67\x74\x68')||'\x30',0xa),N=0x0;const W={};W['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await au['\x6d\x6b\x64\x69\x72'](av(l,'\x2e\x2e'),W);let a0=await au['\x6f\x70\x65\x6e'](l,'\x77');try{let a1=v['\x62\x6f\x64\x79']?.['\x67\x65\x74\x52\x65\x61\x64\x65\x72']();if(!a1)throw new Error('\x4e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x62\x6f\x64\x79');for(;;){let {done:a2,value:a3}=await a1['\x72\x65\x61\x64']();if(a2)break;await a0['\x77\x72\x69\x74\x65'](a3),N+=a3['\x6c\x65\x6e\x67\x74\x68'],q&&K>0x0&&q(N,K);}}finally{await a0['\x63\x6c\x6f\x73\x65']();}}async function Qe(c,f){let g=await au['\x72\x65\x61\x64\x46\x69\x6c\x65'](c,'\x75\x74\x66\x2d\x38'),h=JSON['\x70\x61\x72\x73\x65'](g);if(f&&h['\x73\x68\x61\x32\x35\x36']!==f)throw new Error('\x4d\x61\x6e\x69\x66\x65\x73\x74\x20\x53\x48\x41\x32\x35\x36\x20\x6d\x69\x73\x6d\x61\x74\x63\x68\x2e\x20\x45\x78\x70\x65\x63\x74\x65\x64\x20'+f+'\x2c\x20\x67\x6f\x74\x20'+h['\x73\x68\x61\x32\x35\x36']);return h;}async function et(f,g){let h=(await import('adm-zip'))['\x64\x65\x66\x61\x75\x6c\x74'],l=new h(f);const m={};m['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await au['\x6d\x6b\x64\x69\x72'](g,m),l['\x65\x78\x74\x72\x61\x63\x74\x41\x6c\x6c\x54\x6f'](g,!0x0));}B(),p(),p();import{promises as aw}from'\x66\x73';import{join as ax}from'\x70\x61\x74\x68';import{existsSync as ay}from'\x66\x73';var Oe=ax(process['\x65\x6e\x76']['\x48\x4f\x4d\x45']||process['\x65\x6e\x76']['\x55\x53\x45\x52\x50\x52\x4f\x46\x49\x4c\x45']||'','\x2e\x6f\x78\x6c\x61\x79\x65\x72','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x2e\x6a\x73\x6f\x6e'),Wt=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x45\x4c\x45\x4d\x45\x54\x52\x59']!=='\x30';async function qt(){try{if(ay(Oe)){let f=await aw['\x72\x65\x61\x64\x46\x69\x6c\x65'](Oe,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](f);}}catch{}let c={'\x65\x6e\x61\x62\x6c\x65\x64':Wt,'\x75\x73\x65\x72\x49\x64':Gt()};return await Xt(c),c;}async function Xt(f){let g=ax(process['\x65\x6e\x76']['\x48\x4f\x4d\x45']||process['\x65\x6e\x76']['\x55\x53\x45\x52\x50\x52\x4f\x46\x49\x4c\x45']||'','\x2e\x6f\x78\x6c\x61\x79\x65\x72');const h={};h['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await aw['\x6d\x6b\x64\x69\x72'](g,h),await aw['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](Oe,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f,null,0x2)));}function Gt(){let c=new Uint8Array(0x8);return crypto['\x67\x65\x74\x52\x61\x6e\x64\x6f\x6d\x56\x61\x6c\x75\x65\x73'](c),Array['\x66\x72\x6f\x6d'](c,f=>f['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10)['\x70\x61\x64\x53\x74\x61\x72\x74'](0x2,'\x30'))['\x6a\x6f\x69\x6e']('');}async function nt(c){let f=await qt();if(!f['\x65\x6e\x61\x62\x6c\x65\x64'])return;let g={...c,'\x75\x73\x65\x72\x49\x64':f['\x75\x73\x65\x72\x49\x64'],'\x74\x69\x6d\x65\x73\x74\x61\x6d\x70':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};Zt(g)['\x63\x61\x74\x63\x68'](()=>{});}async function Zt(f){let g=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x45\x4c\x45\x4d\x45\x54\x52\x59\x5f\x45\x4e\x44\x50\x4f\x49\x4e\x54']||'\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x2e\x6f\x78\x6c\x61\x79\x65\x72\x2e\x64\x65\x76\x2f\x76\x31\x2f\x65\x76\x65\x6e\x74';try{const h={};h['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e',await fetch(g,{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':h,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f),'\x6b\x65\x65\x70\x61\x6c\x69\x76\x65':!0x0})['\x63\x61\x74\x63\x68'](()=>{});}catch{}}function O(f,g={}){const h={'\x65\x76\x65\x6e\x74':f,'\x63\x6f\x6d\x6d\x61\x6e\x64':f,...g};h['\x63\x6c\x69\x56\x65\x72\x73\x69\x6f\x6e']='\x30\x2e\x30\x2e\x31',h['\x6e\x6f\x64\x65\x56\x65\x72\x73\x69\x6f\x6e']=process['\x76\x65\x72\x73\x69\x6f\x6e'],h['\x70\x6c\x61\x74\x66\x6f\x72\x6d']=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],nt(h);}function ot(f,g,h={}){const l={'\x65\x76\x65\x6e\x74':'\x65\x72\x72\x6f\x72','\x63\x6f\x6d\x6d\x61\x6e\x64':f,'\x65\x72\x72\x6f\x72\x43\x6f\x64\x65':g,...h};l['\x63\x6c\x69\x56\x65\x72\x73\x69\x6f\x6e']='\x30\x2e\x30\x2e\x31',l['\x6e\x6f\x64\x65\x56\x65\x72\x73\x69\x6f\x6e']=process['\x76\x65\x72\x73\x69\x6f\x6e'],l['\x70\x6c\x61\x74\x66\x6f\x72\x6d']=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],nt(l);}b(),E();var it='\x2e\x6f\x78';function en(c,f){if(f['\x70\x61\x63\x6b\x61\x67\x65\x73']&&f['\x70\x61\x63\x6b\x61\x67\x65\x73']['\x6c\x65\x6e\x67\x74\x68']>0x0)return f['\x70\x61\x63\x6b\x61\x67\x65\x73'];switch(c){case'\x62\x61\x63\x6b\x65\x6e\x64':return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b'];case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':return['\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b'];default:return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b','\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b','\x63\x6c\x69\x2d\x74\x6f\x6f\x6c\x73'];}}function tn(f){const g={};return g['\x6e\x61\x6d\x65']='\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65',g['\x76\x65\x72\x73\x69\x6f\x6e']=f,g['\x70\x72\x69\x76\x61\x74\x65']=!0x0,g['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']='\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x76'+f+'\x20\x2d\x20\x4c\x6f\x63\x61\x6c\x20\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x20\x70\x61\x63\x6b\x61\x67\x65',g['\x74\x79\x70\x65']='\x6d\x6f\x64\x75\x6c\x65',JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](g,null,0x2);}async function nn(c,f){for(let [g,h]of Object['\x65\x6e\x74\x72\x69\x65\x73'](f['\x70\x61\x63\x6b\x61\x67\x65\x73'])){let l=ar(c,h['\x70\x61\x74\x68']),m=ar(l,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'),q={'\x6e\x61\x6d\x65':g,'\x76\x65\x72\x73\x69\x6f\x6e':f['\x76\x65\x72\x73\x69\x6f\x6e'],'\x70\x72\x69\x76\x61\x74\x65':!0x0,'\x74\x79\x70\x65':'\x6d\x6f\x64\x75\x6c\x65','\x6d\x61\x69\x6e':h['\x6d\x61\x69\x6e']||'\x2e\x2f\x64\x69\x73\x74\x2f\x69\x6e\x64\x65\x78\x2e\x6a\x73','\x65\x78\x70\x6f\x72\x74\x73':{'\x2e':{'\x74\x79\x70\x65\x73':h['\x6d\x61\x69\x6e']?.['\x72\x65\x70\x6c\x61\x63\x65']('\x2e\x6a\x73','\x2e\x64\x2e\x74\x73')||'\x2e\x2f\x64\x69\x73\x74\x2f\x69\x6e\x64\x65\x78\x2e\x64\x2e\x74\x73','\x64\x65\x66\x61\x75\x6c\x74':h['\x6d\x61\x69\x6e']||'\x2e\x2f\x64\x69\x73\x74\x2f\x69\x6e\x64\x65\x78\x2e\x6a\x73'},'\x2e\x2f\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e':'\x2e\x2f\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'}};await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](m,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](q,null,0x2)+'\x0a','\x75\x74\x66\x2d\x38');}}async function on(g){let h=ar(g,'\x70\x6e\x70\x6d\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x79\x61\x6d\x6c'),l='\x2e\x6f\x78\x2f\x2a\x2a',m;try{let q=(await aq['\x72\x65\x61\x64\x46\x69\x6c\x65'](h,'\x75\x74\x66\x2d\x38'))['\x6d\x61\x74\x63\x68'](/packages:\s*\n((?:\s*-\s*[^\n]+\n*)+)/);const s={};s['\x70\x61\x63\x6b\x61\x67\x65\x73']=[],q?m={'\x70\x61\x63\x6b\x61\x67\x65\x73':q[0x1]['\x73\x70\x6c\x69\x74']('\x0a')['\x6d\x61\x70'](v=>v['\x72\x65\x70\x6c\x61\x63\x65'](/^\s*-\s*/,'')['\x74\x72\x69\x6d']())['\x66\x69\x6c\x74\x65\x72'](v=>v['\x6c\x65\x6e\x67\x74\x68']>0x0)}:m=s;}catch{const v={};v['\x70\x61\x63\x6b\x61\x67\x65\x73']=[],m=v;}if(!m['\x70\x61\x63\x6b\x61\x67\x65\x73']?.['\x69\x6e\x63\x6c\x75\x64\x65\x73'](l)){m['\x70\x61\x63\x6b\x61\x67\x65\x73']=[...m['\x70\x61\x63\x6b\x61\x67\x65\x73']||[],l];let K='\x70\x61\x63\x6b\x61\x67\x65\x73\x3a\x0a'+m['\x70\x61\x63\x6b\x61\x67\x65\x73']['\x6d\x61\x70'](N=>'\x20\x20\x2d\x20\x27'+N+'\x27')['\x6a\x6f\x69\x6e']('\x0a')+'\x0a';await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](h,K,'\x75\x74\x66\x2d\x38');}}async function an(c){let f=ar(c,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');try{let g=await aq['\x72\x65\x61\x64\x46\x69\x6c\x65'](f,'\x75\x74\x66\x2d\x38'),h=JSON['\x70\x61\x72\x73\x65'](g);h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={}),h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']['\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65']||(h['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']['\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65']='\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x3a\x2a'),await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](f,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](h,null,0x2)+'\x0a','\x75\x74\x66\x2d\x38');}catch(l){throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x75\x70\x64\x61\x74\x65\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x3a\x20'+(l instanceof Error?l['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'));}}async function at(a2,a3={}){let a4=Date['\x6e\x6f\x77'](),a5=process['\x63\x77\x64']();w('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x65\x72');let a6=Se(a5);await ne()||(y('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79'),r('\x4e\x61\x76\x69\x67\x61\x74\x65\x20\x74\x6f\x20\x79\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x65\x66\x6f\x72\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2e'),process['\x65\x78\x69\x74'](0x1));let a7=await A(a5);r('\x50\x72\x6f\x6a\x65\x63\x74\x20\x72\x6f\x6f\x74\x3a\x20'+(a6===a5?'\x2e':a6)),r('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x3a\x20'+a7['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']),r('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+a7['\x74\x79\x70\x65']);let a8=en(a7['\x74\x79\x70\x65'],a3);r('\x50\x61\x63\x6b\x61\x67\x65\x73\x3a\x20'+a8['\x6a\x6f\x69\x6e']('\x2c\x20'));let aB=j('\x56\x61\x6c\x69\x64\x61\x74\x69\x6e\x67\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x2e\x2e\x2e');aB['\x73\x74\x61\x72\x74']();try{let aH=await F();(!aH||!aH['\x74\x6f\x6b\x65\x6e'])&&(aB['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x72\x65\x71\x75\x69\x72\x65\x64'),y('\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e'),process['\x65\x78\x69\x74'](0x1)),U(aH)&&(aB['\x66\x61\x69\x6c']('\x54\x6f\x6b\x65\x6e\x20\x65\x78\x70\x69\x72\x65\x64'),y('\x59\x6f\x75\x72\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x74\x6f\x6b\x65\x6e\x20\x68\x61\x73\x20\x65\x78\x70\x69\x72\x65\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e'),process['\x65\x78\x69\x74'](0x1)),aB['\x73\x75\x63\x63\x65\x65\x64']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),r('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+aH['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),r('\x44\x65\x76\x69\x63\x65\x3a\x20'+(aH['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']?.['\x64\x65\x76\x69\x63\x65\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e'));let aI=new Date(aH['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),aJ=new Date(),aK=Math['\x63\x65\x69\x6c']((aI['\x67\x65\x74\x54\x69\x6d\x65']()-aJ['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));r('\x54\x6f\x6b\x65\x6e\x20\x65\x78\x70\x69\x72\x65\x73\x3a\x20'+aI['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(aK>0x0?'\x69\x6e\x20'+aK+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}catch(aL){aB['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64'),y(aL instanceof Error?aL['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67']();let aC=j('\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e');aC['\x73\x74\x61\x72\x74']();let aD=a2,aE;try{let {downloadUrl:aM,version:aN}=await ae(a8[0x0],a2);aD=aN;let aO=ar(a6,'\x2e\x6f\x78\x6c\x61\x79\x65\x72\x2d\x74\x65\x6d\x70');const aP={};aP['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await aq['\x6d\x6b\x64\x69\x72'](aO,aP);let aQ=ar(aO,'\x6f\x78\x6c\x61\x79\x65\x72\x2d\x73\x64\x6b\x2d'+aD+'\x2e\x7a\x69\x70'),aR=0x0;await Ze(aM,aQ,(b2,b3)=>{let b4=Math['\x66\x6c\x6f\x6f\x72'](b2/b3*0x64);b4-aR>=0xa&&(aC['\x74\x65\x78\x74']='\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e\x20'+b4+'\x25',aR=b4);}),aC['\x73\x75\x63\x63\x65\x65\x64']('\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x65\x64\x20\x53\x44\x4b\x20\x28'+aD+'\x29');let aS=j('\x45\x78\x74\x72\x61\x63\x74\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e');aS['\x73\x74\x61\x72\x74']();let aT=ar(a6,it),aU=ar(aT,aD);const aV={};aV['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await aq['\x6d\x6b\x64\x69\x72'](aU,aV),await et(aQ,ar(aO,'\x65\x78\x74\x72\x61\x63\x74\x65\x64')));let aW=ar(aO,'\x65\x78\x74\x72\x61\x63\x74\x65\x64',aD),aX=ar(aW,'\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x6a\x73\x6f\x6e');aE=await Qe(aX),await rt(aW,aU);let aY=ar(aU,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'),aZ=tn(aD);await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](aY,aZ,'\x75\x74\x66\x2d\x38'),await nn(aU,aE),aS['\x73\x75\x63\x63\x65\x65\x64']('\x45\x78\x74\x72\x61\x63\x74\x65\x64\x20\x53\x44\x4b');let b0=j('\x43\x6f\x6e\x66\x69\x67\x75\x72\x69\x6e\x67\x20\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x2e\x2e');const b1={};b1['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,b1['\x66\x6f\x72\x63\x65']=!0x0,(b0['\x73\x74\x61\x72\x74'](),await on(a6),await an(a6),b0['\x73\x75\x63\x63\x65\x65\x64']('\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64'),await aq['\x72\x6d'](aO,b1));}catch(b2){aC['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x53\x44\x4b'),y(b2 instanceof Error?b2['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67']();let aF=Date['\x6e\x6f\x77']()-a4;w('\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e\x20\x43\x6f\x6d\x70\x6c\x65\x74\x65'),u('\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aD+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),r('\x44\x75\x72\x61\x74\x69\x6f\x6e\x3a\x20'+fe(aF)),r('\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x3a\x20'+it+'\x2f'+aD+'\x2f');let aG=j('\x52\x75\x6e\x6e\x69\x6e\x67\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x2e\x2e\x2e');aG['\x73\x74\x61\x72\x74']();try{let b3=Ie(a7['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']);const b4={};b4['\x63\x77\x64']=a6,b4['\x73\x74\x64\x69\x6f']='\x70\x69\x70\x65',(as(b3,b4),aG['\x73\x75\x63\x63\x65\x65\x64']('\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x76\x69\x61\x20'+a7['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']));}catch{aG['\x77\x61\x72\x6e']('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x66\x61\x69\x6c\x65\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x20\x27'+Ie(a7['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72'])+'\x27\x20\x6d\x61\x6e\x75\x61\x6c\x6c\x79\x2e');}console['\x6c\x6f\x67'](),r('\x4e\x65\x78\x74\x20\x73\x74\x65\x70\x73\x3a'),console['\x6c\x6f\x67']('\x20\x20\x49\x6d\x70\x6f\x72\x74\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x7b\x20\x53\x6f\x6d\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x7d\x20\x66\x72\x6f\x6d\x20\x27\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x61\x75\x74\x68\x27\x3b'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x7b\x20\x53\x6f\x6d\x65\x44\x6f\x6d\x61\x69\x6e\x20\x7d\x20\x66\x72\x6f\x6d\x20\x27\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x66\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x2d\x64\x6f\x6d\x61\x69\x6e\x2d\x6b\x69\x74\x27\x3b');}async function rt(g,h){const l={};l['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await aq['\x6d\x6b\x64\x69\x72'](h,l);const m={};m['\x77\x69\x74\x68\x46\x69\x6c\x65\x54\x79\x70\x65\x73']=!0x0;let q=await aq['\x72\x65\x61\x64\x64\x69\x72'](g,m);for(let s of q){let v=ar(g,s['\x6e\x61\x6d\x65']),K=ar(h,s['\x6e\x61\x6d\x65']);s['\x69\x73\x44\x69\x72\x65\x63\x74\x6f\x72\x79']()?await rt(v,K):await aq['\x63\x6f\x70\x79\x46\x69\x6c\x65'](v,K);}}p(),b();async function st(c={}){w('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e');let f=await A(),g=c['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74';r('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+f['\x74\x79\x70\x65']),r('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+g);let h=[];switch(f['\x74\x79\x70\x65']){case'\x62\x61\x63\x6b\x65\x6e\x64':h['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65','\x63\x61\x63\x68\x65','\x65\x76\x65\x6e\x74\x73','\x71\x75\x65\x75\x65\x73','\x6d\x65\x74\x72\x69\x63\x73','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79');break;case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':h['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65');break;default:h['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65','\x73\x65\x61\x72\x63\x68','\x76\x65\x63\x74\x6f\x72','\x63\x61\x63\x68\x65','\x65\x76\x65\x6e\x74\x73','\x71\x75\x65\x75\x65\x73','\x6d\x65\x74\x72\x69\x63\x73','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79');}let l=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](m=>m['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x52\x65\x73\x6f\x6c\x76\x69\x6e\x67\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2e\x2e\x2e'));l['\x73\x74\x61\x72\x74']();try{let m=await ie(h,g);l['\x73\x75\x63\x63\x65\x65\x64']('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x72\x65\x73\x6f\x6c\x76\x65\x64'),console['\x6c\x6f\x67'](),r('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+m['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),r('\x4c\x69\x63\x65\x6e\x73\x65\x3a\x20'+m['\x6c\x69\x63\x65\x6e\x73\x65\x49\x64']),r('\x52\x65\x73\x6f\x6c\x76\x65\x64\x20\x61\x74\x3a\x20'+new Date(m['\x72\x65\x73\x6f\x6c\x76\x65\x64\x41\x74'])['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()),console['\x6c\x6f\x67'](),w('\x41\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'),de(m['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']),c['\x76\x65\x72\x62\x6f\x73\x65']&&(console['\x6c\x6f\x67'](),w('\x55\x73\x61\x67\x65\x20\x45\x78\x61\x6d\x70\x6c\x65'),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67']('\x49\x6d\x70\x6f\x72\x74\x20\x61\x6e\x64\x20\x75\x73\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x3a'),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x60\x60\x60\x74\x79\x70\x65\x73\x63\x72\x69\x70\x74')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x69\x6d\x70\x6f\x72\x74\x20\x7b\x20\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x7d\x20\x66\x72\x6f\x6d\x20\x27\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x69\x6e\x74\x65\x72\x6e\x61\x6c\x27\x3b')),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x63\x6f\x6e\x73\x74\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x3d\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x28\x7b')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x70\x72\x6f\x6a\x65\x63\x74\x49\x64\x3a\x20\x27\x79\x6f\x75\x72\x2d\x70\x72\x6f\x6a\x65\x63\x74\x2d\x69\x64\x27\x2c')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20\x27'+g+'\x27\x2c')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x72\x65\x71\x75\x65\x73\x74\x65\x64\x3a\x20\x5b\x27'+h['\x6a\x6f\x69\x6e']('\x27\x2c\x20\x27')+'\x27\x5d')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x7d\x29\x3b')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x60\x60\x60')),console['\x6c\x6f\x67']()),u('\x59\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x68\x61\x73\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6f\x20'+Object['\x6b\x65\x79\x73'](m['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');}catch(q){l['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'),y(q instanceof Error?q['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),q instanceof Error&&q['\x6d\x65\x73\x73\x61\x67\x65']['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x41\x50\x49\x20\x6b\x65\x79')&&(console['\x6c\x6f\x67'](),r('\x4d\x61\x6b\x65\x20\x73\x75\x72\x65\x20\x79\x6f\x75\x27\x72\x65\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64\x3a'),console['\x6c\x6f\x67']('\x20\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e')),process['\x65\x78\x69\x74'](0x1);}}var R=(await import('chalk'))['\x64\x65\x66\x61\x75\x6c\x74'];p(),b();async function ct(){try{await qe(),u('\x4c\x6f\x67\x67\x65\x64\x20\x6f\x75\x74\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),r('\x43\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x72\x65\x6d\x6f\x76\x65\x64\x20\x66\x72\x6f\x6d\x20'+Xe()),r('\x59\x6f\x75\x72\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x69\x73\x20\x6e\x6f\x20\x6c\x6f\x6e\x67\x65\x72\x20\x73\x74\x6f\x72\x65\x64\x20\x6c\x6f\x63\x61\x6c\x6c\x79\x2e');}catch(c){$('\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x72\x65\x6d\x6f\x76\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e'),r(c instanceof Error?c['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72');}}p(),b();import{existsSync as az}from'\x66\x73';import{join as aA}from'\x70\x61\x74\x68';async function rn(aB){let aC=[],aD=await We();const aE={};aE['\x6e\x61\x6d\x65']='\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e',aE['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aE['\x6d\x65\x73\x73\x61\x67\x65']='\x41\x50\x49\x20\x6b\x65\x79\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64';const aF={};aF['\x6e\x61\x6d\x65']='\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e',aF['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aF['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x74\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64',aF['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e',aD?aC['\x70\x75\x73\x68'](aE):aC['\x70\x75\x73\x68'](aF);try{const aT={};aT['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aT['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aT['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c\x20\x41\x50\x49\x20\x69\x73\x20\x72\x65\x61\x63\x68\x61\x62\x6c\x65';const aU={};aU['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aU['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aU['\x6d\x65\x73\x73\x61\x67\x65']='\x41\x50\x49\x20\x68\x65\x61\x6c\x74\x68\x20\x63\x68\x65\x63\x6b\x20\x66\x61\x69\x6c\x65\x64',aU['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6e\x65\x74\x77\x6f\x72\x6b\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e',await re()?aC['\x70\x75\x73\x68'](aT):aC['\x70\x75\x73\x68'](aU);}catch{const aV={};aV['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aV['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aV['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x61\x6e\x6e\x6f\x74\x20\x72\x65\x61\x63\x68\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c\x20\x41\x50\x49',aV['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6e\x65\x74\x77\x6f\x72\x6b\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x20\x6f\x72\x20\x41\x50\x49\x20\x65\x6e\x64\x70\x6f\x69\x6e\x74',aC['\x70\x75\x73\x68'](aV);}let aG=await A();const aH={};aH['\x6e\x61\x6d\x65']='\x50\x72\x6f\x6a\x65\x63\x74\x20\x53\x74\x72\x75\x63\x74\x75\x72\x65',aH['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aH['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64',aH['\x66\x69\x78']='\x4e\x61\x76\x69\x67\x61\x74\x65\x20\x74\x6f\x20\x79\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79';const aI={};aI['\x6e\x61\x6d\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74',aI['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aI['\x6d\x65\x73\x73\x61\x67\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x6f\x75\x6e\x64';const aJ={};aJ['\x6e\x61\x6d\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74',aJ['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aJ['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x6f\x75\x6e\x64',aJ['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6e\x70\x78\x20\x74\x73\x63\x20\x2d\x2d\x69\x6e\x69\x74',(aG['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x50\x72\x6f\x6a\x65\x63\x74\x20\x53\x74\x72\x75\x63\x74\x75\x72\x65','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':'\x46\x6f\x75\x6e\x64\x20'+aG['\x74\x79\x70\x65']+'\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x77\x69\x74\x68\x20'+aG['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']}):aC['\x70\x75\x73\x68'](aH),aG['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']?aC['\x70\x75\x73\x68'](aI):aC['\x70\x75\x73\x68'](aJ));let aK=await V();const aL={};aL['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aL['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aL['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x53\x44\x4b\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64',aL['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c';if(aK){let aW=H(aK),aX=aA(aW,'\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x6a\x73\x6f\x6e');const aY={};aY['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aY['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aY['\x6d\x65\x73\x73\x61\x67\x65']='\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aK+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64';const aZ={};aZ['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aZ['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aZ['\x6d\x65\x73\x73\x61\x67\x65']='\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aK+'\x20\x69\x6e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x20\x28\x6d\x69\x73\x73\x69\x6e\x67\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x29',aZ['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x2d\x2d\x66\x6f\x72\x63\x65',az(aX)?aC['\x70\x75\x73\x68'](aY):aC['\x70\x75\x73\x68'](aZ);}else aC['\x70\x75\x73\x68'](aL);let aM=aA(process['\x63\x77\x64'](),'\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65');const aN={};aN['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aN['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aN['\x6d\x65\x73\x73\x61\x67\x65']='\x56\x65\x6e\x64\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x69\x67\x6e\x6f\x72\x65\x64';const aO={};aO['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aO['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aO['\x6d\x65\x73\x73\x61\x67\x65']='\x56\x65\x6e\x64\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x6e\x6f\x74\x20\x69\x6e\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aO['\x66\x69\x78']='\x41\x64\x64\x20\x22\x2e\x6f\x78\x2f\x22\x20\x74\x6f\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65';const aP={};aP['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aP['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aP['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65\x20\x66\x6f\x75\x6e\x64',aP['\x66\x69\x78']='\x43\x72\x65\x61\x74\x65\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65\x20\x61\x6e\x64\x20\x61\x64\x64\x20\x22\x2e\x6f\x78\x2f\x22';const aQ={};aQ['\x6e\x61\x6d\x65']='\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x56\x61\x72\x69\x61\x62\x6c\x65\x73',aQ['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aQ['\x6d\x65\x73\x73\x61\x67\x65']='\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59\x20\x69\x73\x20\x73\x65\x74';const aR={};aR['\x6e\x61\x6d\x65']='\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x56\x61\x72\x69\x61\x62\x6c\x65\x73',aR['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aR['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x69\x6e\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x6f\x72\x20\x63\x6f\x6e\x66\x69\x67',aR['\x66\x69\x78']='\x53\x65\x74\x20\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59\x20\x6f\x72\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e',(az(aM)?(await import('fs/promises').then(b0=>b0['\x72\x65\x61\x64\x46\x69\x6c\x65'](aM,'\x75\x74\x66\x2d\x38')))['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x2e\x6f\x78')?aC['\x70\x75\x73\x68'](aN):aC['\x70\x75\x73\x68'](aO):aC['\x70\x75\x73\x68'](aP),process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59']?aC['\x70\x75\x73\x68'](aQ):aD||aC['\x70\x75\x73\x68'](aR));let aS=process['\x76\x65\x72\x73\x69\x6f\x6e'];if(parseInt(aS['\x73\x6c\x69\x63\x65'](0x1)['\x73\x70\x6c\x69\x74']('\x2e')[0x0],0xa)>=0x12?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x4e\x6f\x64\x65\x20\x56\x65\x72\x73\x69\x6f\x6e','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':'\x4e\x6f\x64\x65\x20'+aS+'\x20\x28\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x29'}):aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x4e\x6f\x64\x65\x20\x56\x65\x72\x73\x69\x6f\x6e','\x73\x74\x61\x74\x75\x73':'\x66\x61\x69\x6c','\x6d\x65\x73\x73\x61\x67\x65':'\x4e\x6f\x64\x65\x20'+aS+'\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x28\x72\x65\x71\x75\x69\x72\x65\x73\x20\x3e\x3d\x20\x31\x38\x29','\x66\x69\x78':'\x55\x70\x67\x72\x61\x64\x65\x20\x74\x6f\x20\x4e\x6f\x64\x65\x2e\x6a\x73\x20\x31\x38\x20\x6f\x72\x20\x6c\x61\x74\x65\x72'}),aB['\x76\x65\x72\x62\x6f\x73\x65']&&aD)try{let {resolveCapabilities:b0}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(se(),je)),b1=await b0(['\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65'],'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74');const b2={};b2['\x6e\x61\x6d\x65']='\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b2['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',b2['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65',b2['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e',Object['\x6b\x65\x79\x73'](b1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']>0x0?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':Object['\x6b\x65\x79\x73'](b1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65'}):aC['\x70\x75\x73\x68'](b2);}catch{const b3={};b3['\x6e\x61\x6d\x65']='\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b3['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',b3['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b3['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x61\x6e\x64\x20\x6c\x69\x63\x65\x6e\x73\x65',aC['\x70\x75\x73\x68'](b3);}return aC;}function sn(c){let f=0x0,g=0x0,h=0x0;for(let l of c)switch(l['\x73\x74\x61\x74\x75\x73']){case'\x70\x61\x73\x73':u(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),f++;break;case'\x77\x61\x72\x6e':$(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),l['\x66\x69\x78']&&r('\x20\x20\u2192\x20'+l['\x66\x69\x78']),g++;break;case'\x66\x61\x69\x6c':y(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),l['\x66\x69\x78']&&r('\x20\x20\u2192\x20'+l['\x66\x69\x78']),h++;break;}console['\x6c\x6f\x67'](),h===0x0&&g===0x0?u('\x41\x6c\x6c\x20\x63\x68\x65\x63\x6b\x73\x20\x70\x61\x73\x73\x65\x64\x21\x20\x59\x6f\x75\x72\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\x20\x70\x72\x6f\x70\x65\x72\x6c\x79\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x2e'):h===0x0?$(g+'\x20\x77\x61\x72\x6e\x69\x6e\x67\x28\x73\x29\x20\x66\x6f\x75\x6e\x64\x2e\x20\x43\x6f\x6e\x73\x69\x64\x65\x72\x20\x66\x69\x78\x69\x6e\x67\x20\x74\x68\x65\x6d\x20\x66\x6f\x72\x20\x6f\x70\x74\x69\x6d\x61\x6c\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e'):y(h+'\x20\x65\x72\x72\x6f\x72\x28\x73\x29\x20\x61\x6e\x64\x20'+g+'\x20\x77\x61\x72\x6e\x69\x6e\x67\x28\x73\x29\x20\x66\x6f\x75\x6e\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x66\x69\x78\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x2e');}async function dt(c={}){w('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x44\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x73');let f=await rn(c);console['\x6c\x6f\x67'](),sn(f),f['\x73\x6f\x6d\x65'](g=>g['\x73\x74\x61\x74\x75\x73']==='\x66\x61\x69\x6c')&&process['\x65\x78\x69\x74'](0x1);}p(),b();function le(c,f){return typeof f=='\x62\x6f\x6f\x6c\x65\x61\x6e'?f?'\u2713\x20\x65\x6e\x61\x62\x6c\x65\x64':'\u2717\x20\x64\x69\x73\x61\x62\x6c\x65\x64':Array['\x69\x73\x41\x72\x72\x61\x79'](f)?f['\x6a\x6f\x69\x6e']('\x2c\x20'):typeof f=='\x6f\x62\x6a\x65\x63\x74'&&f!==null?JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f):String(f);}function cn(c,f){let g=[],h=new Set([...Object['\x6b\x65\x79\x73'](c),...Object['\x6b\x65\x79\x73'](f)]);for(let l of h){let m=c[l],q=f[l];JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](m)!==JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](q)&&g['\x70\x75\x73\x68']('\x20\x20'+l+'\x3a\x20'+le(l,m)+'\x20\u2192\x20'+le(l,q));}return g;}async function ft(a3,a4,a5={}){w('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x44\x69\x66\x66\x3a\x20'+a3+'\x20\u2192\x20'+a4);let a6=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](a7=>a7['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x46\x65\x74\x63\x68\x69\x6e\x67\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x73\x2e\x2e\x2e'));a6['\x73\x74\x61\x72\x74']();try{a6['\x73\x75\x63\x63\x65\x65\x64']('\x4d\x61\x6e\x69\x66\x65\x73\x74\x73\x20\x66\x65\x74\x63\x68\x65\x64');const a7={};a7['\x6d\x61\x78\x52\x65\x61\x6c\x6d\x73']=0x1,a7['\x73\x73\x6f']=!0x1,a7['\x72\x62\x61\x63']=!0x0;const a8={};a8['\x65\x6e\x63\x72\x79\x70\x74\x69\x6f\x6e']=!0x1,a8['\x6d\x61\x78\x53\x74\x6f\x72\x61\x67\x65\x47\x62']=0x64;const aB={};aB['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x43\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73']=0xa,aB['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x44\x69\x6d\x65\x6e\x73\x69\x6f\x6e\x73']=0x600;const aC={};aC['\x61\x75\x74\x68']=a7,aC['\x73\x74\x6f\x72\x61\x67\x65']=a8,aC['\x76\x65\x63\x74\x6f\x72']=aB;const aD={};aD['\x6d\x61\x78\x52\x65\x61\x6c\x6d\x73']=0x5,aD['\x73\x73\x6f']=!0x0,aD['\x72\x62\x61\x63']=!0x0;const aE={};aE['\x65\x6e\x63\x72\x79\x70\x74\x69\x6f\x6e']=!0x0,aE['\x6d\x61\x78\x53\x74\x6f\x72\x61\x67\x65\x47\x62']=0x3e8;const aF={};aF['\x6d\x61\x78\x52\x65\x73\x75\x6c\x74\x73']=0x2710;const aG={};aG['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x43\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73']=0x32,aG['\x68\x79\x62\x72\x69\x64\x53\x65\x61\x72\x63\x68']=!0x0;const aH={};aH['\x61\x75\x74\x68']=aD,aH['\x73\x74\x6f\x72\x61\x67\x65']=aE,aH['\x73\x65\x61\x72\x63\x68']=aF,aH['\x76\x65\x63\x74\x6f\x72']=aG;let aI=aC,aJ=aH,aK=[];for(let [aO,aP]of Object['\x65\x6e\x74\x72\x69\x65\x73'](aJ))aO in aI||aK['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aO,'\x63\x68\x61\x6e\x67\x65':'\x61\x64\x64\x65\x64','\x61\x66\x74\x65\x72':aP});for(let [aQ,aR]of Object['\x65\x6e\x74\x72\x69\x65\x73'](aI))aQ in aJ||aK['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aQ,'\x63\x68\x61\x6e\x67\x65':'\x72\x65\x6d\x6f\x76\x65\x64','\x62\x65\x66\x6f\x72\x65':aR});for(let aS of Object['\x6b\x65\x79\x73'](aI))if(aS in aJ){let aT=aI[aS],aU=aJ[aS],aV=cn(aT,aU);aV['\x6c\x65\x6e\x67\x74\x68']>0x0&&aK['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aS,'\x63\x68\x61\x6e\x67\x65':'\x6d\x6f\x64\x69\x66\x69\x65\x64','\x62\x65\x66\x6f\x72\x65':aT,'\x61\x66\x74\x65\x72':aU,'\x63\x68\x61\x6e\x67\x65\x73':aV});}console['\x6c\x6f\x67']();let aL=aK['\x66\x69\x6c\x74\x65\x72'](aW=>aW['\x63\x68\x61\x6e\x67\x65']==='\x61\x64\x64\x65\x64')['\x6c\x65\x6e\x67\x74\x68'],aM=aK['\x66\x69\x6c\x74\x65\x72'](aW=>aW['\x63\x68\x61\x6e\x67\x65']==='\x72\x65\x6d\x6f\x76\x65\x64')['\x6c\x65\x6e\x67\x74\x68'],aN=aK['\x66\x69\x6c\x74\x65\x72'](aW=>aW['\x63\x68\x61\x6e\x67\x65']==='\x6d\x6f\x64\x69\x66\x69\x65\x64')['\x6c\x65\x6e\x67\x74\x68'];if(aL>0x0&&u(aL+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x61\x64\x64\x65\x64'),aN>0x0&&r(aN+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x6d\x6f\x64\x69\x66\x69\x65\x64'),aM>0x0&&y(aM+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x72\x65\x6d\x6f\x76\x65\x64'),console['\x6c\x6f\x67'](),a5['\x76\x65\x72\x62\x6f\x73\x65']||aK['\x6c\x65\x6e\x67\x74\x68']>0x0){w('\x44\x65\x74\x61\x69\x6c\x65\x64\x20\x43\x68\x61\x6e\x67\x65\x73');for(let aW of aK){switch(aW['\x63\x68\x61\x6e\x67\x65']){case'\x61\x64\x64\x65\x64':if(u('\x2b\x20'+aW['\x6e\x61\x6d\x65']+'\x20\x28\x6e\x65\x77\x29'),a5['\x76\x65\x72\x62\x6f\x73\x65']&&aW['\x61\x66\x74\x65\x72']){let aX=Object['\x65\x6e\x74\x72\x69\x65\x73'](aW['\x61\x66\x74\x65\x72'])['\x6d\x61\x70'](([aY,aZ])=>'\x20\x20\x20\x20'+aY+'\x3a\x20'+le(aY,aZ))['\x6a\x6f\x69\x6e']('\x0a');console['\x6c\x6f\x67'](aX);}break;case'\x72\x65\x6d\x6f\x76\x65\x64':if(y('\x2d\x20'+aW['\x6e\x61\x6d\x65']+'\x20\x28\x72\x65\x6d\x6f\x76\x65\x64\x29'),a5['\x76\x65\x72\x62\x6f\x73\x65']&&aW['\x62\x65\x66\x6f\x72\x65']){let aY=Object['\x65\x6e\x74\x72\x69\x65\x73'](aW['\x62\x65\x66\x6f\x72\x65'])['\x6d\x61\x70'](([aZ,b0])=>'\x20\x20\x20\x20'+aZ+'\x3a\x20'+le(aZ,b0))['\x6a\x6f\x69\x6e']('\x0a');console['\x6c\x6f\x67'](aY);}break;case'\x6d\x6f\x64\x69\x66\x69\x65\x64':r('\x7e\x20'+aW['\x6e\x61\x6d\x65']+'\x20\x28\x6d\x6f\x64\x69\x66\x69\x65\x64\x29'),aW['\x63\x68\x61\x6e\x67\x65\x73']&&aW['\x63\x68\x61\x6e\x67\x65\x73']['\x6c\x65\x6e\x67\x74\x68']>0x0&&console['\x6c\x6f\x67'](aW['\x63\x68\x61\x6e\x67\x65\x73']['\x6a\x6f\x69\x6e']('\x0a'));break;}console['\x6c\x6f\x67']();}}if(w('\x55\x70\x67\x72\x61\x64\x65\x20\x52\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x61\x74\x69\x6f\x6e\x73'),aN>0x0){let aZ=aK['\x66\x69\x6c\x74\x65\x72'](b0=>b0['\x63\x68\x61\x6e\x67\x65']==='\x6d\x6f\x64\x69\x66\x69\x65\x64');for(let b0 of aZ){let b1=b0['\x63\x68\x61\x6e\x67\x65\x73']?.['\x66\x69\x6c\x74\x65\x72'](b2=>b2['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\u2192')&&!b2['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x30\x20\u2192'));b1&&b1['\x6c\x65\x6e\x67\x74\x68']>0x0&&(warning(b0['\x6e\x61\x6d\x65']+'\x3a\x20\x52\x65\x76\x69\x65\x77\x20\x62\x72\x65\x61\x6b\x69\x6e\x67\x20\x63\x68\x61\x6e\x67\x65\x73'),T(b1));}}if(aM>0x0){warning('\x53\x6f\x6d\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x77\x65\x72\x65\x20\x72\x65\x6d\x6f\x76\x65\x64\x2e\x20\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x20\x66\x6f\x72\x20\x75\x73\x61\x67\x65\x2e');let b2=aK['\x66\x69\x6c\x74\x65\x72'](b3=>b3['\x63\x68\x61\x6e\x67\x65']==='\x72\x65\x6d\x6f\x76\x65\x64')['\x6d\x61\x70'](b3=>b3['\x6e\x61\x6d\x65']);T(b2);}}catch(b3){a6['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x6f\x6d\x70\x61\x72\x65\x20\x76\x65\x72\x73\x69\x6f\x6e\x73'),y(b3 instanceof Error?b3['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}}async function mt(){let c=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](f=>f['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'));c['\x73\x74\x61\x72\x74']();try{let {getInstalledVersion:f}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(B(),Ye)),{getLatestVersion:g}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(se(),je)),h=await f(),l=await g();c['\x73\x75\x63\x63\x65\x65\x64']('\x56\x65\x72\x73\x69\x6f\x6e\x20\x63\x68\x65\x63\x6b\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65'),w('\x56\x65\x72\x73\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e'),r('\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x3a\x20'+(h||'\x4e\x6f\x6e\x65')),r('\x4c\x61\x74\x65\x73\x74\x3a\x20'+l),h!==l?(console['\x6c\x6f\x67'](),u('\x4e\x65\x77\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x21'),r('\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20'+l)):h&&(console['\x6c\x6f\x67'](),u('\x59\x6f\x75\x27\x72\x65\x20\x75\x70\x20\x74\x6f\x20\x64\x61\x74\x65\x21'));}catch(m){c['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x68\x65\x63\x6b\x20\x76\x65\x72\x73\x69\x6f\x6e'),y(m instanceof Error?m['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72');}}p(),b();async function gt(){u('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x65\x6e\x61\x62\x6c\x65\x64'),r('\x41\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x64\x61\x74\x61\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x74\x6f\x20\x69\x6d\x70\x72\x6f\x76\x65\x20\x74\x68\x65\x20\x53\x44\x4b');}async function ut(){$('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x64\x69\x73\x61\x62\x6c\x65\x64'),r('\x4e\x6f\x20\x75\x73\x61\x67\x65\x20\x64\x61\x74\x61\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64');}async function yt(){r('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73\x2e\x2e\x2e'),r('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x28\x6e\x6f\x74\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x79\x65\x74\x29');}p(),b();async function wt(c={}){if(c['\x64\x72\x79\x52\x75\x6e']){r('\x44\x72\x79\x20\x72\x75\x6e\x20\x6d\x6f\x64\x65\x3a\x20\x57\x6f\x75\x6c\x64\x20\x75\x70\x64\x61\x74\x65\x20\x53\x44\x4b\x20\x74\x6f\x20\x6c\x61\x74\x65\x73\x74\x20\x76\x65\x72\x73\x69\x6f\x6e');return;}r('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'),u('\x53\x44\x4b\x20\x69\x73\x20\x75\x70\x20\x74\x6f\x20\x64\x61\x74\x65');}async function ht(){r('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'),u('\x4e\x6f\x20\x75\x70\x64\x61\x74\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65');}var D=new al();D['\x61\x64\x64\x48\x65\x6c\x70\x54\x65\x78\x74']('\x62\x65\x66\x6f\x72\x65\x41\x6c\x6c',me()),D['\x6e\x61\x6d\x65']('\x6f\x78')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x4c\x49\x20\x2d\x20\x49\x6e\x73\x74\x61\x6c\x6c\x20\x61\x6e\x64\x20\x6d\x61\x6e\x61\x67\x65\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x70\x61\x63\x6b\x61\x67\x65\x73')['\x76\x65\x72\x73\x69\x6f\x6e']('\x30\x2e\x30\x2e\x31'),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x6c\x6f\x67\x69\x6e')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x20\x77\x69\x74\x68\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x6b\x2c\x20\x2d\x2d\x6b\x65\x79\x20\x3c\x6b\x65\x79\x3e','\x41\x50\x49\x20\x6b\x65\x79\x20\x28\x77\x69\x6c\x6c\x20\x70\x72\x6f\x6d\x70\x74\x20\x69\x66\x20\x6e\x6f\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x64\x29')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x61\x63\x74\x69\x6f\x6e'](async c=>{O('\x6c\x6f\x67\x69\x6e'),await Me(c);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x73\x74\x61\x74\x75\x73')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x53\x68\x6f\x77\x20\x69\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e\x20\x61\x6e\x64\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x73\x74\x61\x74\x75\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e')['\x61\x63\x74\x69\x6f\x6e'](async c=>{O('\x73\x74\x61\x74\x75\x73'),await Be(c);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x69\x6e\x73\x74\x61\x6c\x6c\x20\x5b\x76\x65\x72\x73\x69\x6f\x6e\x5d')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x49\x6e\x73\x74\x61\x6c\x6c\x20\x53\x44\x4b\x20\x70\x61\x63\x6b\x61\x67\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x70\x2c\x20\x2d\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x3c\x70\x61\x63\x6b\x61\x67\x65\x73\x2e\x2e\x2e\x3e','\x53\x70\x65\x63\x69\x66\x69\x63\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x64\x72\x79\x2d\x72\x75\x6e','\x53\x68\x6f\x77\x20\x77\x68\x61\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x66\x2c\x20\x2d\x2d\x66\x6f\x72\x63\x65','\x46\x6f\x72\x63\x65\x20\x72\x65\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x73\x61\x76\x65','\x41\x64\x64\x20\x74\x6f\x20\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x73\x61\x76\x65\x2d\x64\x65\x76','\x41\x64\x64\x20\x74\x6f\x20\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async(f,g)=>{const h={};h['\x73\x64\x6b\x56\x65\x72\x73\x69\x6f\x6e']=f,(O('\x69\x6e\x73\x74\x61\x6c\x6c',h),await at(f||'\x6c\x61\x74\x65\x73\x74',g));}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x72\x65\x73\x6f\x6c\x76\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x66\x6f\x72\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x6a\x65\x63\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x75\x73\x61\x67\x65\x20\x65\x78\x61\x6d\x70\x6c\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async c=>{O('\x72\x65\x73\x6f\x6c\x76\x65'),await st(c);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x6c\x6f\x67\x6f\x75\x74')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x65\x6d\x6f\x76\x65\x20\x73\x74\x6f\x72\x65\x64\x20\x41\x50\x49\x20\x6b\x65\x79')['\x61\x63\x74\x69\x6f\x6e'](async()=>{O('\x6c\x6f\x67\x6f\x75\x74'),await ct();}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x6f\x63\x74\x6f\x72')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x75\x6e\x20\x64\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x73\x20\x74\x6f\x20\x74\x72\x6f\x75\x62\x6c\x65\x73\x68\x6f\x6f\x74\x20\x69\x73\x73\x75\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x64\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x66\x69\x78','\x41\x74\x74\x65\x6d\x70\x74\x20\x74\x6f\x20\x66\x69\x78\x20\x63\x6f\x6d\x6d\x6f\x6e\x20\x69\x73\x73\x75\x65\x73\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79')['\x61\x63\x74\x69\x6f\x6e'](async c=>{O('\x64\x6f\x63\x74\x6f\x72'),await dt(c);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x69\x66\x66\x20\x5b\x66\x72\x6f\x6d\x2d\x76\x65\x72\x73\x69\x6f\x6e\x5d\x20\x5b\x74\x6f\x2d\x76\x65\x72\x73\x69\x6f\x6e\x5d')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x43\x6f\x6d\x70\x61\x72\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x66\x6f\x72\x6d\x61\x74\x20\x3c\x66\x6f\x72\x6d\x61\x74\x3e','\x4f\x75\x74\x70\x75\x74\x20\x66\x6f\x72\x6d\x61\x74\x20\x28\x74\x65\x78\x74\x7c\x6a\x73\x6f\x6e\x29','\x74\x65\x78\x74')['\x61\x63\x74\x69\x6f\x6e'](async(c,f,g)=>{O('\x64\x69\x66\x66'),c?await ft(c,f||'\x6c\x61\x74\x65\x73\x74',g):await mt();}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x75\x70\x64\x61\x74\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x55\x70\x64\x61\x74\x65\x20\x53\x44\x4b\x20\x74\x6f\x20\x74\x68\x65\x20\x6c\x61\x74\x65\x73\x74\x20\x76\x65\x72\x73\x69\x6f\x6e')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x64\x72\x79\x2d\x72\x75\x6e','\x53\x68\x6f\x77\x20\x77\x68\x61\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x75\x70\x64\x61\x74\x65\x64\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async c=>{O('\x75\x70\x64\x61\x74\x65'),await wt(c);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x63\x68\x65\x63\x6b')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x51\x75\x69\x63\x6b\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await ht();});var $e=D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x74\x65\x6c\x65\x6d\x65\x74\x72\x79')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x4d\x61\x6e\x61\x67\x65\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x65\x74\x74\x69\x6e\x67\x73');$e['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x65\x6e\x61\x62\x6c\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x45\x6e\x61\x62\x6c\x65\x20\x61\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x74\x72\x61\x63\x6b\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await gt();}),$e['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x69\x73\x61\x62\x6c\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x44\x69\x73\x61\x62\x6c\x65\x20\x61\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x74\x72\x61\x63\x6b\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await ut();}),$e['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x73\x74\x61\x74\x75\x73')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x53\x68\x6f\x77\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await yt();}),D['\x70\x61\x72\x73\x65\x41\x73\x79\x6e\x63'](process['\x61\x72\x67\x76'])['\x63\x61\x74\x63\x68'](c=>{console['\x65\x72\x72\x6f\x72'](c),ot('\x63\x6c\x69','\x70\x61\x72\x73\x65\x5f\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);});