@guanjinke/artifact-client 1.6.3 → 1.7.1

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.
@@ -0,0 +1,109 @@
1
+ import { EnvironmentRecord } from './registry';
2
+ import { EnvironmentSchema } from './types';
3
+ /**
4
+ * One mapping of a module: a module can be laid out into several destinations
5
+ * and play a different role in each, e.g. a plugin in `Plugins/Dataset` and the
6
+ * `CotWorker` service in `CotWorker` at the same time.
7
+ */
8
+ export interface ModuleMapping {
9
+ /** Directory the mapping is copied into; `''` when the manifest recorded none. */
10
+ destination: string;
11
+ /** Assembly file names this mapping provides. */
12
+ assemblies: string[];
13
+ /** `plugin`, `worker`, `server`, `monitor`, …; `null` when the manifest recorded none. */
14
+ role: string | null;
15
+ /** The Wyn service this mapping feeds, when it declares one. */
16
+ service: string | null;
17
+ }
18
+ /** One module of an environment, as the manifest records it. */
19
+ export interface ModuleDetail {
20
+ module: string;
21
+ plugin: string | null;
22
+ version: string | null;
23
+ /** `local` when a local override supplied this module, `remote` for a downloaded artifact. */
24
+ source: 'remote' | 'local';
25
+ /** The override path, for a locally supplied module. */
26
+ sourcePath: string | null;
27
+ /** Remote artifact path inside the version directory. */
28
+ artifactPath: string | null;
29
+ /** Download checksum, when the manifest recorded one. */
30
+ sha256: string | null;
31
+ /**
32
+ * Every mapping of the module, in manifest order. This is the authoritative
33
+ * per-mapping view: a worker mapping stays visible here even when the module
34
+ * also ships plugins.
35
+ */
36
+ mappings: ModuleMapping[];
37
+ /** Directories the module is laid out into; a roll-up of `mappings`. */
38
+ destinations: string[];
39
+ /** Assembly file names the module provides; a roll-up of `mappings`. */
40
+ assemblies: string[];
41
+ /**
42
+ * The role and service of the *first* mapping that declares one. These are the
43
+ * summary fields the module table has always used, so they can pair a role
44
+ * from one mapping with a service from another; read `mappings` when the
45
+ * destination matters.
46
+ */
47
+ role: string | null;
48
+ service: string | null;
49
+ }
50
+ /** The `Wyn.conf` view of an environment: what the Server actually loads. */
51
+ export interface ConfigurationDetail {
52
+ urls: string | null;
53
+ identityServerUrl: string | null;
54
+ services: {
55
+ name: string;
56
+ assembly: string | null;
57
+ disabled: boolean;
58
+ empty: boolean;
59
+ }[];
60
+ plugins: string[];
61
+ pluginWorkers: string[];
62
+ }
63
+ /**
64
+ * Everything the web UI and `afm env` need to show an environment's complete
65
+ * module configuration, assembled read-only from the registry record, the
66
+ * environment manifest and the generated `Wyn.conf`.
67
+ */
68
+ export interface EnvironmentConfigurationDetail {
69
+ name: string;
70
+ id: string;
71
+ root: string;
72
+ port: number;
73
+ siteUrl: string;
74
+ edition: string;
75
+ major: string;
76
+ profile: string;
77
+ schema: EnvironmentSchema;
78
+ state: string;
79
+ observedState: string;
80
+ createdAt: string;
81
+ pid: number | null;
82
+ mode: string | null;
83
+ problem: string | null;
84
+ manifestPath: string;
85
+ manifestPresent: boolean;
86
+ selectedModules: string[];
87
+ autoAddedModules: string[];
88
+ modules: ModuleDetail[];
89
+ localOverrides: {
90
+ module: string;
91
+ path: string;
92
+ targets: string[];
93
+ }[];
94
+ configuration: ConfigurationDetail | null;
95
+ warnings: string[];
96
+ requirements: string[];
97
+ /** Non-fatal reasons the view is incomplete; never a secret. */
98
+ problems: string[];
99
+ }
100
+ /**
101
+ * Describe one environment: its record, its module layout and the configuration
102
+ * it will run with. Read-only, and every missing or unparsable part becomes a
103
+ * `problems` entry instead of an exception, because an incomplete environment is
104
+ * exactly what an operator needs to see.
105
+ */
106
+ export declare function describeEnvironment(entry: EnvironmentRecord, observedState: string, options?: {
107
+ problem?: string | null;
108
+ }): Promise<EnvironmentConfigurationDetail>;
109
+ //# sourceMappingURL=detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../src/environment/detail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.describeEnvironment = describeEnvironment;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const path = __importStar(require("path"));
39
+ const fast_xml_parser_1 = require("fast-xml-parser");
40
+ const asArray = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : typeof value === 'string' ? [value] : [];
41
+ const asText = (value) => typeof value === 'string' && value.trim() !== '' ? value : null;
42
+ const asRecord = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
43
+ /** Read one `<sys:string>` list, which is a bare string when it holds a single value. */
44
+ const stringList = (value) => asArray(value);
45
+ /**
46
+ * Summarize `Wyn.conf` the way the Server reads it: the Server URLs, the
47
+ * identity server, and every service (an empty element such as
48
+ * `<CollaborationService />` parses to an empty string, which is how a native
49
+ * out-of-process service is declared).
50
+ */
51
+ function summarizeConfiguration(document) {
52
+ const system = asRecord(asRecord(document)['SystemConfig']);
53
+ if (!Object.keys(system).length)
54
+ return null;
55
+ const services = asRecord(system.Services);
56
+ const server = asRecord(services.Server);
57
+ return {
58
+ urls: asText(server.Urls),
59
+ identityServerUrl: asText(asRecord(system.GlobalSettings).IdentityServerUrl),
60
+ services: Object.entries(services).map(([name, value]) => {
61
+ const body = asRecord(value);
62
+ return { name, assembly: asText(body.Assembly), disabled: body.Disabled === true || body.Disabled === 'true', empty: Object.keys(body).length === 0 };
63
+ }),
64
+ plugins: stringList(asRecord(server.Plugins)['sys:string']),
65
+ pluginWorkers: stringList(asRecord(server.PluginWorkers)['sys:string']),
66
+ };
67
+ }
68
+ /**
69
+ * Describe one environment: its record, its module layout and the configuration
70
+ * it will run with. Read-only, and every missing or unparsable part becomes a
71
+ * `problems` entry instead of an exception, because an incomplete environment is
72
+ * exactly what an operator needs to see.
73
+ */
74
+ async function describeEnvironment(entry, observedState, options = {}) {
75
+ const problems = [];
76
+ const manifestPath = entry.manifest;
77
+ let manifest = {};
78
+ let manifestPresent = false;
79
+ try {
80
+ manifest = JSON.parse(await fs.readFile(manifestPath, 'utf8'));
81
+ manifestPresent = true;
82
+ }
83
+ catch (error) {
84
+ problems.push(error.code === 'ENOENT' ? `Environment manifest is missing: ${manifestPath}` : `Environment manifest is unreadable: ${error.message}`);
85
+ }
86
+ const sources = asRecord(manifest.moduleSources);
87
+ const localOverrides = Object.entries(sources).filter(([, source]) => source?.type === 'local').map(([module, source]) => ({
88
+ module, path: source.path ?? '', targets: asArray(source.pluginDirectories).concat((source.targets ?? []).map(target => target?.destination ?? '')).filter(target => target !== ''),
89
+ }));
90
+ const localByModule = new Map(localOverrides.map(override => [override.module, override]));
91
+ const artifacts = Array.isArray(manifest.artifacts) ? manifest.artifacts : [];
92
+ const checksums = new Map((Array.isArray(manifest.downloads) ? manifest.downloads : [])
93
+ .filter(download => download?.plugin && download.sha256).map(download => [`${download.plugin}@${download.version ?? ''}`, download.sha256]));
94
+ const modules = artifacts.map(artifact => {
95
+ const module = artifact.module ?? artifact.plugin ?? 'unknown';
96
+ const override = localByModule.get(module);
97
+ // Every mapping is kept: a worker is a mapping of its own, so collapsing the
98
+ // list would hide the very entry the dialog exists to show.
99
+ const mappings = (artifact.mappings ?? []).map(mapping => ({
100
+ destination: typeof mapping.destination === 'string' ? mapping.destination : '',
101
+ assemblies: asArray(mapping.assemblies),
102
+ role: asText(mapping.role),
103
+ service: asText(mapping.service),
104
+ }));
105
+ return {
106
+ module,
107
+ plugin: artifact.plugin ?? null,
108
+ version: artifact.version ?? null,
109
+ source: override ? 'local' : 'remote',
110
+ sourcePath: override?.path ?? null,
111
+ artifactPath: artifact.path ?? null,
112
+ sha256: artifact.plugin ? checksums.get(`${artifact.plugin}@${artifact.version ?? ''}`) ?? null : null,
113
+ mappings,
114
+ destinations: mappings.map(mapping => mapping.destination).filter(destination => destination !== ''),
115
+ assemblies: mappings.flatMap(mapping => mapping.assemblies),
116
+ role: mappings.find(mapping => mapping.role !== null)?.role ?? null,
117
+ service: mappings.find(mapping => mapping.service !== null)?.service ?? null,
118
+ };
119
+ });
120
+ for (const override of localOverrides)
121
+ if (!modules.some(module => module.module === override.module)) {
122
+ // A module known only through its override has no manifest mappings; the
123
+ // directories the override was copied into become its mappings.
124
+ modules.push({
125
+ module: override.module, plugin: null, version: null, source: 'local', sourcePath: override.path, artifactPath: null, sha256: null,
126
+ mappings: override.targets.map(destination => ({ destination, assemblies: [], role: null, service: null })),
127
+ destinations: override.targets, assemblies: [], role: null, service: null,
128
+ });
129
+ }
130
+ let configuration = null;
131
+ const configurationPath = path.join(entry.root, 'conf', 'Wyn.conf');
132
+ try {
133
+ configuration = summarizeConfiguration(new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, parseTagValue: false, processEntities: false }).parse(await fs.readFile(configurationPath, 'utf8')));
134
+ if (!configuration)
135
+ problems.push(`Environment configuration has no SystemConfig element: ${configurationPath}`);
136
+ }
137
+ catch (error) {
138
+ problems.push(error.code === 'ENOENT' ? `Environment configuration is missing: ${configurationPath}` : `Environment configuration is unreadable: ${error.message}`);
139
+ }
140
+ return {
141
+ name: entry.name, id: entry.id, root: entry.root, port: entry.port, siteUrl: `http://localhost:${entry.port}`,
142
+ edition: entry.edition, major: entry.major, profile: entry.profile, schema: manifest.schema ?? 'pending',
143
+ state: entry.state, observedState, createdAt: entry.createdAt,
144
+ pid: entry.run?.pid ?? null, mode: entry.run?.mode ?? null, problem: options.problem ?? null,
145
+ manifestPath, manifestPresent,
146
+ selectedModules: asArray(manifest.selectedModules), autoAddedModules: asArray(manifest.autoAddedModules),
147
+ modules, localOverrides, configuration,
148
+ warnings: asArray(manifest.warnings), requirements: asArray(manifest.requirements), problems,
149
+ };
150
+ }
151
+ //# sourceMappingURL=detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.js","sourceRoot":"","sources":["../../src/environment/detail.ts"],"names":[],"mappings":"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"}
package/dist/web/api.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { IncomingMessage, ServerResponse } from 'http';
2
+ import { EnvironmentConfigurationDetail } from '../environment/detail';
2
3
  import { JobStore } from './jobs';
