@openelement/adapter-vite 0.41.0-alpha.2 → 0.41.0-alpha.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/package.json +6 -6
- package/src/build-context.d.ts +4 -1
- package/src/build-context.js +9 -5
- package/src/workspace-alias.js +4 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openelement/adapter-vite",
|
|
3
|
-
"version": "0.41.0-alpha.
|
|
3
|
+
"version": "0.41.0-alpha.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"sanitize-html": "^2.17.4",
|
|
84
84
|
"@types/sanitize-html": "^2",
|
|
85
85
|
"vite": "^8.0.10",
|
|
86
|
-
"@openelement/protocol": "^0.41.0-alpha.
|
|
87
|
-
"@openelement/content": "^0.41.0-alpha.
|
|
88
|
-
"@openelement/app": "^0.41.0-alpha.
|
|
89
|
-
"@openelement/core": "^0.41.0-alpha.
|
|
90
|
-
"@openelement/ssg": "^0.41.0-alpha.
|
|
86
|
+
"@openelement/protocol": "^0.41.0-alpha.3",
|
|
87
|
+
"@openelement/content": "^0.41.0-alpha.3",
|
|
88
|
+
"@openelement/app": "^0.41.0-alpha.3",
|
|
89
|
+
"@openelement/core": "^0.41.0-alpha.3",
|
|
90
|
+
"@openelement/ssg": "^0.41.0-alpha.3"
|
|
91
91
|
}
|
|
92
92
|
}
|
package/src/build-context.d.ts
CHANGED
|
@@ -54,7 +54,9 @@ export declare class Phase3Meta {
|
|
|
54
54
|
/** Whether headExtras scripts were produced by structured injection APIs. */ allowHeadExtrasScripts: boolean;
|
|
55
55
|
/** Application shell rendered around routes. */ appShell: FrameworkOptions['appShell'];
|
|
56
56
|
/** Named route layouts selected by route meta. */ layouts: FrameworkOptions['layouts'];
|
|
57
|
-
/** SSR noExternal patterns
|
|
57
|
+
/** SSR noExternal patterns. Accept strings or serialized RegExp objects.
|
|
58
|
+
* Callers should use the plain-object form `{ __type: 'RegExp', source, flags }`
|
|
59
|
+
* rather than passing RegExp instances directly. */ ssrNoExternal: (string | {
|
|
58
60
|
__type: 'RegExp';
|
|
59
61
|
source: string;
|
|
60
62
|
flags: string;
|
|
@@ -81,6 +83,7 @@ export declare class OpenElementBuildContext {
|
|
|
81
83
|
/** Resolved framework options with defaults applied (read-only after construction) */ readonly options: FrameworkOptions;
|
|
82
84
|
/** Tracks which build phases have completed. */ private completed: any;
|
|
83
85
|
constructor(options: FrameworkOptions);
|
|
86
|
+
/** Register plugin data by name. */ registerPlugin<K extends keyof OpenElementBuildContext['plugins']>(name: K, instance: OpenElementBuildContext['plugins'][K]): void;
|
|
84
87
|
/** Mark a phase as complete, enforcing ordering constraints. */ markComplete(phase: Phase): void;
|
|
85
88
|
/** Check whether a phase has been completed. */ isComplete(phase: Phase): boolean;
|
|
86
89
|
/** Populate Phase 3 invariants from resolved Vite config and framework options. */ populatePhase3(options: FrameworkOptions & {
|
package/src/build-context.js
CHANGED
|
@@ -46,7 +46,9 @@ export class Phase3Meta {
|
|
|
46
46
|
/** Whether headExtras scripts were produced by structured injection APIs. */ allowHeadExtrasScripts = false;
|
|
47
47
|
/** Application shell rendered around routes. */ appShell = undefined;
|
|
48
48
|
/** Named route layouts selected by route meta. */ layouts = undefined;
|
|
49
|
-
/** SSR noExternal patterns
|
|
49
|
+
/** SSR noExternal patterns. Accept strings or serialized RegExp objects.
|
|
50
|
+
* Callers should use the plain-object form `{ __type: 'RegExp', source, flags }`
|
|
51
|
+
* rather than passing RegExp instances directly. */ ssrNoExternal = [];
|
|
50
52
|
/** SSR deps to keep as external (resolved by Deno import() at runtime per ADR-0043) */ ssrExternal = [];
|
|
51
53
|
/** Routes directory */ routesDir = 'app/routes';
|
|
52
54
|
/** Islands directory */ islandsDir = 'app/islands';
|
|
@@ -70,10 +72,12 @@ export class OpenElementBuildContext {
|
|
|
70
72
|
constructor(options){
|
|
71
73
|
this.options = options;
|
|
72
74
|
}
|
|
75
|
+
/** Register plugin data by name. */ registerPlugin(name, instance) {
|
|
76
|
+
this.plugins[name] = instance;
|
|
77
|
+
}
|
|
73
78
|
/** Mark a phase as complete, enforcing ordering constraints. */ markComplete(phase) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
79
|
+
// Phase 2 (client build) requires Phase 1 (route scanning) only.
|
|
80
|
+
// Phase 2 runs after Phase 3 (SSG) per ADR 0023; it does NOT require Phase 3.
|
|
77
81
|
if (phase === 2 && !this.completed.has(1)) {
|
|
78
82
|
throw new Error('Phase 2 requires Phase 1 to be completed first');
|
|
79
83
|
}
|
|
@@ -128,4 +132,4 @@ export class OpenElementBuildContext {
|
|
|
128
132
|
});
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL2J1aWxkLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAb3BlbmVsZW1lbnQvYWRhcHRlci12aXRlIC0gb3BlbkVsZW1lbnQgQnVpbGQgQ29udGV4dFxuICpcbiAqIFNoYXJlZCBtdXRhYmxlIHN0YXRlIGZvciBhbGwgb3BlbkVsZW1lbnQgVml0ZSBwbHVnaW5zLlxuICogUmVwbGFjZXMgdGhlIGNsb3N1cmUtY2FwdHVyZWQgdmFyaWFibGVzIChob25vRW50cnlDb2RlLCBzY2FubmVkSXNsYW5kVGFnTmFtZXMsIGV0Yy4pXG4gKiB3aXRoIGEgc2luZ2xlIG9iamVjdCB0aGF0J3MgZXhwbGljaXRseSBwYXNzZWQgYXJvdW5kLlxuICpcbiAqIEFsc28gcmVwbGFjZXMgdGhlIC5vcGVuRWxlbWVudC8gdGVtcCBkaXJlY3RvcnkgYXMgSVBDIGJldHdlZW4gYnVpbGQgcGhhc2VzOlxuICogLSBQaGFzZSAxIChvcGVuOmJ1aWxkKSB3cml0ZXMgbWV0YWRhdGEgLT4gY3R4IGZpZWxkc1xuICogLSBQaGFzZSAyIChidWlsZC1jbGllbnQpIHJlYWRzIG1ldGFkYXRhIC0+IGN0eCBmaWVsZHNcbiAqIC0gUGhhc2UgMyAoYnVpbGQtc3NnKSByZWFkcyBtZXRhZGF0YSAtPiBjdHggZmllbGRzXG4gKiAtIFN1Yi1wbHVnaW5zIChvcGVuQ29udGVudCwgb3BlbkkxOG4pIHdyaXRlIHRoZWlyIGRhdGEgLT4gY3R4IGZpZWxkc1xuICpcbiAqIGN0eCBpcyBwYXNzZWQgdmlhIGV4cGxpY2l0IHBhcmFtZXRlciAtIG5vIGdsb2JhbFRoaXMgb3IgbW9kdWxlLWxldmVsIGRpc2NvdmVyeS5cbiAqIHVzZSBvcGVuRWxlbWVudCgpIGZyb20gQG9wZW5lbGVtZW50L2FkYXB0ZXItdml0ZSBmb3IgdGhlIHJlY29tbWVuZGVkIHVuaWZpZWQgZW50cnkuXG4gKlxuICogRmllbGRzIGFyZSBncm91cGVkIGJ5IFBoYXNlIHRvIGltcHJvdmUgdHlwZSBzYWZldHkgYW5kIG1haW50YWluYWJpbGl0eS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFsaWFzLCBSZXNvbHZlZENvbmZpZyB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIEZyYW1ld29ya09wdGlvbnMsXG4gIEh5ZHJhdGlvblN0cmF0ZWd5LFxuICBPcGVuRWxlbWVudEJsb2dPcHRpb25zLFxuICBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmssXG4gIE9wZW5FbGVtZW50STE4bkNvbnRleHRPcHRpb25zLFxuICBPcGVuRWxlbWVudE5hdlNlY3Rpb24sXG4gIFJvdXRlRW50cnksXG59IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9mcmFtZXdvcmsnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9tYW5pZmVzdCc7XG5pbXBvcnQgdHlwZSB7IElzbGFuZERlY2wsIFNzckFkbWlzc2lvblBsYW4gfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvc3NnJztcblxuZXhwb3J0IHR5cGUgUGhhc2UgPSAxIHwgMiB8IDM7XG5cbmV4cG9ydCBjbGFzcyBQaGFzZTFNZXRhIHtcbiAgLyoqIFRoZSBnZW5lcmF0ZWQgSG9ubyBlbnRyeSBtb2R1bGUgY29kZSAodmlydHVhbCBtb2R1bGUgY29udGVudCkgKi9cbiAgaG9ub0VudHJ5Q29kZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIENhY2hlZCByb3V0ZXMgZnJvbSBidWlsZFN0YXJ0KCkgZm9yIHZpcnR1YWwgZW50cnkgcmVnZW5lcmF0aW9uICovXG4gIGNhY2hlZFJvdXRlczogUm91dGVFbnRyeVtdID0gW107XG5cbiAgLyoqIElzbGFuZCB0YWcgbmFtZXMgZGlzY292ZXJlZCBkdXJpbmcgcm91dGUgc2Nhbm5pbmcgKGxvY2FsIGlzbGFuZHMpICovXG4gIGlzbGFuZFRhZ05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBSZWxhdGl2ZSBmaWxlIHBhdGhzIGZvciBsb2NhbCBpc2xhbmRzICovXG4gIGlzbGFuZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBMb2NhbCBpc2xhbmQgbWV0YWRhdGEgaW5kZXhlZCBieSB0YWcgbmFtZS4gKi9cbiAgaXNsYW5kTWV0YTogUmVjb3JkPHN0cmluZywgUGFydGlhbDxJc2xhbmREZWNsPj4gPSB7fTtcblxuICAvKiogUGFja2FnZSBtYW5pZmVzdHMgZGlzY292ZXJlZCBmcm9tIG5wbS9KU1IgcGFja2FnZXMgKi9cbiAgcGFja2FnZU1hbmlmZXN0czogT3BlbkVsZW1lbnRQYWNrYWdlTWFuaWZlc3RbXSA9IFtdO1xuXG4gIC8qKiBQYWNrYWdlIGlzbGFuZCBkZWNsYXJhdGlvbnMgZXh0cmFjdGVkIGZyb20gbWFuaWZlc3RzICovXG4gIHBhY2thZ2VJc2xhbmREZWNsczogSXNsYW5kRGVjbFtdID0gW107XG5cbiAgLyoqIFNTUiBhZG1pc3Npb24gcGxhbiBwcm9kdWNlZCBiZWZvcmUgU1NSIGVudHJ5IGdlbmVyYXRpb24uICovXG4gIHNzckFkbWlzc2lvblBsYW46IFNzckFkbWlzc2lvblBsYW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogdjAuMTguMDogQ0VNLWRlcml2ZWQgY29tcGF0aWJpbGl0eSBjbGFzc2lmaWNhdGlvbnMgZnJvbSB0aGUgY2xhc3NpZmllci4gKi9cbiAgY2VtQ2xhc3NpZmljYXRpb25zOiBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb25bXSA9IFtdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBTU1IrY2xpZW50IGJ1aWxkIGhhcyBjb21wbGV0ZWQgKi9cbiAgYnVpbGRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVml0ZSByZXNvbHZlZCBjb25maWcgKHNldCBpbiBjb25maWdSZXNvbHZlZCBob29rKSAqL1xuICByZXNvbHZlZENvbmZpZzogUmVzb2x2ZWRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlci1wcm92aWRlZCByZXNvbHZlLmFsaWFzIGluIGl0cyBvcmlnaW5hbCBmb3JtYXQgKi9cbiAgdXNlclJlc29sdmVBbGlhczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IEFsaWFzW10gfCBudWxsID0gbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFBoYXNlMk1ldGEge1xuICAvKiogR2VuZXJhdGVkIGNsaWVudCBpc2xhbmQgZW50cnkgY29kZSAqL1xuICBjbGllbnRFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xufVxuXG5leHBvcnQgY2xhc3MgUGhhc2UzTWV0YSB7XG4gIC8qKiBHZW5lcmF0ZWQgU1NHIGVudHJ5IGNvZGUgKGZvciB2aXRlQnVpbGQgU1NSIGlucHV0KSAqL1xuICBzc2dFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBQcm9qZWN0IHJvb3QgZGlyZWN0b3J5ICovXG4gIHJvb3Q6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBPdXRwdXQgZGlyZWN0b3J5IChkZWZhdWx0OiAnZGlzdCcpICovXG4gIG91dERpcjogc3RyaW5nID0gJ2Rpc3QnO1xuXG4gIC8qKiBCYXNlIFVSTCBwYXRoIChkZWZhdWx0OiAnLycpICovXG4gIGJhc2U6IHN0cmluZyA9ICcvJztcblxuICAvKiogTWlkZGxld2FyZSBjb25maWcgZnJvbSBjcmVhdGVPcGVuUGx1Z2luKCkgb3B0aW9ucyAqL1xuICBtaWRkbGV3YXJlOiBGcmFtZXdvcmtPcHRpb25zWydtaWRkbGV3YXJlJ10gfCBudWxsID0gbnVsbDtcblxuICAvKiogSFRNTCBkb2N1bWVudCBvcHRpb25zIGZyb20gY3JlYXRlT3BlblBsdWdpbigpIG9wdGlvbnMgKi9cbiAgaHRtbDogeyBsYW5nPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIElzbGFuZCBoeWRyYXRpb24gc3RyYXRlZ3kgKGRlZmF1bHQ6ICdpZGxlJykgKi9cbiAgdXBncmFkZVN0cmF0ZWd5OiBIeWRyYXRpb25TdHJhdGVneSA9ICdpZGxlJztcblxuICAvKiogVmlldyBUcmFuc2l0aW9ucyBlbmFibGVkIChkZWZhdWx0OiB0cnVlKSAqL1xuICB2aWV3VHJhbnNpdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFNwZWN1bGF0aW9uIFJ1bGVzIGNvbmZpZyBmcm9tIGNyZWF0ZU9wZW5QbHVnaW4oKSBvcHRpb25zICovXG4gIHNwZWN1bGF0aW9uOiBGcmFtZXdvcmtPcHRpb25zWydzcGVjdWxhdGlvbiddIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEV4dHJhIEhUTUwgdG8gaW5qZWN0IGludG8gPGhlYWQ+ICovXG4gIGhlYWRFeHRyYXM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIGhlYWRFeHRyYXMgc2NyaXB0cyB3ZXJlIHByb2R1Y2VkIGJ5IHN0cnVjdHVyZWQgaW5qZWN0aW9uIEFQSXMuICovXG4gIGFsbG93SGVhZEV4dHJhc1NjcmlwdHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQXBwbGljYXRpb24gc2hlbGwgcmVuZGVyZWQgYXJvdW5kIHJvdXRlcy4gKi9cbiAgYXBwU2hlbGw6IEZyYW1ld29ya09wdGlvbnNbJ2FwcFNoZWxsJ10gPSB1bmRlZmluZWQ7XG5cbiAgLyoqIE5hbWVkIHJvdXRlIGxheW91dHMgc2VsZWN0ZWQgYnkgcm91dGUgbWV0YS4gKi9cbiAgbGF5b3V0czogRnJhbWV3b3JrT3B0aW9uc1snbGF5b3V0cyddID0gdW5kZWZpbmVkO1xuXG4gIC8qKiBTU1Igbm9FeHRlcm5hbCBwYXR0ZXJucyAoc2VyaWFsaXplZCkgKi9cbiAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSA9IFtdO1xuXG4gIC8qKiBTU1IgZGVwcyB0byBrZWVwIGFzIGV4dGVybmFsIChyZXNvbHZlZCBieSBEZW5vIGltcG9ydCgpIGF0IHJ1bnRpbWUgcGVyIEFEUi0wMDQzKSAqL1xuICBzc3JFeHRlcm5hbDogc3RyaW5nW10gPSBbXTtcblxuICAvKiogUm91dGVzIGRpcmVjdG9yeSAqL1xuICByb3V0ZXNEaXI6IHN0cmluZyA9ICdhcHAvcm91dGVzJztcblxuICAvKiogSXNsYW5kcyBkaXJlY3RvcnkgKi9cbiAgaXNsYW5kc0Rpcjogc3RyaW5nID0gJ2FwcC9pc2xhbmRzJztcblxuICAvKiogQ29tcG9uZW50cyBkaXJlY3RvcnkgKi9cbiAgY29tcG9uZW50c0Rpcjogc3RyaW5nID0gJ2FwcC9jb21wb25lbnRzJztcblxuICAvKiogQURSLTAwNDc6IFByZS1yZXNvbHZlZCBleHRlcm5hbCBkZXBlbmRlbmN5IG1hbmlmZXN0IChhdXRvLWdlbmVyYXRlZCBmcm9tIGRlbm8gaW5mbykuICovXG4gIGV4dGVybmFsTWFuaWZlc3Q/OiBpbXBvcnQoJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9zc2cnKS5FeHRlcm5hbE1hbmlmZXN0O1xuXG4gIC8qKiBTa2lwIERlbm8gcHJlLXJlc29sdXRpb24sIHVzZSByZWdleCBmYWxsYmFjay4gKi9cbiAgc2tpcFByZVJlc29sdXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlbkVsZW1lbnRCdWlsZENvbnRleHQge1xuICAvKiogUGhhc2UgMTogUm91dGUgc2Nhbm5pbmcgJiBidWlsZCBtZXRhZGF0YSAqL1xuICByZWFkb25seSBwaGFzZTE6IFBoYXNlMU1ldGEgPSBuZXcgUGhhc2UxTWV0YSgpO1xuXG4gIC8qKiBQaGFzZSAyOiBDbGllbnQgaXNsYW5kIGJ1aWxkIHN0YXRlICovXG4gIHJlYWRvbmx5IHBoYXNlMjogUGhhc2UyTWV0YSA9IG5ldyBQaGFzZTJNZXRhKCk7XG5cbiAgLyoqIFBoYXNlIDM6IFNTRyByZW5kZXJpbmcgc3RhdGUgKi9cbiAgcmVhZG9ubHkgcGhhc2UzOiBQaGFzZTNNZXRhID0gbmV3IFBoYXNlM01ldGEoKTtcblxuICAvKiogUGx1Z2luIGRhdGEgZnJvbSBjb250ZW50L2kxOG4gc3ViLXBsdWdpbnMgKi9cbiAgcmVhZG9ubHkgcGx1Z2luczoge1xuICAgIGJsb2dPcHRpb25zOiBPcGVuRWxlbWVudEJsb2dPcHRpb25zIHwgbnVsbDtcbiAgICBuYXZTZWN0aW9uczogT3BlbkVsZW1lbnROYXZTZWN0aW9uW107XG4gICAgaGVhZGVyTmF2OiBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmtbXTtcbiAgICBzaXRlbWFwT3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsO1xuICAgIGkxOG5PcHRpb25zOiBPcGVuRWxlbWVudEkxOG5Db250ZXh0T3B0aW9ucyB8IG51bGw7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSA9IHtcbiAgICBibG9nT3B0aW9uczogbnVsbCxcbiAgICBuYXZTZWN0aW9uczogW10sXG4gICAgaGVhZGVyTmF2OiBbXSxcbiAgICBzaXRlbWFwT3B0aW9uczogbnVsbCxcbiAgICBpMThuT3B0aW9uczogbnVsbCxcbiAgfTtcblxuICAvKiogUmVzb2x2ZWQgZnJhbWV3b3JrIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkIChyZWFkLW9ubHkgYWZ0ZXIgY29uc3RydWN0aW9uKSAqL1xuICByZWFkb25seSBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zO1xuXG4gIC8qKiBUcmFja3Mgd2hpY2ggYnVpbGQgcGhhc2VzIGhhdmUgY29tcGxldGVkLiAqL1xuICBwcml2YXRlIGNvbXBsZXRlZCA9IG5ldyBTZXQ8UGhhc2U+KCk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiogTWFyayBhIHBoYXNlIGFzIGNvbXBsZXRlLCBlbmZvcmNpbmcgb3JkZXJpbmcgY29uc3RyYWludHMuICovXG4gIG1hcmtDb21wbGV0ZShwaGFzZTogUGhhc2UpOiB2b2lkIHtcbiAgICBpZiAocGhhc2UgPT09IDIgJiYgIXRoaXMuY29tcGxldGVkLmhhcygzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQaGFzZSAyIHJlcXVpcmVzIFBoYXNlIDMgdG8gYmUgY29tcGxldGVkIGZpcnN0Jyk7XG4gICAgfVxuICAgIGlmIChwaGFzZSA9PT0gMiAmJiAhdGhpcy5jb21wbGV0ZWQuaGFzKDEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BoYXNlIDIgcmVxdWlyZXMgUGhhc2UgMSB0byBiZSBjb21wbGV0ZWQgZmlyc3QnKTtcbiAgICB9XG4gICAgaWYgKHBoYXNlID09PSAzICYmICF0aGlzLmNvbXBsZXRlZC5oYXMoMSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGhhc2UgMyByZXF1aXJlcyBQaGFzZSAxIHRvIGJlIGNvbXBsZXRlZCBmaXJzdCcpO1xuICAgIH1cbiAgICB0aGlzLmNvbXBsZXRlZC5hZGQocGhhc2UpO1xuICB9XG5cbiAgLyoqIENoZWNrIHdoZXRoZXIgYSBwaGFzZSBoYXMgYmVlbiBjb21wbGV0ZWQuICovXG4gIGlzQ29tcGxldGUocGhhc2U6IFBoYXNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGxldGVkLmhhcyhwaGFzZSk7XG4gIH1cblxuICAvKiogUG9wdWxhdGUgUGhhc2UgMyBpbnZhcmlhbnRzIGZyb20gcmVzb2x2ZWQgVml0ZSBjb25maWcgYW5kIGZyYW1ld29yayBvcHRpb25zLiAqL1xuICBwb3B1bGF0ZVBoYXNlMyhcbiAgICBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zICYgeyBhbGxvd0hlYWRFeHRyYXNTY3JpcHRzPzogYm9vbGVhbiB9LFxuICAgIGNvbmZpZzogUmVzb2x2ZWRDb25maWcsXG4gICAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGJhc2UgPSBjb25maWcuYmFzZSB8fCAnLyc7XG4gICAgaWYgKCFiYXNlLmVuZHNXaXRoKCcvJykpIGJhc2UgKz0gJy8nO1xuXG4gICAgdGhpcy5waGFzZTMucm9vdCA9IGNvbmZpZy5yb290O1xuICAgIHRoaXMucGhhc2UzLm91dERpciA9IG9wdGlvbnMuYnVpbGQ/Lm91dERpciB8fCAnZGlzdCc7XG4gICAgdGhpcy5waGFzZTMuYmFzZSA9IGJhc2U7XG4gICAgdGhpcy5waGFzZTMuc3NyTm9FeHRlcm5hbCA9IHNzck5vRXh0ZXJuYWw7XG4gICAgdGhpcy5waGFzZTMucm91dGVzRGlyID0gb3B0aW9ucy5yb3V0ZXNEaXIgfHwgJ2FwcC9yb3V0ZXMnO1xuICAgIHRoaXMucGhhc2UzLmlzbGFuZHNEaXIgPSBvcHRpb25zLmlzbGFuZHNEaXIgfHwgJ2FwcC9pc2xhbmRzJztcbiAgICB0aGlzLnBoYXNlMy5jb21wb25lbnRzRGlyID0gb3B0aW9ucy5jb21wb25lbnRzRGlyIHx8ICdhcHAvY29tcG9uZW50cyc7XG4gICAgdGhpcy5waGFzZTMubWlkZGxld2FyZSA9IG9wdGlvbnMubWlkZGxld2FyZSB8fCBudWxsO1xuICAgIHRoaXMucGhhc2UzLmh0bWwgPSBvcHRpb25zLmh0bWwgfHwgbnVsbDtcbiAgICB0aGlzLnBoYXNlMy51cGdyYWRlU3RyYXRlZ3kgPSBvcHRpb25zLmlzbGFuZD8udXBncmFkZVN0cmF0ZWd5IHx8ICdpZGxlJztcbiAgICB0aGlzLnBoYXNlMy52aWV3VHJhbnNpdGlvbiA9IG9wdGlvbnMudmlld1RyYW5zaXRpb24gPz8gdHJ1ZTtcbiAgICB0aGlzLnBoYXNlMy5zcGVjdWxhdGlvbiA9IG9wdGlvbnMuc3BlY3VsYXRpb24gPz8gbnVsbDtcbiAgICB0aGlzLnBoYXNlMy5oZWFkRXh0cmFzID0gb3B0aW9ucy5oZWFkRXh0cmFzIHx8ICcnO1xuICAgIHRoaXMucGhhc2UzLmFsbG93SGVhZEV4dHJhc1NjcmlwdHMgPSBvcHRpb25zLmFsbG93SGVhZEV4dHJhc1NjcmlwdHMgfHwgZmFsc2U7XG4gICAgdGhpcy5waGFzZTMuYXBwU2hlbGwgPSBvcHRpb25zLmFwcFNoZWxsO1xuICAgIHRoaXMucGhhc2UzLmxheW91dHMgPSBvcHRpb25zLmxheW91dHM7XG4gIH1cblxuICAvKiogUmV0dXJuIGEgcmVhZC1vbmx5IHZpZXcgb2YgUGhhc2UgMyBtZXRhZGF0YS4gKi9cbiAgZ2V0UGhhc2UzTWV0YSgpOiBSZWFkb25seTxQaGFzZTNNZXRhPiB7XG4gICAgcmV0dXJuIHRoaXMucGhhc2UzO1xuICB9XG5cbiAgLyoqIFJlc2V0IGFsbCBtdXRhYmxlIHN0YXRlIChmb3Igd2F0Y2ggbW9kZSAvIHRlc3RpbmcpICovXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGVkLmNsZWFyKCk7XG5cbiAgICBjb25zdCB1c2VyUmVzb2x2ZUFsaWFzID0gdGhpcy5waGFzZTEudXNlclJlc29sdmVBbGlhcztcbiAgICAvLyBOT1RFOiB1c2VyUmVzb2x2ZUFsaWFzIGlzIE5PVCByZXNldCAtIGl0J3MgdXNlciBjb25maWd1cmF0aW9uLCBub3RcbiAgICAvLyBidWlsZCBzdGF0ZS4gSXQncyBzZXQgaW4gY29uZmlnKCkvY29uZmlnUmVzb2x2ZWQoKSBhbmQgbXVzdCBwZXJzaXN0XG4gICAgLy8gdGhyb3VnaCBidWlsZFN0YXJ0KCkgZm9yIFBoYXNlIDIgYW5kIDMgdG8gdXNlLlxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5waGFzZTEsIG5ldyBQaGFzZTFNZXRhKCksIHsgdXNlclJlc29sdmVBbGlhcyB9KTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UyLCBuZXcgUGhhc2UyTWV0YSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UzLCBuZXcgUGhhc2UzTWV0YSgpKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGx1Z2lucywge1xuICAgICAgYmxvZ09wdGlvbnM6IG51bGwsXG4gICAgICBuYXZTZWN0aW9uczogW10sXG4gICAgICBoZWFkZXJOYXY6IFtdLFxuICAgICAgc2l0ZW1hcE9wdGlvbnM6IG51bGwsXG4gICAgICBpMThuT3B0aW9uczogbnVsbCxc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
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL2J1aWxkLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAb3BlbmVsZW1lbnQvYWRhcHRlci12aXRlIC0gb3BlbkVsZW1lbnQgQnVpbGQgQ29udGV4dFxuICpcbiAqIFNoYXJlZCBtdXRhYmxlIHN0YXRlIGZvciBhbGwgb3BlbkVsZW1lbnQgVml0ZSBwbHVnaW5zLlxuICogUmVwbGFjZXMgdGhlIGNsb3N1cmUtY2FwdHVyZWQgdmFyaWFibGVzIChob25vRW50cnlDb2RlLCBzY2FubmVkSXNsYW5kVGFnTmFtZXMsIGV0Yy4pXG4gKiB3aXRoIGEgc2luZ2xlIG9iamVjdCB0aGF0J3MgZXhwbGljaXRseSBwYXNzZWQgYXJvdW5kLlxuICpcbiAqIEFsc28gcmVwbGFjZXMgdGhlIC5vcGVuRWxlbWVudC8gdGVtcCBkaXJlY3RvcnkgYXMgSVBDIGJldHdlZW4gYnVpbGQgcGhhc2VzOlxuICogLSBQaGFzZSAxIChvcGVuOmJ1aWxkKSB3cml0ZXMgbWV0YWRhdGEgLT4gY3R4IGZpZWxkc1xuICogLSBQaGFzZSAyIChidWlsZC1jbGllbnQpIHJlYWRzIG1ldGFkYXRhIC0+IGN0eCBmaWVsZHNcbiAqIC0gUGhhc2UgMyAoYnVpbGQtc3NnKSByZWFkcyBtZXRhZGF0YSAtPiBjdHggZmllbGRzXG4gKiAtIFN1Yi1wbHVnaW5zIChvcGVuQ29udGVudCwgb3BlbkkxOG4pIHdyaXRlIHRoZWlyIGRhdGEgLT4gY3R4IGZpZWxkc1xuICpcbiAqIGN0eCBpcyBwYXNzZWQgdmlhIGV4cGxpY2l0IHBhcmFtZXRlciAtIG5vIGdsb2JhbFRoaXMgb3IgbW9kdWxlLWxldmVsIGRpc2NvdmVyeS5cbiAqIHVzZSBvcGVuRWxlbWVudCgpIGZyb20gQG9wZW5lbGVtZW50L2FkYXB0ZXItdml0ZSBmb3IgdGhlIHJlY29tbWVuZGVkIHVuaWZpZWQgZW50cnkuXG4gKlxuICogRmllbGRzIGFyZSBncm91cGVkIGJ5IFBoYXNlIHRvIGltcHJvdmUgdHlwZSBzYWZldHkgYW5kIG1haW50YWluYWJpbGl0eS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFsaWFzLCBSZXNvbHZlZENvbmZpZyB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUge1xuICBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb24sXG4gIEZyYW1ld29ya09wdGlvbnMsXG4gIEh5ZHJhdGlvblN0cmF0ZWd5LFxuICBPcGVuRWxlbWVudEJsb2dPcHRpb25zLFxuICBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmssXG4gIE9wZW5FbGVtZW50STE4bkNvbnRleHRPcHRpb25zLFxuICBPcGVuRWxlbWVudE5hdlNlY3Rpb24sXG4gIFJvdXRlRW50cnksXG59IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9mcmFtZXdvcmsnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9tYW5pZmVzdCc7XG5pbXBvcnQgdHlwZSB7IElzbGFuZERlY2wsIFNzckFkbWlzc2lvblBsYW4gfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvc3NnJztcblxuZXhwb3J0IHR5cGUgUGhhc2UgPSAxIHwgMiB8IDM7XG5cbmV4cG9ydCBjbGFzcyBQaGFzZTFNZXRhIHtcbiAgLyoqIFRoZSBnZW5lcmF0ZWQgSG9ubyBlbnRyeSBtb2R1bGUgY29kZSAodmlydHVhbCBtb2R1bGUgY29udGVudCkgKi9cbiAgaG9ub0VudHJ5Q29kZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIENhY2hlZCByb3V0ZXMgZnJvbSBidWlsZFN0YXJ0KCkgZm9yIHZpcnR1YWwgZW50cnkgcmVnZW5lcmF0aW9uICovXG4gIGNhY2hlZFJvdXRlczogUm91dGVFbnRyeVtdID0gW107XG5cbiAgLyoqIElzbGFuZCB0YWcgbmFtZXMgZGlzY292ZXJlZCBkdXJpbmcgcm91dGUgc2Nhbm5pbmcgKGxvY2FsIGlzbGFuZHMpICovXG4gIGlzbGFuZFRhZ05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBSZWxhdGl2ZSBmaWxlIHBhdGhzIGZvciBsb2NhbCBpc2xhbmRzICovXG4gIGlzbGFuZEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBMb2NhbCBpc2xhbmQgbWV0YWRhdGEgaW5kZXhlZCBieSB0YWcgbmFtZS4gKi9cbiAgaXNsYW5kTWV0YTogUmVjb3JkPHN0cmluZywgUGFydGlhbDxJc2xhbmREZWNsPj4gPSB7fTtcblxuICAvKiogUGFja2FnZSBtYW5pZmVzdHMgZGlzY292ZXJlZCBmcm9tIG5wbS9KU1IgcGFja2FnZXMgKi9cbiAgcGFja2FnZU1hbmlmZXN0czogT3BlbkVsZW1lbnRQYWNrYWdlTWFuaWZlc3RbXSA9IFtdO1xuXG4gIC8qKiBQYWNrYWdlIGlzbGFuZCBkZWNsYXJhdGlvbnMgZXh0cmFjdGVkIGZyb20gbWFuaWZlc3RzICovXG4gIHBhY2thZ2VJc2xhbmREZWNsczogSXNsYW5kRGVjbFtdID0gW107XG5cbiAgLyoqIFNTUiBhZG1pc3Npb24gcGxhbiBwcm9kdWNlZCBiZWZvcmUgU1NSIGVudHJ5IGdlbmVyYXRpb24uICovXG4gIHNzckFkbWlzc2lvblBsYW46IFNzckFkbWlzc2lvblBsYW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogdjAuMTguMDogQ0VNLWRlcml2ZWQgY29tcGF0aWJpbGl0eSBjbGFzc2lmaWNhdGlvbnMgZnJvbSB0aGUgY2xhc3NpZmllci4gKi9cbiAgY2VtQ2xhc3NpZmljYXRpb25zOiBDb21wYXRpYmlsaXR5Q2xhc3NpZmljYXRpb25bXSA9IFtdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBTU1IrY2xpZW50IGJ1aWxkIGhhcyBjb21wbGV0ZWQgKi9cbiAgYnVpbGRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVml0ZSByZXNvbHZlZCBjb25maWcgKHNldCBpbiBjb25maWdSZXNvbHZlZCBob29rKSAqL1xuICByZXNvbHZlZENvbmZpZzogUmVzb2x2ZWRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVXNlci1wcm92aWRlZCByZXNvbHZlLmFsaWFzIGluIGl0cyBvcmlnaW5hbCBmb3JtYXQgKi9cbiAgdXNlclJlc29sdmVBbGlhczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IEFsaWFzW10gfCBudWxsID0gbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFBoYXNlMk1ldGEge1xuICAvKiogR2VuZXJhdGVkIGNsaWVudCBpc2xhbmQgZW50cnkgY29kZSAqL1xuICBjbGllbnRFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xufVxuXG5leHBvcnQgY2xhc3MgUGhhc2UzTWV0YSB7XG4gIC8qKiBHZW5lcmF0ZWQgU1NHIGVudHJ5IGNvZGUgKGZvciB2aXRlQnVpbGQgU1NSIGlucHV0KSAqL1xuICBzc2dFbnRyeUNvZGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBQcm9qZWN0IHJvb3QgZGlyZWN0b3J5ICovXG4gIHJvb3Q6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBPdXRwdXQgZGlyZWN0b3J5IChkZWZhdWx0OiAnZGlzdCcpICovXG4gIG91dERpcjogc3RyaW5nID0gJ2Rpc3QnO1xuXG4gIC8qKiBCYXNlIFVSTCBwYXRoIChkZWZhdWx0OiAnLycpICovXG4gIGJhc2U6IHN0cmluZyA9ICcvJztcblxuICAvKiogTWlkZGxld2FyZSBjb25maWcgZnJvbSBjcmVhdGVPcGVuUGx1Z2luKCkgb3B0aW9ucyAqL1xuICBtaWRkbGV3YXJlOiBGcmFtZXdvcmtPcHRpb25zWydtaWRkbGV3YXJlJ10gfCBudWxsID0gbnVsbDtcblxuICAvKiogSFRNTCBkb2N1bWVudCBvcHRpb25zIGZyb20gY3JlYXRlT3BlblBsdWdpbigpIG9wdGlvbnMgKi9cbiAgaHRtbDogeyBsYW5nPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZyB9IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIElzbGFuZCBoeWRyYXRpb24gc3RyYXRlZ3kgKGRlZmF1bHQ6ICdpZGxlJykgKi9cbiAgdXBncmFkZVN0cmF0ZWd5OiBIeWRyYXRpb25TdHJhdGVneSA9ICdpZGxlJztcblxuICAvKiogVmlldyBUcmFuc2l0aW9ucyBlbmFibGVkIChkZWZhdWx0OiB0cnVlKSAqL1xuICB2aWV3VHJhbnNpdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFNwZWN1bGF0aW9uIFJ1bGVzIGNvbmZpZyBmcm9tIGNyZWF0ZU9wZW5QbHVnaW4oKSBvcHRpb25zICovXG4gIHNwZWN1bGF0aW9uOiBGcmFtZXdvcmtPcHRpb25zWydzcGVjdWxhdGlvbiddIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEV4dHJhIEhUTUwgdG8gaW5qZWN0IGludG8gPGhlYWQ+ICovXG4gIGhlYWRFeHRyYXM6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIGhlYWRFeHRyYXMgc2NyaXB0cyB3ZXJlIHByb2R1Y2VkIGJ5IHN0cnVjdHVyZWQgaW5qZWN0aW9uIEFQSXMuICovXG4gIGFsbG93SGVhZEV4dHJhc1NjcmlwdHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQXBwbGljYXRpb24gc2hlbGwgcmVuZGVyZWQgYXJvdW5kIHJvdXRlcy4gKi9cbiAgYXBwU2hlbGw6IEZyYW1ld29ya09wdGlvbnNbJ2FwcFNoZWxsJ10gPSB1bmRlZmluZWQ7XG5cbiAgLyoqIE5hbWVkIHJvdXRlIGxheW91dHMgc2VsZWN0ZWQgYnkgcm91dGUgbWV0YS4gKi9cbiAgbGF5b3V0czogRnJhbWV3b3JrT3B0aW9uc1snbGF5b3V0cyddID0gdW5kZWZpbmVkO1xuXG4gIC8qKiBTU1Igbm9FeHRlcm5hbCBwYXR0ZXJucy4gQWNjZXB0IHN0cmluZ3Mgb3Igc2VyaWFsaXplZCBSZWdFeHAgb2JqZWN0cy5cbiAgICogQ2FsbGVycyBzaG91bGQgdXNlIHRoZSBwbGFpbi1vYmplY3QgZm9ybSBgeyBfX3R5cGU6ICdSZWdFeHAnLCBzb3VyY2UsIGZsYWdzIH1gXG4gICAqIHJhdGhlciB0aGFuIHBhc3NpbmcgUmVnRXhwIGluc3RhbmNlcyBkaXJlY3RseS4gKi9cbiAgc3NyTm9FeHRlcm5hbDogKHN0cmluZyB8IHsgX190eXBlOiAnUmVnRXhwJzsgc291cmNlOiBzdHJpbmc7IGZsYWdzOiBzdHJpbmcgfSlbXSA9IFtdO1xuXG4gIC8qKiBTU1IgZGVwcyB0byBrZWVwIGFzIGV4dGVybmFsIChyZXNvbHZlZCBieSBEZW5vIGltcG9ydCgpIGF0IHJ1bnRpbWUgcGVyIEFEUi0wMDQzKSAqL1xuICBzc3JFeHRlcm5hbDogc3RyaW5nW10gPSBbXTtcblxuICAvKiogUm91dGVzIGRpcmVjdG9yeSAqL1xuICByb3V0ZXNEaXI6IHN0cmluZyA9ICdhcHAvcm91dGVzJztcblxuICAvKiogSXNsYW5kcyBkaXJlY3RvcnkgKi9cbiAgaXNsYW5kc0Rpcjogc3RyaW5nID0gJ2FwcC9pc2xhbmRzJztcblxuICAvKiogQ29tcG9uZW50cyBkaXJlY3RvcnkgKi9cbiAgY29tcG9uZW50c0Rpcjogc3RyaW5nID0gJ2FwcC9jb21wb25lbnRzJztcblxuICAvKiogQURSLTAwNDc6IFByZS1yZXNvbHZlZCBleHRlcm5hbCBkZXBlbmRlbmN5IG1hbmlmZXN0IChhdXRvLWdlbmVyYXRlZCBmcm9tIGRlbm8gaW5mbykuICovXG4gIGV4dGVybmFsTWFuaWZlc3Q/OiBpbXBvcnQoJ0BvcGVuZWxlbWVudC9wcm90b2NvbC9zc2cnKS5FeHRlcm5hbE1hbmlmZXN0O1xuXG4gIC8qKiBTa2lwIERlbm8gcHJlLXJlc29sdXRpb24sIHVzZSByZWdleCBmYWxsYmFjay4gKi9cbiAgc2tpcFByZVJlc29sdXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlbkVsZW1lbnRCdWlsZENvbnRleHQge1xuICAvKiogUGhhc2UgMTogUm91dGUgc2Nhbm5pbmcgJiBidWlsZCBtZXRhZGF0YSAqL1xuICByZWFkb25seSBwaGFzZTE6IFBoYXNlMU1ldGEgPSBuZXcgUGhhc2UxTWV0YSgpO1xuXG4gIC8qKiBQaGFzZSAyOiBDbGllbnQgaXNsYW5kIGJ1aWxkIHN0YXRlICovXG4gIHJlYWRvbmx5IHBoYXNlMjogUGhhc2UyTWV0YSA9IG5ldyBQaGFzZTJNZXRhKCk7XG5cbiAgLyoqIFBoYXNlIDM6IFNTRyByZW5kZXJpbmcgc3RhdGUgKi9cbiAgcmVhZG9ubHkgcGhhc2UzOiBQaGFzZTNNZXRhID0gbmV3IFBoYXNlM01ldGEoKTtcblxuICAvKiogUGx1Z2luIGRhdGEgZnJvbSBjb250ZW50L2kxOG4gc3ViLXBsdWdpbnMgKi9cbiAgcmVhZG9ubHkgcGx1Z2luczoge1xuICAgIGJsb2dPcHRpb25zOiBPcGVuRWxlbWVudEJsb2dPcHRpb25zIHwgbnVsbDtcbiAgICBuYXZTZWN0aW9uczogT3BlbkVsZW1lbnROYXZTZWN0aW9uW107XG4gICAgaGVhZGVyTmF2OiBPcGVuRWxlbWVudEhlYWRlck5hdkxpbmtbXTtcbiAgICBzaXRlbWFwT3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsO1xuICAgIGkxOG5PcHRpb25zOiBPcGVuRWxlbWVudEkxOG5Db250ZXh0T3B0aW9ucyB8IG51bGw7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSA9IHtcbiAgICBibG9nT3B0aW9uczogbnVsbCxcbiAgICBuYXZTZWN0aW9uczogW10sXG4gICAgaGVhZGVyTmF2OiBbXSxcbiAgICBzaXRlbWFwT3B0aW9uczogbnVsbCxcbiAgICBpMThuT3B0aW9uczogbnVsbCxcbiAgfTtcblxuICAvKiogUmVzb2x2ZWQgZnJhbWV3b3JrIG9wdGlvbnMgd2l0aCBkZWZhdWx0cyBhcHBsaWVkIChyZWFkLW9ubHkgYWZ0ZXIgY29uc3RydWN0aW9uKSAqL1xuICByZWFkb25seSBvcHRpb25zOiBGcmFtZXdvcmtPcHRpb25zO1xuXG4gIC8qKiBUcmFja3Mgd2hpY2ggYnVpbGQgcGhhc2VzIGhhdmUgY29tcGxldGVkLiAqL1xuICBwcml2YXRlIGNvbXBsZXRlZCA9IG5ldyBTZXQ8UGhhc2U+KCk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgcGx1Z2luIGRhdGEgYnkgbmFtZS4gKi9cbiAgcmVnaXN0ZXJQbHVnaW48SyBleHRlbmRzIGtleW9mIE9wZW5FbGVtZW50QnVpbGRDb250ZXh0WydwbHVnaW5zJ10+KFxuICAgIG5hbWU6IEssXG4gICAgaW5zdGFuY2U6IE9wZW5FbGVtZW50QnVpbGRDb250ZXh0WydwbHVnaW5zJ11bS10sXG4gICk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luc1tuYW1lXSA9IGluc3RhbmNlO1xuICB9XG5cbiAgLyoqIE1hcmsgYSBwaGFzZSBhcyBjb21wbGV0ZSwgZW5mb3JjaW5nIG9yZGVyaW5nIGNvbnN0cmFpbnRzLiAqL1xuICBtYXJrQ29tcGxldGUocGhhc2U6IFBoYXNlKTogdm9pZCB7XG4gICAgLy8gUGhhc2UgMiAoY2xpZW50IGJ1aWxkKSByZXF1aXJlcyBQaGFzZSAxIChyb3V0ZSBzY2FubmluZykgb25seS5cbiAgICAvLyBQaGFzZSAyIHJ1bnMgYWZ0ZXIgUGhhc2UgMyAoU1NHKSBwZXIgQURSIDAwMjM7IGl0IGRvZXMgTk9UIHJlcXVpcmUgUGhhc2UgMy5cbiAgICBpZiAocGhhc2UgPT09IDIgJiYgIXRoaXMuY29tcGxldGVkLmhhcygxKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQaGFzZSAyIHJlcXVpcmVzIFBoYXNlIDEgdG8gYmUgY29tcGxldGVkIGZpcnN0Jyk7XG4gICAgfVxuICAgIGlmIChwaGFzZSA9PT0gMyAmJiAhdGhpcy5jb21wbGV0ZWQuaGFzKDEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BoYXNlIDMgcmVxdWlyZXMgUGhhc2UgMSB0byBiZSBjb21wbGV0ZWQgZmlyc3QnKTtcbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZWQuYWRkKHBoYXNlKTtcbiAgfVxuXG4gIC8qKiBDaGVjayB3aGV0aGVyIGEgcGhhc2UgaGFzIGJlZW4gY29tcGxldGVkLiAqL1xuICBpc0NvbXBsZXRlKHBoYXNlOiBQaGFzZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbXBsZXRlZC5oYXMocGhhc2UpO1xuICB9XG5cbiAgLyoqIFBvcHVsYXRlIFBoYXNlIDMgaW52YXJpYW50cyBmcm9tIHJlc29sdmVkIFZpdGUgY29uZmlnIGFuZCBmcmFtZXdvcmsgb3B0aW9ucy4gKi9cbiAgcG9wdWxhdGVQaGFzZTMoXG4gICAgb3B0aW9uczogRnJhbWV3b3JrT3B0aW9ucyAmIHsgYWxsb3dIZWFkRXh0cmFzU2NyaXB0cz86IGJvb2xlYW4gfSxcbiAgICBjb25maWc6IFJlc29sdmVkQ29uZmlnLFxuICAgIHNzck5vRXh0ZXJuYWw6IChzdHJpbmcgfCB7IF9fdHlwZTogJ1JlZ0V4cCc7IHNvdXJjZTogc3RyaW5nOyBmbGFnczogc3RyaW5nIH0pW10sXG4gICk6IHZvaWQge1xuICAgIGxldCBiYXNlID0gY29uZmlnLmJhc2UgfHwgJy8nO1xuICAgIGlmICghYmFzZS5lbmRzV2l0aCgnLycpKSBiYXNlICs9ICcvJztcblxuICAgIHRoaXMucGhhc2UzLnJvb3QgPSBjb25maWcucm9vdDtcbiAgICB0aGlzLnBoYXNlMy5vdXREaXIgPSBvcHRpb25zLmJ1aWxkPy5vdXREaXIgfHwgJ2Rpc3QnO1xuICAgIHRoaXMucGhhc2UzLmJhc2UgPSBiYXNlO1xuICAgIHRoaXMucGhhc2UzLnNzck5vRXh0ZXJuYWwgPSBzc3JOb0V4dGVybmFsO1xuICAgIHRoaXMucGhhc2UzLnJvdXRlc0RpciA9IG9wdGlvbnMucm91dGVzRGlyIHx8ICdhcHAvcm91dGVzJztcbiAgICB0aGlzLnBoYXNlMy5pc2xhbmRzRGlyID0gb3B0aW9ucy5pc2xhbmRzRGlyIHx8ICdhcHAvaXNsYW5kcyc7XG4gICAgdGhpcy5waGFzZTMuY29tcG9uZW50c0RpciA9IG9wdGlvbnMuY29tcG9uZW50c0RpciB8fCAnYXBwL2NvbXBvbmVudHMnO1xuICAgIHRoaXMucGhhc2UzLm1pZGRsZXdhcmUgPSBvcHRpb25zLm1pZGRsZXdhcmUgfHwgbnVsbDtcbiAgICB0aGlzLnBoYXNlMy5odG1sID0gb3B0aW9ucy5odG1sIHx8IG51bGw7XG4gICAgdGhpcy5waGFzZTMudXBncmFkZVN0cmF0ZWd5ID0gb3B0aW9ucy5pc2xhbmQ/LnVwZ3JhZGVTdHJhdGVneSB8fCAnaWRsZSc7XG4gICAgdGhpcy5waGFzZTMudmlld1RyYW5zaXRpb24gPSBvcHRpb25zLnZpZXdUcmFuc2l0aW9uID8/IHRydWU7XG4gICAgdGhpcy5waGFzZTMuc3BlY3VsYXRpb24gPSBvcHRpb25zLnNwZWN1bGF0aW9uID8/IG51bGw7XG4gICAgdGhpcy5waGFzZTMuaGVhZEV4dHJhcyA9IG9wdGlvbnMuaGVhZEV4dHJhcyB8fCAnJztcbiAgICB0aGlzLnBoYXNlMy5hbGxvd0hlYWRFeHRyYXNTY3JpcHRzID0gb3B0aW9ucy5hbGxvd0hlYWRFeHRyYXNTY3JpcHRzIHx8IGZhbHNlO1xuICAgIHRoaXMucGhhc2UzLmFwcFNoZWxsID0gb3B0aW9ucy5hcHBTaGVsbDtcbiAgICB0aGlzLnBoYXNlMy5sYXlvdXRzID0gb3B0aW9ucy5sYXlvdXRzO1xuICB9XG5cbiAgLyoqIFJldHVybiBhIHJlYWQtb25seSB2aWV3IG9mIFBoYXNlIDMgbWV0YWRhdGEuICovXG4gIGdldFBoYXNlM01ldGEoKTogUmVhZG9ubHk8UGhhc2UzTWV0YT4ge1xuICAgIHJldHVybiB0aGlzLnBoYXNlMztcbiAgfVxuXG4gIC8qKiBSZXNldCBhbGwgbXV0YWJsZSBzdGF0ZSAoZm9yIHdhdGNoIG1vZGUgLyB0ZXN0aW5nKSAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBsZXRlZC5jbGVhcigpO1xuXG4gICAgY29uc3QgdXNlclJlc29sdmVBbGlhcyA9IHRoaXMucGhhc2UxLnVzZXJSZXNvbHZlQWxpYXM7XG4gICAgLy8gTk9URTogdXNlclJlc29sdmVBbGlhcyBpcyBOT1QgcmVzZXQgLSBpdCdzIHVzZXIgY29uZmlndXJhdGlvbiwgbm90XG4gICAgLy8gYnVpbGQgc3RhdGUuIEl0J3Mgc2V0IGluIGNvbmZpZygpL2NvbmZpZ1Jlc29sdmVkKCkgYW5kIG11c3QgcGVyc2lzdFxuICAgIC8vIHRocm91Z2ggYnVpbGRTdGFydCgpIGZvciBQaGFzZSAyIGFuZCAzIHRvIHVzZS5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMucGhhc2UxLCBuZXcgUGhhc2UxTWV0YSgpLCB7IHVzZXJSZXNvbHZlQWxpYXMgfSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBoYXNlMiwgbmV3IFBoYXNlMk1ldGEoKSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBoYXNlMywgbmV3IFBoYXNlM01ldGEoKSk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLnBsdWdpbnMsIHtcbiAgICAgIGJsb2dPcHRpb25zOiBudWxsLFxuICAgICAgbmF2U2VjdGlvbnM6IFtdLFxuICAgICAgaGVhZGVyTmF2OiBbXSxcbiAgICAgIHNpdGVtYXBPcHRpb25zOiBudWxsLFxuICAgICAgaTE4bk9wdGlvbnM6IG51bGwsXG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQkMsR0FrQkQsT0FBTyxNQUFNO0VBQ1gsa0VBQWtFLEdBQ2xFLGdCQUF3QixHQUFHO0VBRTNCLG1FQUFtRSxHQUNuRSxlQUE2QixFQUFFLENBQUM7RUFFaEMsc0VBQXNFLEdBQ3RFLGlCQUEyQixFQUFFLENBQUM7RUFFOUIsMENBQTBDLEdBQzFDLGNBQXdCLEVBQUUsQ0FBQztFQUUzQiwrQ0FBK0MsR0FDL0MsYUFBa0QsQ0FBQyxFQUFFO0VBRXJELHVEQUF1RCxHQUN2RCxtQkFBaUQsRUFBRSxDQUFDO0VBRXBELHlEQUF5RCxHQUN6RCxxQkFBbUMsRUFBRSxDQUFDO0VBRXRDLDZEQUE2RCxHQUM3RCxtQkFBNEMsS0FBSztFQUVqRCw0RUFBNEUsR0FDNUUscUJBQW9ELEVBQUUsQ0FBQztFQUV2RCwrQ0FBK0MsR0FDL0MsaUJBQTBCLE1BQU07RUFFaEMsc0RBQXNELEdBQ3RELGlCQUF3QyxLQUFLO0VBRTdDLHVEQUF1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
|
package/src/workspace-alias.js
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
* Reads Deno workspace deno.json exports and generates
|
|
5
5
|
* Vite resolve.alias entries. Uses sync Deno APIs so it
|
|
6
6
|
* can run in synchronous plugin hooks (config, configResolved).
|
|
7
|
-
*/ import {
|
|
7
|
+
*/ import { readFileSync } from 'node:fs';
|
|
8
|
+
import { resolve } from 'node:path';
|
|
8
9
|
function tryReadJson(path) {
|
|
9
10
|
try {
|
|
10
11
|
// H-12 fix: Use platform-appropriate file reading API
|
|
11
12
|
// Deno.readTextFileSync in Deno environments, node:fs in Node.js (Vite)
|
|
12
|
-
const content = typeof Deno !== 'undefined' ? Deno.readTextFileSync(path) :
|
|
13
|
+
const content = typeof Deno !== 'undefined' ? Deno.readTextFileSync(path) : readFileSync(path, 'utf-8');
|
|
13
14
|
// deno.json files may contain comments - strip them before JSON.parse.
|
|
14
15
|
// Naive regex breaks URLs (https:// -> https:), so we walk character by character,
|
|
15
16
|
// tracking whether we're inside a string literal.
|
|
@@ -109,4 +110,4 @@ function tryReadJson(path) {
|
|
|
109
110
|
}
|
|
110
111
|
return aliases;
|
|
111
112
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hZGFwdGVyLXZpdGUvc3JjL3dvcmtzcGFjZS1hbGlhcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBvcGVuZWxlbWVudC9hZGFwdGVyLXZpdGUgLSBXb3Jrc3BhY2UgYWxpYXMgYXV0by1nZW5lcmF0aW9uXG4gKlxuICogUmVhZHMgRGVubyB3b3Jrc3BhY2UgZGVuby5qc29uIGV4cG9ydHMgYW5kIGdlbmVyYXRlc1xuICogVml0ZSByZXNvbHZlLmFsaWFzIGVudHJpZXMuIFVzZXMgc3luYyBEZW5vIEFQSXMgc28gaXRcbiAqIGNhbiBydW4gaW4gc3luY2hyb25vdXMgcGx1Z2luIGhvb2tzIChjb25maWcsIGNvbmZpZ1Jlc29sdmVkKS5cbiAqL1xuXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsaWFzRW50cnkge1xuICBmaW5kOiBzdHJpbmc7XG4gIHJlcGxhY2VtZW50OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRyeVJlYWRKc29uKHBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgLy8gSC0xMiBmaXg6IFVzZSBwbGF0Zm9ybS1hcHByb3ByaWF0ZSBmaWxlIHJlYWRpbmcgQVBJXG4gICAgLy8gRGVuby5yZWFkVGV4dEZpbGVTeW5jIGluIERlbm8gZW52aXJvbm1lbnRzLCBub2RlOmZzIGluIE5vZGUuanMgKFZpdGUpXG4gICAgY29uc3QgY29udGVudCA9IHR5cGVvZiBEZW5vICE9PSAndW5kZWZpbmVkJ1xuICAgICAgPyBEZW5vLnJlYWRUZXh0RmlsZVN5bmMocGF0aClcbiAgICAgIDogcmVhZEZpbGVTeW5jKHBhdGgsICd1dGYtOCcpO1xuICAgIC8vIGRlbm8uanNvbiBmaWxlcyBtYXkgY29udGFpbiBjb21tZW50cyAtIHN0cmlwIHRoZW0gYmVmb3JlIEpTT04ucGFyc2UuXG4gICAgLy8gTmFpdmUgcmVnZXggYnJlYWtzIFVSTHMgKGh0dHBzOi8vIC0+IGh0dHBzOiksIHNvIHdlIHdhbGsgY2hhcmFjdGVyIGJ5IGNoYXJhY3RlcixcbiAgICAvLyB0cmFja2luZyB3aGV0aGVyIHdlJ3JlIGluc2lkZSBhIHN0cmluZyBsaXRlcmFsLlxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgaW5TdHJpbmcgPSBmYWxzZTtcbiAgICBsZXQgZXNjYXBlID0gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250ZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjaCA9IGNvbnRlbnRbaV07XG4gICAgICBpZiAoZXNjYXBlKSB7XG4gICAgICAgIHJlc3VsdCArPSBjaDtcbiAgICAgICAgZXNjYXBlID0gZmFsc2U7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoID09PSAnXFxcXCcpIHtcbiAgICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgICBlc2NhcGUgPSB0cnVlO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChjaCA9PT0gJ1wiJykge1xuICAgICAgICBpblN0cmluZyA9ICFpblN0cmluZztcbiAgICAgICAgcmVzdWx0ICs9IGNoO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICghaW5TdHJpbmcgJiYgY2ggPT09ICcvJyAmJiBjb250ZW50W2kgKyAxXSA9PT0gJy8nKSB7XG4gICAgICAgIC8vIFNraXAgdW50aWwgZW5kIG9mIGxpbmVcbiAgICAgICAgd2hpbGUgKGkgPCBjb250ZW50Lmxlbmd0aCAmJiBjb250ZW50W2ldICE9PSAnXFxuJykgaSsrO1xuICAgICAgICByZXN1bHQgKz0gJ1xcbic7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFpblN0cmluZyAmJiBjaCA9PT0gJy8nICYmIGNvbnRlbnRbaSArIDFdID09PSAnKicpIHtcbiAgICAgICAgLy8gU2tpcCB1bnRpbCAqL1xuICAgICAgICBpICs9IDI7XG4gICAgICAgIHdoaWxlIChpIDwgY29udGVudC5sZW5ndGggJiYgIShjb250ZW50W2ldID09PSAnKicgJiYgY29udGVudFtpICsgMV0gPT09ICcvJykpIGkrKztcbiAgICAgICAgaSsrOyAvLyBza2lwIHBhc3QgKi9cbiAgICAgICAgcmVzdWx0ICs9ICcgJztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXN1bHQgKz0gY2g7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogV2FsayB1cCBmcm9tIHN0YXJ0RGlyIHRvIGZpbmQgYSBkZW5vLmpzb24gd2l0aCBhIFwid29ya3NwYWNlXCIgZmllbGQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kV29ya3NwYWNlUm9vdChzdGFydERpcjogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGxldCBkaXIgPSByZXNvbHZlKHN0YXJ0RGlyKTtcbiAgY29uc3QgZnNSb290ID0gcmVzb2x2ZSgnLycpO1xuICB3aGlsZSAoZGlyICE9PSBmc1Jvb3QgJiYgZGlyICE9PSByZXNvbHZlKGRpciwgJy4uJykpIHtcbiAgICBjb25zdCBjZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKGRpciwgJ2Rlbm8uanNvbicpKTtcbiAgICBpZiAoY2ZnPy53b3Jrc3BhY2UgJiYgQXJyYXkuaXNBcnJheShjZmcud29ya3NwYWNlKSkgcmV0dXJuIGRpcjtcbiAgICBkaXIgPSByZXNvbHZlKGRpciwgJy4uJyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgVml0ZSByZXNvbHZlLmFsaWFzIGZyb20gd29ya3NwYWNlIHBhY2thZ2VzJyBkZW5vLmpzb24gZXhwb3J0cy5cbiAqIFN1YnBhdGggYWxpYXNlcyBjb21lIGJlZm9yZSBwYXJlbnQgKFZpdGUgcHJlZml4IG1hdGNoaW5nIHJ1bGUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXb3Jrc3BhY2VBbGlhc2VzKHdvcmtzcGFjZVJvb3Q6IHN0cmluZyk6IEFsaWFzRW50cnlbXSB7XG4gIGNvbnN0IHJvb3RDZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKHdvcmtzcGFjZVJvb3QsICdkZW5vLmpzb24nKSk7XG4gIGlmICghcm9vdENmZykgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IG1lbWJlcnM6IHN0cmluZ1tdID0gKHJvb3RDZmcud29ya3NwYWNlIGFzIHN0cmluZ1tdKSB8fCBbXTtcbiAgY29uc3QgYWxpYXNlczogQWxpYXNFbnRyeVtdID0gW107XG5cbiAgZm9yIChjb25zdCBtZW1iZXIgb2YgbWVtYmVycykge1xuICAgIGNvbnN0IG1lbWJlckRpciA9IHJlc29sdmUod29ya3NwYWNlUm9vdCwgbWVtYmVyKTtcbiAgICBjb25zdCBtZW1iZXJDZmcgPSB0cnlSZWFkSnNvbihyZXNvbHZlKG1lbWJlckRpciwgJ2Rlbm8uanNvbicpKTtcbiAgICBpZiAoIW1lbWJlckNmZykgY29udGludWU7XG5cbiAgICBjb25zdCBuYW1lID0gbWVtYmVyQ2ZnLm5hbWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBtZW1iZXJDZmcuZXhwb3J0cyBhc1xuICAgICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICB8IHN0cmluZ1xuICAgICAgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFuYW1lIHx8ICFleHBvcnRzKSBjb250aW51ZTtcblxuICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGFsaWFzZXMucHVzaCh7IGZpbmQ6IG5hbWUsIHJlcGxhY2VtZW50OiByZXNvbHZlKG1lbWJlckRpciwgZXhwb3J0cykgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBTdWJwYXRoIGFsaWFzZXMgZmlyc3QgKFZpdGUgcHJlZml4IG1hdGNoaW5nKVxuICAgIGZvciAoY29uc3QgW2V4cG9ydFBhdGgsIHNvdXJjZVBhdGhdIG9mIE9iamVjdC5lbnRyaWVzKGV4cG9ydHMpKSB7XG4gICAgICBpZiAoZXhwb3J0UGF0aCA9PT0gJy4nKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHN1YnBhdGggPSBleHBvcnRQYXRoLnJlcGxhY2UoL15cXC5cXC8vLCAnLycpO1xuICAgICAgYWxpYXNlcy5wdXNoKHtcbiAgICAgICAgZmluZDogYCR7bmFtZX0ke3N1YnBhdGh9YCxcbiAgICAgICAgcmVwbGFjZW1lbnQ6IHJlc29sdmUobWVtYmVyRGlyLCBzb3VyY2VQYXRoIGFzIHN0cmluZyksXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gUGFyZW50IGFsaWFzIGxhc3QuIFN1YnBhdGggYWxpYXNlcyBhYm92ZSBhbHJlYWR5IGhhbmRsZSBldmVyeSBleHBvcnRlZFxuICAgIC8vIHN1YnBhdGgsIHNvIGEgZGlyZWN0IGltcG9ydCBvZiB0aGUgcGFja2FnZSBuYW1lIHJlc29sdmVzIHRvIHRoZSBcIi4vXCJcbiAgICAvLyBleHBvcnQgZW50cnkgd2l0aG91dCBmYWxsaW5nIHRocm91Z2ggdG8gZGlyZWN0b3J5LWluZGV4IGhldXJpc3RpY3MuXG4gICAgaWYgKGV4cG9ydHNbJy4nXSkge1xuICAgICAgYWxpYXNlcy5wdXNoKHtcbiAgICAgICAgZmluZDogbmFtZSxcbiAgICAgICAgcmVwbGFjZW1lbnQ6IHJlc29sdmUobWVtYmVyRGlyLCBleHBvcnRzWycuJ10gYXMgc3RyaW5nKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpYXNlcztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FFRCxTQUFTLFlBQVksUUFBUSxVQUFVO0FBQ3ZDLFNBQVMsT0FBTyxRQUFRLFlBQVk7QUFPcEMs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
|