@workflow/sveltekit 4.0.10 → 4.0.12
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 +6 -2
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +61 -43
- package/package.json +6 -6
package/dist/builder.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { BaseBuilder, type SvelteKitConfig } from '@workflow/builders';
|
|
2
2
|
export declare class SvelteKitBuilder extends BaseBuilder {
|
|
3
|
-
|
|
3
|
+
#private;
|
|
4
|
+
constructor(config?: Partial<SvelteKitConfig> & {
|
|
5
|
+
routesDir?: string;
|
|
6
|
+
});
|
|
4
7
|
build(): Promise<void>;
|
|
5
8
|
private buildStepsRoute;
|
|
6
9
|
private buildWorkflowsRoute;
|
|
7
10
|
private buildWebhookRoute;
|
|
8
|
-
private
|
|
11
|
+
private loadRoutesDirectory;
|
|
9
12
|
}
|
|
13
|
+
export declare function loadSvelteKitRoutesDir(workingDir: string): Promise<string>;
|
|
10
14
|
//# sourceMappingURL=builder.d.ts.map
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,WAAW,EAKX,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;IA+B3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA4DvB,eAAe;YA4Cf,mBAAmB;YAyCnB,iBAAiB;YAqDjB,mBAAmB;CAMlC;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
|
package/dist/builder.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { constants } from 'node:fs';
|
|
2
2
|
import { access, copyFile, mkdir, readFile, stat, writeFile, } from 'node:fs/promises';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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, replaceGeneratedRouteExport, resolveProjectRoot, } from '@workflow/builders';
|
|
5
7
|
const SVELTEKIT_VIRTUAL_MODULES = [
|
|
6
8
|
'$env/*', // All $env subpaths
|
|
7
9
|
'$lib', // Exact $lib import
|
|
@@ -9,22 +11,39 @@ const SVELTEKIT_VIRTUAL_MODULES = [
|
|
|
9
11
|
'$app/*', // All $app subpaths
|
|
10
12
|
];
|
|
11
13
|
export class SvelteKitBuilder extends BaseBuilder {
|
|
12
|
-
|
|
13
|
-
|
|
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
|
+
}),
|
|
15
35
|
...config,
|
|
16
|
-
dirs
|
|
36
|
+
dirs,
|
|
17
37
|
buildTarget: 'sveltekit',
|
|
18
|
-
stepsBundlePath: '', // unused in base
|
|
19
|
-
workflowsBundlePath: '', // unused in base
|
|
20
|
-
webhookBundlePath: '', // unused in base
|
|
21
38
|
workingDir,
|
|
39
|
+
projectRoot,
|
|
40
|
+
moduleSpecifierRoot: config.moduleSpecifierRoot ?? workingDir,
|
|
22
41
|
externalPackages: [...SVELTEKIT_VIRTUAL_MODULES],
|
|
23
42
|
});
|
|
43
|
+
this.#routesDir = routesDir;
|
|
24
44
|
}
|
|
25
45
|
async build() {
|
|
26
|
-
|
|
27
|
-
const routesDir = await this.findRoutesDirectory();
|
|
46
|
+
const routesDir = await this.loadRoutesDirectory();
|
|
28
47
|
const workflowGeneratedDir = join(routesDir, '.well-known/workflow/v1');
|
|
29
48
|
// Ensure output directories exist
|
|
30
49
|
await mkdir(workflowGeneratedDir, { recursive: true });
|
|
@@ -109,14 +128,11 @@ export const POST = handleStepRequest;`, 'Failed to wrap generated SvelteKit ste
|
|
|
109
128
|
const workflowsRouteFile = join(workflowsRouteDir, '+server.js');
|
|
110
129
|
let workflowsRouteContent = await readFile(workflowsRouteFile, 'utf-8');
|
|
111
130
|
// Replace the default export with SvelteKit-compatible handler
|
|
112
|
-
workflowsRouteContent = replaceGeneratedRouteExport(workflowsRouteContent, /const
|
|
113
|
-
const
|
|
131
|
+
workflowsRouteContent = replaceGeneratedRouteExport(workflowsRouteContent, /export const POST = workflowEntrypoint\(workflowCode(?<options>[^)]*)\);?$/m, (_match, options = '') => `${NORMALIZE_REQUEST_CODE}
|
|
132
|
+
export const POST = async ({request}) => {
|
|
114
133
|
const normalRequest = await normalizeRequest(request);
|
|
115
134
|
return workflowEntrypoint(workflowCode${options})(normalRequest);
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export const HEAD = handleWorkflowRequest;
|
|
119
|
-
export const POST = handleWorkflowRequest;`, 'Failed to wrap generated SvelteKit workflow route');
|
|
135
|
+
};`, 'Failed to wrap generated SvelteKit workflow route');
|
|
120
136
|
await writeFile(workflowsRouteFile, workflowsRouteContent);
|
|
121
137
|
return manifest;
|
|
122
138
|
}
|
|
@@ -150,32 +166,34 @@ export const HEAD = createSvelteKitHandler('HEAD');
|
|
|
150
166
|
export const OPTIONS = createSvelteKitHandler('OPTIONS');`);
|
|
151
167
|
await writeFile(webhookRouteFile, webhookRouteContent);
|
|
152
168
|
}
|
|
153
|
-
async
|
|
154
|
-
const routesDir =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
169
|
+
async loadRoutesDirectory() {
|
|
170
|
+
const routesDir = this.#routesDir ?? (await loadSvelteKitRoutesDir(this.config.workingDir));
|
|
171
|
+
await assertDirectory(routesDir);
|
|
172
|
+
return routesDir;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
export async function loadSvelteKitRoutesDir(workingDir) {
|
|
176
|
+
const require = createRequire(join(workingDir, 'package.json'));
|
|
177
|
+
const packageJsonPath = require.resolve('@sveltejs/kit/package.json');
|
|
178
|
+
const loaderPath = join(dirname(packageJsonPath), 'src/core/config/index.js');
|
|
179
|
+
const configModule = await import(pathToFileURL(loaderPath).href);
|
|
180
|
+
// SvelteKit 2.62+ `load_config()` resolves Vite config first. Calling it
|
|
181
|
+
// while `workflow/sveltekit` is imported from vite.config.ts recursively
|
|
182
|
+
// reloads vite.config.ts and leaves this top-level build unresolved.
|
|
183
|
+
const config = configModule.load_svelte_config != null
|
|
184
|
+
? await configModule.load_svelte_config(workingDir)
|
|
185
|
+
: await configModule.load_config({ cwd: workingDir });
|
|
186
|
+
const routesDir = config.kit?.files?.routes;
|
|
187
|
+
if (routesDir == null || typeof routesDir !== 'string') {
|
|
188
|
+
throw new Error('Expected SvelteKit config loader to return kit.files.routes as a string.');
|
|
189
|
+
}
|
|
190
|
+
return routesDir;
|
|
191
|
+
}
|
|
192
|
+
async function assertDirectory(path) {
|
|
193
|
+
await access(path, constants.F_OK);
|
|
194
|
+
const stats = await stat(path);
|
|
195
|
+
if (!stats.isDirectory()) {
|
|
196
|
+
throw new Error(`Path exists but is not a directory: ${path}`);
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUNMLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsMkJBQTJCLEdBRTVCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsTUFBTSx5QkFBeUIsR0FBRztJQUNoQyxRQUFRLEVBQUUsb0JBQW9CO0lBQzlCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixRQUFRLEVBQUUsb0JBQW9CO0NBQy9CLENBQUM7QUFFRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUMvQyxZQUFZLE1BQWlDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXZELEtBQUssQ0FBQztZQUNKLEdBQUcsTUFBTTtZQUNULElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztZQUM1RCxXQUFXLEVBQUUsV0FBb0I7WUFDakMsZUFBZSxFQUFFLEVBQUUsRUFBRSxpQkFBaUI7WUFDdEMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLGlCQUFpQjtZQUMxQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsaUJBQWlCO1lBQ3hDLFVBQVU7WUFDVixnQkFBZ0IsRUFBRSxDQUFDLEdBQUcseUJBQXlCLENBQUM7U0FDakQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLEtBQUss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LEVBQUUsQ0FDdkQsQ0FBQztnQkFDSixDQUFDO2dCQUNELE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRkFBK0YsQ0FDaEcsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBhY2Nlc3MsXG4gIGNvcHlGaWxlLFxuICBta2RpcixcbiAgcmVhZEZpbGUsXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBqb2luLCByZXNvbHZlIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7XG4gIEJhc2VCdWlsZGVyLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICByZXBsYWNlR2VuZXJhdGVkUm91dGVFeHBvcnQsXG4gIHR5cGUgU3ZlbHRlS2l0Q29uZmlnLFxufSBmcm9tICdAd29ya2Zsb3cvYnVpbGRlcnMnO1xuXG5jb25zdCBTVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTID0gW1xuICAnJGVudi8qJywgLy8gQWxsICRlbnYgc3VicGF0aHNcbiAgJyRsaWInLCAvLyBFeGFjdCAkbGliIGltcG9ydFxuICAnJGxpYi8qJywgLy8gQWxsICRsaWIgc3VicGF0aHNcbiAgJyRhcHAvKicsIC8vIEFsbCAkYXBwIHN1YnBhdGhzXG5dO1xuXG5leHBvcnQgY2xhc3MgU3ZlbHRlS2l0QnVpbGRlciBleHRlbmRzIEJhc2VCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoY29uZmlnPzogUGFydGlhbDxTdmVsdGVLaXRDb25maWc+KSB7XG4gICAgY29uc3Qgd29ya2luZ0RpciA9IGNvbmZpZz8ud29ya2luZ0RpciB8fCBwcm9jZXNzLmN3ZCgpO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgZGlyczogWyd3b3JrZmxvd3MnLCAnc3JjL3dvcmtmbG93cycsICdyb3V0ZXMnLCAnc3JjL3JvdXRlcyddLFxuICAgICAgYnVpbGRUYXJnZXQ6ICdzdmVsdGVraXQnIGFzIGNvbnN0LFxuICAgICAgc3RlcHNCdW5kbGVQYXRoOiAnJywgLy8gdW51c2VkIGluIGJhc2VcbiAgICAgIHdvcmtmbG93c0J1bmRsZVBhdGg6ICcnLCAvLyB1bnVzZWQgaW4gYmFzZVxuICAgICAgd2ViaG9va0J1bmRsZVBhdGg6ICcnLCAvLyB1bnVzZWQgaW4gYmFzZVxuICAgICAgd29ya2luZ0RpcixcbiAgICAgIGV4dGVybmFsUGFja2FnZXM6IFsuLi5TVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTXSxcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZpbmQgU3ZlbHRlS2l0IHJvdXRlcyBkaXJlY3RvcnkgKHNyYy9yb3V0ZXMgb3Igcm91dGVzKVxuICAgIGNvbnN0IHJvdXRlc0RpciA9IGF3YWl0IHRoaXMuZmluZFJvdXRlc0RpcmVjdG9yeSgpO1xuICAgIGNvbnN0IHdvcmtmbG93R2VuZXJhdGVkRGlyID0gam9pbihyb3V0ZXNEaXIsICcud2VsbC1rbm93bi93b3JrZmxvdy92MScpO1xuXG4gICAgLy8gRW5zdXJlIG91dHB1dCBkaXJlY3RvcmllcyBleGlzdFxuICAgIGF3YWl0IG1rZGlyKHdvcmtmbG93R2VuZXJhdGVkRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIEFkZCAuZ2l0aWdub3JlIHRvIGV4Y2x1ZGUgZ2VuZXJhdGVkIGZpbGVzIGZyb20gdmVyc2lvbiBjb250cm9sXG4gICAgaWYgKHByb2Nlc3MuZW52LlZFUkNFTF9ERVBMT1lNRU5UX0lEID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnLmdpdGlnbm9yZScpLCAnKicpO1xuICAgIH1cblxuICAgIC8vIEdldCB3b3JrZmxvdyBhbmQgc3RlcCBmaWxlcyB0byBidW5kbGVcbiAgICBjb25zdCBpbnB1dEZpbGVzID0gYXdhaXQgdGhpcy5nZXRJbnB1dEZpbGVzKCk7XG4gICAgY29uc3QgdHNjb25maWdQYXRoID0gYXdhaXQgdGhpcy5maW5kVHNDb25maWdQYXRoKCk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgdHNjb25maWdQYXRoLFxuICAgIH07XG5cbiAgICAvLyBHZW5lcmF0ZSB0aGUgdGhyZWUgU3ZlbHRlS2l0IHJvdXRlIGhhbmRsZXJzXG4gICAgY29uc3Qgc3RlcHNNYW5pZmVzdCA9IGF3YWl0IHRoaXMuYnVpbGRTdGVwc1JvdXRlKG9wdGlvbnMpO1xuICAgIGNvbnN0IHdvcmtmbG93c01hbmlmZXN0ID0gYXdhaXQgdGhpcy5idWlsZFdvcmtmbG93c1JvdXRlKG9wdGlvbnMpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGRXZWJob29rUm91dGUoeyB3b3JrZmxvd0dlbmVyYXRlZERpciB9KTtcblxuICAgIC8vIE1lcmdlIG1hbmlmZXN0cyBmcm9tIGJvdGggYnVuZGxlc1xuICAgIGNvbnN0IG1hbmlmZXN0ID0ge1xuICAgICAgc3RlcHM6IHsgLi4uc3RlcHNNYW5pZmVzdC5zdGVwcywgLi4ud29ya2Zsb3dzTWFuaWZlc3Quc3RlcHMgfSxcbiAgICAgIHdvcmtmbG93czogeyAuLi5zdGVwc01hbmlmZXN0LndvcmtmbG93cywgLi4ud29ya2Zsb3dzTWFuaWZlc3Qud29ya2Zsb3dzIH0sXG4gICAgICBjbGFzc2VzOiB7IC4uLnN0ZXBzTWFuaWZlc3QuY2xhc3NlcywgLi4ud29ya2Zsb3dzTWFuaWZlc3QuY2xhc3NlcyB9LFxuICAgIH07XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlmaWVkIG1hbmlmZXN0XG4gICAgY29uc3Qgd29ya2Zsb3dCdW5kbGVQYXRoID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ2Zsb3cvK3NlcnZlci5qcycpO1xuICAgIGNvbnN0IG1hbmlmZXN0SnNvbiA9IGF3YWl0IHRoaXMuY3JlYXRlTWFuaWZlc3Qoe1xuICAgICAgd29ya2Zsb3dCdW5kbGVQYXRoLFxuICAgICAgbWFuaWZlc3REaXI6IHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgbWFuaWZlc3QsXG4gICAgfSk7XG5cbiAgICAvLyBFeHBvc2UgbWFuaWZlc3QgYXMgYSBzdGF0aWMgZmlsZSB3aGVuIFdPUktGTE9XX1BVQkxJQ19NQU5JRkVTVD0xLlxuICAgIC8vIFN2ZWx0ZUtpdCBzZXJ2ZXMgZmlsZXMgZnJvbSBzdGF0aWMvIGF0IHRoZSByb290IFVSTC5cbiAgICBpZiAodGhpcy5zaG91bGRFeHBvc2VQdWJsaWNNYW5pZmVzdCAmJiBtYW5pZmVzdEpzb24pIHtcbiAgICAgIGNvbnN0IHN0YXRpY01hbmlmZXN0RGlyID0gam9pbihcbiAgICAgICAgdGhpcy5jb25maWcud29ya2luZ0RpcixcbiAgICAgICAgJ3N0YXRpYy8ud2VsbC1rbm93bi93b3JrZmxvdy92MSdcbiAgICAgICk7XG4gICAgICBhd2FpdCBta2RpcihzdGF0aWNNYW5pZmVzdERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoam9pbihzdGF0aWNNYW5pZmVzdERpciwgJy5naXRpZ25vcmUnKSwgJyonKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGNvcHlGaWxlKFxuICAgICAgICBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnbWFuaWZlc3QuanNvbicpLFxuICAgICAgICBqb2luKHN0YXRpY01hbmlmZXN0RGlyLCAnbWFuaWZlc3QuanNvbicpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRTdGVwc1JvdXRlKHtcbiAgICBpbnB1dEZpbGVzLFxuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgIHRzY29uZmlnUGF0aCxcbiAgfToge1xuICAgIGlucHV0RmlsZXM6IHN0cmluZ1tdO1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyOiBzdHJpbmc7XG4gICAgdHNjb25maWdQYXRoPzogc3RyaW5nO1xuICB9KSB7XG4gICAgLy8gQ3JlYXRlIHN0ZXBzIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9zdGVwLytzZXJ2ZXIuanNcbiAgICBjb25zdCBzdGVwc1JvdXRlRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ3N0ZXAnKTtcbiAgICBhd2FpdCBta2RpcihzdGVwc1JvdXRlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgbWFuaWZlc3QgfSA9IGF3YWl0IHRoaXMuY3JlYXRlU3RlcHNCdW5kbGUoe1xuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIGlucHV0RmlsZXMsXG4gICAgICBvdXRmaWxlOiBqb2luKHN0ZXBzUm91dGVEaXIsICcrc2VydmVyLmpzJyksXG4gICAgICBleHRlcm5hbGl6ZU5vblN0ZXBzOiB0cnVlLFxuICAgICAgdHNjb25maWdQYXRoLFxuICAgIH0pO1xuXG4gICAgLy8gUG9zdC1wcm9jZXNzIHRoZSBnZW5lcmF0ZWQgZmlsZSB0byB3cmFwIHdpdGggU3ZlbHRlS2l0IHJlcXVlc3QgY29udmVydGVyXG4gICAgY29uc3Qgc3RlcHNSb3V0ZUZpbGUgPSBqb2luKHN0ZXBzUm91dGVEaXIsICcrc2VydmVyLmpzJyk7XG4gICAgbGV0IHN0ZXBzUm91dGVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoc3RlcHNSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBleHBvcnQgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyXG4gICAgc3RlcHNSb3V0ZUNvbnRlbnQgPSByZXBsYWNlR2VuZXJhdGVkUm91dGVFeHBvcnQoXG4gICAgICBzdGVwc1JvdXRlQ29udGVudCxcbiAgICAgIC9leHBvcnRcXHMqXFx7XFxzKnN0ZXBFbnRyeXBvaW50XFx3Klxccythc1xccytIRUFEXFxzKixcXHMqc3RlcEVudHJ5cG9pbnRcXHcqXFxzK2FzXFxzK1BPU1RcXHMqXFx9XFxzKjs/XFxzKiQvbSxcbiAgICAgIGAke05PUk1BTElaRV9SRVFVRVNUX0NPREV9XG5jb25zdCBoYW5kbGVTdGVwUmVxdWVzdCA9IGFzeW5jICh7cmVxdWVzdH0pID0+IHtcbiAgY29uc3Qgbm9ybWFsUmVxdWVzdCA9IGF3YWl0IG5vcm1hbGl6ZVJlcXVlc3QocmVxdWVzdCk7XG4gIHJldHVybiBzdGVwRW50cnlwb2ludChub3JtYWxSZXF1ZXN0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBIRUFEID0gaGFuZGxlU3RlcFJlcXVlc3Q7XG5leHBvcnQgY29uc3QgUE9TVCA9IGhhbmRsZVN0ZXBSZXF1ZXN0O2AsXG4gICAgICAnRmFpbGVkIHRvIHdyYXAgZ2VuZXJhdGVkIFN2ZWx0ZUtpdCBzdGVwIHJvdXRlJ1xuICAgICk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUoc3RlcHNSb3V0ZUZpbGUsIHN0ZXBzUm91dGVDb250ZW50KTtcbiAgICByZXR1cm4gbWFuaWZlc3Q7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkV29ya2Zsb3dzUm91dGUoe1xuICAgIGlucHV0RmlsZXMsXG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgdHNjb25maWdQYXRoLFxuICB9OiB7XG4gICAgaW5wdXRGaWxlczogc3RyaW5nW107XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgICB0c2NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgd29ya2Zsb3dzIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93LytzZXJ2ZXIuanNcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZURpciA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93Jyk7XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dzUm91dGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgeyBtYW5pZmVzdCB9ID0gYXdhaXQgdGhpcy5jcmVhdGVXb3JrZmxvd3NCdW5kbGUoe1xuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIG91dGZpbGU6IGpvaW4od29ya2Zsb3dzUm91dGVEaXIsICcrc2VydmVyLmpzJyksXG4gICAgICBidW5kbGVGaW5hbE91dHB1dDogZmFsc2UsXG4gICAgICBpbnB1dEZpbGVzLFxuICAgICAgdHNjb25maWdQYXRoLFxuICAgIH0pO1xuXG4gICAgLy8gUG9zdC1wcm9jZXNzIHRoZSBnZW5lcmF0ZWQgZmlsZSB0byB3cmFwIHdpdGggU3ZlbHRlS2l0IHJlcXVlc3QgY29udmVydGVyXG4gICAgY29uc3Qgd29ya2Zsb3dzUm91dGVGaWxlID0gam9pbih3b3JrZmxvd3NSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gYXdhaXQgcmVhZEZpbGUod29ya2Zsb3dzUm91dGVGaWxlLCAndXRmLTgnKTtcblxuICAgIC8vIFJlcGxhY2UgdGhlIGRlZmF1bHQgZXhwb3J0IHdpdGggU3ZlbHRlS2l0LWNvbXBhdGlibGUgaGFuZGxlclxuICAgIHdvcmtmbG93c1JvdXRlQ29udGVudCA9IHJlcGxhY2VHZW5lcmF0ZWRSb3V0ZUV4cG9ydChcbiAgICAgIHdvcmtmbG93c1JvdXRlQ29udGVudCxcbiAgICAgIC9jb25zdCBoYW5kbGVyID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7XFxzKmV4cG9ydCBjb25zdCBIRUFEID0gaGFuZGxlcjtcXHMqZXhwb3J0IGNvbnN0IFBPU1QgPSBoYW5kbGVyOz9cXHMqJC9tLFxuICAgICAgKF9tYXRjaCwgb3B0aW9ucyA9ICcnKSA9PiBgJHtOT1JNQUxJWkVfUkVRVUVTVF9DT0RFfVxuY29uc3QgaGFuZGxlV29ya2Zsb3dSZXF1ZXN0ID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBIRUFEID0gaGFuZGxlV29ya2Zsb3dSZXF1ZXN0O1xuZXhwb3J0IGNvbnN0IFBPU1QgPSBoYW5kbGVXb3JrZmxvd1JlcXVlc3Q7YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHdvcmtmbG93IHJvdXRlJ1xuICAgICk7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHdvcmtmbG93c1JvdXRlRmlsZSwgd29ya2Zsb3dzUm91dGVDb250ZW50KTtcblxuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rUm91dGUoe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICB9OiB7XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3ZWJob29rIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS93ZWJob29rL1t0b2tlbl0vK3NlcnZlci5qc1xuICAgIGNvbnN0IHdlYmhvb2tSb3V0ZUZpbGUgPSBqb2luKFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICAnd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanMnXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2ViaG9va0J1bmRsZSh7XG4gICAgICBvdXRmaWxlOiB3ZWJob29rUm91dGVGaWxlLFxuICAgICAgYnVuZGxlOiBmYWxzZSwgLy8gU3ZlbHRlS2l0IHdpbGwgaGFuZGxlIGJ1bmRsaW5nXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBsZXQgd2ViaG9va1JvdXRlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gVXBkYXRlIGhhbmRsZXIgc2lnbmF0dXJlIHRvIGFjY2VwdCB0b2tlbiBhcyBwYXJhbWV0ZXJcbiAgICB3ZWJob29rUm91dGVDb250ZW50ID0gd2ViaG9va1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2FzeW5jIGZ1bmN0aW9uIGhhbmRsZXJcXChyZXF1ZXN0XFwpIFxce1tcXHNcXFNdKj9jb25zdCB0b2tlbiA9IGRlY29kZVVSSUNvbXBvbmVudFxcKHBhdGhQYXJ0c1xcW3BhdGhQYXJ0c1xcLmxlbmd0aCAtIDFcXF1cXCk7LyxcbiAgICAgIGBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcXVlc3QsIHRva2VuKSB7YFxuICAgICk7XG5cbiAgICAvLyBSZW1vdmUgdGhlIFVSTCBwYXJzaW5nIGNvZGUgc2luY2Ugd2UgZ2V0IHRva2VuIGZyb20gcGFyYW1zXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9jb25zdCB1cmwgPSBuZXcgVVJMXFwocmVxdWVzdFxcLnVybFxcKTtbXFxzXFxTXSo/Y29uc3QgcGF0aFBhcnRzID0gdXJsXFwucGF0aG5hbWVcXC5zcGxpdFxcKCdcXC8nXFwpO1tcXHNcXFNdKj9cXG4vLFxuICAgICAgJydcbiAgICApO1xuXG4gICAgLy8gUmVwbGFjZSBhbGwgSFRUUCBtZXRob2QgZXhwb3J0cyB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJzXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9leHBvcnQgY29uc3QgR0VUID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgUE9TVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBVVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBBVENIID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgREVMRVRFID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgSEVBRCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBoYW5kbGVyOy8sXG4gICAgICBgJHtOT1JNQUxJWkVfUkVRVUVTVF9DT0RFfVxuY29uc3QgY3JlYXRlU3ZlbHRlS2l0SGFuZGxlciA9IChtZXRob2QpID0+IGFzeW5jICh7IHJlcXVlc3QsIHBhcmFtcywgcGxhdGZvcm0gfSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVyKG5vcm1hbFJlcXVlc3QsIHBhcmFtcy50b2tlbik7XG4gIHJldHVybiByZXNwb25zZTtcbn07XG5cbmV4cG9ydCBjb25zdCBHRVQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdHRVQnKTtcbmV4cG9ydCBjb25zdCBQT1NUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUE9TVCcpO1xuZXhwb3J0IGNvbnN0IFBVVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BVVCcpO1xuZXhwb3J0IGNvbnN0IFBBVENIID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUEFUQ0gnKTtcbmV4cG9ydCBjb25zdCBERUxFVEUgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdERUxFVEUnKTtcbmV4cG9ydCBjb25zdCBIRUFEID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignSEVBRCcpO1xuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdPUFRJT05TJyk7YFxuICAgICk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUod2ViaG9va1JvdXRlRmlsZSwgd2ViaG9va1JvdXRlQ29udGVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbmRSb3V0ZXNEaXJlY3RvcnkoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByb3V0ZXNEaXIgPSByZXNvbHZlKHRoaXMuY29uZmlnLndvcmtpbmdEaXIsICdzcmMvcm91dGVzJyk7XG4gICAgY29uc3Qgcm9vdFJvdXRlc0RpciA9IHJlc29sdmUodGhpcy5jb25maWcud29ya2luZ0RpciwgJ3JvdXRlcycpO1xuXG4gICAgLy8gVHJ5IHNyYy9yb3V0ZXMgZmlyc3QgKHN0YW5kYXJkIFN2ZWx0ZUtpdCBjb252ZW50aW9uKVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhY2Nlc3Mocm91dGVzRGlyLCBjb25zdGFudHMuRl9PSyk7XG4gICAgICBjb25zdCByb3V0ZXNTdGF0cyA9IGF3YWl0IHN0YXQocm91dGVzRGlyKTtcbiAgICAgIGlmICghcm91dGVzU3RhdHMuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggZXhpc3RzIGJ1dCBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7cm91dGVzRGlyfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJvdXRlc0RpcjtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFRyeSByb3V0ZXMgYXMgZmFsbGJhY2tcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGFjY2Vzcyhyb290Um91dGVzRGlyLCBjb25zdGFudHMuRl9PSyk7XG4gICAgICAgIGNvbnN0IHJvb3RSb3V0ZXNTdGF0cyA9IGF3YWl0IHN0YXQocm9vdFJvdXRlc0Rpcik7XG4gICAgICAgIGlmICghcm9vdFJvdXRlc1N0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgUGF0aCBleGlzdHMgYnV0IGlzIG5vdCBhIGRpcmVjdG9yeTogJHtyb290Um91dGVzRGlyfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb290Um91dGVzRGlyO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnQ291bGQgbm90IGZpbmQgU3ZlbHRlS2l0IHJvdXRlcyBkaXJlY3RvcnkuIEV4cGVjdGVkIGVpdGhlciBcInNyYy9yb3V0ZXNcIiBvciBcInJvdXRlc1wiIHRvIGV4aXN0LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFFBQVEsRUFBRSxvQkFBb0I7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQjtDQUMvQixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDL0MsVUFBVSxDQUFxQjtJQUUvQixZQUFZLFNBQTRELEVBQUU7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSTtZQUMxQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFFBQVE7WUFDUixZQUFZO1NBQ2IsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsVUFB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QUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBhY2Nlc3MsXG4gIGNvcHlGaWxlLFxuICBta2RpcixcbiAgcmVhZEZpbGUsXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIGNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICByZXBsYWNlR2VuZXJhdGVkUm91dGVFeHBvcnQsXG4gIHJlc29sdmVQcm9qZWN0Um9vdCxcbiAgdHlwZSBTdmVsdGVLaXRDb25maWcsXG59IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5cbmNvbnN0IFNWRUxURUtJVF9WSVJUVUFMX01PRFVMRVMgPSBbXG4gICckZW52LyonLCAvLyBBbGwgJGVudiBzdWJwYXRoc1xuICAnJGxpYicsIC8vIEV4YWN0ICRsaWIgaW1wb3J0XG4gICckbGliLyonLCAvLyBBbGwgJGxpYiBzdWJwYXRoc1xuICAnJGFwcC8qJywgLy8gQWxsICRhcHAgc3VicGF0aHNcbl07XG5cbmV4cG9ydCBjbGFzcyBTdmVsdGVLaXRCdWlsZGVyIGV4dGVuZHMgQmFzZUJ1aWxkZXIge1xuICAjcm91dGVzRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPFN2ZWx0ZUtpdENvbmZpZz4gJiB7IHJvdXRlc0Rpcj86IHN0cmluZyB9ID0ge30pIHtcbiAgICBjb25zdCB3b3JraW5nRGlyID0gcmVzb2x2ZShjb25maWcud29ya2luZ0RpciB8fCBwcm9jZXNzLmN3ZCgpKTtcbiAgICBjb25zdCBkaXJzID0gY29uZmlnLmRpcnMgPz8gW1xuICAgICAgJ3dvcmtmbG93cycsXG4gICAgICAnc3JjL3dvcmtmbG93cycsXG4gICAgICAncm91dGVzJyxcbiAgICAgICdzcmMvcm91dGVzJyxcbiAgICBdO1xuICAgIGNvbnN0IHByb2plY3RSb290ID0gY29uZmlnLnByb2plY3RSb290ID8/IHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyKTtcbiAgICBjb25zdCByb3V0ZXNEaXIgPSBjb25maWcucm91dGVzRGlyXG4gICAgICA/IHJlc29sdmUod29ya2luZ0RpciwgY29uZmlnLnJvdXRlc0RpcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnKHtcbiAgICAgICAgd29ya2luZ0RpcixcbiAgICAgICAgcHJvamVjdFJvb3QsXG4gICAgICAgIGRpcnMsXG4gICAgICAgIHdhdGNoOiBjb25maWcud2F0Y2gsXG4gICAgICAgIGV4dGVybmFsUGFja2FnZXM6IFsuLi5TVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTXSxcbiAgICAgIH0pLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgZGlycyxcbiAgICAgIGJ1aWxkVGFyZ2V0OiAnc3ZlbHRla2l0JyBhcyBjb25zdCxcbiAgICAgIHdvcmtpbmdEaXIsXG4gICAgICBwcm9qZWN0Um9vdCxcbiAgICAgIG1vZHVsZVNwZWNpZmllclJvb3Q6IGNvbmZpZy5tb2R1bGVTcGVjaWZpZXJSb290ID8/IHdvcmtpbmdEaXIsXG4gICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgfSk7XG4gICAgdGhpcy4jcm91dGVzRGlyID0gcm91dGVzRGlyO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gYXdhaXQgdGhpcy5sb2FkUm91dGVzRGlyZWN0b3J5KCk7XG4gICAgY29uc3Qgd29ya2Zsb3dHZW5lcmF0ZWREaXIgPSBqb2luKHJvdXRlc0RpciwgJy53ZWxsLWtub3duL3dvcmtmbG93L3YxJyk7XG5cbiAgICAvLyBFbnN1cmUgb3V0cHV0IGRpcmVjdG9yaWVzIGV4aXN0XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dHZW5lcmF0ZWREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQWRkIC5naXRpZ25vcmUgdG8gZXhjbHVkZSBnZW5lcmF0ZWQgZmlsZXMgZnJvbSB2ZXJzaW9uIGNvbnRyb2xcbiAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IHdvcmtmbG93IGFuZCBzdGVwIGZpbGVzIHRvIGJ1bmRsZVxuICAgIGNvbnN0IGlucHV0RmlsZXMgPSBhd2FpdCB0aGlzLmdldElucHV0RmlsZXMoKTtcbiAgICBjb25zdCB0c2NvbmZpZ1BhdGggPSBhd2FpdCB0aGlzLmZpbmRUc0NvbmZpZ1BhdGgoKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpbnB1dEZpbGVzLFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHRoZSB0aHJlZSBTdmVsdGVLaXQgcm91dGUgaGFuZGxlcnNcbiAgICBjb25zdCBzdGVwc01hbmlmZXN0ID0gYXdhaXQgdGhpcy5idWlsZFN0ZXBzUm91dGUob3B0aW9ucyk7XG4gICAgY29uc3Qgd29ya2Zsb3dzTWFuaWZlc3QgPSBhd2FpdCB0aGlzLmJ1aWxkV29ya2Zsb3dzUm91dGUob3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5idWlsZFdlYmhvb2tSb3V0ZSh7IHdvcmtmbG93R2VuZXJhdGVkRGlyIH0pO1xuXG4gICAgLy8gTWVyZ2UgbWFuaWZlc3RzIGZyb20gYm90aCBidW5kbGVzXG4gICAgY29uc3QgbWFuaWZlc3QgPSB7XG4gICAgICBzdGVwczogeyAuLi5zdGVwc01hbmlmZXN0LnN0ZXBzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5zdGVwcyB9LFxuICAgICAgd29ya2Zsb3dzOiB7IC4uLnN0ZXBzTWFuaWZlc3Qud29ya2Zsb3dzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC53b3JrZmxvd3MgfSxcbiAgICAgIGNsYXNzZXM6IHsgLi4uc3RlcHNNYW5pZmVzdC5jbGFzc2VzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5jbGFzc2VzIH0sXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHVuaWZpZWQgbWFuaWZlc3RcbiAgICBjb25zdCB3b3JrZmxvd0J1bmRsZVBhdGggPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnZmxvdy8rc2VydmVyLmpzJyk7XG4gICAgY29uc3QgbWFuaWZlc3RKc29uID0gYXdhaXQgdGhpcy5jcmVhdGVNYW5pZmVzdCh7XG4gICAgICB3b3JrZmxvd0J1bmRsZVBhdGgsXG4gICAgICBtYW5pZmVzdERpcjogd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcblxuICAgIC8vIEV4cG9zZSBtYW5pZmVzdCBhcyBhIHN0YXRpYyBmaWxlIHdoZW4gV09SS0ZMT1dfUFVCTElDX01BTklGRVNUPTEuXG4gICAgLy8gU3ZlbHRlS2l0IHNlcnZlcyBmaWxlcyBmcm9tIHN0YXRpYy8gYXQgdGhlIHJvb3QgVVJMLlxuICAgIGlmICh0aGlzLnNob3VsZEV4cG9zZVB1YmxpY01hbmlmZXN0ICYmIG1hbmlmZXN0SnNvbikge1xuICAgICAgY29uc3Qgc3RhdGljTWFuaWZlc3REaXIgPSBqb2luKFxuICAgICAgICB0aGlzLmNvbmZpZy53b3JraW5nRGlyLFxuICAgICAgICAnc3RhdGljLy53ZWxsLWtub3duL3dvcmtmbG93L3YxJ1xuICAgICAgKTtcbiAgICAgIGF3YWl0IG1rZGlyKHN0YXRpY01hbmlmZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5WRVJDRUxfREVQTE9ZTUVOVF9JRCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKHN0YXRpY01hbmlmZXN0RGlyLCAnLmdpdGlnbm9yZScpLCAnKicpO1xuICAgICAgfVxuICAgICAgYXdhaXQgY29weUZpbGUoXG4gICAgICAgIGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdtYW5pZmVzdC5qc29uJyksXG4gICAgICAgIGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICdtYW5pZmVzdC5qc29uJylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZFN0ZXBzUm91dGUoe1xuICAgIGlucHV0RmlsZXMsXG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgdHNjb25maWdQYXRoLFxuICB9OiB7XG4gICAgaW5wdXRGaWxlczogc3RyaW5nW107XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgICB0c2NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgc3RlcHMgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL3N0ZXAvK3NlcnZlci5qc1xuICAgIGNvbnN0IHN0ZXBzUm91dGVEaXIgPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnc3RlcCcpO1xuICAgIGF3YWl0IG1rZGlyKHN0ZXBzUm91dGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgeyBtYW5pZmVzdCB9ID0gYXdhaXQgdGhpcy5jcmVhdGVTdGVwc0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIG91dGZpbGU6IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGV4dGVybmFsaXplTm9uU3RlcHM6IHRydWUsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCBzdGVwc1JvdXRlRmlsZSA9IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgc3RlcHNSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShzdGVwc1JvdXRlRmlsZSwgJ3V0Zi04Jyk7XG5cbiAgICAvLyBSZXBsYWNlIHRoZSBkZWZhdWx0IGV4cG9ydCB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJcbiAgICBzdGVwc1JvdXRlQ29udGVudCA9IHJlcGxhY2VHZW5lcmF0ZWRSb3V0ZUV4cG9ydChcbiAgICAgIHN0ZXBzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydFxccypcXHtcXHMqc3RlcEVudHJ5cG9pbnRcXHcqXFxzK2FzXFxzK0hFQURcXHMqLFxccypzdGVwRW50cnlwb2ludFxcdypcXHMrYXNcXHMrUE9TVFxccypcXH1cXHMqOz9cXHMqJC9tLFxuICAgICAgYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmNvbnN0IGhhbmRsZVN0ZXBSZXF1ZXN0ID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHN0ZXBFbnRyeXBvaW50KG5vcm1hbFJlcXVlc3QpO1xufTtcblxuZXhwb3J0IGNvbnN0IEhFQUQgPSBoYW5kbGVTdGVwUmVxdWVzdDtcbmV4cG9ydCBjb25zdCBQT1NUID0gaGFuZGxlU3RlcFJlcXVlc3Q7YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHN0ZXAgcm91dGUnXG4gICAgKTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZShzdGVwc1JvdXRlRmlsZSwgc3RlcHNSb3V0ZUNvbnRlbnQpO1xuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXb3JrZmxvd3NSb3V0ZSh7XG4gICAgaW5wdXRGaWxlcyxcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICB0c2NvbmZpZ1BhdGgsXG4gIH06IHtcbiAgICBpbnB1dEZpbGVzOiBzdHJpbmdbXTtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcjogc3RyaW5nO1xuICAgIHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3b3JrZmxvd3Mgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL2Zsb3cvK3NlcnZlci5qc1xuICAgIGNvbnN0IHdvcmtmbG93c1JvdXRlRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ2Zsb3cnKTtcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd3NSb3V0ZURpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCB7IG1hbmlmZXN0IH0gPSBhd2FpdCB0aGlzLmNyZWF0ZVdvcmtmbG93c0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgb3V0ZmlsZTogam9pbih3b3JrZmxvd3NSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGJ1bmRsZUZpbmFsT3V0cHV0OiBmYWxzZSxcbiAgICAgIGlucHV0RmlsZXMsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZUZpbGUgPSBqb2luKHdvcmtmbG93c1JvdXRlRGlyLCAnK3NlcnZlci5qcycpO1xuICAgIGxldCB3b3JrZmxvd3NSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh3b3JrZmxvd3NSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBleHBvcnQgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyXG4gICAgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gcmVwbGFjZUdlbmVyYXRlZFJvdXRlRXhwb3J0KFxuICAgICAgd29ya2Zsb3dzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydCBjb25zdCBQT1NUID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7PyQvbSxcbiAgICAgIChfbWF0Y2gsIG9wdGlvbnMgPSAnJykgPT4gYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmV4cG9ydCBjb25zdCBQT1NUID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn07YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHdvcmtmbG93IHJvdXRlJ1xuICAgICk7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHdvcmtmbG93c1JvdXRlRmlsZSwgd29ya2Zsb3dzUm91dGVDb250ZW50KTtcblxuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rUm91dGUoe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICB9OiB7XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3ZWJob29rIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS93ZWJob29rL1t0b2tlbl0vK3NlcnZlci5qc1xuICAgIGNvbnN0IHdlYmhvb2tSb3V0ZUZpbGUgPSBqb2luKFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICAnd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanMnXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2ViaG9va0J1bmRsZSh7XG4gICAgICBvdXRmaWxlOiB3ZWJob29rUm91dGVGaWxlLFxuICAgICAgYnVuZGxlOiBmYWxzZSwgLy8gU3ZlbHRlS2l0IHdpbGwgaGFuZGxlIGJ1bmRsaW5nXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBsZXQgd2ViaG9va1JvdXRlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gVXBkYXRlIGhhbmRsZXIgc2lnbmF0dXJlIHRvIGFjY2VwdCB0b2tlbiBhcyBwYXJhbWV0ZXJcbiAgICB3ZWJob29rUm91dGVDb250ZW50ID0gd2ViaG9va1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2FzeW5jIGZ1bmN0aW9uIGhhbmRsZXJcXChyZXF1ZXN0XFwpIFxce1tcXHNcXFNdKj9jb25zdCB0b2tlbiA9IGRlY29kZVVSSUNvbXBvbmVudFxcKHBhdGhQYXJ0c1xcW3BhdGhQYXJ0c1xcLmxlbmd0aCAtIDFcXF1cXCk7LyxcbiAgICAgIGBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcXVlc3QsIHRva2VuKSB7YFxuICAgICk7XG5cbiAgICAvLyBSZW1vdmUgdGhlIFVSTCBwYXJzaW5nIGNvZGUgc2luY2Ugd2UgZ2V0IHRva2VuIGZyb20gcGFyYW1zXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9jb25zdCB1cmwgPSBuZXcgVVJMXFwocmVxdWVzdFxcLnVybFxcKTtbXFxzXFxTXSo/Y29uc3QgcGF0aFBhcnRzID0gdXJsXFwucGF0aG5hbWVcXC5zcGxpdFxcKCdcXC8nXFwpO1tcXHNcXFNdKj9cXG4vLFxuICAgICAgJydcbiAgICApO1xuXG4gICAgLy8gUmVwbGFjZSBhbGwgSFRUUCBtZXRob2QgZXhwb3J0cyB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJzXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9leHBvcnQgY29uc3QgR0VUID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgUE9TVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBVVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBBVENIID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgREVMRVRFID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgSEVBRCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBoYW5kbGVyOy8sXG4gICAgICBgJHtOT1JNQUxJWkVfUkVRVUVTVF9DT0RFfVxuY29uc3QgY3JlYXRlU3ZlbHRlS2l0SGFuZGxlciA9IChtZXRob2QpID0+IGFzeW5jICh7IHJlcXVlc3QsIHBhcmFtcywgcGxhdGZvcm0gfSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVyKG5vcm1hbFJlcXVlc3QsIHBhcmFtcy50b2tlbik7XG4gIHJldHVybiByZXNwb25zZTtcbn07XG5cbmV4cG9ydCBjb25zdCBHRVQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdHRVQnKTtcbmV4cG9ydCBjb25zdCBQT1NUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUE9TVCcpO1xuZXhwb3J0IGNvbnN0IFBVVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BVVCcpO1xuZXhwb3J0IGNvbnN0IFBBVENIID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUEFUQ0gnKTtcbmV4cG9ydCBjb25zdCBERUxFVEUgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdERUxFVEUnKTtcbmV4cG9ydCBjb25zdCBIRUFEID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignSEVBRCcpO1xuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdPUFRJT05TJyk7YFxuICAgICk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUod2ViaG9va1JvdXRlRmlsZSwgd2ViaG9va1JvdXRlQ29udGVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSb3V0ZXNEaXJlY3RvcnkoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByb3V0ZXNEaXIgPVxuICAgICAgdGhpcy4jcm91dGVzRGlyID8/IChhd2FpdCBsb2FkU3ZlbHRlS2l0Um91dGVzRGlyKHRoaXMuY29uZmlnLndvcmtpbmdEaXIpKTtcbiAgICBhd2FpdCBhc3NlcnREaXJlY3Rvcnkocm91dGVzRGlyKTtcbiAgICByZXR1cm4gcm91dGVzRGlyO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkU3ZlbHRlS2l0Um91dGVzRGlyKFxuICB3b3JraW5nRGlyOiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4od29ya2luZ0RpciwgJ3BhY2thZ2UuanNvbicpKTtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcmVxdWlyZS5yZXNvbHZlKCdAc3ZlbHRlanMva2l0L3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBsb2FkZXJQYXRoID0gam9pbihkaXJuYW1lKHBhY2thZ2VKc29uUGF0aCksICdzcmMvY29yZS9jb25maWcvaW5kZXguanMnKTtcblxuICBjb25zdCBjb25maWdNb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTChsb2FkZXJQYXRoKS5ocmVmKTtcbiAgLy8gU3ZlbHRlS2l0IDIuNjIrIGBsb2FkX2NvbmZpZygpYCByZXNvbHZlcyBWaXRlIGNvbmZpZyBmaXJzdC4gQ2FsbGluZyBpdFxuICAvLyB3aGlsZSBgd29ya2Zsb3cvc3ZlbHRla2l0YCBpcyBpbXBvcnRlZCBmcm9tIHZpdGUuY29uZmlnLnRzIHJlY3Vyc2l2ZWx5XG4gIC8vIHJlbG9hZHMgdml0ZS5jb25maWcudHMgYW5kIGxlYXZlcyB0aGlzIHRvcC1sZXZlbCBidWlsZCB1bnJlc29sdmVkLlxuICBjb25zdCBjb25maWcgPVxuICAgIGNvbmZpZ01vZHVsZS5sb2FkX3N2ZWx0ZV9jb25maWcgIT0gbnVsbFxuICAgICAgPyBhd2FpdCBjb25maWdNb2R1bGUubG9hZF9zdmVsdGVfY29uZmlnKHdvcmtpbmdEaXIpXG4gICAgICA6IGF3YWl0IGNvbmZpZ01vZHVsZS5sb2FkX2NvbmZpZyh7IGN3ZDogd29ya2luZ0RpciB9KTtcbiAgY29uc3Qgcm91dGVzRGlyID0gY29uZmlnLmtpdD8uZmlsZXM/LnJvdXRlcztcbiAgaWYgKHJvdXRlc0RpciA9PSBudWxsIHx8IHR5cGVvZiByb3V0ZXNEaXIgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0V4cGVjdGVkIFN2ZWx0ZUtpdCBjb25maWcgbG9hZGVyIHRvIHJldHVybiBraXQuZmlsZXMucm91dGVzIGFzIGEgc3RyaW5nLidcbiAgICApO1xuICB9XG4gIHJldHVybiByb3V0ZXNEaXI7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFzc2VydERpcmVjdG9yeShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYWNjZXNzKHBhdGgsIGNvbnN0YW50cy5GX09LKTtcbiAgY29uc3Qgc3RhdHMgPSBhd2FpdCBzdGF0KHBhdGgpO1xuICBpZiAoIXN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggZXhpc3RzIGJ1dCBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7cGF0aH1gKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/sveltekit",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.12",
|
|
4
4
|
"description": "SvelteKit integration for Workflow SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
"exsolve": "^1.0.8",
|
|
25
25
|
"fs-extra": "^11.3.2",
|
|
26
26
|
"pathe": "^2.0.3",
|
|
27
|
-
"@workflow/
|
|
28
|
-
"@workflow/
|
|
29
|
-
"@workflow/
|
|
30
|
-
"@workflow/vite": "4.0.
|
|
27
|
+
"@workflow/rollup": "4.0.12",
|
|
28
|
+
"@workflow/builders": "4.1.2",
|
|
29
|
+
"@workflow/swc-plugin": "4.1.2",
|
|
30
|
+
"@workflow/vite": "4.0.12"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/fs-extra": "11.0.4",
|
|
34
34
|
"@types/node": "22.19.0",
|
|
35
|
-
"vite": "7.
|
|
35
|
+
"vite": "7.3.6",
|
|
36
36
|
"@workflow/tsconfig": "4.0.1"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|