@workflow/nitro 4.1.2 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +7 -7
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +7 -8
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -8,16 +8,16 @@ export default {
|
|
|
8
8
|
name: 'workflow/nitro',
|
|
9
9
|
async setup(nitro) {
|
|
10
10
|
const isVercelDeploy = !nitro.options.dev && nitro.options.preset === 'vercel';
|
|
11
|
-
//
|
|
12
|
-
|
|
11
|
+
// Nitro build artifacts have already been transformed; exclude the whole
|
|
12
|
+
// build directory from re-transformation.
|
|
13
|
+
const nitroBuildDir = `${nitro.options.buildDir.replace(/[\\/]+$/, '')}/`;
|
|
13
14
|
// Add transform plugin at the BEGINNING to run before other transforms
|
|
14
15
|
// (especially before class property transforms that rename classes like _ClassName)
|
|
15
16
|
nitro.hooks.hook('rollup:before', (_nitro, config) => {
|
|
16
17
|
config.plugins.unshift(workflowTransformPlugin({
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
exclude: [workflowBuildDir],
|
|
18
|
+
// Nitro build artifacts have already been transformed.
|
|
19
|
+
// Re-processing them can duplicate class registration.
|
|
20
|
+
exclude: [nitroBuildDir],
|
|
21
21
|
}));
|
|
22
22
|
});
|
|
23
23
|
// NOTE: Temporary workaround for debug unenv mock
|
|
@@ -340,4 +340,4 @@ export default fromWebHandler(() => new Response("Manifest not found", { status:
|
|
|
340
340
|
writeFileSync(handlerPath, fallback);
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzVELGVBQWU7SUFDYixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBWTtRQUN0QixNQUFNLGNBQWMsR0FDbEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7UUFFMUQsaUZBQWlGO1FBQ2pGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWxFLHVFQUF1RTtRQUN2RSxvRkFBb0Y7UUFDcEYsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBYSxFQUFFLE1BQW9CLEVBQUUsRUFBRTtZQUN2RSxNQUFNLENBQUMsT0FBMEIsQ0FBQyxPQUFPLENBQ3hDLHVCQUF1QixDQUFDO2dCQUN0Qiw0REFBNEQ7Z0JBQzVELG1FQUFtRTtnQkFDbkUsb0VBQW9FO2dCQUNwRSxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzthQUM1QixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFD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SUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckQsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBDLElBQUksQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFFeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNoQyxDQUFDLENBQUM7bUJBQ1csSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7Ozs7Q0FJakQ7WUFDSyxDQUFDLENBQUMsb0JBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDOzs7O0NBSTFELENBQUM7UUFDRSxhQUFhLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwrQkFBK0I7UUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUM3QixDQUFDLENBQUM7O0NBRVA7WUFDSyxDQUFDLENBQUM7Q0FDUCxDQUFDO1FBQ0UsYUFBYSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYywgcmVhZEZpbGVTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB7IHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luIH0gZnJvbSAnQHdvcmtmbG93L3JvbGx1cCc7XG5pbXBvcnQgdHlwZSB7IE5pdHJvLCBOaXRyb01vZHVsZSwgUm9sbHVwQ29uZmlnIH0gZnJvbSAnbml0cm8vdHlwZXMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGhlJztcbmltcG9ydCB7IExvY2FsQnVpbGRlciwgVmVyY2VsQnVpbGRlciB9IGZyb20gJy4vYnVpbGRlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIHsgTW9kdWxlT3B0aW9ucyB9O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICd3b3JrZmxvdy9uaXRybycsXG4gIGFzeW5jIHNldHVwKG5pdHJvOiBOaXRybykge1xuICAgIGNvbnN0IGlzVmVyY2VsRGVwbG95ID1cbiAgICAgICFuaXRyby5vcHRpb25zLmRldiAmJiBuaXRyby5vcHRpb25zLnByZXNldCA9PT0gJ3ZlcmNlbCc7XG5cbiAgICAvLyBQcmUtYnVpbHQgd29ya2Zsb3cgYnVuZGxlcyBkaXJlY3RvcnkgLSBtdXN0IGJlIGV4Y2x1ZGVkIGZyb20gcmUtdHJhbnNmb3JtYXRpb25cbiAgICBjb25zdCB3b3JrZmxvd0J1aWxkRGlyID0gam9pbihuaXRyby5vcHRpb25zLmJ1aWxkRGlyLCAnd29ya2Zsb3cnKTtcblxuICAgIC8vIEFkZCB0cmFuc2Zvcm0gcGx1Z2luIGF0IHRoZSBCRUdJTk5JTkcgdG8gcnVuIGJlZm9yZSBvdGhlciB0cmFuc2Zvcm1zXG4gICAgLy8gKGVzcGVjaWFsbHkgYmVmb3JlIGNsYXNzIHByb3BlcnR5IHRyYW5zZm9ybXMgdGhhdCByZW5hbWUgY2xhc3NlcyBsaWtlIF9DbGFzc05hbWUpXG4gICAgbml0cm8uaG9va3MuaG9vaygncm9sbHVwOmJlZm9yZScsIChfbml0cm86IE5pdHJvLCBjb25maWc6IFJvbGx1cENvbmZpZykgPT4ge1xuICAgICAgKGNvbmZpZy5wbHVnaW5zIGFzIEFycmF5PHVua25vd24+KS51bnNoaWZ0KFxuICAgICAgICB3b3JrZmxvd1RyYW5zZm9ybVBsdWdpbih7XG4gICAgICAgICAgLy8gRXhjbHVkZSBwcmUtYnVpbHQgd29ya2Zsb3cgYnVuZGxlcyBmcm9tIHJlLXRyYW5zZm9ybWF0aW9uXG4gICAgICAgICAgLy8gVGhlc2UgYXJlIGFscmVhZHkgcHJvY2Vzc2VkIGFuZCByZS1wcm9jZXNzaW5nIGNhdXNlcyBpc3N1ZXMgbGlrZVxuICAgICAgICAgIC8vIHVuZGVmaW5lZCBjbGFzcyByZWZlcmVuY2VzIHdoZW4gTml0cm8ncyBidW5kbGVyIHJlbmFtZXMgdmFyaWFibGVzXG4gICAgICAgICAgZXhjbHVkZTogW3dvcmtmbG93QnVpbGREaXJdLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIC8vIE5PVEU6IFRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBkZWJ1ZyB1bmVudiBtb2NrXG4gICAgaWYgKCFuaXRyby5vcHRpb25zLndvcmtmbG93Py5fdml0ZSkge1xuICAgICAgbml0cm8ub3B0aW9ucy5hbGlhcy5kZWJ1ZyA/Pz0gJ2RlYnVnJztcbiAgICB9XG5cbiAgICAvLyBBZGQgdHNDb25maWcgcGx1Z2luXG4gICAgaWYgKG5pdHJvLm9wdGlvbnMud29ya2Zsb3c/LnR5cGVzY3JpcHRQbHVnaW4pIHtcbiAgICAgIG5pdHJvLm9wdGlvbnMudHlwZXNjcmlwdC50c0NvbmZpZyB8fD0ge307XG4gICAgICBuaXRyby5vcHRpb25zLnR5cGVzY3JpcHQudHNDb25maWcuY29tcGlsZXJPcHRpb25zIHx8PSB7fTtcbiAgICAgIG5pdHJvLm9wdGlvbnMudHlwZXNjcmlwdC50c0NvbmZpZy5jb21waWxlck9wdGlvbnMucGx1Z2lucyB8fD0gW107XG4gICAgICBuaXRyby5vcHRpb25zLnR5cGVzY3JpcHQudHNDb25maWcuY29tcGlsZXJPcHRpb25zLnBsdWdpbnMucHVzaCh7XG4gICAgICAgIG5hbWU6ICd3b3JrZmxvdycsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBmdW5jdGlvbnMgZm9yIHZlcmNlbCBidWlsZFxuICAgIGlmIChpc1ZlcmNlbERlcGxveSkge1xuICAgICAgbml0cm8uaG9va3MuaG9vaygnY29tcGlsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IG5ldyBWZXJjZWxCdWlsZGVyKG5pdHJvKS5idWlsZCgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgbG9jYWwgYnVuZGxlcyBmb3IgZGV2IGFuZCBsb2NhbCBwcm9kXG4gICAgaWYgKCFpc1ZlcmNlbERlcGxveSkge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBMb2NhbEJ1aWxkZXIobml0cm8pO1xuICAgICAgbGV0IGlzSW5pdGlhbEJ1aWxkID0gdHJ1ZTtcblxuICAgICAgbml0cm8uaG9va3MuaG9vaygnYnVpbGQ6YmVmb3JlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgICAgLy8gRm9yIHByb2Q6IHdyaXRlIHRoZSBtYW5pZmVzdCBoYW5kbGVyIGZpbGUgd2l0aCBpbmxpbmVkIGNvbnRlbnRcbiAgICAgICAgLy8gbm93IHRoYXQgdGhlIGJ1aWxkZXIgaGFzIGdlbmVyYXRlZCB0aGUgbWFuaWZlc3QuIFJvbGx1cCB3aWxsXG4gICAgICAgIC8vIGJ1bmRsZSB0aGlzIGZpbGUgaW50byB0aGUgY29tcGlsZWQgb3V0cHV0LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIW5pdHJvLm9wdGlvbnMuZGV2ICYmXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfUFVCTElDX01BTklGRVNUID09PSAnMSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgd3JpdGVNYW5pZmVzdEhhbmRsZXIobml0cm8pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gQWxsb3dzIGZvciBITVIgLSBidXQgc2tpcCB0aGUgZmlyc3QgZGV2OnJlbG9hZCBzaW5jZSBidWlsZDpiZWZvcmUgYWxyZWFkeSByYW5cbiAgICAgIGlmIChuaXRyby5vcHRpb25zLmRldikge1xuICAgICAgICBuaXRyby5ob29rcy5ob29rKCdkZXY6cmVsb2FkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChpc0luaXRpYWxCdWlsZCkge1xuICAgICAgICAgICAgaXNJbml0aWFsQnVpbGQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5pdHJvLm9wdGlvbnMuZGV2KSB7XG4gICAgICAgIGFkZERhc2hib2FyZEhhbmRsZXIobml0cm8pO1xuICAgICAgfVxuXG4gICAgICBhZGRWaXJ0dWFsSGFuZGxlcihcbiAgICAgICAgbml0cm8sXG4gICAgICAgICcvLndlbGwta25vd24vd29ya2Zsb3cvdjEvd2ViaG9vay86dG9rZW4nLFxuICAgICAgICAnd29ya2Zsb3cvd2ViaG9vay5tanMnXG4gICAgICApO1xuXG4gICAgICBhZGRWaXJ0dWFsSGFuZGxlcihcbiAgICAgICAgbml0cm8sXG4gICAgICAgICcvLndlbGwta25vd24vd29ya2Zsb3cvdjEvc3RlcCcsXG4gICAgICAgICd3b3JrZmxvdy9zdGVwcy5tanMnXG4gICAgICApO1xuXG4gICAgICBhZGRWaXJ0dWFsSGFuZGxlcihcbiAgICAgICAgbml0cm8sXG4gICAgICAgICcvLndlbGwta25vd24vd29ya2Zsb3cvdjEvZmxvdycsXG4gICAgICAgICd3b3JrZmxvdy93b3JrZmxvd3MubWpzJ1xuICAgICAgKTtcblxuICAgICAgLy8gRXhwb3NlIG1hbmlmZXN0IGFzIGEgcHVibGljIEhUVFAgcm91dGUgd2hlbiBXT1JLRkxPV19QVUJMSUNfTUFOSUZFU1Q9MVxuICAgICAgaWYgKHByb2Nlc3MuZW52LldPUktGTE9XX1BVQkxJQ19NQU5JRkVTVCA9PT0gJzEnKSB7XG4gICAgICAgIC8vIFdyaXRlIGEgcGxhY2Vob2xkZXIgbWFuaWZlc3QtZGF0YS5tanMgc28gcm9sbHVwIGNhbiByZXNvbHZlIHRoZVxuICAgICAgICAvLyBpbXBvcnQuIEl0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2l0aCB0aGUgcmVhbCBtYW5pZmVzdCBpbiBidWlsZDpiZWZvcmUuXG4gICAgICAgIC8vIFdyaXRlIGEgcGxhY2Vob2xkZXIgaGFuZGxlciBmaWxlIHNvIHJvbGx1cCBjYW4gcmVzb2x2ZSB0aGUgcGF0aFxuICAgICAgICAvLyBkdXJpbmcgcHJvZCBjb21waWxhdGlvbi4gSXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB3aXRoIHRoZSByZWFsXG4gICAgICAgIC8vIG1hbmlmZXN0IGNvbnRlbnQgYnkgd3JpdGVNYW5pZmVzdEhhbmRsZXIoKSBpbiBidWlsZDpiZWZvcmUuXG4gICAgICAgIGlmICghbml0cm8ub3B0aW9ucy5kZXYpIHtcbiAgICAgICAgICBjb25zdCBkaXIgPSBqb2luKG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsICd3b3JrZmxvdycpO1xuICAgICAgICAgIG1rZGlyU3luYyhkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgIGNvbnN0IGhhbmRsZXJQYXRoID0gam9pbihkaXIsICdtYW5pZmVzdC1oYW5kbGVyLm1qcycpO1xuICAgICAgICAgIHdyaXRlRmlsZVN5bmMoXG4gICAgICAgICAgICBoYW5kbGVyUGF0aCxcbiAgICAgICAgICAgICdleHBvcnQgZGVmYXVsdCBhc3luYyAoKSA9PiBuZXcgUmVzcG9uc2UoXCJNYW5pZmVzdCBub3QgZm91bmRcIiwgeyBzdGF0dXM6IDQwNCB9KTtcXG4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBhZGRNYW5pZmVzdEhhbmRsZXIobml0cm8pO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn0gc2F0aXNmaWVzIE5pdHJvTW9kdWxlO1xuXG5jb25zdCBEQVNIQk9BUkRfVklSVFVBTF9JRCA9ICcjd29ya2Zsb3cvZGFzaGJvYXJkLWhhbmRsZXInO1xuXG5mdW5jdGlvbiBhZGREYXNoYm9hcmRIYW5kbGVyKG5pdHJvOiBOaXRybykge1xuICBjb25zdCByb3V0ZSA9ICcvX3dvcmtmbG93JztcbiAgbml0cm8ub3B0aW9ucy5oYW5kbGVycy5wdXNoKHsgcm91dGUsIGhhbmRsZXI6IERBU0hCT0FSRF9WSVJUVUFMX0lEIH0pO1xuXG4gIC8vIFJlc29sdmUgYEB3b3JrZmxvdy93ZWIvc2VydmVyYCByZWxhdGl2ZSB0byB0aGlzIG1vZHVsZSBzbyBjb25zdW1lcnMgZG9uJ3RcbiAgLy8gbmVlZCBhIGRpcmVjdCBkZXBlbmRlbmN5IG9uIGBAd29ya2Zsb3cvd2ViYC4gVGhlIHBhdGggaXMgaW5saW5lZCBpbnRvIHRoZVxuICAvLyB2aXJ0dWFsIGhhbmRsZXIgYXMgYSBmaWxlOi8vIFVSTCBzbyBOb2RlIGNhbiBgaW1wb3J0KClgIGl0IGF0IHJ1bnRpbWVcbiAgLy8gcmVnYXJkbGVzcyBvZiB3aGVyZSB0aGUgZ2VuZXJhdGVkIE5pdHJvIGJ1bmRsZSBlbmRzIHVwLlxuICBjb25zdCByZXF1aXJlXyA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcbiAgbGV0IHdlYlNlcnZlclVybDogc3RyaW5nO1xuICB0cnkge1xuICAgIHdlYlNlcnZlclVybCA9IHBhdGhUb0ZpbGVVUkwocmVxdWlyZV8ucmVzb2x2ZSgnQHdvcmtmbG93L3dlYi9zZXJ2ZXInKSkuaHJlZjtcbiAgfSBjYXRjaCB7XG4gICAgd2ViU2VydmVyVXJsID0gJ0B3b3JrZmxvdy93ZWIvc2VydmVyJztcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZXJTb3VyY2UgPSAvKiBqcyAqLyBgXG4gICAgY29uc3QgX193b3JrZmxvd1dlYlNlcnZlclVybCA9ICR7SlNPTi5zdHJpbmdpZnkod2ViU2VydmVyVXJsKX07XG4gICAgbGV0IHNlcnZlclByb21pc2UgPSBudWxsO1xuICAgIGFzeW5jIGZ1bmN0aW9uIGdldERhc2hib2FyZFVybCgpIHtcbiAgICAgIGlmICghc2VydmVyUHJvbWlzZSkge1xuICAgICAgICBzZXJ2ZXJQcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHN0YXJ0U2VydmVyIH0gPSBhd2FpdCBpbXBvcnQoLyogQHZpdGUtaWdub3JlICovIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8gX193b3JrZmxvd1dlYlNlcnZlclVybCk7XG4gICAgICAgICAgY29uc3Qgc2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIoMCk7XG4gICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHNlcnZlci5hZGRyZXNzKCk7XG4gICAgICAgICAgY29uc3QgcG9ydCA9IHR5cGVvZiBhZGRyZXNzID09PSAnb2JqZWN0JyAmJiBhZGRyZXNzID8gYWRkcmVzcy5wb3J0IDogMzQ1NjtcbiAgICAgICAgICByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6JyArIHBvcnQ7XG4gICAgICAgIH0pKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgc2VydmVyUHJvbWlzZSA9IG51bGw7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNlcnZlclByb21pc2U7XG4gICAgfVxuICBgO1xuXG4gIGlmICghbml0cm8ucm91dGluZykge1xuICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtEQVNIQk9BUkRfVklSVFVBTF9JRF0gPSAvKiBqcyAqLyBgXG4gICAgICBpbXBvcnQgeyBmcm9tV2ViSGFuZGxlciB9IGZyb20gXCJoM1wiO1xuICAgICAgJHtoYW5kbGVyU291cmNlfVxuICAgICAgZXhwb3J0IGRlZmF1bHQgZnJvbVdlYkhhbmRsZXIoYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IGdldERhc2hib2FyZFVybCgpO1xuICAgICAgICAgIHJldHVybiBSZXNwb25zZS5yZWRpcmVjdCh1cmwsIDMwMik7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IHdvcmtmbG93IGRhc2hib2FyZDonLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSgnRmFpbGVkIHRvIHN0YXJ0IHdvcmtmbG93IGRhc2hib2FyZDogJyArIGVycm9yLm1lc3NhZ2UsIHsgc3RhdHVzOiA1MDAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgbml0cm8ub3B0aW9ucy52aXJ0dWFsW0RBU0hCT0FSRF9WSVJUVUFMX0lEXSA9IC8qIGpzICovIGBcbiAgICAgICR7aGFuZGxlclNvdXJjZX1cbiAgICAgIGV4cG9ydCBkZWZhdWx0IGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCBnZXREYXNoYm9hcmRVcmwoKTtcbiAgICAgICAgICByZXR1cm4gUmVzcG9uc2UucmVkaXJlY3QodXJsLCAzMDIpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCB3b3JrZmxvdyBkYXNoYm9hcmQ6JywgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoJ0ZhaWxlZCB0byBzdGFydCB3b3JrZmxvdyBkYXNoYm9hcmQ6ICcgKyBlcnJvci5tZXNzYWdlLCB7IHN0YXR1czogNTAwIH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIGA7XG4gIH1cbn1cblxudHlwZSBWaXJ0dWFsSGFuZGxlclBhdGggPVxuICB8ICd3b3JrZmxvdy93ZWJob29rLm1qcydcbiAgfCAnd29ya2Zsb3cvc3RlcHMubWpzJ1xuICB8ICd3b3JrZmxvdy93b3JrZmxvd3MubWpzJztcblxuZnVuY3Rpb24gYWRkVmlydHVhbEhhbmRsZXIoXG4gIG5pdHJvOiBOaXRybyxcbiAgcm91dGU6IHN0cmluZyxcbiAgYnVpbGRQYXRoOiBWaXJ0dWFsSGFuZGxlclBhdGhcbikge1xuICBuaXRyby5vcHRpb25zLmhhbmRsZXJzLnB1c2goe1xuICAgIHJvdXRlLFxuICAgIGhhbmRsZXI6IGAjJHtidWlsZFBhdGh9YCxcbiAgfSk7XG4gIC8vIEtlZXAgYSBiYXJlIGltcG9ydCBhbG9uZ3NpZGUgYFBPU1RgOiBpbiBOdXh0ICsgTml0cm8gcHJvZHVjdGlvbiBidWlsZHNcbiAgLy8gdXNpbmcgYEB3b3JrZmxvdy9udXh0YCwgaW1wb3J0aW5nIG9ubHkgYFBPU1RgIGNvdWxkIGRyb3AgdGhlIGdlbmVyYXRlZFxuICAvLyBzdGVwIGJ1bmRsZSdzIHRvcC1sZXZlbCByZWdpc3RyYXRpb25zLCBzbyB0aGUgaGFuZGxlciBsb2FkZWQgYnV0IHN0ZXBzXG4gIC8vIHdlcmUgbWlzc2luZyBhdCBydW50aW1lLlxuICBjb25zdCBoYW5kbGVySW1wb3J0UGF0aCA9IEpTT04uc3RyaW5naWZ5KFxuICAgIGpvaW4obml0cm8ub3B0aW9ucy5idWlsZERpciwgYnVpbGRQYXRoKVxuICApO1xuICBjb25zdCBzdGVwc0ltcG9ydFBhdGggPSBKU09OLnN0cmluZ2lmeShcbiAgICBqb2luKG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsICd3b3JrZmxvdy9zdGVwcy5tanMnKVxuICApO1xuICBjb25zdCBwcmVsb2FkU3RlcHM6IFJlY29yZDxWaXJ0dWFsSGFuZGxlclBhdGgsIHN0cmluZz4gPSB7XG4gICAgJ3dvcmtmbG93L3dlYmhvb2subWpzJzogJycsXG4gICAgJ3dvcmtmbG93L3N0ZXBzLm1qcyc6ICcnLFxuICAgICd3b3JrZmxvdy93b3JrZmxvd3MubWpzJzogYGF3YWl0IGltcG9ydCgvKiBAdml0ZS1pZ25vcmUgKi8gcGF0aFRvRmlsZVVSTCgke3N0ZXBzSW1wb3J0UGF0aH0pLmhyZWYgKyBcIj90PVwiICsgdmVyc2lvbik7YCxcbiAgfTtcblxuICBpZiAobml0cm8ub3B0aW9ucy5kZXYpIHtcbiAgICAvLyBEZXYgbW9kZTogbG9hZCBnZW5lcmF0ZWQgd29ya2Zsb3cgYnVuZGxlcyBmcm9tIGRpc2sgYXQgcmVxdWVzdCB0aW1lLlxuICAgIC8vIFRoaXMga2VlcHMgYC5uaXRyby93b3JrZmxvdy8qLm1qc2Agb3V0IG9mIE5pdHJvJ3Mgb3duIGJ1bmRsZSBncmFwaCxcbiAgICAvLyB3aGljaCBhdm9pZHMgcmVidWlsZCBsb29wcyBhbmQgc3RhbGUgZGVwZW5kZW5jeSBncmFwaHMgZHVyaW5nIEhNUi5cbiAgICAvLyBDYWNoZS1idXN0IGJ5IGZpbGUgbXRpbWUgc28gZWFjaCBzdWNjZXNzZnVsIHJlYnVpbGQgbG9hZHMgZnJlc2ggY29kZS5cbiAgICBpZiAoIW5pdHJvLnJvdXRpbmcpIHtcbiAgICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtgIyR7YnVpbGRQYXRofWBdID0gLyoganMgKi8gYFxuICAgICAgaW1wb3J0IHsgZnJvbVdlYkhhbmRsZXIgfSBmcm9tIFwiaDNcIjtcbiAgICAgIGltcG9ydCB7IHN0YXRTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAgICAgIGltcG9ydCB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tIFwibm9kZTp1cmxcIjtcblxuICAgICAgY29uc3QgaGFuZGxlclBhdGggPSAke2hhbmRsZXJJbXBvcnRQYXRofTtcbiAgICAgIGxldCBjdXJyZW50VmVyc2lvbiA9IFwiXCI7XG4gICAgICBsZXQgY3VycmVudEltcG9ydFBhdGggPSBcIlwiO1xuXG4gICAgICBhc3luYyBmdW5jdGlvbiBsb2FkUE9TVCgpIHtcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IFN0cmluZyhzdGF0U3luYyhoYW5kbGVyUGF0aCkubXRpbWVNcyk7XG4gICAgICAgIGlmICh2ZXJzaW9uICE9PSBjdXJyZW50VmVyc2lvbikge1xuICAgICAgICAgIGN1cnJlbnRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgICBjdXJyZW50SW1wb3J0UGF0aCA9IHBhdGhUb0ZpbGVVUkwoaGFuZGxlclBhdGgpLmhyZWYgKyBcIj90PVwiICsgdmVyc2lvbjtcbiAgICAgICAgICAke3ByZWxvYWRTdGVwc1tidWlsZFBhdGhdfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KGN1cnJlbnRJbXBvcnRQYXRoKSkuUE9TVDtcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGRlZmF1bHQgZnJvbVdlYkhhbmRsZXIoYXN5bmMgKHJlcXVlc3QsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgUE9TVCA9IGF3YWl0IGxvYWRQT1NUKCk7XG4gICAgICAgIHJldHVybiBQT1NUKHJlcXVlc3QsIGNvbnRleHQpO1xuICAgICAgfSk7XG4gICAgYDtcbiAgICB9IGVsc2Uge1xuICAgICAgbml0cm8ub3B0aW9ucy52aXJ0dWFsW2AjJHtidWlsZFBhdGh9YF0gPSAvKiBqcyAqLyBgXG4gICAgICBpbXBvcnQgeyBzdGF0U3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG4gICAgICBpbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5cbiAgICAgIGNvbnN0IGhhbmRsZXJQYXRoID0gJHtoYW5kbGVySW1wb3J0UGF0aH07XG4gICAgICBsZXQgY3VycmVudFZlcnNpb24gPSBcIlwiO1xuICAgICAgbGV0IGN1cnJlbnRJbXBvcnRQYXRoID0gXCJcIjtcblxuICAgICAgYXN5bmMgZnVuY3Rpb24gbG9hZFBPU1QoKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBTdHJpbmcoc3RhdFN5bmMoaGFuZGxlclBhdGgpLm10aW1lTXMpO1xuICAgICAgICBpZiAodmVyc2lvbiAhPT0gY3VycmVudFZlcnNpb24pIHtcbiAgICAgICAgICBjdXJyZW50VmVyc2lvbiA9IHZlcnNpb247XG4gICAgICAgICAgY3VycmVudEltcG9ydFBhdGggPSBwYXRoVG9GaWxlVVJMKGhhbmRsZXJQYXRoKS5ocmVmICsgXCI/dD1cIiArIHZlcnNpb247XG4gICAgICAgICAgJHtwcmVsb2FkU3RlcHNbYnVpbGRQYXRoXX1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydChjdXJyZW50SW1wb3J0UGF0aCkpLlBPU1Q7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBkZWZhdWx0IGFzeW5jICh7IHJlcSB9KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgUE9TVCA9IGF3YWl0IGxvYWRQT1NUKCk7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IFBPU1QocmVxKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdIYW5kbGVyIGVycm9yOicsIGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLCB7IHN0YXR1czogNTAwIH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIGA7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghbml0cm8ucm91dGluZykge1xuICAgIC8vIE5pdHJvIHYyIChsZWdhY3kpXG4gICAgbml0cm8ub3B0aW9ucy52aXJ0dWFsW2AjJHtidWlsZFBhdGh9YF0gPSAvKiBqcyAqLyBgXG4gICAgaW1wb3J0ICR7aGFuZGxlckltcG9ydFBhdGh9O1xuICAgIGltcG9ydCB7IGZyb21XZWJIYW5kbGVyIH0gZnJvbSBcImgzXCI7XG4gICAgaW1wb3J0IHsgUE9TVCB9IGZyb20gJHtoYW5kbGVySW1wb3J0UGF0aH07XG4gICAgZXhwb3J0IGRlZmF1bHQgZnJvbVdlYkhhbmRsZXIoUE9TVCk7XG4gIGA7XG4gIH0gZWxzZSB7XG4gICAgLy8gTml0cm8gdjMrIChuYXRpdmUgd2ViIGhhbmRsZXJzKVxuICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtgIyR7YnVpbGRQYXRofWBdID0gLyoganMgKi8gYFxuICAgIGltcG9ydCAke2hhbmRsZXJJbXBvcnRQYXRofTtcbiAgICBpbXBvcnQgeyBQT1NUIH0gZnJvbSAke2hhbmRsZXJJbXBvcnRQYXRofTtcbiAgICBleHBvcnQgZGVmYXVsdCBhc3luYyAoeyByZXEgfSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IFBPU1QocmVxKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0hhbmRsZXIgZXJyb3I6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLCB7IHN0YXR1czogNTAwIH0pO1xuICAgICAgfVxuICAgIH07XG4gIGA7XG4gIH1cbn1cblxuY29uc3QgTUFOSUZFU1RfVklSVFVBTF9JRCA9ICcjd29ya2Zsb3cvbWFuaWZlc3QtaGFuZGxlcic7XG5cbmZ1bmN0aW9uIGFkZE1hbmlmZXN0SGFuZGxlcihuaXRybzogTml0cm8pIHtcbiAgY29uc3Qgcm91dGUgPSAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL21hbmlmZXN0Lmpzb24nO1xuICBjb25zdCBtYW5pZmVzdFBhdGggPSBqb2luKG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsICd3b3JrZmxvdy9tYW5pZmVzdC5qc29uJyk7XG4gIGNvbnN0IGhhbmRsZXJQYXRoID0gam9pbihcbiAgICBuaXRyby5vcHRpb25zLmJ1aWxkRGlyLFxuICAgICd3b3JrZmxvdy9tYW5pZmVzdC1oYW5kbGVyLm1qcydcbiAgKTtcblxuICBpZiAobml0cm8ub3B0aW9ucy5kZXYpIHtcbiAgICAvLyBEZXYgbW9kZTogdXNlIGEgdmlydHVhbCBoYW5kbGVyIHRoYXQgcmVhZHMgdGhlIG1hbmlmZXN0IGZyb20gZGlzayBhdFxuICAgIC8vIHJlcXVlc3QgdGltZS4gVGhlIGFic29sdXRlIHBhdGggaXMgdmFsaWQgYmVjYXVzZSB3ZSdyZSBvbiB0aGUgYnVpbGQgbWFjaGluZS5cbiAgICBuaXRyby5vcHRpb25zLmhhbmRsZXJzLnB1c2goeyByb3V0ZSwgaGFuZGxlcjogTUFOSUZFU1RfVklSVFVBTF9JRCB9KTtcbiAgICBuaXRyby5vcHRpb25zLnZpcnR1YWxbTUFOSUZFU1RfVklSVFVBTF9JRF0gPSAhbml0cm8ucm91dGluZ1xuICAgICAgPyAvKiBqcyAqLyBgXG4gICAgICBpbXBvcnQgeyBmcm9tV2ViSGFuZGxlciB9IGZyb20gXCJoM1wiO1xuICAgICAgaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAgICAgIGZ1bmN0aW9uIEdFVCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBtYW5pZmVzdCA9IHJlYWRGaWxlU3luYygke0pTT04uc3RyaW5naWZ5KG1hbmlmZXN0UGF0aCl9LCBcInV0Zi04XCIpO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UobWFuaWZlc3QsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShcIk1hbmlmZXN0IG5vdCBmb3VuZFwiLCB7IHN0YXR1czogNDA0IH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBleHBvcnQgZGVmYXVsdCBmcm9tV2ViSGFuZGxlcihHRVQpO1xuICAgIGBcbiAgICAgIDogLyoganMgKi8gYFxuICAgICAgaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbiAgICAgIGV4cG9ydCBkZWZhdWx0IGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBtYW5pZmVzdCA9IHJlYWRGaWxlU3luYygke0pTT04uc3RyaW5naWZ5KG1hbmlmZXN0UGF0aCl9LCBcInV0Zi04XCIpO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UobWFuaWZlc3QsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZShcIk1hbmlmZXN0IG5vdCBmb3VuZFwiLCB7IHN0YXR1czogNDA0IH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgLy8gUHJvZCBtb2RlOiByZWdpc3RlciBhIHBoeXNpY2FsIGhhbmRsZXIgZmlsZSB0aGF0IHdpbGwgYmUgd3JpdHRlbiBieVxuICAgIC8vIHdyaXRlTWFuaWZlc3RIYW5kbGVyKCkgYWZ0ZXIgdGhlIGJ1aWxkZXIgZ2VuZXJhdGVzIHRoZSBtYW5pZmVzdC5cbiAgICAvLyBUaGlzIGZpbGUgaXMgYnVuZGxlZCBieSByb2xsdXAgaW50byB0aGUgY29tcGlsZWQgb3V0cHV0LlxuICAgIG5pdHJvLm9wdGlvbnMuaGFuZGxlcnMucHVzaCh7IHJvdXRlLCBoYW5kbGVyOiBoYW5kbGVyUGF0aCB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFdyaXRlcyBhIHBoeXNpY2FsIG1hbmlmZXN0IGhhbmRsZXIgZmlsZSB3aXRoIHRoZSBtYW5pZmVzdCBjb250ZW50IGlubGluZWQuXG4gKiBNdXN0IGJlIGNhbGxlZCBhZnRlciB0aGUgYnVpbGRlciBnZW5lcmF0ZXMgdGhlIG1hbmlmZXN0IChkdXJpbmcgYnVpbGQ6YmVmb3JlKVxuICogYW5kIGJlZm9yZSBOaXRybyBjb21waWxlcyB0aGUgYnVuZGxlIHdpdGggcm9sbHVwLlxuICovXG5mdW5jdGlvbiB3cml0ZU1hbmlmZXN0SGFuZGxlcihuaXRybzogTml0cm8pIHtcbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gam9pbihuaXRyby5vcHRpb25zLmJ1aWxkRGlyLCAnd29ya2Zsb3cvbWFuaWZlc3QuanNvbicpO1xuICBjb25zdCBoYW5kbGVyUGF0aCA9IGpvaW4oXG4gICAgbml0cm8ub3B0aW9ucy5idWlsZERpcixcbiAgICAnd29ya2Zsb3cvbWFuaWZlc3QtaGFuZGxlci5tanMnXG4gICk7XG4gIGNvbnN0IGRpciA9IGpvaW4obml0cm8ub3B0aW9ucy5idWlsZERpciwgJ3dvcmtmbG93Jyk7XG4gIG1rZGlyU3luYyhkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgbWFuaWZlc3RDb250ZW50ID0gcmVhZEZpbGVTeW5jKG1hbmlmZXN0UGF0aCwgJ3V0Zi04Jyk7XG4gICAgSlNPTi5wYXJzZShtYW5pZmVzdENvbnRlbnQpOyAvLyB2YWxpZGF0ZVxuXG4gICAgY29uc3QgaGFuZGxlckNvZGUgPSAhbml0cm8ucm91dGluZ1xuICAgICAgPyBgaW1wb3J0IHsgZnJvbVdlYkhhbmRsZXIgfSBmcm9tIFwiaDNcIjtcbmNvbnN0IG1hbmlmZXN0ID0gJHtKU09OLnN0cmluZ2lmeShtYW5pZmVzdENvbnRlbnQpfTtcbmV4cG9ydCBkZWZhdWx0IGZyb21XZWJIYW5kbGVyKCgpID0+IG5ldyBSZXNwb25zZShtYW5pZmVzdCwge1xuICBoZWFkZXJzOiB7IFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG59KSk7XG5gXG4gICAgICA6IGBjb25zdCBtYW5pZmVzdCA9ICR7SlNPTi5zdHJpbmdpZnkobWFuaWZlc3RDb250ZW50KX07XG5leHBvcnQgZGVmYXVsdCBhc3luYyAoKSA9PiBuZXcgUmVzcG9uc2UobWFuaWZlc3QsIHtcbiAgaGVhZGVyczogeyBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxufSk7XG5gO1xuICAgIHdyaXRlRmlsZVN5bmMoaGFuZGxlclBhdGgsIGhhbmRsZXJDb2RlKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gV3JpdGUgYSA0MDQgZmFsbGJhY2sgaGFuZGxlclxuICAgIGNvbnN0IGZhbGxiYWNrID0gIW5pdHJvLnJvdXRpbmdcbiAgICAgID8gYGltcG9ydCB7IGZyb21XZWJIYW5kbGVyIH0gZnJvbSBcImgzXCI7XG5leHBvcnQgZGVmYXVsdCBmcm9tV2ViSGFuZGxlcigoKSA9PiBuZXcgUmVzcG9uc2UoXCJNYW5pZmVzdCBub3QgZm91bmRcIiwgeyBzdGF0dXM6IDQwNCB9KSk7XG5gXG4gICAgICA6IGBleHBvcnQgZGVmYXVsdCBhc3luYyAoKSA9PiBuZXcgUmVzcG9uc2UoXCJNYW5pZmVzdCBub3QgZm91bmRcIiwgeyBzdGF0dXM6IDQwNCB9KTtcbmA7XG4gICAgd3JpdGVGaWxlU3luYyhoYW5kbGVyUGF0aCwgZmFsbGJhY2spO1xuICB9XG59XG4iXX0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzVELGVBQWU7SUFDYixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBWTtRQUN0QixNQUFNLGNBQWMsR0FDbEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7UUFFMUQseUVBQXlFO1FBQ3pFLDBDQUEwQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUUxRSx1RUFBdUU7UUFDdkUsb0ZBQW9GO1FBQ3BGLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQWEsRUFBRSxNQUFvQixFQUFFLEVBQUU7WUFDdkUsTUFBTSxDQUFDLE9BQTBCLENBQUMsT0FBTyxDQUN4Qyx1QkFBdUIsQ0FBQztnQkFDdEIsdURBQXVEO2dCQUN2RCx1REFBdUQ7Z0JBQ3ZELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQzthQUN6QixDQUFDLENBQ0gsQ0FBQztRQUNK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QStCLENBQ2hDLENBQUM7SUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckQsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBDLElBQUksQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFFeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNoQyxDQUFDLENBQUM7bUJBQ1csSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7Ozs7Q0FJakQ7WUFDSyxDQUFDLENBQUMsb0JBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDOzs7O0NBSTFELENBQUM7UUFDRSxhQUFhLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwrQkFBK0I7UUFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUM3QixDQUFDLENBQUM7O0NBRVA7WUFDSyxDQUFDLENBQUM7Q0FDUCxDQUFDO1FBQ0UsYUFBYSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYywgcmVhZEZpbGVTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB7IHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luIH0gZnJvbSAnQHdvcmtmbG93L3JvbGx1cCc7XG5pbXBvcnQgdHlwZSB7IE5pdHJvLCBOaXRyb01vZHVsZSwgUm9sbHVwQ29uZmlnIH0gZnJvbSAnbml0cm8vdHlwZXMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGhlJztcbmltcG9ydCB7IExvY2FsQnVpbGRlciwgVmVyY2VsQnVpbGRlciB9IGZyb20gJy4vYnVpbGRlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIHsgTW9kdWxlT3B0aW9ucyB9O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICd3b3JrZmxvdy9uaXRybycsXG4gIGFzeW5jIHNldHVwKG5pdHJvOiBOaXRybykge1xuICAgIGNvbnN0IGlzVmVyY2VsRGVwbG95ID1cbiAgICAgICFuaXRyby5vcHRpb25zLmRldiAmJiBuaXRyby5vcHRpb25zLnByZXNldCA9PT0gJ3ZlcmNlbCc7XG5cbiAgICAvLyBOaXRybyBidWlsZCBhcnRpZmFjdHMgaGF2ZSBhbHJlYWR5IGJlZW4gdHJhbnNmb3JtZWQ7IGV4Y2x1ZGUgdGhlIHdob2xlXG4gICAgLy8gYnVpbGQgZGlyZWN0b3J5IGZyb20gcmUtdHJhbnNmb3JtYXRpb24uXG4gICAgY29uc3Qgbml0cm9CdWlsZERpciA9IGAke25pdHJvLm9wdGlvbnMuYnVpbGREaXIucmVwbGFjZSgvW1xcXFwvXSskLywgJycpfS9gO1xuXG4gICAgLy8gQWRkIHRyYW5zZm9ybSBwbHVnaW4gYXQgdGhlIEJFR0lOTklORyB0byBydW4gYmVmb3JlIG90aGVyIHRyYW5zZm9ybXNcbiAgICAvLyAoZXNwZWNpYWxseSBiZWZvcmUgY2xhc3MgcHJvcGVydHkgdHJhbnNmb3JtcyB0aGF0IHJlbmFtZSBjbGFzc2VzIGxpa2UgX0NsYXNzTmFtZSlcbiAgICBuaXRyby5ob29rcy5ob29rKCdyb2xsdXA6YmVmb3JlJywgKF9uaXRybzogTml0cm8sIGNvbmZpZzogUm9sbHVwQ29uZmlnKSA9PiB7XG4gICAgICAoY29uZmlnLnBsdWdpbnMgYXMgQXJyYXk8dW5rbm93bj4pLnVuc2hpZnQoXG4gICAgICAgIHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luKHtcbiAgICAgICAgICAvLyBOaXRybyBidWlsZCBhcnRpZmFjdHMgaGF2ZSBhbHJlYWR5IGJlZW4gdHJhbnNmb3JtZWQuXG4gICAgICAgICAgLy8gUmUtcHJvY2Vzc2luZyB0aGVtIGNhbiBkdXBsaWNhdGUgY2xhc3MgcmVnaXN0cmF0aW9uLlxuICAgICAgICAgIGV4Y2x1ZGU6IFtuaXRyb0J1aWxkRGlyXSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBOT1RFOiBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBmb3IgZGVidWcgdW5lbnYgbW9ja1xuICAgIGlmICghbml0cm8ub3B0aW9ucy53b3JrZmxvdz8uX3ZpdGUpIHtcbiAgICAgIG5pdHJvLm9wdGlvbnMuYWxpYXMuZGVidWcgPz89ICdkZWJ1Zyc7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRzQ29uZmlnIHBsdWdpblxuICAgIGlmIChuaXRyby5vcHRpb25zLndvcmtmbG93Py50eXBlc2NyaXB0UGx1Z2luKSB7XG4gICAgICBuaXRyby5vcHRpb25zLnR5cGVzY3JpcHQudHNDb25maWcgfHw9IHt9O1xuICAgICAgbml0cm8ub3B0aW9ucy50eXBlc2NyaXB0LnRzQ29uZmlnLmNvbXBpbGVyT3B0aW9ucyB8fD0ge307XG4gICAgICBuaXRyby5vcHRpb25zLnR5cGVzY3JpcHQudHNDb25maWcuY29tcGlsZXJPcHRpb25zLnBsdWdpbnMgfHw9IFtdO1xuICAgICAgbml0cm8ub3B0aW9ucy50eXBlc2NyaXB0LnRzQ29uZmlnLmNvbXBpbGVyT3B0aW9ucy5wbHVnaW5zLnB1c2goe1xuICAgICAgICBuYW1lOiAnd29ya2Zsb3cnLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgZnVuY3Rpb25zIGZvciB2ZXJjZWwgYnVpbGRcbiAgICBpZiAoaXNWZXJjZWxEZXBsb3kpIHtcbiAgICAgIG5pdHJvLmhvb2tzLmhvb2soJ2NvbXBpbGVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBuZXcgVmVyY2VsQnVpbGRlcihuaXRybykuYnVpbGQoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGxvY2FsIGJ1bmRsZXMgZm9yIGRldiBhbmQgbG9jYWwgcHJvZFxuICAgIGlmICghaXNWZXJjZWxEZXBsb3kpIHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgTG9jYWxCdWlsZGVyKG5pdHJvKTtcbiAgICAgIGxldCBpc0luaXRpYWxCdWlsZCA9IHRydWU7XG5cbiAgICAgIG5pdHJvLmhvb2tzLmhvb2soJ2J1aWxkOmJlZm9yZScsIGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICAgIC8vIEZvciBwcm9kOiB3cml0ZSB0aGUgbWFuaWZlc3QgaGFuZGxlciBmaWxlIHdpdGggaW5saW5lZCBjb250ZW50XG4gICAgICAgIC8vIG5vdyB0aGF0IHRoZSBidWlsZGVyIGhhcyBnZW5lcmF0ZWQgdGhlIG1hbmlmZXN0LiBSb2xsdXAgd2lsbFxuICAgICAgICAvLyBidW5kbGUgdGhpcyBmaWxlIGludG8gdGhlIGNvbXBpbGVkIG91dHB1dC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFuaXRyby5vcHRpb25zLmRldiAmJlxuICAgICAgICAgIHByb2Nlc3MuZW52LldPUktGTE9XX1BVQkxJQ19NQU5JRkVTVCA9PT0gJzEnXG4gICAgICAgICkge1xuICAgICAgICAgIHdyaXRlTWFuaWZlc3RIYW5kbGVyKG5pdHJvKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIEFsbG93cyBmb3IgSE1SIC0gYnV0IHNraXAgdGhlIGZpcnN0IGRldjpyZWxvYWQgc2luY2UgYnVpbGQ6YmVmb3JlIGFscmVhZHkgcmFuXG4gICAgICBpZiAobml0cm8ub3B0aW9ucy5kZXYpIHtcbiAgICAgICAgbml0cm8uaG9va3MuaG9vaygnZGV2OnJlbG9hZCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBpZiAoaXNJbml0aWFsQnVpbGQpIHtcbiAgICAgICAgICAgIGlzSW5pdGlhbEJ1aWxkID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChuaXRyby5vcHRpb25zLmRldikge1xuICAgICAgICBhZGREYXNoYm9hcmRIYW5kbGVyKG5pdHJvKTtcbiAgICAgIH1cblxuICAgICAgYWRkVmlydHVhbEhhbmRsZXIoXG4gICAgICAgIG5pdHJvLFxuICAgICAgICAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3dlYmhvb2svOnRva2VuJyxcbiAgICAgICAgJ3dvcmtmbG93L3dlYmhvb2subWpzJ1xuICAgICAgKTtcblxuICAgICAgYWRkVmlydHVhbEhhbmRsZXIoXG4gICAgICAgIG5pdHJvLFxuICAgICAgICAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3N0ZXAnLFxuICAgICAgICAnd29ya2Zsb3cvc3RlcHMubWpzJ1xuICAgICAgKTtcblxuICAgICAgYWRkVmlydHVhbEhhbmRsZXIoXG4gICAgICAgIG5pdHJvLFxuICAgICAgICAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL2Zsb3cnLFxuICAgICAgICAnd29ya2Zsb3cvd29ya2Zsb3dzLm1qcydcbiAgICAgICk7XG5cbiAgICAgIC8vIEV4cG9zZSBtYW5pZmVzdCBhcyBhIHB1YmxpYyBIVFRQIHJvdXRlIHdoZW4gV09SS0ZMT1dfUFVCTElDX01BTklGRVNUPTFcbiAgICAgIGlmIChwcm9jZXNzLmVudi5XT1JLRkxPV19QVUJMSUNfTUFOSUZFU1QgPT09ICcxJykge1xuICAgICAgICAvLyBXcml0ZSBhIHBsYWNlaG9sZGVyIG1hbmlmZXN0LWRhdGEubWpzIHNvIHJvbGx1cCBjYW4gcmVzb2x2ZSB0aGVcbiAgICAgICAgLy8gaW1wb3J0LiBJdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHdpdGggdGhlIHJlYWwgbWFuaWZlc3QgaW4gYnVpbGQ6YmVmb3JlLlxuICAgICAgICAvLyBXcml0ZSBhIHBsYWNlaG9sZGVyIGhhbmRsZXIgZmlsZSBzbyByb2xsdXAgY2FuIHJlc29sdmUgdGhlIHBhdGhcbiAgICAgICAgLy8gZHVyaW5nIHByb2QgY29tcGlsYXRpb24uIEl0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2l0aCB0aGUgcmVhbFxuICAgICAgICAvLyBtYW5pZmVzdCBjb250ZW50IGJ5IHdyaXRlTWFuaWZlc3RIYW5kbGVyKCkgaW4gYnVpbGQ6YmVmb3JlLlxuICAgICAgICBpZiAoIW5pdHJvLm9wdGlvbnMuZGV2KSB7XG4gICAgICAgICAgY29uc3QgZGlyID0gam9pbihuaXRyby5vcHRpb25zLmJ1aWxkRGlyLCAnd29ya2Zsb3cnKTtcbiAgICAgICAgICBta2RpclN5bmMoZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICBjb25zdCBoYW5kbGVyUGF0aCA9IGpvaW4oZGlyLCAnbWFuaWZlc3QtaGFuZGxlci5tanMnKTtcbiAgICAgICAgICB3cml0ZUZpbGVTeW5jKFxuICAgICAgICAgICAgaGFuZGxlclBhdGgsXG4gICAgICAgICAgICAnZXhwb3J0IGRlZmF1bHQgYXN5bmMgKCkgPT4gbmV3IFJlc3BvbnNlKFwiTWFuaWZlc3Qgbm90IGZvdW5kXCIsIHsgc3RhdHVzOiA0MDQgfSk7XFxuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkTWFuaWZlc3RIYW5kbGVyKG5pdHJvKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG59IHNhdGlzZmllcyBOaXRyb01vZHVsZTtcblxuY29uc3QgREFTSEJPQVJEX1ZJUlRVQUxfSUQgPSAnI3dvcmtmbG93L2Rhc2hib2FyZC1oYW5kbGVyJztcblxuZnVuY3Rpb24gYWRkRGFzaGJvYXJkSGFuZGxlcihuaXRybzogTml0cm8pIHtcbiAgY29uc3Qgcm91dGUgPSAnL193b3JrZmxvdyc7XG4gIG5pdHJvLm9wdGlvbnMuaGFuZGxlcnMucHVzaCh7IHJvdXRlLCBoYW5kbGVyOiBEQVNIQk9BUkRfVklSVFVBTF9JRCB9KTtcblxuICAvLyBSZXNvbHZlIGBAd29ya2Zsb3cvd2ViL3NlcnZlcmAgcmVsYXRpdmUgdG8gdGhpcyBtb2R1bGUgc28gY29uc3VtZXJzIGRvbid0XG4gIC8vIG5lZWQgYSBkaXJlY3QgZGVwZW5kZW5jeSBvbiBgQHdvcmtmbG93L3dlYmAuIFRoZSBwYXRoIGlzIGlubGluZWQgaW50byB0aGVcbiAgLy8gdmlydHVhbCBoYW5kbGVyIGFzIGEgZmlsZTovLyBVUkwgc28gTm9kZSBjYW4gYGltcG9ydCgpYCBpdCBhdCBydW50aW1lXG4gIC8vIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgdGhlIGdlbmVyYXRlZCBOaXRybyBidW5kbGUgZW5kcyB1cC5cbiAgY29uc3QgcmVxdWlyZV8gPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG4gIGxldCB3ZWJTZXJ2ZXJVcmw6IHN0cmluZztcbiAgdHJ5IHtcbiAgICB3ZWJTZXJ2ZXJVcmwgPSBwYXRoVG9GaWxlVVJMKHJlcXVpcmVfLnJlc29sdmUoJ0B3b3JrZmxvdy93ZWIvc2VydmVyJykpLmhyZWY7XG4gIH0gY2F0Y2gge1xuICAgIHdlYlNlcnZlclVybCA9ICdAd29ya2Zsb3cvd2ViL3NlcnZlcic7XG4gIH1cblxuICBjb25zdCBoYW5kbGVyU291cmNlID0gLyoganMgKi8gYFxuICAgIGNvbnN0IF9fd29ya2Zsb3dXZWJTZXJ2ZXJVcmwgPSAke0pTT04uc3RyaW5naWZ5KHdlYlNlcnZlclVybCl9O1xuICAgIGxldCBzZXJ2ZXJQcm9taXNlID0gbnVsbDtcbiAgICBhc3luYyBmdW5jdGlvbiBnZXREYXNoYm9hcmRVcmwoKSB7XG4gICAgICBpZiAoIXNlcnZlclByb21pc2UpIHtcbiAgICAgICAgc2VydmVyUHJvbWlzZSA9IChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzdGFydFNlcnZlciB9ID0gYXdhaXQgaW1wb3J0KC8qIEB2aXRlLWlnbm9yZSAqLyAvKiB3ZWJwYWNrSWdub3JlOiB0cnVlICovIF9fd29ya2Zsb3dXZWJTZXJ2ZXJVcmwpO1xuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IGF3YWl0IHN0YXJ0U2VydmVyKDApO1xuICAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBzZXJ2ZXIuYWRkcmVzcygpO1xuICAgICAgICAgIGNvbnN0IHBvcnQgPSB0eXBlb2YgYWRkcmVzcyA9PT0gJ29iamVjdCcgJiYgYWRkcmVzcyA/IGFkZHJlc3MucG9ydCA6IDM0NTY7XG4gICAgICAgICAgcmV0dXJuICdodHRwOi8vbG9jYWxob3N0OicgKyBwb3J0O1xuICAgICAgICB9KSgpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHNlcnZlclByb21pc2UgPSBudWxsO1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzZXJ2ZXJQcm9taXNlO1xuICAgIH1cbiAgYDtcblxuICBpZiAoIW5pdHJvLnJvdXRpbmcpIHtcbiAgICBuaXRyby5vcHRpb25zLnZpcnR1YWxbREFTSEJPQVJEX1ZJUlRVQUxfSURdID0gLyoganMgKi8gYFxuICAgICAgaW1wb3J0IHsgZnJvbVdlYkhhbmRsZXIgfSBmcm9tIFwiaDNcIjtcbiAgICAgICR7aGFuZGxlclNvdXJjZX1cbiAgICAgIGV4cG9ydCBkZWZhdWx0IGZyb21XZWJIYW5kbGVyKGFzeW5jICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCBnZXREYXNoYm9hcmRVcmwoKTtcbiAgICAgICAgICByZXR1cm4gUmVzcG9uc2UucmVkaXJlY3QodXJsLCAzMDIpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCB3b3JrZmxvdyBkYXNoYm9hcmQ6JywgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoJ0ZhaWxlZCB0byBzdGFydCB3b3JrZmxvdyBkYXNoYm9hcmQ6ICcgKyBlcnJvci5tZXNzYWdlLCB7IHN0YXR1czogNTAwIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICBgO1xuICB9IGVsc2Uge1xuICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtEQVNIQk9BUkRfVklSVFVBTF9JRF0gPSAvKiBqcyAqLyBgXG4gICAgICAke2hhbmRsZXJTb3VyY2V9XG4gICAgICBleHBvcnQgZGVmYXVsdCBhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdXJsID0gYXdhaXQgZ2V0RGFzaGJvYXJkVXJsKCk7XG4gICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLnJlZGlyZWN0KHVybCwgMzAyKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgd29ya2Zsb3cgZGFzaGJvYXJkOicsIGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCdGYWlsZWQgdG8gc3RhcnQgd29ya2Zsb3cgZGFzaGJvYXJkOiAnICsgZXJyb3IubWVzc2FnZSwgeyBzdGF0dXM6IDUwMCB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICBgO1xuICB9XG59XG5cbnR5cGUgVmlydHVhbEhhbmRsZXJQYXRoID1cbiAgfCAnd29ya2Zsb3cvd2ViaG9vay5tanMnXG4gIHwgJ3dvcmtmbG93L3N0ZXBzLm1qcydcbiAgfCAnd29ya2Zsb3cvd29ya2Zsb3dzLm1qcyc7XG5cbmZ1bmN0aW9uIGFkZFZpcnR1YWxIYW5kbGVyKFxuICBuaXRybzogTml0cm8sXG4gIHJvdXRlOiBzdHJpbmcsXG4gIGJ1aWxkUGF0aDogVmlydHVhbEhhbmRsZXJQYXRoXG4pIHtcbiAgbml0cm8ub3B0aW9ucy5oYW5kbGVycy5wdXNoKHtcbiAgICByb3V0ZSxcbiAgICBoYW5kbGVyOiBgIyR7YnVpbGRQYXRofWAsXG4gIH0pO1xuICAvLyBLZWVwIGEgYmFyZSBpbXBvcnQgYWxvbmdzaWRlIGBQT1NUYDogaW4gTnV4dCArIE5pdHJvIHByb2R1Y3Rpb24gYnVpbGRzXG4gIC8vIHVzaW5nIGBAd29ya2Zsb3cvbnV4dGAsIGltcG9ydGluZyBvbmx5IGBQT1NUYCBjb3VsZCBkcm9wIHRoZSBnZW5lcmF0ZWRcbiAgLy8gc3RlcCBidW5kbGUncyB0b3AtbGV2ZWwgcmVnaXN0cmF0aW9ucywgc28gdGhlIGhhbmRsZXIgbG9hZGVkIGJ1dCBzdGVwc1xuICAvLyB3ZXJlIG1pc3NpbmcgYXQgcnVudGltZS5cbiAgY29uc3QgaGFuZGxlckltcG9ydFBhdGggPSBKU09OLnN0cmluZ2lmeShcbiAgICBqb2luKG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsIGJ1aWxkUGF0aClcbiAgKTtcbiAgY29uc3Qgc3RlcHNJbXBvcnRQYXRoID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgam9pbihuaXRyby5vcHRpb25zLmJ1aWxkRGlyLCAnd29ya2Zsb3cvc3RlcHMubWpzJylcbiAgKTtcbiAgY29uc3QgcHJlbG9hZFN0ZXBzOiBSZWNvcmQ8VmlydHVhbEhhbmRsZXJQYXRoLCBzdHJpbmc+ID0ge1xuICAgICd3b3JrZmxvdy93ZWJob29rLm1qcyc6ICcnLFxuICAgICd3b3JrZmxvdy9zdGVwcy5tanMnOiAnJyxcbiAgICAnd29ya2Zsb3cvd29ya2Zsb3dzLm1qcyc6IGBhd2FpdCBpbXBvcnQoLyogQHZpdGUtaWdub3JlICovIHBhdGhUb0ZpbGVVUkwoJHtzdGVwc0ltcG9ydFBhdGh9KS5ocmVmICsgXCI/dD1cIiArIHZlcnNpb24pO2AsXG4gIH07XG5cbiAgaWYgKG5pdHJvLm9wdGlvbnMuZGV2KSB7XG4gICAgLy8gRGV2IG1vZGU6IGxvYWQgZ2VuZXJhdGVkIHdvcmtmbG93IGJ1bmRsZXMgZnJvbSBkaXNrIGF0IHJlcXVlc3QgdGltZS5cbiAgICAvLyBUaGlzIGtlZXBzIGAubml0cm8vd29ya2Zsb3cvKi5tanNgIG91dCBvZiBOaXRybydzIG93biBidW5kbGUgZ3JhcGgsXG4gICAgLy8gd2hpY2ggYXZvaWRzIHJlYnVpbGQgbG9vcHMgYW5kIHN0YWxlIGRlcGVuZGVuY3kgZ3JhcGhzIGR1cmluZyBITVIuXG4gICAgLy8gQ2FjaGUtYnVzdCBieSBmaWxlIG10aW1lIHNvIGVhY2ggc3VjY2Vzc2Z1bCByZWJ1aWxkIGxvYWRzIGZyZXNoIGNvZGUuXG4gICAgaWYgKCFuaXRyby5yb3V0aW5nKSB7XG4gICAgICBuaXRyby5vcHRpb25zLnZpcnR1YWxbYCMke2J1aWxkUGF0aH1gXSA9IC8qIGpzICovIGBcbiAgICAgIGltcG9ydCB7IGZyb21XZWJIYW5kbGVyIH0gZnJvbSBcImgzXCI7XG4gICAgICBpbXBvcnQgeyBzdGF0U3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG4gICAgICBpbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5cbiAgICAgIGNvbnN0IGhhbmRsZXJQYXRoID0gJHtoYW5kbGVySW1wb3J0UGF0aH07XG4gICAgICBsZXQgY3VycmVudFZlcnNpb24gPSBcIlwiO1xuICAgICAgbGV0IGN1cnJlbnRJbXBvcnRQYXRoID0gXCJcIjtcblxuICAgICAgYXN5bmMgZnVuY3Rpb24gbG9hZFBPU1QoKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBTdHJpbmcoc3RhdFN5bmMoaGFuZGxlclBhdGgpLm10aW1lTXMpO1xuICAgICAgICBpZiAodmVyc2lvbiAhPT0gY3VycmVudFZlcnNpb24pIHtcbiAgICAgICAgICBjdXJyZW50VmVyc2lvbiA9IHZlcnNpb247XG4gICAgICAgICAgY3VycmVudEltcG9ydFBhdGggPSBwYXRoVG9GaWxlVVJMKGhhbmRsZXJQYXRoKS5ocmVmICsgXCI/dD1cIiArIHZlcnNpb247XG4gICAgICAgICAgJHtwcmVsb2FkU3RlcHNbYnVpbGRQYXRoXX1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydChjdXJyZW50SW1wb3J0UGF0aCkpLlBPU1Q7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBkZWZhdWx0IGZyb21XZWJIYW5kbGVyKGFzeW5jIChyZXF1ZXN0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IFBPU1QgPSBhd2FpdCBsb2FkUE9TVCgpO1xuICAgICAgICByZXR1cm4gUE9TVChyZXF1ZXN0LCBjb250ZXh0KTtcbiAgICAgIH0pO1xuICAgIGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtgIyR7YnVpbGRQYXRofWBdID0gLyoganMgKi8gYFxuICAgICAgaW1wb3J0IHsgc3RhdFN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuICAgICAgaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gXCJub2RlOnVybFwiO1xuXG4gICAgICBjb25zdCBoYW5kbGVyUGF0aCA9ICR7aGFuZGxlckltcG9ydFBhdGh9O1xuICAgICAgbGV0IGN1cnJlbnRWZXJzaW9uID0gXCJcIjtcbiAgICAgIGxldCBjdXJyZW50SW1wb3J0UGF0aCA9IFwiXCI7XG5cbiAgICAgIGFzeW5jIGZ1bmN0aW9uIGxvYWRQT1NUKCkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gU3RyaW5nKHN0YXRTeW5jKGhhbmRsZXJQYXRoKS5tdGltZU1zKTtcbiAgICAgICAgaWYgKHZlcnNpb24gIT09IGN1cnJlbnRWZXJzaW9uKSB7XG4gICAgICAgICAgY3VycmVudFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICAgIGN1cnJlbnRJbXBvcnRQYXRoID0gcGF0aFRvRmlsZVVSTChoYW5kbGVyUGF0aCkuaHJlZiArIFwiP3Q9XCIgKyB2ZXJzaW9uO1xuICAgICAgICAgICR7cHJlbG9hZFN0ZXBzW2J1aWxkUGF0aF19XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoY3VycmVudEltcG9ydFBhdGgpKS5QT1NUO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgZGVmYXVsdCBhc3luYyAoeyByZXEgfSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IFBPU1QgPSBhd2FpdCBsb2FkUE9TVCgpO1xuICAgICAgICAgIHJldHVybiBhd2FpdCBQT1NUKHJlcSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSGFuZGxlciBlcnJvcjonLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSgnSW50ZXJuYWwgU2VydmVyIEVycm9yJywgeyBzdGF0dXM6IDUwMCB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICBgO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIW5pdHJvLnJvdXRpbmcpIHtcbiAgICAvLyBOaXRybyB2MiAobGVnYWN5KVxuICAgIG5pdHJvLm9wdGlvbnMudmlydHVhbFtgIyR7YnVpbGRQYXRofWBdID0gLyoganMgKi8gYFxuICAgIGltcG9ydCAke2hhbmRsZXJJbXBvcnRQYXRofTtcbiAgICBpbXBvcnQgeyBmcm9tV2ViSGFuZGxlciB9IGZyb20gXCJoM1wiO1xuICAgIGltcG9ydCB7IFBPU1QgfSBmcm9tICR7aGFuZGxlckltcG9ydFBhdGh9O1xuICAgIGV4cG9ydCBkZWZhdWx0IGZyb21XZWJIYW5kbGVyKFBPU1QpO1xuICBgO1xuICB9IGVsc2Uge1xuICAgIC8vIE5pdHJvIHYzKyAobmF0aXZlIHdlYiBoYW5kbGVycylcbiAgICBuaXRyby5vcHRpb25zLnZpcnR1YWxbYCMke2J1aWxkUGF0aH1gXSA9IC8qIGpzICovIGBcbiAgICBpbXBvcnQgJHtoYW5kbGVySW1wb3J0UGF0aH07XG4gICAgaW1wb3J0IHsgUE9TVCB9IGZyb20gJHtoYW5kbGVySW1wb3J0UGF0aH07XG4gICAgZXhwb3J0IGRlZmF1bHQgYXN5bmMgKHsgcmVxIH0pID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBQT1NUKHJlcSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdIYW5kbGVyIGVycm9yOicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSgnSW50ZXJuYWwgU2VydmVyIEVycm9yJywgeyBzdGF0dXM6IDUwMCB9KTtcbiAgICAgIH1cbiAgICB9O1xuICBgO1xuICB9XG59XG5cbmNvbnN0IE1BTklGRVNUX1ZJUlRVQUxfSUQgPSAnI3dvcmtmbG93L21hbmlmZXN0LWhhbmRsZXInO1xuXG5mdW5jdGlvbiBhZGRNYW5pZmVzdEhhbmRsZXIobml0cm86IE5pdHJvKSB7XG4gIGNvbnN0IHJvdXRlID0gJy8ud2VsbC1rbm93bi93b3JrZmxvdy92MS9tYW5pZmVzdC5qc29uJztcbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gam9pbihuaXRyby5vcHRpb25zLmJ1aWxkRGlyLCAnd29ya2Zsb3cvbWFuaWZlc3QuanNvbicpO1xuICBjb25zdCBoYW5kbGVyUGF0aCA9IGpvaW4oXG4gICAgbml0cm8ub3B0aW9ucy5idWlsZERpcixcbiAgICAnd29ya2Zsb3cvbWFuaWZlc3QtaGFuZGxlci5tanMnXG4gICk7XG5cbiAgaWYgKG5pdHJvLm9wdGlvbnMuZGV2KSB7XG4gICAgLy8gRGV2IG1vZGU6IHVzZSBhIHZpcnR1YWwgaGFuZGxlciB0aGF0IHJlYWRzIHRoZSBtYW5pZmVzdCBmcm9tIGRpc2sgYXRcbiAgICAvLyByZXF1ZXN0IHRpbWUuIFRoZSBhYnNvbHV0ZSBwYXRoIGlzIHZhbGlkIGJlY2F1c2Ugd2UncmUgb24gdGhlIGJ1aWxkIG1hY2hpbmUuXG4gICAgbml0cm8ub3B0aW9ucy5oYW5kbGVycy5wdXNoKHsgcm91dGUsIGhhbmRsZXI6IE1BTklGRVNUX1ZJUlRVQUxfSUQgfSk7XG4gICAgbml0cm8ub3B0aW9ucy52aXJ0dWFsW01BTklGRVNUX1ZJUlRVQUxfSURdID0gIW5pdHJvLnJvdXRpbmdcbiAgICAgID8gLyoganMgKi8gYFxuICAgICAgaW1wb3J0IHsgZnJvbVdlYkhhbmRsZXIgfSBmcm9tIFwiaDNcIjtcbiAgICAgIGltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG4gICAgICBmdW5jdGlvbiBHRVQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbWFuaWZlc3QgPSByZWFkRmlsZVN5bmMoJHtKU09OLnN0cmluZ2lmeShtYW5pZmVzdFBhdGgpfSwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKG1hbmlmZXN0LCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXCJNYW5pZmVzdCBub3QgZm91bmRcIiwgeyBzdGF0dXM6IDQwNCB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZXhwb3J0IGRlZmF1bHQgZnJvbVdlYkhhbmRsZXIoR0VUKTtcbiAgICBgXG4gICAgICA6IC8qIGpzICovIGBcbiAgICAgIGltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG4gICAgICBleHBvcnQgZGVmYXVsdCBhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbWFuaWZlc3QgPSByZWFkRmlsZVN5bmMoJHtKU09OLnN0cmluZ2lmeShtYW5pZmVzdFBhdGgpfSwgXCJ1dGYtOFwiKTtcbiAgICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKG1hbmlmZXN0LCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoXCJNYW5pZmVzdCBub3QgZm91bmRcIiwgeyBzdGF0dXM6IDQwNCB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICBgO1xuICB9IGVsc2Uge1xuICAgIC8vIFByb2QgbW9kZTogcmVnaXN0ZXIgYSBwaHlzaWNhbCBoYW5kbGVyIGZpbGUgdGhhdCB3aWxsIGJlIHdyaXR0ZW4gYnlcbiAgICAvLyB3cml0ZU1hbmlmZXN0SGFuZGxlcigpIGFmdGVyIHRoZSBidWlsZGVyIGdlbmVyYXRlcyB0aGUgbWFuaWZlc3QuXG4gICAgLy8gVGhpcyBmaWxlIGlzIGJ1bmRsZWQgYnkgcm9sbHVwIGludG8gdGhlIGNvbXBpbGVkIG91dHB1dC5cbiAgICBuaXRyby5vcHRpb25zLmhhbmRsZXJzLnB1c2goeyByb3V0ZSwgaGFuZGxlcjogaGFuZGxlclBhdGggfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcml0ZXMgYSBwaHlzaWNhbCBtYW5pZmVzdCBoYW5kbGVyIGZpbGUgd2l0aCB0aGUgbWFuaWZlc3QgY29udGVudCBpbmxpbmVkLlxuICogTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGJ1aWxkZXIgZ2VuZXJhdGVzIHRoZSBtYW5pZmVzdCAoZHVyaW5nIGJ1aWxkOmJlZm9yZSlcbiAqIGFuZCBiZWZvcmUgTml0cm8gY29tcGlsZXMgdGhlIGJ1bmRsZSB3aXRoIHJvbGx1cC5cbiAqL1xuZnVuY3Rpb24gd3JpdGVNYW5pZmVzdEhhbmRsZXIobml0cm86IE5pdHJvKSB7XG4gIGNvbnN0IG1hbmlmZXN0UGF0aCA9IGpvaW4obml0cm8ub3B0aW9ucy5idWlsZERpciwgJ3dvcmtmbG93L21hbmlmZXN0Lmpzb24nKTtcbiAgY29uc3QgaGFuZGxlclBhdGggPSBqb2luKFxuICAgIG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsXG4gICAgJ3dvcmtmbG93L21hbmlmZXN0LWhhbmRsZXIubWpzJ1xuICApO1xuICBjb25zdCBkaXIgPSBqb2luKG5pdHJvLm9wdGlvbnMuYnVpbGREaXIsICd3b3JrZmxvdycpO1xuICBta2RpclN5bmMoZGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICB0cnkge1xuICAgIGNvbnN0IG1hbmlmZXN0Q29udGVudCA9IHJlYWRGaWxlU3luYyhtYW5pZmVzdFBhdGgsICd1dGYtOCcpO1xuICAgIEpTT04ucGFyc2UobWFuaWZlc3RDb250ZW50KTsgLy8gdmFsaWRhdGVcblxuICAgIGNvbnN0IGhhbmRsZXJDb2RlID0gIW5pdHJvLnJvdXRpbmdcbiAgICAgID8gYGltcG9ydCB7IGZyb21XZWJIYW5kbGVyIH0gZnJvbSBcImgzXCI7XG5jb25zdCBtYW5pZmVzdCA9ICR7SlNPTi5zdHJpbmdpZnkobWFuaWZlc3RDb250ZW50KX07XG5leHBvcnQgZGVmYXVsdCBmcm9tV2ViSGFuZGxlcigoKSA9PiBuZXcgUmVzcG9uc2UobWFuaWZlc3QsIHtcbiAgaGVhZGVyczogeyBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxufSkpO1xuYFxuICAgICAgOiBgY29uc3QgbWFuaWZlc3QgPSAke0pTT04uc3RyaW5naWZ5KG1hbmlmZXN0Q29udGVudCl9O1xuZXhwb3J0IGRlZmF1bHQgYXN5bmMgKCkgPT4gbmV3IFJlc3BvbnNlKG1hbmlmZXN0LCB7XG4gIGhlYWRlcnM6IHsgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbn0pO1xuYDtcbiAgICB3cml0ZUZpbGVTeW5jKGhhbmRsZXJQYXRoLCBoYW5kbGVyQ29kZSk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFdyaXRlIGEgNDA0IGZhbGxiYWNrIGhhbmRsZXJcbiAgICBjb25zdCBmYWxsYmFjayA9ICFuaXRyby5yb3V0aW5nXG4gICAgICA/IGBpbXBvcnQgeyBmcm9tV2ViSGFuZGxlciB9IGZyb20gXCJoM1wiO1xuZXhwb3J0IGRlZmF1bHQgZnJvbVdlYkhhbmRsZXIoKCkgPT4gbmV3IFJlc3BvbnNlKFwiTWFuaWZlc3Qgbm90IGZvdW5kXCIsIHsgc3RhdHVzOiA0MDQgfSkpO1xuYFxuICAgICAgOiBgZXhwb3J0IGRlZmF1bHQgYXN5bmMgKCkgPT4gbmV3IFJlc3BvbnNlKFwiTWFuaWZlc3Qgbm90IGZvdW5kXCIsIHsgc3RhdHVzOiA0MDQgfSk7XG5gO1xuICAgIHdyaXRlRmlsZVN5bmMoaGFuZGxlclBhdGgsIGZhbGxiYWNrKTtcbiAgfVxufVxuIl19
|
package/dist/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE,CA4E1D"}
|
package/dist/vite.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { createBuildQueue } from '@workflow/builders';
|
|
2
2
|
import { workflowTransformPlugin } from '@workflow/rollup';
|
|
3
3
|
import { workflowHotUpdatePlugin } from '@workflow/vite';
|
|
4
|
-
import { join } from 'pathe';
|
|
5
4
|
import { LocalBuilder } from './builders.js';
|
|
6
5
|
import nitroModule from './index.js';
|
|
7
6
|
export function workflow(options) {
|
|
8
7
|
let builder;
|
|
9
|
-
let
|
|
8
|
+
let nitroBuildDir;
|
|
10
9
|
const enqueue = createBuildQueue();
|
|
11
|
-
// Create a lazy transform plugin that excludes
|
|
10
|
+
// Create a lazy transform plugin that excludes Nitro build artifacts.
|
|
12
11
|
// The exclusion path is set during nitro setup, so we need to defer plugin creation
|
|
13
12
|
const lazyTransformPlugin = {
|
|
14
13
|
name: 'workflow:transform',
|
|
15
14
|
transform(code, id) {
|
|
16
15
|
// Delegate to the actual transform plugin with exclusion
|
|
17
|
-
//
|
|
16
|
+
// nitroBuildDir is set during nitro setup before transforms run
|
|
18
17
|
const plugin = workflowTransformPlugin({
|
|
19
|
-
exclude:
|
|
18
|
+
exclude: nitroBuildDir ? [nitroBuildDir] : [],
|
|
20
19
|
});
|
|
21
20
|
return plugin.transform?.call(this, code, id);
|
|
22
21
|
},
|
|
@@ -27,8 +26,8 @@ export function workflow(options) {
|
|
|
27
26
|
name: 'workflow:nitro',
|
|
28
27
|
nitro: {
|
|
29
28
|
setup: (nitro) => {
|
|
30
|
-
// Capture the
|
|
31
|
-
|
|
29
|
+
// Capture the Nitro build directory for exclusion
|
|
30
|
+
nitroBuildDir = `${nitro.options.buildDir.replace(/[\\/]+$/, '')}/`;
|
|
32
31
|
nitro.options.workflow = {
|
|
33
32
|
...nitro.options.workflow,
|
|
34
33
|
...options,
|
|
@@ -75,4 +74,4 @@ export function workflow(options) {
|
|
|
75
74
|
}),
|
|
76
75
|
];
|
|
77
76
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxXQUFXLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBdUI7SUFDOUMsSUFBSSxPQUFxQixDQUFDO0lBQzFCLElBQUksYUFBcUIsQ0FBQztJQUMxQixNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRW5DLHNFQUFzRTtJQUN0RSxvRkFBb0Y7SUFDcEYsTUFBTSxtQkFBbUIsR0FBVztRQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQix5REFBeUQ7WUFDekQsZ0VBQWdFO1lBQ2hFLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQzlDLENBQUMsQ0FBQztZQUNILE9BQVEsTUFBTSxDQUFDLFNBQXNCLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztLQUNGLENBQUM7SUFFRixPQUFPO1FBQ0wsbUJBQW1CO1FBQ25CO1lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7b0JBQ3RCLGtEQUFrRDtvQkFDbEQsYUFBYSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDO29CQUNwRSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRzt3QkFDdkIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVE7d0JBQ3pCLEdBQUcsT0FBTzt3QkFDVixLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO29CQUNGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDdEIsT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQyxDQUFDO29CQUNELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEMsQ0FBQzthQUNGO1lBQ0QsZ0dBQWdHO1lBQ2hHLDhGQUE4RjtZQUM5RixlQUFlLENBQUMsTUFBTTtnQkFDcEIsaUZBQWlGO2dCQUNqRixPQUFPLEdBQUcsRUFBRTtvQkFDVixNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7d0JBQ3hDLHNDQUFzQzt3QkFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQzs0QkFDdEQsT0FBTyxJQUFJLEVBQUUsQ0FBQzt3QkFDaEIsQ0FBQzt3QkFFRCx1REFBdUQ7d0JBQ3ZELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQzt3QkFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxVQUE0QixHQUFHLElBQVc7NEJBQ3hELE1BQU0sVUFBVSxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7NEJBRS9ELDRFQUE0RTs0QkFDNUUsMERBQTBEOzRCQUMxRCxzRUFBc0U7NEJBQ3RFLElBQUksVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dDQUN2QiwwREFBMEQ7Z0NBQzFELEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQ3ZDLENBQUM7NEJBRUQsZ0RBQWdEOzRCQUNoRCxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQzdDLENBQVEsQ0FBQzt3QkFFVCxJQUFJLEVBQUUsQ0FBQztvQkFDVCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUM7WUFDSixDQUFDO1NBQ0Y7UUFDRCx1QkFBdUIsQ0FBQztZQUN0QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTztZQUN0QixPQUFPO1NBQ1IsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQnVpbGRRdWV1ZSB9IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5pbXBvcnQgeyB3b3JrZmxvd1RyYW5zZm9ybVBsdWdpbiB9IGZyb20gJ0B3b3JrZmxvdy9yb2xsdXAnO1xuaW1wb3J0IHsgd29ya2Zsb3dIb3RVcGRhdGVQbHVnaW4gfSBmcm9tICdAd29ya2Zsb3cvdml0ZSc7XG5pbXBvcnQgdHlwZSB7IE5pdHJvIH0gZnJvbSAnbml0cm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUge30gZnJvbSAnbml0cm8vdml0ZSc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHsgTG9jYWxCdWlsZGVyIH0gZnJvbSAnLi9idWlsZGVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IE1vZHVsZU9wdGlvbnMgfSBmcm9tICcuL2luZGV4LmpzJztcbmltcG9ydCBuaXRyb01vZHVsZSBmcm9tICcuL2luZGV4LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93KG9wdGlvbnM/OiBNb2R1bGVPcHRpb25zKTogUGx1Z2luW10ge1xuICBsZXQgYnVpbGRlcjogTG9jYWxCdWlsZGVyO1xuICBsZXQgbml0cm9CdWlsZERpcjogc3RyaW5nO1xuICBjb25zdCBlbnF1ZXVlID0gY3JlYXRlQnVpbGRRdWV1ZSgpO1xuXG4gIC8vIENyZWF0ZSBhIGxhenkgdHJhbnNmb3JtIHBsdWdpbiB0aGF0IGV4Y2x1ZGVzIE5pdHJvIGJ1aWxkIGFydGlmYWN0cy5cbiAgLy8gVGhlIGV4Y2x1c2lvbiBwYXRoIGlzIHNldCBkdXJpbmcgbml0cm8gc2V0dXAsIHNvIHdlIG5lZWQgdG8gZGVmZXIgcGx1Z2luIGNyZWF0aW9uXG4gIGNvbnN0IGxhenlUcmFuc2Zvcm1QbHVnaW46IFBsdWdpbiA9IHtcbiAgICBuYW1lOiAnd29ya2Zsb3c6dHJhbnNmb3JtJyxcbiAgICB0cmFuc2Zvcm0oY29kZSwgaWQpIHtcbiAgICAgIC8vIERlbGVnYXRlIHRvIHRoZSBhY3R1YWwgdHJhbnNmb3JtIHBsdWdpbiB3aXRoIGV4Y2x1c2lvblxuICAgICAgLy8gbml0cm9CdWlsZERpciBpcyBzZXQgZHVyaW5nIG5pdHJvIHNldHVwIGJlZm9yZSB0cmFuc2Zvcm1zIHJ1blxuICAgICAgY29uc3QgcGx1Z2luID0gd29ya2Zsb3dUcmFuc2Zvcm1QbHVnaW4oe1xuICAgICAgICBleGNsdWRlOiBuaXRyb0J1aWxkRGlyID8gW25pdHJvQnVpbGREaXJdIDogW10sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiAocGx1Z2luLnRyYW5zZm9ybSBhcyBGdW5jdGlvbik/LmNhbGwodGhpcywgY29kZSwgaWQpO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIFtcbiAgICBsYXp5VHJhbnNmb3JtUGx1Z2luLFxuICAgIHtcbiAgICAgIG5hbWU6ICd3b3JrZmxvdzpuaXRybycsXG4gICAgICBuaXRybzoge1xuICAgICAgICBzZXR1cDogKG5pdHJvOiBOaXRybykgPT4ge1xuICAgICAgICAgIC8vIENhcHR1cmUgdGhlIE5pdHJvIGJ1aWxkIGRpcmVjdG9yeSBmb3IgZXhjbHVzaW9uXG4gICAgICAgICAgbml0cm9CdWlsZERpciA9IGAke25pdHJvLm9wdGlvbnMuYnVpbGREaXIucmVwbGFjZSgvW1xcXFwvXSskLywgJycpfS9gO1xuICAgICAgICAgIG5pdHJvLm9wdGlvbnMud29ya2Zsb3cgPSB7XG4gICAgICAgICAgICAuLi5uaXRyby5vcHRpb25zLndvcmtmbG93LFxuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIF92aXRlOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKG5pdHJvLm9wdGlvbnMuZGV2KSB7XG4gICAgICAgICAgICBidWlsZGVyID0gbmV3IExvY2FsQnVpbGRlcihuaXRybyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuaXRyb01vZHVsZS5zZXR1cChuaXRybyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgLy8gTk9URTogVGhpcyBpcyBhIHdvcmthcm91bmQgYmVjYXVzZSBOaXRybyBwYXNzZXMgdGhlIDQwNCByZXF1ZXN0cyB0byB0aGUgZGV2IHNlcnZlciB0byBoYW5kbGUuXG4gICAgICAvLyBGb3Igd29ya2Zsb3cgcm91dGVzLCB3ZSBvdmVycmlkZSB0byBzZW5kIGFuIGVtcHR5IGJvZHkgdG8gcHJldmVudCBIb25vL1ZpdGUncyBTUEEgZmFsbGJhY2suXG4gICAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyKSB7XG4gICAgICAgIC8vIEFkZCBtaWRkbGV3YXJlIHRvIGludGVyY2VwdCA0MDRzIG9uIHdvcmtmbG93IHJvdXRlcyBiZWZvcmUgVml0ZSdzIFNQQSBmYWxsYmFja1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHNlcnZlci5taWRkbGV3YXJlcy51c2UoKHJlcSwgcmVzLCBuZXh0KSA9PiB7XG4gICAgICAgICAgICAvLyBPbmx5IGhhbmRsZSB3b3JrZmxvdyB3ZWJob29rIHJvdXRlc1xuICAgICAgICAgICAgaWYgKCFyZXEudXJsPy5zdGFydHNXaXRoKCcvLndlbGwta25vd24vd29ya2Zsb3cvdjEvJykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gV3JhcCB3cml0ZUhlYWQgdG8gZW5zdXJlIHdlIHNlbmQgZW1wdHkgYm9keSBmb3IgNDA0c1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxXcml0ZUhlYWQgPSByZXMud3JpdGVIZWFkO1xuICAgICAgICAgICAgcmVzLndyaXRlSGVhZCA9IGZ1bmN0aW9uICh0aGlzOiB0eXBlb2YgcmVzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgICBjb25zdCBzdGF0dXNDb2RlID0gdHlwZW9mIGFyZ3NbMF0gPT09ICdudW1iZXInID8gYXJnc1swXSA6IDIwMDtcblxuICAgICAgICAgICAgICAvLyBOT1RFOiBXb3JrYXJvdW5kIGJlY2F1c2UgTml0cm8gcGFzc2VzIDQwNCByZXF1ZXN0cyB0byB0aGUgdml0ZSB0byBoYW5kbGUuXG4gICAgICAgICAgICAgIC8vIENhdXNlcyBgd2ViaG9vayByb3V0ZSB3aXRoIGludmFsaWQgdG9rZW5gIHRlc3QgdG8gZmFpbC5cbiAgICAgICAgICAgICAgLy8gRm9yIDQwNHMgb24gd29ya2Zsb3cgcm91dGVzLCBlbnN1cmUgd2UncmUgc2VuZGluZyB0aGUgcmlnaHQgaGVhZGVyc1xuICAgICAgICAgICAgICBpZiAoc3RhdHVzQ29kZSA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgLy8gU2V0IGNvbnRlbnQtbGVuZ3RoIHRvIDAgdG8gcHJldmVudCBWaXRlIGZyb20gb3ZlcnJpZGluZ1xuICAgICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgJzAnKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBDb21wbGV4IG92ZXJsb2FkIHNpZ25hdHVyZVxuICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxXcml0ZUhlYWQuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgICB9IGFzIGFueTtcblxuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHdvcmtmbG93SG90VXBkYXRlUGx1Z2luKHtcbiAgICAgIGJ1aWxkZXI6ICgpID0+IGJ1aWxkZXIsXG4gICAgICBlbnF1ZXVlLFxuICAgIH0pLFxuICBdO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/nitro",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.3",
|
|
4
4
|
"description": "Nitro integration for Workflow SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"@swc/core": "1.15.3",
|
|
25
25
|
"exsolve": "1.0.8",
|
|
26
26
|
"pathe": "2.0.3",
|
|
27
|
-
"@workflow/builders": "4.1.
|
|
28
|
-
"@workflow/core": "4.6.
|
|
29
|
-
"@workflow/rollup": "4.0.
|
|
27
|
+
"@workflow/builders": "4.1.2",
|
|
28
|
+
"@workflow/core": "4.6.1",
|
|
29
|
+
"@workflow/rollup": "4.0.12",
|
|
30
30
|
"@workflow/swc-plugin": "4.1.2",
|
|
31
|
-
"@workflow/vite": "4.0.
|
|
32
|
-
"@workflow/web": "4.1.
|
|
31
|
+
"@workflow/vite": "4.0.12",
|
|
32
|
+
"@workflow/web": "4.1.13"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "22.19.0",
|
|
36
36
|
"nitro": "3.0.260610-beta",
|
|
37
|
-
"vite": "7.
|
|
37
|
+
"vite": "7.3.6",
|
|
38
38
|
"@workflow/tsconfig": "4.0.1"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|