@workflow/sveltekit 5.0.0-beta.26 → 5.0.0-beta.27

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/builder.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  import { BaseBuilder, type SvelteKitConfig } from '@workflow/builders';
2
2
  export declare class SvelteKitBuilder extends BaseBuilder {
3
- constructor(config?: Partial<SvelteKitConfig>);
3
+ #private;
4
+ constructor(config?: Partial<SvelteKitConfig> & {
5
+ routesDir?: string;
6
+ });
4
7
  build(): Promise<void>;
5
8
  private buildWebhookRoute;
6
- private findRoutesDirectory;
9
+ private loadRoutesDirectory;
7
10
  }
11
+ export declare function loadSvelteKitRoutesDir(workingDir: string): Promise<string>;
8
12
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAgB9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgFvB,iBAAiB;YAqDjB,mBAAmB;CA8BlC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,WAAW,EAIX,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,gBAAiB,SAAQ,WAAW;;gBAGnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAgC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+EvB,iBAAiB;YAqDjB,mBAAmB;CAMlC;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAejB"}
package/dist/builder.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { constants } from 'node:fs';
2
2
  import { access, copyFile, mkdir, readFile, rm, stat, writeFile, } from 'node:fs/promises';
3
- import { join, resolve } from 'node:path';
4
- import { BaseBuilder, NORMALIZE_REQUEST_CODE, } from '@workflow/builders';
3
+ import { createRequire } from 'node:module';
4
+ import { dirname, join, resolve } from 'node:path';
5
+ import { pathToFileURL } from 'node:url';
6
+ import { BaseBuilder, createBaseBuilderConfig, NORMALIZE_REQUEST_CODE, resolveProjectRoot, } from '@workflow/builders';
5
7
  const SVELTEKIT_VIRTUAL_MODULES = [
6
8
  '$env/*', // All $env subpaths
7
9
  '$lib', // Exact $lib import
@@ -9,23 +11,40 @@ const SVELTEKIT_VIRTUAL_MODULES = [
9
11
  '$app/*', // All $app subpaths
10
12
  ];
11
13
  export class SvelteKitBuilder extends BaseBuilder {
12
- constructor(config) {
13
- const workingDir = config?.workingDir || process.cwd();
14
+ #routesDir;
15
+ constructor(config = {}) {
16
+ const workingDir = resolve(config.workingDir || process.cwd());
17
+ const dirs = config.dirs ?? [
18
+ 'workflows',
19
+ 'src/workflows',
20
+ 'routes',
21
+ 'src/routes',
22
+ ];
23
+ const projectRoot = config.projectRoot ?? resolveProjectRoot(workingDir);
24
+ const routesDir = config.routesDir
25
+ ? resolve(workingDir, config.routesDir)
26
+ : undefined;
14
27
  super({
28
+ ...createBaseBuilderConfig({
29
+ workingDir,
30
+ projectRoot,
31
+ dirs,
32
+ watch: config.watch,
33
+ externalPackages: [...SVELTEKIT_VIRTUAL_MODULES],
34
+ sourcemap: config.sourcemap,
35
+ }),
15
36
  ...config,
16
- dirs: ['workflows', 'src/workflows', 'routes', 'src/routes'],
37
+ dirs,
17
38
  buildTarget: 'sveltekit',
18
- stepsBundlePath: '', // unused in base
19
- workflowsBundlePath: '', // unused in base
20
- webhookBundlePath: '', // unused in base
21
39
  workingDir,
40
+ projectRoot,
41
+ moduleSpecifierRoot: config.moduleSpecifierRoot ?? workingDir,
22
42
  externalPackages: [...SVELTEKIT_VIRTUAL_MODULES],
23
- sourcemap: config?.sourcemap,
24
43
  });
44
+ this.#routesDir = routesDir;
25
45
  }
26
46
  async build() {
27
- // Find SvelteKit routes directory (src/routes or routes)
28
- const routesDir = await this.findRoutesDirectory();
47
+ const routesDir = await this.loadRoutesDirectory();
29
48
  const workflowGeneratedDir = join(routesDir, '.well-known/workflow/v1');
30
49
  // Ensure output directories exist
31
50
  await mkdir(workflowGeneratedDir, { recursive: true });
@@ -112,32 +131,30 @@ export const HEAD = createSvelteKitHandler('HEAD');
112
131
  export const OPTIONS = createSvelteKitHandler('OPTIONS');`);
113
132
  await writeFile(webhookRouteFile, webhookRouteContent);
114
133
  }
115
- async findRoutesDirectory() {
116
- const routesDir = resolve(this.config.workingDir, 'src/routes');
117
- const rootRoutesDir = resolve(this.config.workingDir, 'routes');
118
- // Try src/routes first (standard SvelteKit convention)
119
- try {
120
- await access(routesDir, constants.F_OK);
121
- const routesStats = await stat(routesDir);
122
- if (!routesStats.isDirectory()) {
123
- throw new Error(`Path exists but is not a directory: ${routesDir}`);
124
- }
125
- return routesDir;
126
- }
127
- catch {
128
- // Try routes as fallback
129
- try {
130
- await access(rootRoutesDir, constants.F_OK);
131
- const rootRoutesStats = await stat(rootRoutesDir);
132
- if (!rootRoutesStats.isDirectory()) {
133
- throw new Error(`Path exists but is not a directory: ${rootRoutesDir}`);
134
- }
135
- return rootRoutesDir;
136
- }
137
- catch {
138
- throw new Error('Could not find SvelteKit routes directory. Expected either "src/routes" or "routes" to exist.');
139
- }
140
- }
134
+ async loadRoutesDirectory() {
135
+ const routesDir = this.#routesDir ?? (await loadSvelteKitRoutesDir(this.config.workingDir));
136
+ await assertDirectory(routesDir);
137
+ return routesDir;
138
+ }
139
+ }
140
+ export async function loadSvelteKitRoutesDir(workingDir) {
141
+ const require = createRequire(join(workingDir, 'package.json'));
142
+ const packageJsonPath = require.resolve('@sveltejs/kit/package.json');
143
+ const loaderPath = join(dirname(packageJsonPath), 'src/core/config/index.js');
144
+ // SvelteKit's internal config loader
145
+ const { load_config } = await import(pathToFileURL(loaderPath).href);
146
+ const config = await load_config({ cwd: workingDir });
147
+ const routesDir = config.kit?.files?.routes;
148
+ if (routesDir == null || typeof routesDir !== 'string') {
149
+ throw new Error('Expected SvelteKit config loader to return kit.files.routes as a string.');
150
+ }
151
+ return routesDir;
152
+ }
153
+ async function assertDirectory(path) {
154
+ await access(path, constants.F_OK);
155
+ const stats = await stat(path);
156
+ if (!stats.isDirectory()) {
157
+ throw new Error(`Path exists but is not a directory: ${path}`);
141
158
  }
142
159
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixFQUFFLEVBQ0YsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsc0JBQXNCLEdBRXZCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsTUFBTSx5QkFBeUIsR0FBRztJQUNoQyxRQUFRLEVBQUUsb0JBQW9CO0lBQzlCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixRQUFRLEVBQUUsb0JBQW9CO0NBQy9CLENBQUM7QUFFRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUMvQyxZQUFZLE1BQWlDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXZELEtBQUssQ0FBQztZQUNKLEdBQUcsTUFBTTtZQUNULElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztZQUM1RCxXQUFXLEVBQUUsV0FBb0I7WUFDakMsZUFBZSxFQUFFLEVBQUUsRUFBRSxpQkFBaUI7WUFDdEMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLGlCQUFpQjtZQUMxQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsaUJBQWlCO1lBQ3hDLFVBQVU7WUFDVixnQkFBZ0IsRUFBRSxDQUFDLEdBQUcseUJBQXlCLENBQUM7WUFDaEQsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTO1NBQzdCLENB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bXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGFjY2VzcyxcbiAgY29weUZpbGUsXG4gIG1rZGlyLFxuICByZWFkRmlsZSxcbiAgcm0sXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBqb2luLCByZXNvbHZlIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7XG4gIEJhc2VCdWlsZGVyLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICB0eXBlIFN2ZWx0ZUtpdENvbmZpZyxcbn0gZnJvbSAnQHdvcmtmbG93L2J1aWxkZXJzJztcblxuY29uc3QgU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFUyA9IFtcbiAgJyRlbnYvKicsIC8vIEFsbCAkZW52IHN1YnBhdGhzXG4gICckbGliJywgLy8gRXhhY3QgJGxpYiBpbXBvcnRcbiAgJyRsaWIvKicsIC8vIEFsbCAkbGliIHN1YnBhdGhzXG4gICckYXBwLyonLCAvLyBBbGwgJGFwcCBzdWJwYXRoc1xuXTtcblxuZXhwb3J0IGNsYXNzIFN2ZWx0ZUtpdEJ1aWxkZXIgZXh0ZW5kcyBCYXNlQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IFBhcnRpYWw8U3ZlbHRlS2l0Q29uZmlnPikge1xuICAgIGNvbnN0IHdvcmtpbmdEaXIgPSBjb25maWc/LndvcmtpbmdEaXIgfHwgcHJvY2Vzcy5jd2QoKTtcblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGRpcnM6IFsnd29ya2Zsb3dzJywgJ3NyYy93b3JrZmxvd3MnLCAncm91dGVzJywgJ3NyYy9yb3V0ZXMnXSxcbiAgICAgIGJ1aWxkVGFyZ2V0OiAnc3ZlbHRla2l0JyBhcyBjb25zdCxcbiAgICAgIHN0ZXBzQnVuZGxlUGF0aDogJycsIC8vIHVudXNlZCBpbiBiYXNlXG4gICAgICB3b3JrZmxvd3NCdW5kbGVQYXRoOiAnJywgLy8gdW51c2VkIGluIGJhc2VcbiAgICAgIHdlYmhvb2tCdW5kbGVQYXRoOiAnJywgLy8gdW51c2VkIGluIGJhc2VcbiAgICAgIHdvcmtpbmdEaXIsXG4gICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgICBzb3VyY2VtYXA6IGNvbmZpZz8uc291cmNlbWFwLFxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRmluZCBTdmVsdGVLaXQgcm91dGVzIGRpcmVjdG9yeSAoc3JjL3JvdXRlcyBvciByb3V0ZXMpXG4gICAgY29uc3Qgcm91dGVzRGlyID0gYXdhaXQgdGhpcy5maW5kUm91dGVzRGlyZWN0b3J5KCk7XG4gICAgY29uc3Qgd29ya2Zsb3dHZW5lcmF0ZWREaXIgPSBqb2luKHJvdXRlc0RpciwgJy53ZWxsLWtub3duL3dvcmtmbG93L3YxJyk7XG5cbiAgICAvLyBFbnN1cmUgb3V0cHV0IGRpcmVjdG9yaWVzIGV4aXN0XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dHZW5lcmF0ZWREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQWRkIC5naXRpZ25vcmUgdG8gZXhjbHVkZSBnZW5lcmF0ZWQgZmlsZXMgZnJvbSB2ZXJzaW9uIGNvbnRyb2xcbiAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgfVxuXG4gICAgLy8gQ2xlYW4gdXAgc3RhbGUgVjEgc3RlcCByb3V0ZSBkaXJlY3RvcnkgKG1heSBwZXJzaXN0IHZpYSBWZXJjZWwgYnVpbGQgY2FjaGUpXG4gICAgYXdhaXQgcm0oam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ3N0ZXAnKSwge1xuICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgZm9yY2U6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBHZXQgd29ya2Zsb3cgYW5kIHN0ZXAgZmlsZXMgdG8gYnVuZGxlXG4gICAgY29uc3QgaW5wdXRGaWxlcyA9IGF3YWl0IHRoaXMuZ2V0SW5wdXRGaWxlcygpO1xuICAgIGNvbnN0IHRzY29uZmlnUGF0aCA9IGF3YWl0IHRoaXMuZmluZFRzQ29uZmlnUGF0aCgpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbWJpbmVkIGJ1bmRsZSBmb3IgZmxvdyByb3V0ZVxuICAgIGNvbnN0IGZsb3dSb3V0ZURpciA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93Jyk7XG4gICAgYXdhaXQgbWtkaXIoZmxvd1JvdXRlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgbWFuaWZlc3QgfSA9IGF3YWl0IHRoaXMuY3JlYXRlQ29tYmluZWRCdW5kbGUoe1xuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIHN0ZXBzT3V0ZmlsZTogam9pbihmbG93Um91dGVEaXIsICdfX3N0ZXBfcmVnaXN0cmF0aW9ucy5qcycpLFxuICAgICAgZmxvd091dGZpbGU6IGpvaW4oZmxvd1JvdXRlRGlyLCAnK3NlcnZlci5qcycpLFxuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIGJ1bmRsZUZpbmFsT3V0cHV0OiBmYWxzZSxcbiAgICAgIGV4dGVybmFsaXplTm9uU3RlcHM6IHRydWUsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZUZpbGUgPSBqb2luKGZsb3dSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUod29ya2Zsb3dzUm91dGVGaWxlLCAndXRmLTgnKTtcblxuICAgIC8vIFJlcGxhY2UgdGhlIGRlZmF1bHQgZXhwb3J0IHdpdGggU3ZlbHRlS2l0LWNvbXBhdGlibGUgaGFuZGxlclxuICAgIHdvcmtmbG93c1JvdXRlQ29udGVudCA9IHdvcmtmbG93c1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2V4cG9ydCBjb25zdCBQT1NUID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7PyQvbSxcbiAgICAgIChfbWF0Y2gsIG9wdGlvbnMgPSAnJykgPT4gYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmV4cG9ydCBjb25zdCBQT1NUID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn1gXG4gICAgKTtcbiAgICBhd2FpdCB3cml0ZUZpbGUod29ya2Zsb3dzUm91dGVGaWxlLCB3b3JrZmxvd3NSb3V0ZUNvbnRlbnQpO1xuXG4gICAgYXdhaXQgdGhpcy5idWlsZFdlYmhvb2tSb3V0ZSh7IHdvcmtmbG93R2VuZXJhdGVkRGlyIH0pO1xuXG4gICAgLy8gR2VuZXJhdGUgdW5pZmllZCBtYW5pZmVzdFxuICAgIGNvbnN0IHdvcmtmbG93QnVuZGxlUGF0aCA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93LytzZXJ2ZXIuanMnKTtcbiAgICBjb25zdCBtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLmNyZWF0ZU1hbmlmZXN0KHtcbiAgICAgIHdvcmtmbG93QnVuZGxlUGF0aCxcbiAgICAgIG1hbmlmZXN0RGlyOiB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgLy8gRXhwb3NlIG1hbmlmZXN0IGFzIGEgc3RhdGljIGZpbGUgd2hlbiBXT1JLRkxPV19QVUJMSUNfTUFOSUZFU1Q9MS5cbiAgICAvLyBTdmVsdGVLaXQgc2VydmVzIGZpbGVzIGZyb20gc3RhdGljLyBhdCB0aGUgcm9vdCBVUkwuXG4gICAgaWYgKHRoaXMuc2hvdWxkRXhwb3NlUHVibGljTWFuaWZlc3QgJiYgbWFuaWZlc3RKc29uKSB7XG4gICAgICBjb25zdCBzdGF0aWNNYW5pZmVzdERpciA9IGpvaW4oXG4gICAgICAgIHRoaXMuY29uZmlnLndvcmtpbmdEaXIsXG4gICAgICAgICdzdGF0aWMvLndlbGwta25vd24vd29ya2Zsb3cvdjEnXG4gICAgICApO1xuICAgICAgYXdhaXQgbWtkaXIoc3RhdGljTWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlZFUkNFTF9ERVBMT1lNRU5UX0lEID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgICB9XG4gICAgICBhd2FpdCBjb3B5RmlsZShcbiAgICAgICAgam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ21hbmlmZXN0Lmpzb24nKSxcbiAgICAgICAgam9pbihzdGF0aWNNYW5pZmVzdERpciwgJ21hbmlmZXN0Lmpzb24nKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkV2ViaG9va1JvdXRlKHtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgfToge1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyOiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgd2ViaG9vayByb3V0ZTogLndlbGwta25vd24vd29ya2Zsb3cvdjEvd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanNcbiAgICBjb25zdCB3ZWJob29rUm91dGVGaWxlID0gam9pbihcbiAgICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgJ3dlYmhvb2svW3Rva2VuXS8rc2VydmVyLmpzJ1xuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVdlYmhvb2tCdW5kbGUoe1xuICAgICAgb3V0ZmlsZTogd2ViaG9va1JvdXRlRmlsZSxcbiAgICAgIGJ1bmRsZTogZmFsc2UsIC8vIFN2ZWx0ZUtpdCB3aWxsIGhhbmRsZSBidW5kbGluZ1xuICAgIH0pO1xuXG4gICAgLy8gUG9zdC1wcm9jZXNzIHRoZSBnZW5lcmF0ZWQgZmlsZSB0byB3cmFwIHdpdGggU3ZlbHRlS2l0IHJlcXVlc3QgY29udmVydGVyXG4gICAgbGV0IHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh3ZWJob29rUm91dGVGaWxlLCAndXRmLTgnKTtcblxuICAgIC8vIFVwZGF0ZSBoYW5kbGVyIHNpZ25hdHVyZSB0byBhY2NlcHQgdG9rZW4gYXMgcGFyYW1ldGVyXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9hc3luYyBmdW5jdGlvbiBoYW5kbGVyXFwocmVxdWVzdFxcKSBcXHtbXFxzXFxTXSo/Y29uc3QgdG9rZW4gPSBkZWNvZGVVUklDb21wb25lbnRcXChwYXRoUGFydHNcXFtwYXRoUGFydHNcXC5sZW5ndGggLSAxXFxdXFwpOy8sXG4gICAgICBgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihyZXF1ZXN0LCB0b2tlbikge2BcbiAgICApO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBVUkwgcGFyc2luZyBjb2RlIHNpbmNlIHdlIGdldCB0b2tlbiBmcm9tIHBhcmFtc1xuICAgIHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSB3ZWJob29rUm91dGVDb250ZW50LnJlcGxhY2UoXG4gICAgICAvY29uc3QgdXJsID0gbmV3IFVSTFxcKHJlcXVlc3RcXC51cmxcXCk7W1xcc1xcU10qP2NvbnN0IHBhdGhQYXJ0cyA9IHVybFxcLnBhdGhuYW1lXFwuc3BsaXRcXCgnXFwvJ1xcKTtbXFxzXFxTXSo/XFxuLyxcbiAgICAgICcnXG4gICAgKTtcblxuICAgIC8vIFJlcGxhY2UgYWxsIEhUVFAgbWV0aG9kIGV4cG9ydHMgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyc1xuICAgIHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSB3ZWJob29rUm91dGVDb250ZW50LnJlcGxhY2UoXG4gICAgICAvZXhwb3J0IGNvbnN0IEdFVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBPU1QgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBQVVQgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBQQVRDSCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IERFTEVURSA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IEhFQUQgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBPUFRJT05TID0gaGFuZGxlcjsvLFxuICAgICAgYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmNvbnN0IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIgPSAobWV0aG9kKSA9PiBhc3luYyAoeyByZXF1ZXN0LCBwYXJhbXMsIHBsYXRmb3JtIH0pID0+IHtcbiAgY29uc3Qgbm9ybWFsUmVxdWVzdCA9IGF3YWl0IG5vcm1hbGl6ZVJlcXVlc3QocmVxdWVzdCk7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaGFuZGxlcihub3JtYWxSZXF1ZXN0LCBwYXJhbXMudG9rZW4pO1xuICByZXR1cm4gcmVzcG9uc2U7XG59O1xuXG5leHBvcnQgY29uc3QgR0VUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignR0VUJyk7XG5leHBvcnQgY29uc3QgUE9TVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BPU1QnKTtcbmV4cG9ydCBjb25zdCBQVVQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdQVVQnKTtcbmV4cG9ydCBjb25zdCBQQVRDSCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BBVENIJyk7XG5leHBvcnQgY29uc3QgREVMRVRFID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignREVMRVRFJyk7XG5leHBvcnQgY29uc3QgSEVBRCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ0hFQUQnKTtcbmV4cG9ydCBjb25zdCBPUFRJT05TID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignT1BUSU9OUycpO2BcbiAgICApO1xuXG4gICAgYXdhaXQgd3JpdGVGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsIHdlYmhvb2tSb3V0ZUNvbnRlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmaW5kUm91dGVzRGlyZWN0b3J5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gcmVzb2x2ZSh0aGlzLmNvbmZpZy53b3JraW5nRGlyLCAnc3JjL3JvdXRlcycpO1xuICAgIGNvbnN0IHJvb3RSb3V0ZXNEaXIgPSByZXNvbHZlKHRoaXMuY29uZmlnLndvcmtpbmdEaXIsICdyb3V0ZXMnKTtcblxuICAgIC8vIFRyeSBzcmMvcm91dGVzIGZpcnN0IChzdGFuZGFyZCBTdmVsdGVLaXQgY29udmVudGlvbilcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYWNjZXNzKHJvdXRlc0RpciwgY29uc3RhbnRzLkZfT0spO1xuICAgICAgY29uc3Qgcm91dGVzU3RhdHMgPSBhd2FpdCBzdGF0KHJvdXRlc0Rpcik7XG4gICAgICBpZiAoIXJvdXRlc1N0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXRoIGV4aXN0cyBidXQgaXMgbm90IGEgZGlyZWN0b3J5OiAke3JvdXRlc0Rpcn1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByb3V0ZXNEaXI7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBUcnkgcm91dGVzIGFzIGZhbGxiYWNrXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhY2Nlc3Mocm9vdFJvdXRlc0RpciwgY29uc3RhbnRzLkZfT0spO1xuICAgICAgICBjb25zdCByb290Um91dGVzU3RhdHMgPSBhd2FpdCBzdGF0KHJvb3RSb3V0ZXNEaXIpO1xuICAgICAgICBpZiAoIXJvb3RSb3V0ZXNTdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFBhdGggZXhpc3RzIGJ1dCBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7cm9vdFJvdXRlc0Rpcn1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm9vdFJvdXRlc0RpcjtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIFN2ZWx0ZUtpdCByb3V0ZXMgZGlyZWN0b3J5LiBFeHBlY3RlZCBlaXRoZXIgXCJzcmMvcm91dGVzXCIgb3IgXCJyb3V0ZXNcIiB0byBleGlzdC4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixFQUFFLEVBQ0YsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUNMLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFFBQVEsRUFBRSxvQkFBb0I7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQjtDQUMvQixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDL0MsVUFBVSxDQUFxQjtJQUUvQixZQUFZLFNBQTRELEVBQUU7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSTtZQUMxQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFFBQVE7WUFDUixZQUFZO1NBQ2IsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsVUFBVSxD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QUFDO0lBQ3RFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztJQUU5RSxxQ0FBcUM7SUFDckMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUM1QyxJQUFJLFNBQVMsSUFBSSxJQUFJLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FDYiwwRUFBMEUsQ0FDM0UsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsS0FBSyxVQUFVLGVBQWUsQ0FBQyxJQUFZO0lBQ3pDLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGFjY2VzcyxcbiAgY29weUZpbGUsXG4gIG1rZGlyLFxuICByZWFkRmlsZSxcbiAgcm0sXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIGNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICByZXNvbHZlUHJvamVjdFJvb3QsXG4gIHR5cGUgU3ZlbHRlS2l0Q29uZmlnLFxufSBmcm9tICdAd29ya2Zsb3cvYnVpbGRlcnMnO1xuXG5jb25zdCBTVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTID0gW1xuICAnJGVudi8qJywgLy8gQWxsICRlbnYgc3VicGF0aHNcbiAgJyRsaWInLCAvLyBFeGFjdCAkbGliIGltcG9ydFxuICAnJGxpYi8qJywgLy8gQWxsICRsaWIgc3VicGF0aHNcbiAgJyRhcHAvKicsIC8vIEFsbCAkYXBwIHN1YnBhdGhzXG5dO1xuXG5leHBvcnQgY2xhc3MgU3ZlbHRlS2l0QnVpbGRlciBleHRlbmRzIEJhc2VCdWlsZGVyIHtcbiAgI3JvdXRlc0Rpcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogUGFydGlhbDxTdmVsdGVLaXRDb25maWc+ICYgeyByb3V0ZXNEaXI/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgY29uc3Qgd29ya2luZ0RpciA9IHJlc29sdmUoY29uZmlnLndvcmtpbmdEaXIgfHwgcHJvY2Vzcy5jd2QoKSk7XG4gICAgY29uc3QgZGlycyA9IGNvbmZpZy5kaXJzID8/IFtcbiAgICAgICd3b3JrZmxvd3MnLFxuICAgICAgJ3NyYy93b3JrZmxvd3MnLFxuICAgICAgJ3JvdXRlcycsXG4gICAgICAnc3JjL3JvdXRlcycsXG4gICAgXTtcbiAgICBjb25zdCBwcm9qZWN0Um9vdCA9IGNvbmZpZy5wcm9qZWN0Um9vdCA/PyByZXNvbHZlUHJvamVjdFJvb3Qod29ya2luZ0Rpcik7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gY29uZmlnLnJvdXRlc0RpclxuICAgICAgPyByZXNvbHZlKHdvcmtpbmdEaXIsIGNvbmZpZy5yb3V0ZXNEaXIpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBzdXBlcih7XG4gICAgICAuLi5jcmVhdGVCYXNlQnVpbGRlckNvbmZpZyh7XG4gICAgICAgIHdvcmtpbmdEaXIsXG4gICAgICAgIHByb2plY3RSb290LFxuICAgICAgICBkaXJzLFxuICAgICAgICB3YXRjaDogY29uZmlnLndhdGNoLFxuICAgICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgICAgIHNvdXJjZW1hcDogY29uZmlnLnNvdXJjZW1hcCxcbiAgICAgIH0pLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgZGlycyxcbiAgICAgIGJ1aWxkVGFyZ2V0OiAnc3ZlbHRla2l0JyBhcyBjb25zdCxcbiAgICAgIHdvcmtpbmdEaXIsXG4gICAgICBwcm9qZWN0Um9vdCxcbiAgICAgIG1vZHVsZVNwZWNpZmllclJvb3Q6IGNvbmZpZy5tb2R1bGVTcGVjaWZpZXJSb290ID8/IHdvcmtpbmdEaXIsXG4gICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgfSk7XG4gICAgdGhpcy4jcm91dGVzRGlyID0gcm91dGVzRGlyO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gYXdhaXQgdGhpcy5sb2FkUm91dGVzRGlyZWN0b3J5KCk7XG4gICAgY29uc3Qgd29ya2Zsb3dHZW5lcmF0ZWREaXIgPSBqb2luKHJvdXRlc0RpciwgJy53ZWxsLWtub3duL3dvcmtmbG93L3YxJyk7XG5cbiAgICAvLyBFbnN1cmUgb3V0cHV0IGRpcmVjdG9yaWVzIGV4aXN0XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dHZW5lcmF0ZWREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQWRkIC5naXRpZ25vcmUgdG8gZXhjbHVkZSBnZW5lcmF0ZWQgZmlsZXMgZnJvbSB2ZXJzaW9uIGNvbnRyb2xcbiAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgfVxuXG4gICAgLy8gQ2xlYW4gdXAgc3RhbGUgVjEgc3RlcCByb3V0ZSBkaXJlY3RvcnkgKG1heSBwZXJzaXN0IHZpYSBWZXJjZWwgYnVpbGQgY2FjaGUpXG4gICAgYXdhaXQgcm0oam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ3N0ZXAnKSwge1xuICAgICAgcmVjdXJzaXZlOiB0cnVlLFxuICAgICAgZm9yY2U6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBHZXQgd29ya2Zsb3cgYW5kIHN0ZXAgZmlsZXMgdG8gYnVuZGxlXG4gICAgY29uc3QgaW5wdXRGaWxlcyA9IGF3YWl0IHRoaXMuZ2V0SW5wdXRGaWxlcygpO1xuICAgIGNvbnN0IHRzY29uZmlnUGF0aCA9IGF3YWl0IHRoaXMuZmluZFRzQ29uZmlnUGF0aCgpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbWJpbmVkIGJ1bmRsZSBmb3IgZmxvdyByb3V0ZVxuICAgIGNvbnN0IGZsb3dSb3V0ZURpciA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93Jyk7XG4gICAgYXdhaXQgbWtkaXIoZmxvd1JvdXRlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgbWFuaWZlc3QgfSA9IGF3YWl0IHRoaXMuY3JlYXRlQ29tYmluZWRCdW5kbGUoe1xuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIHN0ZXBzT3V0ZmlsZTogam9pbihmbG93Um91dGVEaXIsICdfX3N0ZXBfcmVnaXN0cmF0aW9ucy5qcycpLFxuICAgICAgZmxvd091dGZpbGU6IGpvaW4oZmxvd1JvdXRlRGlyLCAnK3NlcnZlci5qcycpLFxuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIGJ1bmRsZUZpbmFsT3V0cHV0OiBmYWxzZSxcbiAgICAgIGV4dGVybmFsaXplTm9uU3RlcHM6IHRydWUsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZUZpbGUgPSBqb2luKGZsb3dSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUod29ya2Zsb3dzUm91dGVGaWxlLCAndXRmLTgnKTtcblxuICAgIC8vIFJlcGxhY2UgdGhlIGRlZmF1bHQgZXhwb3J0IHdpdGggU3ZlbHRlS2l0LWNvbXBhdGlibGUgaGFuZGxlclxuICAgIHdvcmtmbG93c1JvdXRlQ29udGVudCA9IHdvcmtmbG93c1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2V4cG9ydCBjb25zdCBQT1NUID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7PyQvbSxcbiAgICAgIChfbWF0Y2gsIG9wdGlvbnMgPSAnJykgPT4gYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmV4cG9ydCBjb25zdCBQT1NUID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn1gXG4gICAgKTtcbiAgICBhd2FpdCB3cml0ZUZpbGUod29ya2Zsb3dzUm91dGVGaWxlLCB3b3JrZmxvd3NSb3V0ZUNvbnRlbnQpO1xuXG4gICAgYXdhaXQgdGhpcy5idWlsZFdlYmhvb2tSb3V0ZSh7IHdvcmtmbG93R2VuZXJhdGVkRGlyIH0pO1xuXG4gICAgLy8gR2VuZXJhdGUgdW5pZmllZCBtYW5pZmVzdFxuICAgIGNvbnN0IHdvcmtmbG93QnVuZGxlUGF0aCA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93LytzZXJ2ZXIuanMnKTtcbiAgICBjb25zdCBtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLmNyZWF0ZU1hbmlmZXN0KHtcbiAgICAgIHdvcmtmbG93QnVuZGxlUGF0aCxcbiAgICAgIG1hbmlmZXN0RGlyOiB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgLy8gRXhwb3NlIG1hbmlmZXN0IGFzIGEgc3RhdGljIGZpbGUgd2hlbiBXT1JLRkxPV19QVUJMSUNfTUFOSUZFU1Q9MS5cbiAgICAvLyBTdmVsdGVLaXQgc2VydmVzIGZpbGVzIGZyb20gc3RhdGljLyBhdCB0aGUgcm9vdCBVUkwuXG4gICAgaWYgKHRoaXMuc2hvdWxkRXhwb3NlUHVibGljTWFuaWZlc3QgJiYgbWFuaWZlc3RKc29uKSB7XG4gICAgICBjb25zdCBzdGF0aWNNYW5pZmVzdERpciA9IGpvaW4oXG4gICAgICAgIHRoaXMuY29uZmlnLndvcmtpbmdEaXIsXG4gICAgICAgICdzdGF0aWMvLndlbGwta25vd24vd29ya2Zsb3cvdjEnXG4gICAgICApO1xuICAgICAgYXdhaXQgbWtkaXIoc3RhdGljTWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlZFUkNFTF9ERVBMT1lNRU5UX0lEID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgICB9XG4gICAgICBhd2FpdCBjb3B5RmlsZShcbiAgICAgICAgam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ21hbmlmZXN0Lmpzb24nKSxcbiAgICAgICAgam9pbihzdGF0aWNNYW5pZmVzdERpciwgJ21hbmlmZXN0Lmpzb24nKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkV2ViaG9va1JvdXRlKHtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgfToge1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyOiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgd2ViaG9vayByb3V0ZTogLndlbGwta25vd24vd29ya2Zsb3cvdjEvd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanNcbiAgICBjb25zdCB3ZWJob29rUm91dGVGaWxlID0gam9pbihcbiAgICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgJ3dlYmhvb2svW3Rva2VuXS8rc2VydmVyLmpzJ1xuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVdlYmhvb2tCdW5kbGUoe1xuICAgICAgb3V0ZmlsZTogd2ViaG9va1JvdXRlRmlsZSxcbiAgICAgIGJ1bmRsZTogZmFsc2UsIC8vIFN2ZWx0ZUtpdCB3aWxsIGhhbmRsZSBidW5kbGluZ1xuICAgIH0pO1xuXG4gICAgLy8gUG9zdC1wcm9jZXNzIHRoZSBnZW5lcmF0ZWQgZmlsZSB0byB3cmFwIHdpdGggU3ZlbHRlS2l0IHJlcXVlc3QgY29udmVydGVyXG4gICAgbGV0IHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh3ZWJob29rUm91dGVGaWxlLCAndXRmLTgnKTtcblxuICAgIC8vIFVwZGF0ZSBoYW5kbGVyIHNpZ25hdHVyZSB0byBhY2NlcHQgdG9rZW4gYXMgcGFyYW1ldGVyXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9hc3luYyBmdW5jdGlvbiBoYW5kbGVyXFwocmVxdWVzdFxcKSBcXHtbXFxzXFxTXSo/Y29uc3QgdG9rZW4gPSBkZWNvZGVVUklDb21wb25lbnRcXChwYXRoUGFydHNcXFtwYXRoUGFydHNcXC5sZW5ndGggLSAxXFxdXFwpOy8sXG4gICAgICBgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihyZXF1ZXN0LCB0b2tlbikge2BcbiAgICApO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBVUkwgcGFyc2luZyBjb2RlIHNpbmNlIHdlIGdldCB0b2tlbiBmcm9tIHBhcmFtc1xuICAgIHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSB3ZWJob29rUm91dGVDb250ZW50LnJlcGxhY2UoXG4gICAgICAvY29uc3QgdXJsID0gbmV3IFVSTFxcKHJlcXVlc3RcXC51cmxcXCk7W1xcc1xcU10qP2NvbnN0IHBhdGhQYXJ0cyA9IHVybFxcLnBhdGhuYW1lXFwuc3BsaXRcXCgnXFwvJ1xcKTtbXFxzXFxTXSo/XFxuLyxcbiAgICAgICcnXG4gICAgKTtcblxuICAgIC8vIFJlcGxhY2UgYWxsIEhUVFAgbWV0aG9kIGV4cG9ydHMgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyc1xuICAgIHdlYmhvb2tSb3V0ZUNvbnRlbnQgPSB3ZWJob29rUm91dGVDb250ZW50LnJlcGxhY2UoXG4gICAgICAvZXhwb3J0IGNvbnN0IEdFVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBPU1QgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBQVVQgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBQQVRDSCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IERFTEVURSA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IEhFQUQgPSBoYW5kbGVyO1xcbmV4cG9ydCBjb25zdCBPUFRJT05TID0gaGFuZGxlcjsvLFxuICAgICAgYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmNvbnN0IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIgPSAobWV0aG9kKSA9PiBhc3luYyAoeyByZXF1ZXN0LCBwYXJhbXMsIHBsYXRmb3JtIH0pID0+IHtcbiAgY29uc3Qgbm9ybWFsUmVxdWVzdCA9IGF3YWl0IG5vcm1hbGl6ZVJlcXVlc3QocmVxdWVzdCk7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaGFuZGxlcihub3JtYWxSZXF1ZXN0LCBwYXJhbXMudG9rZW4pO1xuICByZXR1cm4gcmVzcG9uc2U7XG59O1xuXG5leHBvcnQgY29uc3QgR0VUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignR0VUJyk7XG5leHBvcnQgY29uc3QgUE9TVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BPU1QnKTtcbmV4cG9ydCBjb25zdCBQVVQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdQVVQnKTtcbmV4cG9ydCBjb25zdCBQQVRDSCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BBVENIJyk7XG5leHBvcnQgY29uc3QgREVMRVRFID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignREVMRVRFJyk7XG5leHBvcnQgY29uc3QgSEVBRCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ0hFQUQnKTtcbmV4cG9ydCBjb25zdCBPUFRJT05TID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignT1BUSU9OUycpO2BcbiAgICApO1xuXG4gICAgYXdhaXQgd3JpdGVGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsIHdlYmhvb2tSb3V0ZUNvbnRlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUm91dGVzRGlyZWN0b3J5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID1cbiAgICAgIHRoaXMuI3JvdXRlc0RpciA/PyAoYXdhaXQgbG9hZFN2ZWx0ZUtpdFJvdXRlc0Rpcih0aGlzLmNvbmZpZy53b3JraW5nRGlyKSk7XG4gICAgYXdhaXQgYXNzZXJ0RGlyZWN0b3J5KHJvdXRlc0Rpcik7XG4gICAgcmV0dXJuIHJvdXRlc0RpcjtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFN2ZWx0ZUtpdFJvdXRlc0RpcihcbiAgd29ya2luZ0Rpcjogc3RyaW5nXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShqb2luKHdvcmtpbmdEaXIsICdwYWNrYWdlLmpzb24nKSk7XG4gIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHJlcXVpcmUucmVzb2x2ZSgnQHN2ZWx0ZWpzL2tpdC9wYWNrYWdlLmpzb24nKTtcbiAgY29uc3QgbG9hZGVyUGF0aCA9IGpvaW4oZGlybmFtZShwYWNrYWdlSnNvblBhdGgpLCAnc3JjL2NvcmUvY29uZmlnL2luZGV4LmpzJyk7XG5cbiAgLy8gU3ZlbHRlS2l0J3MgaW50ZXJuYWwgY29uZmlnIGxvYWRlclxuICBjb25zdCB7IGxvYWRfY29uZmlnIH0gPSBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTChsb2FkZXJQYXRoKS5ocmVmKTtcbiAgY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZF9jb25maWcoeyBjd2Q6IHdvcmtpbmdEaXIgfSk7XG4gIGNvbnN0IHJvdXRlc0RpciA9IGNvbmZpZy5raXQ/LmZpbGVzPy5yb3V0ZXM7XG4gIGlmIChyb3V0ZXNEaXIgPT0gbnVsbCB8fCB0eXBlb2Ygcm91dGVzRGlyICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdFeHBlY3RlZCBTdmVsdGVLaXQgY29uZmlnIGxvYWRlciB0byByZXR1cm4ga2l0LmZpbGVzLnJvdXRlcyBhcyBhIHN0cmluZy4nXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcm91dGVzRGlyO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhc3NlcnREaXJlY3RvcnkocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGFjY2VzcyhwYXRoLCBjb25zdGFudHMuRl9PSyk7XG4gIGNvbnN0IHN0YXRzID0gYXdhaXQgc3RhdChwYXRoKTtcbiAgaWYgKCFzdGF0cy5pc0RpcmVjdG9yeSgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXRoIGV4aXN0cyBidXQgaXMgbm90IGEgZGlyZWN0b3J5OiAke3BhdGh9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CACjE;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,EAAE,CA8D5E"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CACjE;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,EAAE,CAsE5E"}
package/dist/plugin.js CHANGED
@@ -3,7 +3,7 @@ import { workflowTransformPlugin } from '@workflow/rollup';
3
3
  import { workflowHotUpdatePlugin } from '@workflow/vite';
4
4
  import { SvelteKitBuilder } from './builder.js';
5
5
  export function workflowPlugin(options = {}) {
6
- const builder = new SvelteKitBuilder({ sourcemap: options.sourcemap });
6
+ let builder;
7
7
  const enqueue = createBuildQueue();
8
8
  return [
9
9
  workflowTransformPlugin(),
@@ -36,31 +36,37 @@ export function workflowPlugin(options = {}) {
36
36
  // bundled lib that, on seeing `require`, does `require()` of an ESM-only
37
37
  // dependency on a Node version without `require(ESM)` support.
38
38
  configResolved(config) {
39
+ if (config.command === 'serve') {
40
+ builder = new SvelteKitBuilder({
41
+ workingDir: config.root,
42
+ sourcemap: options.sourcemap,
43
+ });
44
+ }
39
45
  if (!config.build?.ssr) {
40
46
  return;
41
47
  }
42
48
  const banner = "import { createRequire as __wkfCreateRequire } from 'node:module'; if (typeof require === 'undefined') { globalThis.require = __wkfCreateRequire(import.meta.url); }";
43
49
  const rollupOptions = config.build.rollupOptions;
44
- if (rollupOptions.output == null) {
45
- rollupOptions.output = {};
46
- }
50
+ rollupOptions.output ??= {};
47
51
  const output = rollupOptions.output;
48
52
  const outputs = Array.isArray(output) ? output : [output];
49
- for (const o of outputs) {
50
- const existing = o.banner;
51
- o.banner =
52
- existing == null
53
- ? banner
54
- : typeof existing === 'function'
55
- ? async (chunk) => `${banner}\n${await existing(chunk)}`
56
- : `${banner}\n${existing}`;
53
+ for (const output of outputs) {
54
+ const existing = output.banner;
55
+ if (existing == null) {
56
+ output.banner = banner;
57
+ continue;
58
+ }
59
+ output.banner =
60
+ typeof existing === 'function'
61
+ ? async (chunk) => `${banner}\n${await existing(chunk)}`
62
+ : `${banner}\n${existing}`;
57
63
  }
58
64
  },
59
65
  },
60
66
  workflowHotUpdatePlugin({
61
- builder,
67
+ builder: () => builder,
62
68
  enqueue,
63
69
  }),
64
70
  ];
65
71
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFZaEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFpQyxFQUFFO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUVuQyxPQUFPO1FBQ0wsdUJBQXVCLEVBQVk7UUFDbkM7WUFDRSxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLHlFQUF5RTtZQUN6RSx3RUFBd0U7WUFDeEUsMkVBQTJFO1lBQzNFLDBFQUEwRTtZQUMxRSxnRUFBZ0U7WUFDaEUseUVBQXlFO1lBQ3pFLHFFQUFxRTtZQUNyRSxzRUFBc0U7WUFDdEUsMkNBQTJDO1lBQzNDLEVBQUU7WUFDRix3RUFBd0U7WUFDeEUsd0VBQXdFO1lBQ3hFLGlFQUFpRTtZQUNqRSxvRUFBb0U7WUFDcEUsRUFBRTtZQUNGLHNFQUFzRTtZQUN0RSwyRUFBMkU7WUFDM0UsMkVBQTJFO1lBQzNFLDJFQUEyRTtZQUMzRSwwRUFBMEU7WUFDMUUscUVBQXFFO1lBQ3JFLDBFQUEwRTtZQUMxRSx5RUFBeUU7WUFDekUsMEVBQTBFO1lBQzFFLHlFQUF5RTtZQUN6RSwrREFBK0Q7WUFDL0QsY0FBYyxDQUFDLE1BQU07Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO29CQUN2QixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQ1Ysc0tBQXNLLENBQUM7Z0JBQ3pLLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNqRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ2pDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUM1QixDQUFDO2dCQUNELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUQsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLE1BQU07d0JBQ04sUUFBUSxJQUFJLElBQUk7NEJBQ2QsQ0FBQyxDQUFDLE1BQU07NEJBQ1IsQ0FBQyxDQUFDLE9BQU8sUUFBUSxLQUFLLFVBQVU7Z0NBQzlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sS0FBSyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQ0FDeEQsQ0FBQyxDQUFDLEdBQUcsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNuQyxDQUFDO1lBQ0gsQ0FBQztTQUNGO1FBQ0QsdUJBQXVCLENBQUM7WUFDdEIsT0FBTztZQUNQLE9BQU87U0FDUixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVCdWlsZFF1ZXVlIH0gZnJvbSAnQHdvcmtmbG93L2J1aWxkZXJzJztcbmltcG9ydCB7IHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luIH0gZnJvbSAnQHdvcmtmbG93L3JvbGx1cCc7XG5pbXBvcnQgeyB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbiB9IGZyb20gJ0B3b3JrZmxvdy92aXRlJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgeyBTdmVsdGVLaXRCdWlsZGVyIH0gZnJvbSAnLi9idWlsZGVyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1BsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQ29udHJvbHMgaG93IHNvdXJjZSBtYXBzIGFyZSBlbWl0dGVkIGZvciB3b3JrZmxvdyBidW5kbGVzLiBBY2NlcHRzIHRoZVxuICAgKiBzYW1lIHZhbHVlcyBhcyBlc2J1aWxkJ3MgYHNvdXJjZW1hcGAgb3B0aW9uOiBgdHJ1ZWAvYCdpbmxpbmUnYCAoZGVmYXVsdCksXG4gICAqIGAnbGlua2VkJ2AsIGAnZXh0ZXJuYWwnYCwgYCdib3RoJ2AsIG9yIGBmYWxzZWAgdG8gb21pdCBzb3VyY2UgbWFwcy4gQ2FuXG4gICAqIGFsc28gYmUgc2V0IHZpYSB0aGUgYFdPUktGTE9XX1NPVVJDRU1BUGAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICBzb3VyY2VtYXA/OiBib29sZWFuIHwgJ2lubGluZScgfCAnbGlua2VkJyB8ICdleHRlcm5hbCcgfCAnYm90aCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvd1BsdWdpbihvcHRpb25zOiBXb3JrZmxvd1BsdWdpbk9wdGlvbnMgPSB7fSk6IFBsdWdpbltdIHtcbiAgY29uc3QgYnVpbGRlciA9IG5ldyBTdmVsdGVLaXRCdWlsZGVyKHsgc291cmNlbWFwOiBvcHRpb25zLnNvdXJjZW1hcCB9KTtcbiAgY29uc3QgZW5xdWV1ZSA9IGNyZWF0ZUJ1aWxkUXVldWUoKTtcblxuICByZXR1cm4gW1xuICAgIHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luKCkgYXMgUGx1Z2luLFxuICAgIHtcbiAgICAgIG5hbWU6ICd3b3JrZmxvdzpzdmVsdGVraXQnLFxuICAgICAgLy8gU3ZlbHRlS2l0IGJ1bmRsZXMgdGhlIHNlcnZlciAoaW5jbHVkaW5nIHVuZGljaSwgdmlhIHRoZSB3b3JsZCBhZGFwdGVyKVxuICAgICAgLy8gaW50byBFU00gb3V0cHV0LiB1bmRpY2kgbG9hZHMgbW9zdCBub2RlOiBidWlsdGlucyBhcyBFU00gaW1wb3J0cywgYnV0XG4gICAgICAvLyBwdWxscyBpbiBgbm9kZTpodHRwMmAgbGF6aWx5IHZpYSBhIGJhcmUgYHJlcXVpcmUoJ25vZGU6aHR0cDInKWAgaW5zaWRlIGFcbiAgICAgIC8vIHRyeS9jYXRjaCDigJQgd2hpY2ggdGhlIGJ1bmRsZXIgbGVhdmVzIHVuLXdpcmVkLCBzbyBpbiB0aGUgRVNNIGJ1bmRsZSB0aGVcbiAgICAgIC8vIHJlcXVpcmUgdGhyb3dzIGFuZCB1bmRpY2kgc2lsZW50bHkgZmFsbHMgYmFjayB0byBhIHN0dWIgd2hvc2VcbiAgICAgIC8vIGBodHRwMi5jb25uZWN0YCBpcyB1bmRlZmluZWQuIFRoYXQgYnJlYWtzIGFueSBIVFRQLzIgcmVxdWVzdCAob2JzZXJ2ZWRcbiAgICAgIC8vIGFzIHRoZSB3b3JrZmxvdyBmbG93LXJvdXRlIGNhbGxiYWNrIGZhaWxpbmcgd2l0aCBcImZldGNoIGZhaWxlZFwiIC0+XG4gICAgICAvLyBydW5zIG5ldmVyIHN0YXJ0KS4gUHJvdmlkZSBhIHdvcmtpbmcgQ0pTIGByZXF1aXJlYCBmb3IgdGhlICpzZXJ2ZXIqXG4gICAgICAvLyBidWlsZCBzbyB0aGUgcmVhbCBgbm9kZTpodHRwMmAgcmVzb2x2ZXMuXG4gICAgICAvL1xuICAgICAgLy8gRGV0ZWN0aW9uIHJ1bnMgaW4gYGNvbmZpZ1Jlc29sdmVkYCAobm90IHRoZSBgY29uZmlnYCBob29rKTogU3ZlbHRlS2l0XG4gICAgICAvLyBkb2VzIG5vdCBzZXQgYGVudi5pc1NzckJ1aWxkYCBmb3IgaXRzIHNlcnZlciBwYXNzLCBidXQgYGJ1aWxkLnNzcmAgaXNcbiAgICAgIC8vIHNldCBvbiB0aGUgcmVzb2x2ZWQgY29uZmlnLiBXZSBnYXRlIHRvIHRoZSBTU1IgYnVpbGQgYmVjYXVzZSBhXG4gICAgICAvLyBgbm9kZTptb2R1bGVgIGltcG9ydCBpbiB0aGUgY2xpZW50L2Jyb3dzZXIgYnVuZGxlIHdvdWxkIGJyZWFrIGl0LlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgaXMgYSBOb2RlLXNlcnZlci1ydW50aW1lLW9ubHkgc2hpbS4gTm90ZSB0aGUgZGVsaWJlcmF0ZSBnbG9iYWxcbiAgICAgIC8vIHNpZGUgZWZmZWN0OiBkZWZpbmluZyBgZ2xvYmFsVGhpcy5yZXF1aXJlYCBtYWtlcyBgdHlwZW9mIHJlcXVpcmVgIHRydXRoeVxuICAgICAgLy8gZm9yICpldmVyeSogYnVuZGxlZCBkZXBlbmRlbmN5IGluIHRoaXMgRVNNIHNlcnZlciBvdXRwdXQsIHNvIGFueSBsaWJyYXJ5XG4gICAgICAvLyB0aGF0IGZlYXR1cmUtZGV0ZWN0cyBgcmVxdWlyZWAgd2lsbCB0YWtlIGl0cyBDSlMgcGF0aCBoZXJlLiBUaGF0IGlzIHNhZmVcbiAgICAgIC8vIGJlY2F1c2UgKGEpIGl0IG5ldmVyIHRvdWNoZXMgdGhlIGNsaWVudCBidW5kbGUsIChiKSB0aGUgYHR5cGVvZiByZXF1aXJlXG4gICAgICAvLyA9PT0gJ3VuZGVmaW5lZCdgIGd1YXJkIG1ha2VzIGl0IGEgbm8tb3AgaW4gQ0pTIGNodW5rcyB3aGVyZSBhIHJlYWxcbiAgICAgIC8vIGByZXF1aXJlYCBhbHJlYWR5IGV4aXN0cywgYW5kIChjKSB0aGUgYHJlcXVpcmVgIHdlIGluc3RhbGwgaXMgYSB3b3JraW5nXG4gICAgICAvLyBgY3JlYXRlUmVxdWlyZWAsIHNvIGEgbGlicmFyeSB0aGF0IHN3aXRjaGVzIHRvIHRoZSByZXF1aXJlIHBhdGggZ2V0cyBhXG4gICAgICAvLyBmdW5jdGlvbmFsIGByZXF1aXJlYCwgbm90IGEgYnJva2VuIHN0dWIuIFRoZSBiZWhhdmlvciB0byB3YXRjaCBmb3IgaXMgYVxuICAgICAgLy8gYnVuZGxlZCBsaWIgdGhhdCwgb24gc2VlaW5nIGByZXF1aXJlYCwgZG9lcyBgcmVxdWlyZSgpYCBvZiBhbiBFU00tb25seVxuICAgICAgLy8gZGVwZW5kZW5jeSBvbiBhIE5vZGUgdmVyc2lvbiB3aXRob3V0IGByZXF1aXJlKEVTTSlgIHN1cHBvcnQuXG4gICAgICBjb25maWdSZXNvbHZlZChjb25maWcpIHtcbiAgICAgICAgaWYgKCFjb25maWcuYnVpbGQ/LnNzcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBiYW5uZXIgPVxuICAgICAgICAgIFwiaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSBhcyBfX3drZkNyZWF0ZVJlcXVpcmUgfSBmcm9tICdub2RlOm1vZHVsZSc7IGlmICh0eXBlb2YgcmVxdWlyZSA9PT0gJ3VuZGVmaW5lZCcpIHsgZ2xvYmFsVGhpcy5yZXF1aXJlID0gX193a2ZDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7IH1cIjtcbiAgICAgICAgY29uc3Qgcm9sbHVwT3B0aW9ucyA9IGNvbmZpZy5idWlsZC5yb2xsdXBPcHRpb25zO1xuICAgICAgICBpZiAocm9sbHVwT3B0aW9ucy5vdXRwdXQgPT0gbnVsbCkge1xuICAgICAgICAgIHJvbGx1cE9wdGlvbnMub3V0cHV0ID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gcm9sbHVwT3B0aW9ucy5vdXRwdXQ7XG4gICAgICAgIGNvbnN0IG91dHB1dHMgPSBBcnJheS5pc0FycmF5KG91dHB1dCkgPyBvdXRwdXQgOiBbb3V0cHV0XTtcbiAgICAgICAgZm9yIChjb25zdCBvIG9mIG91dHB1dHMpIHtcbiAgICAgICAgICBjb25zdCBleGlzdGluZyA9IG8uYmFubmVyO1xuICAgICAgICAgIG8uYmFubmVyID1cbiAgICAgICAgICAgIGV4aXN0aW5nID09IG51bGxcbiAgICAgICAgICAgICAgPyBiYW5uZXJcbiAgICAgICAgICAgICAgOiB0eXBlb2YgZXhpc3RpbmcgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGFzeW5jIChjaHVuaykgPT4gYCR7YmFubmVyfVxcbiR7YXdhaXQgZXhpc3RpbmcoY2h1bmspfWBcbiAgICAgICAgICAgICAgICA6IGAke2Jhbm5lcn1cXG4ke2V4aXN0aW5nfWA7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbih7XG4gICAgICBidWlsZGVyLFxuICAgICAgZW5xdWV1ZSxcbiAgICB9KSxcbiAgXTtcbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFZaEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFpQyxFQUFFO0lBQ2hFLElBQUksT0FBcUMsQ0FBQztJQUMxQyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRW5DLE9BQU87UUFDTCx1QkFBdUIsRUFBWTtRQUNuQztZQUNFLElBQUksRUFBRSxvQkFBb0I7WUFDMUIseUVBQXlFO1lBQ3pFLHdFQUF3RTtZQUN4RSwyRUFBMkU7WUFDM0UsMEVBQTBFO1lBQzFFLGdFQUFnRTtZQUNoRSx5RUFBeUU7WUFDekUscUVBQXFFO1lBQ3JFLHNFQUFzRTtZQUN0RSwyQ0FBMkM7WUFDM0MsRUFBRTtZQUNGLHdFQUF3RTtZQUN4RSx3RUFBd0U7WUFDeEUsaUVBQWlFO1lBQ2pFLG9FQUFvRTtZQUNwRSxFQUFFO1lBQ0Ysc0VBQXNFO1lBQ3RFLDJFQUEyRTtZQUMzRSwyRUFBMkU7WUFDM0UsMkVBQTJFO1lBQzNFLDBFQUEwRTtZQUMxRSxxRUFBcUU7WUFDckUsMEVBQTBFO1lBQzFFLHlFQUF5RTtZQUN6RSwwRUFBMEU7WUFDMUUseUVBQXlFO1lBQ3pFLCtEQUErRDtZQUMvRCxjQUFjLENBQUMsTUFBTTtnQkFDbkIsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUMvQixPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQzt3QkFDN0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO3dCQUN2QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7cUJBQzdCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO29CQUN2QixPQUFPO2dCQUNULENBQUM7Z0JBRUQsTUFBTSxNQUFNLEdBQ1Ysc0tBQXNLLENBQUM7Z0JBQ3pLLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNqRCxhQUFhLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztnQkFDcEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO29CQUMvQixJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7d0JBQ3ZCLFNBQVM7b0JBQ1gsQ0FBQztvQkFDRCxNQUFNLENBQUMsTUFBTTt3QkFDWCxPQUFPLFFBQVEsS0FBSyxVQUFVOzRCQUM1QixDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxNQUFNLEtBQUssTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ3hELENBQUMsQ0FBQyxHQUFHLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztZQUNILENBQUM7U0FDRjtRQUNELHVCQUF1QixDQUFDO1lBQ3RCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPO1lBQ3RCLE9BQU87U0FDUixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVCdWlsZFF1ZXVlIH0gZnJvbSAnQHdvcmtmbG93L2J1aWxkZXJzJztcbmltcG9ydCB7IHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luIH0gZnJvbSAnQHdvcmtmbG93L3JvbGx1cCc7XG5pbXBvcnQgeyB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbiB9IGZyb20gJ0B3b3JrZmxvdy92aXRlJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgeyBTdmVsdGVLaXRCdWlsZGVyIH0gZnJvbSAnLi9idWlsZGVyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1BsdWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQ29udHJvbHMgaG93IHNvdXJjZSBtYXBzIGFyZSBlbWl0dGVkIGZvciB3b3JrZmxvdyBidW5kbGVzLiBBY2NlcHRzIHRoZVxuICAgKiBzYW1lIHZhbHVlcyBhcyBlc2J1aWxkJ3MgYHNvdXJjZW1hcGAgb3B0aW9uOiBgdHJ1ZWAvYCdpbmxpbmUnYCAoZGVmYXVsdCksXG4gICAqIGAnbGlua2VkJ2AsIGAnZXh0ZXJuYWwnYCwgYCdib3RoJ2AsIG9yIGBmYWxzZWAgdG8gb21pdCBzb3VyY2UgbWFwcy4gQ2FuXG4gICAqIGFsc28gYmUgc2V0IHZpYSB0aGUgYFdPUktGTE9XX1NPVVJDRU1BUGAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICBzb3VyY2VtYXA/OiBib29sZWFuIHwgJ2lubGluZScgfCAnbGlua2VkJyB8ICdleHRlcm5hbCcgfCAnYm90aCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvd1BsdWdpbihvcHRpb25zOiBXb3JrZmxvd1BsdWdpbk9wdGlvbnMgPSB7fSk6IFBsdWdpbltdIHtcbiAgbGV0IGJ1aWxkZXI6IFN2ZWx0ZUtpdEJ1aWxkZXIgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGVucXVldWUgPSBjcmVhdGVCdWlsZFF1ZXVlKCk7XG5cbiAgcmV0dXJuIFtcbiAgICB3b3JrZmxvd1RyYW5zZm9ybVBsdWdpbigpIGFzIFBsdWdpbixcbiAgICB7XG4gICAgICBuYW1lOiAnd29ya2Zsb3c6c3ZlbHRla2l0JyxcbiAgICAgIC8vIFN2ZWx0ZUtpdCBidW5kbGVzIHRoZSBzZXJ2ZXIgKGluY2x1ZGluZyB1bmRpY2ksIHZpYSB0aGUgd29ybGQgYWRhcHRlcilcbiAgICAgIC8vIGludG8gRVNNIG91dHB1dC4gdW5kaWNpIGxvYWRzIG1vc3Qgbm9kZTogYnVpbHRpbnMgYXMgRVNNIGltcG9ydHMsIGJ1dFxuICAgICAgLy8gcHVsbHMgaW4gYG5vZGU6aHR0cDJgIGxhemlseSB2aWEgYSBiYXJlIGByZXF1aXJlKCdub2RlOmh0dHAyJylgIGluc2lkZSBhXG4gICAgICAvLyB0cnkvY2F0Y2gg4oCUIHdoaWNoIHRoZSBidW5kbGVyIGxlYXZlcyB1bi13aXJlZCwgc28gaW4gdGhlIEVTTSBidW5kbGUgdGhlXG4gICAgICAvLyByZXF1aXJlIHRocm93cyBhbmQgdW5kaWNpIHNpbGVudGx5IGZhbGxzIGJhY2sgdG8gYSBzdHViIHdob3NlXG4gICAgICAvLyBgaHR0cDIuY29ubmVjdGAgaXMgdW5kZWZpbmVkLiBUaGF0IGJyZWFrcyBhbnkgSFRUUC8yIHJlcXVlc3QgKG9ic2VydmVkXG4gICAgICAvLyBhcyB0aGUgd29ya2Zsb3cgZmxvdy1yb3V0ZSBjYWxsYmFjayBmYWlsaW5nIHdpdGggXCJmZXRjaCBmYWlsZWRcIiAtPlxuICAgICAgLy8gcnVucyBuZXZlciBzdGFydCkuIFByb3ZpZGUgYSB3b3JraW5nIENKUyBgcmVxdWlyZWAgZm9yIHRoZSAqc2VydmVyKlxuICAgICAgLy8gYnVpbGQgc28gdGhlIHJlYWwgYG5vZGU6aHR0cDJgIHJlc29sdmVzLlxuICAgICAgLy9cbiAgICAgIC8vIERldGVjdGlvbiBydW5zIGluIGBjb25maWdSZXNvbHZlZGAgKG5vdCB0aGUgYGNvbmZpZ2AgaG9vayk6IFN2ZWx0ZUtpdFxuICAgICAgLy8gZG9lcyBub3Qgc2V0IGBlbnYuaXNTc3JCdWlsZGAgZm9yIGl0cyBzZXJ2ZXIgcGFzcywgYnV0IGBidWlsZC5zc3JgIGlzXG4gICAgICAvLyBzZXQgb24gdGhlIHJlc29sdmVkIGNvbmZpZy4gV2UgZ2F0ZSB0byB0aGUgU1NSIGJ1aWxkIGJlY2F1c2UgYVxuICAgICAgLy8gYG5vZGU6bW9kdWxlYCBpbXBvcnQgaW4gdGhlIGNsaWVudC9icm93c2VyIGJ1bmRsZSB3b3VsZCBicmVhayBpdC5cbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIGlzIGEgTm9kZS1zZXJ2ZXItcnVudGltZS1vbmx5IHNoaW0uIE5vdGUgdGhlIGRlbGliZXJhdGUgZ2xvYmFsXG4gICAgICAvLyBzaWRlIGVmZmVjdDogZGVmaW5pbmcgYGdsb2JhbFRoaXMucmVxdWlyZWAgbWFrZXMgYHR5cGVvZiByZXF1aXJlYCB0cnV0aHlcbiAgICAgIC8vIGZvciAqZXZlcnkqIGJ1bmRsZWQgZGVwZW5kZW5jeSBpbiB0aGlzIEVTTSBzZXJ2ZXIgb3V0cHV0LCBzbyBhbnkgbGlicmFyeVxuICAgICAgLy8gdGhhdCBmZWF0dXJlLWRldGVjdHMgYHJlcXVpcmVgIHdpbGwgdGFrZSBpdHMgQ0pTIHBhdGggaGVyZS4gVGhhdCBpcyBzYWZlXG4gICAgICAvLyBiZWNhdXNlIChhKSBpdCBuZXZlciB0b3VjaGVzIHRoZSBjbGllbnQgYnVuZGxlLCAoYikgdGhlIGB0eXBlb2YgcmVxdWlyZVxuICAgICAgLy8gPT09ICd1bmRlZmluZWQnYCBndWFyZCBtYWtlcyBpdCBhIG5vLW9wIGluIENKUyBjaHVua3Mgd2hlcmUgYSByZWFsXG4gICAgICAvLyBgcmVxdWlyZWAgYWxyZWFkeSBleGlzdHMsIGFuZCAoYykgdGhlIGByZXF1aXJlYCB3ZSBpbnN0YWxsIGlzIGEgd29ya2luZ1xuICAgICAgLy8gYGNyZWF0ZVJlcXVpcmVgLCBzbyBhIGxpYnJhcnkgdGhhdCBzd2l0Y2hlcyB0byB0aGUgcmVxdWlyZSBwYXRoIGdldHMgYVxuICAgICAgLy8gZnVuY3Rpb25hbCBgcmVxdWlyZWAsIG5vdCBhIGJyb2tlbiBzdHViLiBUaGUgYmVoYXZpb3IgdG8gd2F0Y2ggZm9yIGlzIGFcbiAgICAgIC8vIGJ1bmRsZWQgbGliIHRoYXQsIG9uIHNlZWluZyBgcmVxdWlyZWAsIGRvZXMgYHJlcXVpcmUoKWAgb2YgYW4gRVNNLW9ubHlcbiAgICAgIC8vIGRlcGVuZGVuY3kgb24gYSBOb2RlIHZlcnNpb24gd2l0aG91dCBgcmVxdWlyZShFU00pYCBzdXBwb3J0LlxuICAgICAgY29uZmlnUmVzb2x2ZWQoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcuY29tbWFuZCA9PT0gJ3NlcnZlJykge1xuICAgICAgICAgIGJ1aWxkZXIgPSBuZXcgU3ZlbHRlS2l0QnVpbGRlcih7XG4gICAgICAgICAgICB3b3JraW5nRGlyOiBjb25maWcucm9vdCxcbiAgICAgICAgICAgIHNvdXJjZW1hcDogb3B0aW9ucy5zb3VyY2VtYXAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNvbmZpZy5idWlsZD8uc3NyKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFubmVyID1cbiAgICAgICAgICBcImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgYXMgX193a2ZDcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnOyBpZiAodHlwZW9mIHJlcXVpcmUgPT09ICd1bmRlZmluZWQnKSB7IGdsb2JhbFRoaXMucmVxdWlyZSA9IF9fd2tmQ3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpOyB9XCI7XG4gICAgICAgIGNvbnN0IHJvbGx1cE9wdGlvbnMgPSBjb25maWcuYnVpbGQucm9sbHVwT3B0aW9ucztcbiAgICAgICAgcm9sbHVwT3B0aW9ucy5vdXRwdXQgPz89IHt9O1xuICAgICAgICBjb25zdCBvdXRwdXQgPSByb2xsdXBPcHRpb25zLm91dHB1dDtcbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IEFycmF5LmlzQXJyYXkob3V0cHV0KSA/IG91dHB1dCA6IFtvdXRwdXRdO1xuICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiBvdXRwdXRzKSB7XG4gICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBvdXRwdXQuYmFubmVyO1xuICAgICAgICAgIGlmIChleGlzdGluZyA9PSBudWxsKSB7XG4gICAgICAgICAgICBvdXRwdXQuYmFubmVyID0gYmFubmVyO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG91dHB1dC5iYW5uZXIgPVxuICAgICAgICAgICAgdHlwZW9mIGV4aXN0aW5nID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgID8gYXN5bmMgKGNodW5rKSA9PiBgJHtiYW5uZXJ9XFxuJHthd2FpdCBleGlzdGluZyhjaHVuayl9YFxuICAgICAgICAgICAgICA6IGAke2Jhbm5lcn1cXG4ke2V4aXN0aW5nfWA7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbih7XG4gICAgICBidWlsZGVyOiAoKSA9PiBidWlsZGVyLFxuICAgICAgZW5xdWV1ZSxcbiAgICB9KSxcbiAgXTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/sveltekit",
3
- "version": "5.0.0-beta.26",
3
+ "version": "5.0.0-beta.27",
4
4
  "description": "SvelteKit integration for Workflow SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,10 +24,10 @@
24
24
  "exsolve": "^1.0.8",
25
25
  "fs-extra": "^11.3.2",
26
26
  "pathe": "^2.0.3",
27
- "@workflow/builders": "5.0.0-beta.26",
28
- "@workflow/rollup": "5.0.0-beta.26",
27
+ "@workflow/builders": "5.0.0-beta.27",
28
+ "@workflow/rollup": "5.0.0-beta.27",
29
29
  "@workflow/swc-plugin": "5.0.0-beta.5",
30
- "@workflow/vite": "5.0.0-beta.26"
30
+ "@workflow/vite": "5.0.0-beta.27"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/fs-extra": "11.0.4",