3
4
  import { WebManager, WebProviders, WebRegistry, WebStateInfo, WebUpdater } from './types';
4
5
  export interface ApiContext {
@@ -23,6 +24,11 @@ export interface ApiContext {
23
24
  * `null`; returns the stored root. Mirrors `afm env root [<path>] [--unset]`.
24
25
  */
25
26
  setEnvironmentRoot: (root: string | null) => Promise<string | null>;
27
+ /**
28
+ * The complete module configuration of one environment: registry record,
29
+ * manifest layout and the generated `Wyn.conf`. Read-only.
30
+ */
31
+ describeEnvironment: (name: string) => Promise<EnvironmentConfigurationDetail>;
26
32
  }
27
33
  export declare function createRequestHandler(context: ApiContext): (request: IncomingMessage, response: ServerResponse) => void;
28
34
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAQvD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAkD,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1I,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/F;;;OAGG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACrE;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAQtH"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAQvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAkD,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1I,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/F;;;OAGG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAChF;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAQtH"}
package/dist/web/api.js CHANGED
@@ -117,6 +117,11 @@ async function api(context, request, response, segments) {
117
117
  throw new http_1.HttpError(405, 'POST only.', 'POST');
118
118
  return (0, http_1.sendJson)(response, 202, await updateModules(context, request, name));
119
119
  }
120
+ if (segments.length === 4 && segments[3] === 'configuration') {
121
+ if (method !== 'GET')
122
+ throw new http_1.HttpError(405, 'GET only.', 'GET');
123
+ return (0, http_1.sendJson)(response, 200, await configuration(context, name));
124
+ }
120
125
  if (segments.length === 4 && segments[3] === 'lifecycle') {
121
126
  if (method !== 'POST')
122
127
  throw new http_1.HttpError(405, 'POST only.', 'POST');
@@ -190,6 +195,24 @@ async function setEnvironmentRoot(context, request) {
190
195
  throw new http_1.HttpError(400, failure(error));
191
196
  }
192
197
  }
198
+ /**
199
+ * The complete module configuration of one environment. Read-only: it projects
200
+ * the registry record, the environment manifest and the generated `Wyn.conf`, so
201
+ * the page can show what an environment actually runs instead of only the module
202
+ * names, and it never throws for a merely incomplete environment.
203
+ */
204
+ async function configuration(context, name) {
205
+ if (name.trim() === '' || name !== name.trim())
206
+ throw new http_1.HttpError(400, 'Environment name is required.');
207
+ try {
208
+ return await context.describeEnvironment(name);
209
+ }
210
+ catch (error) {
211
+ if (/not registered|not found/i.test(failure(error)))
212
+ throw new http_1.HttpError(404, `Environment not found: ${name}.`);
213
+ throw new http_1.HttpError(500, failure(error));
214
+ }
215
+ }
193
216
  async function state(context) {
194
217
  const info = context.state();
195
218
  const rows = await context.manager.list();
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/web/api.ts"],"names":[],"mappings":";;AA6DA,oDAQC;AApED,mCAAqD;AACrD,sDAA0E;AAC1E,8CAAmH;AAEnH,kDAA2E;AAC3E,qCAAkD;AAClD,iCAAqN;AAKrN,mFAAmF;AACnF,MAAM,UAAU,GAAG,gKAAgK,CAAC;AA+BpL,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAErG,qFAAqF;AACrF,SAAS,YAAY,CAAC,SAA6B,EAAE,QAAgB;IACnE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACzD,OAAO,IAAA,wBAAe,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC9C,MAAM,MAAM,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACvD,OAAO,aAAa,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxG,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC3B,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACnF,MAAM,MAAM,GAAG,KAAK,YAAY,gBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,IAAA,eAAQ,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,YAAY,gBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB;IAC3F,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAA,aAAM,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,uFAAuF,CAAC,CAAC;IAChM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5E,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB,EAAE,QAAkB;IAC5G,0EAA0E;IAC1E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,qFAAqF,CAAC,CAAC;IAE3K,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,kGAAkG;IAClG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACnD,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACxH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;YACvG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAChJ,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,IAAI,MAAM,KAAK,MAAM;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,QAAQ;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5E,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvD,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;YAC7D,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,MAAM;gBAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAmB,EAAE,OAAwB,EAAE,QAAwB,EAAE,QAAgB;IAClH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5F,IAAI,CAAC,oBAAW,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+DAA+D,CAAC,CAAC;IACtG,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC7K,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,GAAmB;IACzC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;QACxH,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa;QAC9G,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CAAC,OAAmB;IAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,OAAmB,EAAE,OAAwB;IAC1E,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAW,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAyB;QACxC,GAAG,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,qBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAA,qBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpG,CAAC;IACF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,kBAAkB,CAAC,OAAmB,EAAE,OAAwB;IAC7E,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;IACtI,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACrI,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE,IAAY;IAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;IAC1G,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,0BAA0B,IAAI,GAAG,CAAC,CAAC;QAClH,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,OAAmB;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE;QACxC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QACtC,aAAa,EAAE,EAAE,wBAAwB,EAAxB,+BAAwB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,WAAW,EAAX,kBAAW,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,gBAAS,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAS,CAAC,IAAI,EAAE,EAAE;QACrK,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,yBAAgB,CAAC,EAAE;QACjD,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB;IACjE,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC;QAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAW,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,QAAQ,wCAAwC,QAAQ,gBAAgB,CAAC,CAAC;IAC7J,MAAM,KAAK,GAAG,IAAA,oBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,wBAAiB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,IAAI,IAAI,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAA,6BAAsB,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC;IACxD,MAAM,aAAa,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAExE,6EAA6E;IAC7E,6DAA6D;IAC7D,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,wCAAwC,IAAI,GAAG,CAAC,CAAC;IAC9K,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,OAAO,GAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5I,6EAA6E;IAC7E,8EAA8E;IAC9E,2BAA2B;IAC3B,IAAI,CAAC;QAAC,MAAM,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IAC9G,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAmB,EAAE,IAAY;IACjE,IAAI,CAAC;QAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACvF,IAAI,CAAC;QAAC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;AAC9G,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IAC/E,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,iCAAiC,KAAK,CAAC,IAAI,yCAAyC,CAAC,CAAC;IAC5K,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE;QAC7D,QAAQ,CAAC,yBAAyB,MAAM,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IAClF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAA,kBAAW,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;QACtE,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAAC,QAAQ,CAAC,YAAY,MAAM,qBAAqB,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;aAC5H,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAAC,QAAQ,CAAC,cAAc,MAAM,qBAAqB,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;aACvI,CAAC;YAAC,QAAQ,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/G,QAAQ,CAAC,GAAG,MAAM,KAAK,MAAM,6BAA6B,KAAK,EAAE,KAAK,IAAI,SAAS,2EAA2E,CAAC,CAAC;QAChK,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAmB,EAAE,OAAwB,EAAE,IAAY;IACtF,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAA,2BAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QAAC,MAAM,GAAG,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,gDAAgD,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAA,qBAAc,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,KAAK;QAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;IAE5J,8EAA8E;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACtE,IAAI,QAA8B,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,CAAC,IAAI,EAAE,KAAK,CAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3F,IAAI,iBAAiB,KAAK,SAAS;YAAE,QAAQ,GAAG,iBAA6B,CAAC;aACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,+EAA+E,CAAC,CAAC;;YAClI,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,4FAA4F,CAAC,CAAC;QAC5H,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,gBAAS,CAAC,GAAG,EAAE,YAAY,QAAQ,wCAAwC,QAAQ,gBAAgB,CAAC,CAAC;IAC3I,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACrG,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACnN,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { EnvironmentConfigurationDetail } from '../environment/detail';
1
2
  import { JobStore } from './jobs';
2
3
  import { WebManager, WebProviders, WebRegistry, WebStateInfo, WebUpdater } from './types';
3
4
  export interface WebServerOptions {
@@ -18,6 +19,8 @@ export interface WebServerOptions {
18
19
  resolveRoot?: (name: string, requested: string | undefined, dryRun: boolean) => Promise<string>;
19
20
  /** Remember or forget the unified environment root; defaults to the CLI's `env root`. */
20
21
  setEnvironmentRoot?: (root: string | null) => Promise<string | null>;
22
+ /** Describe one environment's complete module configuration. */
23
+ describeEnvironment?: (name: string) => Promise<EnvironmentConfigurationDetail>;
21
24
  }
22
25
  export interface RunningWebServer {
23
26
  host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChG,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDzF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAQ5F,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChG,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrE,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyDzF"}
@@ -38,6 +38,7 @@ exports.startWebServer = startWebServer;
38
38
  const http = __importStar(require("http"));
39
39
  const config_manager_1 = require("../cli/config-manager");
40
40
  const version_1 = require("../cli/version");
41
+ const detail_1 = require("../environment/detail");
41
42
  const manager_1 = require("../environment/manager");
42
43
  const registry_1 = require("../environment/registry");
43
44
  const root_1 = require("../environment/root");
@@ -84,6 +85,7 @@ async function startWebServer(options) {
84
85
  maxBodyBytes: options.maxBodyBytes ?? defaultBodyLimit,
85
86
  resolveRoot: options.resolveRoot ?? defaultResolveRoot,
86
87
  setEnvironmentRoot: options.setEnvironmentRoot ?? defaultSetEnvironmentRoot,
88
+ describeEnvironment: options.describeEnvironment ?? defaultDescribeEnvironment,
87
89
  };
88
90
  // Until the port is known the Host allowlist cannot be built, so the listener
89
91
  // answers a startup reply and is swapped for the real handler on 'listening'.
@@ -136,6 +138,15 @@ async function defaultResolveRoot(name, requested, dryRun) {
136
138
  * `afm env root [<path>] [--unset]` from the page: validate (and create) the
137
139
  * directory, then remember it in the CLI's config file; `null` forgets it.
138
140
  */
141
+ /** Real implementation: registry record + manifest + Wyn.conf, read-only. */
142
+ async function defaultDescribeEnvironment(name) {
143
+ const manager = new manager_1.EnvironmentManager();
144
+ const rows = await manager.list();
145
+ const row = rows.find(entry => entry.name.toLowerCase() === name.toLowerCase());
146
+ if (!row)
147
+ throw new Error(`Environment not registered: ${name}.`);
148
+ return (0, detail_1.describeEnvironment)(row, row.observedState, { problem: row.problem ?? null });
149
+ }
139
150
  async function defaultSetEnvironmentRoot(root) {
140
151
  if (root === null) {
141
152
  (0, config_manager_1.clearEnvironmentRoot)();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}