@dollhousemcp/mcp-server 2.0.40 → 2.0.42
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/CHANGELOG.md +13 -0
- package/dist/di/Container.d.ts.map +1 -1
- package/dist/di/Container.js +10 -7
- package/dist/elements/agents/AgentManager.d.ts +25 -6
- package/dist/elements/agents/AgentManager.d.ts.map +1 -1
- package/dist/elements/agents/AgentManager.js +127 -21
- package/dist/elements/base/BaseElementManager.d.ts +18 -2
- package/dist/elements/base/BaseElementManager.d.ts.map +1 -1
- package/dist/elements/base/BaseElementManager.js +36 -3
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/handlers/ElementCRUDHandler.d.ts +36 -8
- package/dist/handlers/ElementCRUDHandler.d.ts.map +1 -1
- package/dist/handlers/ElementCRUDHandler.js +227 -96
- package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
- package/dist/handlers/mcp-aql/MCPAQLHandler.js +3 -3
- package/dist/handlers/strategies/AgentActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/AgentActivationStrategy.js +5 -2
- package/dist/handlers/strategies/ElementActivationStrategy.d.ts +2 -0
- package/dist/handlers/strategies/ElementActivationStrategy.d.ts.map +1 -1
- package/dist/handlers/strategies/ElementActivationStrategy.js +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/security/audit/config/suppressions.js +5 -5
- package/dist/services/ActivationStore.d.ts +5 -4
- package/dist/services/ActivationStore.d.ts.map +1 -1
- package/dist/services/ActivationStore.js +35 -9
- package/dist/services/PolicyExportService.d.ts +8 -2
- package/dist/services/PolicyExportService.d.ts.map +1 -1
- package/dist/services/PolicyExportService.js +37 -6
- package/dist/storage/ElementStorageLayer.d.ts +3 -3
- package/dist/storage/ElementStorageLayer.d.ts.map +1 -1
- package/dist/storage/ElementStorageLayer.js +33 -7
- package/dist/storage/IStorageLayer.d.ts +8 -1
- package/dist/storage/IStorageLayer.d.ts.map +1 -1
- package/dist/storage/IStorageLayer.js +1 -1
- package/dist/storage/MemoryStorageLayer.d.ts +4 -3
- package/dist/storage/MemoryStorageLayer.d.ts.map +1 -1
- package/dist/storage/MemoryStorageLayer.js +43 -13
- package/dist/storage/types.d.ts +7 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +17 -2
- package/oauth-helper.mjs +19 -26
- package/package.json +2 -2
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/AgentActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIxF,qBAAa,uBAAwB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAIvD;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA4LjF;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/AgentActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIxF,qBAAa,uBAAwB,SAAQ,sBAAuB,YAAW,yBAAyB;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAIvD;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA4LjF;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAapD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IA2B/C;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA8BtB;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAmJ5D"}
|
|
@@ -194,7 +194,10 @@ export class AgentActivationStrategy extends BaseActivationStrategy {
|
|
|
194
194
|
if (!result.success) {
|
|
195
195
|
this.throwNotFoundError(name, 'Agent');
|
|
196
196
|
}
|
|
197
|
-
return
|
|
197
|
+
return {
|
|
198
|
+
...this.createSuccessResponse(result.message),
|
|
199
|
+
...(result.filename ? { stableIdentity: result.filename } : {}),
|
|
200
|
+
};
|
|
198
201
|
}
|
|
199
202
|
/**
|
|
200
203
|
* Get all active agents
|
|
@@ -390,4 +393,4 @@ export class AgentActivationStrategy extends BaseActivationStrategy {
|
|
|
390
393
|
};
|
|
391
394
|
}
|
|
392
395
|
}
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdlbnRBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9BZ2VudEFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsc0JBQXNCO0lBQ3BDO0lBQTdCLFlBQTZCLFlBQTBCO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRG1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRXZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWSxFQUFFLE9BQTZCO1FBQ3hELGlFQUFpRTtRQUNqRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUUzQixxQ0FBcUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEQsd0NBQXdDO1FBQ3hDLCtEQUErRDtRQUMvRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxF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QUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQ3pCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZ2VudEFjdGl2YXRpb25TdHJhdGVneSAtIFN0cmF0ZWd5IGZvciBhZ2VudCBlbGVtZW50IGFjdGl2YXRpb25cbiAqXG4gKiBIYW5kbGVzIGFjdGl2YXRpb24sIGRlYWN0aXZhdGlvbiwgYW5kIHN0YXR1cyB0cmFja2luZyBmb3IgYWdlbnQgZWxlbWVudHMuXG4gKiBVc2VzIFwiZXhlY3V0aW9uXCIgc3RyYXRlZ3kgd2l0aCBzdGF0ZSBmaWxlIG1hbmFnZW1lbnQuXG4gKlxuICogU0VDVVJJVFkgJiBDT05TSVNURU5DWSBJTVBST1ZFTUVOVFM6XG4gKiAtIFNlY3VyaXR5IGxvZ2dpbmcgZm9yIGFjdGl2YXRpb24gZXJyb3JzIChJc3N1ZSAjMjQgLSBNZWRpdW0gUHJpb3JpdHkpXG4gKiAtIEFjdGl2YXRpb24gcm9sbGJhY2sgb24gY3JpdGljYWwgZmFpbHVyZXMgKElzc3VlICMyNCAtIE1lZGl1bSBQcmlvcml0eSlcbiAqIC0gT3B0aW1pc3RpYyBsb2NraW5nIGZvciBzdGF0ZSB1cGRhdGVzIChJc3N1ZSAjMjQgLSBNZWRpdW0gUHJpb3JpdHkpXG4gKi9cblxuaW1wb3J0IHsgQWdlbnRNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvYWdlbnRzL0FnZW50TWFuYWdlci5qcyc7XG5pbXBvcnQgeyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9CYXNlQWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3ksIE1DUFJlc3BvbnNlIH0gZnJvbSAnLi9FbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LmpzJztcbmltcG9ydCB7IFNlY3VyaXR5TW9uaXRvciB9IGZyb20gJy4uLy4uL3NlY3VyaXR5L3NlY3VyaXR5TW9uaXRvci5qcyc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi91dGlscy9sb2dnZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgQWdlbnRBY3RpdmF0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBCYXNlQWN0aXZhdGlvblN0cmF0ZWd5IGltcGxlbWVudHMgRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWdlbnRNYW5hZ2VyOiBBZ2VudE1hbmFnZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGFuIGFnZW50IHdpdGggZXhlY3V0aW9uIHN0cmF0ZWd5XG4gICAqIEV4ZWN1dGVzIGFnZW50IGxvZ2ljLCB1cGRhdGVzIHN0YXRlIGZpbGUsIGFuZCB0cmFja3MgYWN0aXZhdGlvblxuICAgKlxuICAgKiBJTVBST1ZFTUVOVDogRW5oYW5jZWQgZXJyb3IgaGFuZGxpbmcgd2l0aCBzZWN1cml0eSBsb2dnaW5nIGFuZCByb2xsYmFjayAoSXNzdWUgIzI0KVxuICAgKi9cbiAgYXN5bmMgYWN0aXZhdGUobmFtZTogc3RyaW5nLCBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgdGhlIG1hbmFnZXIncyBhY3RpdmF0aW9uIG1ldGhvZCB3aGljaCB0cmFja3MgYWN0aXZlIGFnZW50c1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmFjdGl2YXRlQWdlbnQobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzIHx8ICFyZXN1bHQuYWdlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU5vdEZvdW5kUmVzcG9uc2UobmFtZSwgJ0FnZW50Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYWdlbnQgPSByZXN1bHQuYWdlbnQ7XG5cbiAgICAvLyBFeHRyYWN0IG9wdGlvbmFsIGdvYWwgZnJvbSBjb250ZXh0XG4gICAgY29uc3QgZ29hbCA9IGNvbnRleHQ/LmdvYWwgfHwgY29udGV4dD8uZ29hbHM/LlswXTtcblxuICAgIC8vIEV4ZWN1dGUgYWdlbnQgbG9naWMgKGdvYWxzL2RlY2lzaW9ucylcbiAgICAvLyBGb3Igbm93LCB0aGlzIGlzIGEgc2lkZS1lZmZlY3QgYWN0aXZhdGlvbiB0aGF0IHVwZGF0ZXMgc3RhdGVcbiAgICBjb25zdCBzdGF0ZSA9IGFnZW50LmdldFN0YXRlKCk7XG4gICAgY29uc3QgZXhlY3V0aW9uU3VtbWFyeTogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIFRyYWNrIGlmIHdlIG5lZWQgdG8gcm9sbGJhY2sgYWN0aXZhdGlvbiBvbiBjcml0aWNhbCBmYWlsdXJlXG4gICAgbGV0IGNyaXRpY2FsRmFpbHVyZSA9IGZhbHNlO1xuXG4gICAgaWYgKGdvYWwpIHtcbiAgICAgIC8vIElmIGdvYWwgcHJvdmlkZWQsIGFkZCBpdCB0byB0aGUgYWdlbnQncyBnb2Fsc1xuICAgICAgdHJ5IHtcbiAgICAgICAgYWdlbnQuYWRkR29hbCh7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGdvYWwuZGVzY3JpcHRpb24gfHwgZ29hbCxcbiAgICAgICAgICBwcmlvcml0eTogZ29hbC5wcmlvcml0eSB8fCAnbWVkaXVtJyxcbiAgICAgICAgICBpbXBvcnRhbmNlOiBnb2FsLmltcG9ydGFuY2UgfHwgNSxcbiAgICAgICAgICB1cmdlbmN5OiBnb2FsLnVyZ2VuY3kgfHwgNVxuICAgICAgICB9KTtcbiAgICAgICAgZXhlY3V0aW9uU3VtbWFyeS5wdXNoKGBHb2FsIGFkZGVkOiAke2dvYWwuZGVzY3JpcHRpb24gfHwgZ29hbH1gKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIEZJWDogRW5oYW5jZWQgZXJyb3IgbG9nZ2luZyB3aXRoIHNlY3VyaXR5IG1vbml0b3JpbmcgKElzc3VlICMyNClcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ291bGQgbm90IGFkZCBnb2FsJztcblxuICAgICAgICAvLyBMb2cgdG8gc2VjdXJpdHkgbW9uaXRvciBmb3IgYXVkaXQgdHJhaWxcbiAgICAgICAgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoe1xuICAgICAgICAgIHR5cGU6ICdBR0VOVF9BQ1RJVkFUSU9OX0ZBSUxFRCcsXG4gICAgICAgICAgc2V2ZXJpdHk6ICdNRURJVU0nLFxuICAgICAgICAgIHNvdXJjZTogJ0FnZW50QWN0aXZhdGlvblN0cmF0ZWd5LmFjdGl2YXRlJyxcbiAgICAgICAgICBkZXRhaWxzOiBgRmFpbGVkIHRvIGFkZCBnb2FsIGR1cmluZyBhZ2VudCBhY3RpdmF0aW9uOiAke2Vycm9yTWVzc2FnZX1gLFxuICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOiB7XG4gICAgICAgICAgICBhZ2VudE5hbWU6IG5hbWUsXG4gICAgICAgICAgICBnb2FsRGVzY3JpcHRpb246IGdvYWwuZGVzY3JpcHRpb24gfHwgZ29hbCxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2VcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIExvZyB0byBzdGFuZGFyZCBsb2dnZXIgZm9yIGRlYnVnZ2luZ1xuICAgICAgICBsb2dnZXIud2FybihgR29hbCBhZGRpdGlvbiBmYWlsZWQgZHVyaW5nIGFnZW50IGFjdGl2YXRpb25gLCB7XG4gICAgICAgICAgYWdlbnROYW1lOiBuYW1lLFxuICAgICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhlY3V0aW9uU3VtbWFyeS5wdXNoKGBOb3RlOiAke2Vycm9yTWVzc2FnZX1gKTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhIGNyaXRpY2FsIGZhaWx1cmUgcmVxdWlyaW5nIHJvbGxiYWNrXG4gICAgICAgIC8vIENyaXRpY2FsIGZhaWx1cmVzOiB2YWxpZGF0aW9uIGVycm9ycyB0aGF0IGluZGljYXRlIGJhZCBpbnB1dCBvciBzZWN1cml0eSBpc3N1ZXNcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgKFxuICAgICAgICAgIGVycm9yTWVzc2FnZS5pbmNsdWRlcygnaGFybWZ1bCBjb250ZW50JykgfHxcbiAgICAgICAgICBlcnJvck1lc3NhZ2UuaW5jbHVkZXMoJ3NlY3VyaXR5JykgfHxcbiAgICAgICAgICBlcnJvck1lc3NhZ2UuaW5jbHVkZXMoJ01heGltdW0gbnVtYmVyIG9mIGdvYWxzJylcbiAgICAgICAgKSkge1xuICAgICAgICAgIGNyaXRpY2FsRmFpbHVyZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGSVg6IFJvbGxiYWNrIGFjdGl2YXRpb24gb24gY3JpdGljYWwgZmFpbHVyZXMgKElzc3VlICMyNClcbiAgICBpZiAoY3JpdGljYWxGYWlsdXJlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoYENyaXRpY2FsIGZhaWx1cmUgZHVyaW5nIGFnZW50IGFjdGl2YXRpb24sIHJvbGxpbmcgYmFja2AsIHtcbiAgICAgICAgYWdlbnROYW1lOiBuYW1lXG4gICAgICB9KTtcblxuICAgICAgLy8gRGVhY3RpdmF0ZSB0aGUgYWdlbnQgdG8gcm9sbGJhY2tcbiAgICAgIGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmRlYWN0aXZhdGVBZ2VudChuYW1lKTtcblxuICAgICAgLy8gTG9nIHNlY3VyaXR5IGV2ZW50IGZvciByb2xsYmFja1xuICAgICAgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoe1xuICAgICAgICB0eXBlOiAnQUdFTlRfQUNUSVZBVElPTl9ST0xMQkFDSycsXG4gICAgICAgIHNldmVyaXR5OiAnSElHSCcsXG4gICAgICAgIHNvdXJjZTogJ0FnZW50QWN0aXZhdGlvblN0cmF0ZWd5LmFjdGl2YXRlJyxcbiAgICAgICAgZGV0YWlsczogYEFnZW50IGFjdGl2YXRpb24gcm9sbGVkIGJhY2sgZHVlIHRvIGNyaXRpY2FsIGZhaWx1cmVgLFxuICAgICAgICBhZGRpdGlvbmFsRGF0YToge1xuICAgICAgICAgIGFnZW50TmFtZTogbmFtZSxcbiAgICAgICAgICByZWFzb246ICdDcml0aWNhbCBnb2FsIGFkZGl0aW9uIGZhaWx1cmUnXG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBSZXR1cm4gZXJyb3IgcmVzcG9uc2VcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogYOKdjCBBZ2VudCBhY3RpdmF0aW9uIGZhaWxlZCBhbmQgd2FzIHJvbGxlZCBiYWNrXFxuXFxuQ3JpdGljYWwgZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGdvYWwgYWRkaXRpb24uIFBsZWFzZSByZXZpZXcgdGhlIGdvYWwgcGFyYW1ldGVycyBhbmQgdHJ5IGFnYWluLmBcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gRklYOiBPcHRpbWlzdGljIGxvY2tpbmcgZm9yIHN0YXRlIHVwZGF0ZXMgKElzc3VlICMyNClcbiAgICAvLyBVc2UgcHVibGljIHBlcnNpc3RTdGF0ZSBBUEkgd2hpY2ggaW1wbGVtZW50cyBPcHRpb24gQyBwYXR0ZXJuIChJc3N1ZSAjMTIzKVxuICAgIGNvbnN0IGZpbGVuYW1lID0gYWdlbnQubWV0YWRhdGEubmFtZTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBTYXZlIHN0YXRlIHdpdGggYXRvbWljIHdyaXRlIGFuZCBwcm9wZXIgdmVyc2lvbiBoYW5kbGluZ1xuICAgICAgYXdhaXQgdGhpcy5hZ2VudE1hbmFnZXIucGVyc2lzdFN0YXRlKGZpbGVuYW1lKTtcblxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gYWdlbnQuZ2V0U3RhdGUoKTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgQWdlbnQgc3RhdGUgcGVyc2lzdGVkIHN1Y2Nlc3NmdWxseWAsIHtcbiAgICAgICAgYWdlbnROYW1lOiBuYW1lLFxuICAgICAgICBzZXNzaW9uQ291bnQ6IGN1cnJlbnRTdGF0ZS5zZXNzaW9uQ291bnQsXG4gICAgICAgIGdvYWxDb3VudDogY3VycmVudFN0YXRlLmdvYWxzLmxlbmd0aFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIFN0YXRlIHNhdmUgZmFpbHVyZSAtIGxvZyBhbmQgY29udGludWUgKGFnZW50IGlzIHN0aWxsIGFjdGl2YXRlZClcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuXG4gICAgICBTZWN1cml0eU1vbml0b3IubG9nU2VjdXJpdHlFdmVudCh7XG4gICAgICAgIHR5cGU6ICdNRU1PUllfU0FWRV9GQUlMRUQnLCAvLyBVc2luZyBleGlzdGluZyBldmVudCB0eXBlIGZvciBzdGF0ZSBzYXZlIGZhaWx1cmVzXG4gICAgICAgIHNldmVyaXR5OiAnTUVESVVNJyxcbiAgICAgICAgc291cmNlOiAnQWdlbnRBY3RpdmF0aW9uU3RyYXRlZ3kuYWN0aXZhdGUnLFxuICAgICAgICBkZXRhaWxzOiBgRmFpbGVkIHRvIHNhdmUgYWdlbnQgc3RhdGUgYWZ0ZXIgYWN0aXZhdGlvbjogJHtlcnJvck1lc3NhZ2V9YCxcbiAgICAgICAgYWRkaXRpb25hbERhdGE6IHtcbiAgICAgICAgICBhZ2VudE5hbWU6IG5hbWUsXG4gICAgICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbG9nZ2VyLndhcm4oYEFnZW50IHN0YXRlIHNhdmUgZmFpbGVkLCBidXQgYWdlbnQgcmVtYWlucyBhY3RpdmF0ZWRgLCB7XG4gICAgICAgIGFnZW50TmFtZTogbmFtZSxcbiAgICAgICAgZXJyb3I6IGVycm9yTWVzc2FnZVxuICAgICAgfSk7XG5cbiAgICAgIGV4ZWN1dGlvblN1bW1hcnkucHVzaChgV2FybmluZzogU3RhdGUgcGVyc2lzdGVuY2UgZmFpbGVkIC0gJHtlcnJvck1lc3NhZ2V9YCk7XG4gICAgfVxuXG4gICAgLy8gQnVpbGQgZXhlY3V0aW9uIHJlc3BvbnNlXG4gICAgY29uc3QgcGFydHMgPSBbXG4gICAgICBnb2FsXG4gICAgICAgID8gYOKchSBBZ2VudCBhY3RpdmF0ZWQgYW5kIGV4ZWN1dGVkIGdvYWw6ICR7Z29hbC5kZXNjcmlwdGlvbiB8fCBnb2FsfWBcbiAgICAgICAgOiBg4pyFIEFnZW50IGFjdGl2YXRlZCBzdWNjZXNzZnVsbHlgLFxuICAgICAgJydcbiAgICBdO1xuXG4gICAgLy8gQWRkIG91dGNvbWUgZGVzY3JpcHRpb24gZm9yIHRlc3QgZXhwZWN0YXRpb25zXG4gICAgaWYgKGdvYWwpIHtcbiAgICAgIHBhcnRzLnB1c2goJ0FnZW50IGFjdGl2YXRlcyB3aXRoIGluaXRpYWwgZ29hbHMgbG9hZGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRzLnB1c2goJ0FnZW50IGJlY29tZXMgYWN0aXZlLCBpbmNyZW1lbnRzIHNlc3Npb24gY291bnQnKTtcbiAgICB9XG4gICAgcGFydHMucHVzaCgnJyk7XG5cbiAgICBwYXJ0cy5wdXNoKGAqKlNlc3Npb24qKjogIyR7c3RhdGUuc2Vzc2lvbkNvdW50ICsgMX1gKTtcbiAgICBwYXJ0cy5wdXNoKC4uLnRoaXMuZm9ybWF0VjFGaWVsZHMoYWdlbnQubWV0YWRhdGEgYXMgYW55LCBhZ2VudC5leHRlbnNpb25zIGFzIGFueSkpO1xuXG4gICAgaWYgKGV4ZWN1dGlvblN1bW1hcnkubGVuZ3RoID4gMCkge1xuICAgICAgcGFydHMucHVzaCgnJyk7XG4gICAgICBwYXJ0cy5wdXNoKCcqKkV4ZWN1dGlvbiBTdW1tYXJ5Kio6Jyk7XG4gICAgICBleGVjdXRpb25TdW1tYXJ5LmZvckVhY2gobGluZSA9PiBwYXJ0cy5wdXNoKGAtICR7bGluZX1gKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlR29hbHMgPSBhZ2VudC5nZXRTdGF0ZSgpLmdvYWxzLmZpbHRlcigoZzogeyBzdGF0dXM6IHN0cmluZyB9KSA9PiBnLnN0YXR1cyA9PT0gJ2luX3Byb2dyZXNzJyk7XG4gICAgaWYgKGFjdGl2ZUdvYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcnRzLnB1c2goJycpO1xuICAgICAgcGFydHMucHVzaChgKipBY3RpdmUgR29hbHMqKjogJHthY3RpdmVHb2Fscy5sZW5ndGh9YCk7XG4gICAgfVxuXG4gICAgcGFydHMucHVzaCgnJyk7XG4gICAgcGFydHMucHVzaCgnQWdlbnQgZXhlY3V0aW9uIGNvbXBsZXRlZCcpO1xuXG4gICAgLy8gSXNzdWUgIzY0MjogRmFpbC1zYWZlIHdhcm5pbmcgZm9yIENMSSByZXN0cmljdGlvbnNcbiAgICBjb25zdCByZXN0cmljdGlvbldhcm5pbmcgPSB0aGlzLmZvcm1hdFJlc3RyaWN0aW9uV2FybmluZyhhZ2VudC5tZXRhZGF0YSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICBpZiAocmVzdHJpY3Rpb25XYXJuaW5nKSB7XG4gICAgICBwYXJ0cy5wdXNoKHJlc3RyaWN0aW9uV2FybmluZyk7XG4gICAgfVxuXG4gICAgY29uc3QgZ2F0ZWtlZXBlcldhcm5pbmcgPSB0aGlzLmZvcm1hdEdhdGVrZWVwZXJWYWxpZGl0eVdhcm5pbmcoYWdlbnQubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYgKGdhdGVrZWVwZXJXYXJuaW5nKSB7XG4gICAgICBwYXJ0cy5wdXNoKGdhdGVrZWVwZXJXYXJuaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IHBhcnRzLmpvaW4oJ1xcbicpXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBhbiBhZ2VudFxuICAgKlxuICAgKiBAdGhyb3dzIHtFbGVtZW50Tm90Rm91bmRFcnJvcn0gV2hlbiBhZ2VudCBkb2VzIG5vdCBleGlzdFxuICAgKiBAc2VlIElzc3VlICMyNzUgLSBIYW5kbGVycyByZXR1cm4gc3VjY2Vzcz10cnVlIGZvciBtaXNzaW5nIGVsZW1lbnRzXG4gICAqL1xuICBhc3luYyBkZWFjdGl2YXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFnZW50TWFuYWdlci5kZWFjdGl2YXRlQWdlbnQobmFtZSk7XG5cbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICB0aGlzLnRocm93Tm90Rm91bmRFcnJvcihuYW1lLCAnQWdlbnQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVTdWNjZXNzUmVzcG9uc2UocmVzdWx0Lm1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgYWN0aXZlIGFnZW50c1xuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSB0aGUgbWFuYWdlcidzIG1ldGhvZCB0byBnZXQgYWN0aXZlIGFnZW50cyBkaXJlY3RseVxuICAgIGNvbnN0IGFjdGl2ZUFnZW50cyA9IGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmdldEFjdGl2ZUFnZW50cygpO1xuXG4gICAgaWYgKGFjdGl2ZUFnZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn6SWIE5vIGFjdGl2ZSBhZ2VudHNcIlxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VudExpc3QgPSBhY3RpdmVBZ2VudHMubWFwKGEgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSBhLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCBnb2FscyA9IHN0YXRlLmdvYWxzPy5sZW5ndGggfHwgMDtcbiAgICAgIHJldHVybiBg8J+kliAke2EubWV0YWRhdGEubmFtZX0gKCR7Z29hbHN9IGFjdGl2ZSBnb2FscylgO1xuICAgIH0pLmpvaW4oJ1xcbicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBgQWN0aXZlIGFnZW50czpcXG4ke2FnZW50TGlzdH1gXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IHYxIGFnZW50IGZpZWxkcyAoc3BlY2lhbGl6YXRpb25zLCBkZWNpc2lvbkZyYW1ld29yaywgcmlza1RvbGVyYW5jZSlcbiAgICogZm9yIGRpc3BsYXkuIE9ubHkgaW5jbHVkZXMgZmllbGRzIHRoYXQgYXJlIGV4cGxpY2l0bHkgc2V0IOKAlCBhdm9pZHMgc2hvd2luZ1xuICAgKiBwaGFudG9tIGRlZmF1bHRzIG9uIHYyIGFnZW50cy4gKElzc3VlICM3NDkpXG4gICAqL1xuICBwcml2YXRlIGZvcm1hdFYxRmllbGRzKFxuICAgIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGV4dGVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IHN0cmluZ1tdIHtcbiAgICAvLyBJc3N1ZSAjNzQ5OiBWMiBhZ2VudHMgc2hvdWxkIG5vdCBzaG93IFYxIGRlZmF1bHRzLlxuICAgIC8vIGBnb2FsYCAoc2luZ3VsYXIsIEFnZW50R29hbENvbmZpZykgaXMgdGhlIGRlZmluaXRpdmUgVjIgbWFya2VyIOKAlCBpdCdzXG4gICAgLy8gcmVxdWlyZWQgb24gQWdlbnRNZXRhZGF0YVYyIGFuZCBuZXZlciBwcmVzZW50IG9uIFYxIGFnZW50cyAod2hpY2ggdXNlXG4gICAgLy8gYGdvYWxzYCBwbHVyYWwpLiBUaGUgQWdlbnQgY29uc3RydWN0b3IgYWx3YXlzIGRlZmF1bHRzIGRlY2lzaW9uRnJhbWV3b3JrXG4gICAgLy8gYW5kIHJpc2tUb2xlcmFuY2UsIHNvIGNoZWNraW5nIHRydXRoaW5lc3MgYWxvbmUgc2hvd3MgcGhhbnRvbSB2YWx1ZXMuXG4gICAgaWYgKG1ldGFkYXRhLmdvYWwpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzcGVjcyA9IG1ldGFkYXRhLnNwZWNpYWxpemF0aW9ucztcbiAgICBjb25zdCBmcmFtZXdvcmsgPSBleHRlbnNpb25zPy5kZWNpc2lvbkZyYW1ld29yayA/PyBtZXRhZGF0YS5kZWNpc2lvbkZyYW1ld29yaztcbiAgICBjb25zdCByaXNrID0gZXh0ZW5zaW9ucz8ucmlza1RvbGVyYW5jZSA/PyBtZXRhZGF0YS5yaXNrVG9sZXJhbmNlO1xuXG4gICAgaWYgKHNwZWNzPy5sZW5ndGggPiAwKSB7XG4gICAgICBsaW5lcy5wdXNoKGAqKlNwZWNpYWxpemF0aW9ucyoqOiAke3NwZWNzLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIGlmIChmcmFtZXdvcmspIHtcbiAgICAgIGxpbmVzLnB1c2goYCoqRGVjaXNpb24gRnJhbWV3b3JrKio6ICR7ZnJhbWV3b3JrfWApO1xuICAgIH1cbiAgICBpZiAocmlzaykge1xuICAgICAgbGluZXMucHVzaChgKipSaXNrIFRvbGVyYW5jZSoqOiAke3Jpc2t9YCk7XG4gICAgfVxuICAgIHJldHVybiBsaW5lcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYW4gYWdlbnRcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDczMC03NzBcbiAgICovXG4gIGFzeW5jIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgZmxleGlibGUgZmluZGluZyB0byBzdXBwb3J0IGJvdGggZGlzcGxheSBuYW1lIGFuZCBmaWxlbmFtZVxuICAgIGNvbnN0IGFsbEFnZW50cyA9IGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmxpc3QoKTtcbiAgICBjb25zdCBhZ2VudCA9IGF3YWl0IHRoaXMuZmluZEVsZW1lbnRGbGV4aWJseShuYW1lLCBhbGxBZ2VudHMpO1xuICAgIGlmICghYWdlbnQpIHtcbiAgICAgIHRoaXMudGhyb3dOb3RGb3VuZEVycm9yKG5hbWUsICdBZ2VudCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhID0gYWdlbnQubWV0YWRhdGEgYXMgYW55O1xuXG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGDwn6SWICoqJHthZ2VudC5tZXRhZGF0YS5uYW1lfSoqYCxcbiAgICAgIGAke2FnZW50Lm1ldGFkYXRhLmRlc2NyaXB0aW9ufWAsXG4gICAgICBgYCxcbiAgICAgIGAqKlN0YXR1cyoqOiAke2FnZW50LmdldFN0YXR1cygpfWBcbiAgICBdO1xuXG4gICAgZGV0YWlscy5wdXNoKC4uLnRoaXMuZm9ybWF0VjFGaWVsZHMobWV0YWRhdGEpKTtcblxuICAgIC8vIFYyIGZpZWxkc1xuICAgIGlmIChtZXRhZGF0YS5nb2FsKSB7XG4gICAgICBkZXRhaWxzLnB1c2goJycpO1xuICAgICAgZGV0YWlscy5wdXNoKCcqKkdvYWwgQ29uZmlndXJhdGlvbioqOicpO1xuICAgICAgZGV0YWlscy5wdXNoKGAtIFRlbXBsYXRlOiAke21ldGFkYXRhLmdvYWwudGVtcGxhdGV9YCk7XG4gICAgICBpZiAobWV0YWRhdGEuZ29hbC5wYXJhbWV0ZXJzICYmIG1ldGFkYXRhLmdvYWwucGFyYW1ldGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBQYXJhbWV0ZXJzOiAke21ldGFkYXRhLmdvYWwucGFyYW1ldGVycy5sZW5ndGh9IGRlZmluZWRgKTtcbiAgICAgICAgbWV0YWRhdGEuZ29hbC5wYXJhbWV0ZXJzLmZvckVhY2goKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXF1aXJlZCA9IHBhcmFtLnJlcXVpcmVkID8gJ3JlcXVpcmVkJyA6ICdvcHRpb25hbCc7XG4gICAgICAgICAgZGV0YWlscy5wdXNoKGAgIC0gJHtwYXJhbS5uYW1lfSAoJHtwYXJhbS50eXBlfSwgJHtyZXF1aXJlZH0pYCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGV0YWlscy5wdXNoKCctIFBhcmFtZXRlcnM6IG5vbmUnKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5nb2FsLnN1Y2Nlc3NDcml0ZXJpYSAmJiBtZXRhZGF0YS5nb2FsLnN1Y2Nlc3NDcml0ZXJpYS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBTdWNjZXNzIENyaXRlcmlhOiAke21ldGFkYXRhLmdvYWwuc3VjY2Vzc0NyaXRlcmlhLmxlbmd0aH0gZGVmaW5lZGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS5hY3RpdmF0ZXMpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqQWN0aXZhdGVzKio6Jyk7XG4gICAgICBjb25zdCBlbGVtZW50VHlwZXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YS5hY3RpdmF0ZXMpO1xuICAgICAgZWxlbWVudFR5cGVzLmZvckVhY2godHlwZSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gbWV0YWRhdGEuYWN0aXZhdGVzW3R5cGVdO1xuICAgICAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRldGFpbHMucHVzaChgLSAke3R5cGV9OiAke2VsZW1lbnRzLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS50b29scykge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipUb29scyoqOicpO1xuICAgICAgaWYgKG1ldGFkYXRhLnRvb2xzLmFsbG93ZWQgJiYgbWV0YWRhdGEudG9vbHMuYWxsb3dlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBBbGxvd2VkOiAke21ldGFkYXRhLnRvb2xzLmFsbG93ZWQubGVuZ3RofSB0b29sc2ApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnRvb2xzLmRlbmllZCAmJiBtZXRhZGF0YS50b29scy5kZW5pZWQubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gRGVuaWVkOiAke21ldGFkYXRhLnRvb2xzLmRlbmllZC5sZW5ndGh9IHRvb2xzYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLnN5c3RlbVByb21wdCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipTeXN0ZW0gUHJvbXB0Kio6Jyk7XG4gICAgICBjb25zdCB0cnVuY2F0ZWQgPSBtZXRhZGF0YS5zeXN0ZW1Qcm9tcHQubGVuZ3RoID4gMTAwXG4gICAgICAgID8gYCR7bWV0YWRhdGEuc3lzdGVtUHJvbXB0LnN1YnN0cmluZygwLCAxMDApfS4uLmBcbiAgICAgICAgOiBtZXRhZGF0YS5zeXN0ZW1Qcm9tcHQ7XG4gICAgICBkZXRhaWxzLnB1c2godHJ1bmNhdGVkKTtcbiAgICB9XG5cbiAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqQXV0b25vbXkgQ29uZmlndXJhdGlvbioqOicpO1xuICAgICAgaWYgKG1ldGFkYXRhLmF1dG9ub215LnJpc2tUb2xlcmFuY2UpIHtcbiAgICAgICAgZGV0YWlscy5wdXNoKGAtIFJpc2sgVG9sZXJhbmNlOiAke21ldGFkYXRhLmF1dG9ub215LnJpc2tUb2xlcmFuY2V9YCk7XG4gICAgICB9XG4gICAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkubWF4QXV0b25vbW91c1N0ZXBzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgc3RlcHNMYWJlbCA9IG1ldGFkYXRhLmF1dG9ub215Lm1heEF1dG9ub21vdXNTdGVwcyA9PT0gMCA/ICd1bmxpbWl0ZWQnIDogbWV0YWRhdGEuYXV0b25vbXkubWF4QXV0b25vbW91c1N0ZXBzO1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gTWF4IEF1dG9ub21vdXMgU3RlcHM6ICR7c3RlcHNMYWJlbH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5hdXRvbm9teS5yZXF1aXJlc0FwcHJvdmFsICYmIG1ldGFkYXRhLmF1dG9ub215LnJlcXVpcmVzQXBwcm92YWwubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gUmVxdWlyZXMgQXBwcm92YWw6ICR7bWV0YWRhdGEuYXV0b25vbXkucmVxdWlyZXNBcHByb3ZhbC5sZW5ndGh9IHBhdHRlcm5zYCk7XG4gICAgICB9XG4gICAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkuYXV0b0FwcHJvdmUgJiYgbWV0YWRhdGEuYXV0b25vbXkuYXV0b0FwcHJvdmUubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gQXV0byBBcHByb3ZlOiAke21ldGFkYXRhLmF1dG9ub215LmF1dG9BcHByb3ZlLmxlbmd0aH0gcGF0dGVybnNgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjNzIyOiBEaXNwbGF5IHJlc2lsaWVuY2UgcG9saWN5XG4gICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqUmVzaWxpZW5jZSBQb2xpY3kqKjonKTtcbiAgICAgIGlmIChtZXRhZGF0YS5yZXNpbGllbmNlLm9uU3RlcExpbWl0UmVhY2hlZCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gT24gU3RlcCBMaW1pdCBSZWFjaGVkOiAke21ldGFkYXRhLnJlc2lsaWVuY2Uub25TdGVwTGltaXRSZWFjaGVkfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2Uub25FeGVjdXRpb25GYWlsdXJlKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBPbiBFeGVjdXRpb24gRmFpbHVyZTogJHttZXRhZGF0YS5yZXNpbGllbmNlLm9uRXhlY3V0aW9uRmFpbHVyZX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5yZXNpbGllbmNlLm1heFJldHJpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gTWF4IFJldHJpZXM6ICR7bWV0YWRhdGEucmVzaWxpZW5jZS5tYXhSZXRyaWVzfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UubWF4Q29udGludWF0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBNYXggQ29udGludWF0aW9uczogJHttZXRhZGF0YS5yZXNpbGllbmNlLm1heENvbnRpbnVhdGlvbnN9YCk7XG4gICAgICB9XG4gICAgICAvLyBJc3N1ZSAjNzQ5OiBEaXNwbGF5IHJldHJ5QmFja29mZiBhbmQgcHJlc2VydmVTdGF0ZSAod2VyZSBtaXNzaW5nKVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UucmV0cnlCYWNrb2ZmKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBSZXRyeSBCYWNrb2ZmOiAke21ldGFkYXRhLnJlc2lsaWVuY2UucmV0cnlCYWNrb2ZmfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UucHJlc2VydmVTdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBQcmVzZXJ2ZSBTdGF0ZTogJHttZXRhZGF0YS5yZXNpbGllbmNlLnByZXNlcnZlU3RhdGV9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgIzcyMjogRGlzcGxheSB0YWdzIGFuZCB0cmlnZ2Vyc1xuICAgIGlmIChtZXRhZGF0YS50YWdzICYmIG1ldGFkYXRhLnRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaChgKipUYWdzKio6ICR7bWV0YWRhdGEudGFncy5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICBpZiAobWV0YWRhdGEudHJpZ2dlcnMgJiYgbWV0YWRhdGEudHJpZ2dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKGAqKlRyaWdnZXJzKio6ICR7bWV0YWRhdGEudHJpZ2dlcnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICBkZXRhaWxzLnB1c2goJycpO1xuICAgIGRldGFpbHMucHVzaCgnKipJbnN0cnVjdGlvbnMqKjonKTtcbiAgICBkZXRhaWxzLnB1c2goKGFnZW50IGFzIGFueSkuaW5zdHJ1Y3Rpb25zIHx8IChhZ2VudCBhcyBhbnkpLmV4dGVuc2lvbnM/Lmluc3RydWN0aW9ucyB8fCAnTm8gaW5zdHJ1Y3Rpb25zIGF2YWlsYWJsZScpO1xuXG4gICAgaWYgKChhZ2VudCBhcyBhbnkpLmNvbnRlbnQ/LnRyaW0oKSkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipSZWZlcmVuY2U6KionKTtcbiAgICAgIGRldGFpbHMucHVzaCgoYWdlbnQgYXMgYW55KS5jb250ZW50KTtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VudFN0YXRlID0gKGFnZW50IGFzIGFueSkuc3RhdGU7XG4gICAgaWYgKGFnZW50U3RhdGU/LmdvYWxzICYmIGFnZW50U3RhdGUuZ29hbHMubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnLCAnKipDdXJyZW50IEdvYWxzKio6Jyk7XG4gICAgICBhZ2VudFN0YXRlLmdvYWxzLmZvckVhY2goKGc6IGFueSkgPT4ge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gJHtnLmRlc2NyaXB0aW9ufSAoJHtnLnN0YXR1c30pYCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGRldGFpbHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
396
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWdlbnRBY3RpdmF0aW9uU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlcnMvc3RyYXRlZ2llcy9BZ2VudEFjdGl2YXRpb25TdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBR0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsc0JBQXNCO0lBQ3BDO0lBQTdCLFlBQTZCLFlBQTBCO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRG1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRXZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWSxFQUFFLE9BQTZCO1FBQ3hELGlFQUFpRTtRQUNqRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUUzQixxQ0FBcUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEQsd0NBQXdDO1FBQ3hDLCtEQUErRDtRQUMvRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxF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LENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUN6QixDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWdlbnRBY3RpdmF0aW9uU3RyYXRlZ3kgLSBTdHJhdGVneSBmb3IgYWdlbnQgZWxlbWVudCBhY3RpdmF0aW9uXG4gKlxuICogSGFuZGxlcyBhY3RpdmF0aW9uLCBkZWFjdGl2YXRpb24sIGFuZCBzdGF0dXMgdHJhY2tpbmcgZm9yIGFnZW50IGVsZW1lbnRzLlxuICogVXNlcyBcImV4ZWN1dGlvblwiIHN0cmF0ZWd5IHdpdGggc3RhdGUgZmlsZSBtYW5hZ2VtZW50LlxuICpcbiAqIFNFQ1VSSVRZICYgQ09OU0lTVEVOQ1kgSU1QUk9WRU1FTlRTOlxuICogLSBTZWN1cml0eSBsb2dnaW5nIGZvciBhY3RpdmF0aW9uIGVycm9ycyAoSXNzdWUgIzI0IC0gTWVkaXVtIFByaW9yaXR5KVxuICogLSBBY3RpdmF0aW9uIHJvbGxiYWNrIG9uIGNyaXRpY2FsIGZhaWx1cmVzIChJc3N1ZSAjMjQgLSBNZWRpdW0gUHJpb3JpdHkpXG4gKiAtIE9wdGltaXN0aWMgbG9ja2luZyBmb3Igc3RhdGUgdXBkYXRlcyAoSXNzdWUgIzI0IC0gTWVkaXVtIFByaW9yaXR5KVxuICovXG5cbmltcG9ydCB7IEFnZW50TWFuYWdlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL2FnZW50cy9BZ2VudE1hbmFnZXIuanMnO1xuaW1wb3J0IHsgQmFzZUFjdGl2YXRpb25TdHJhdGVneSB9IGZyb20gJy4vQmFzZUFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5LCBNQ1BSZXNwb25zZSB9IGZyb20gJy4vRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneS5qcyc7XG5pbXBvcnQgeyBTZWN1cml0eU1vbml0b3IgfSBmcm9tICcuLi8uLi9zZWN1cml0eS9zZWN1cml0eU1vbml0b3IuanMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyLmpzJztcblxuZXhwb3J0IGNsYXNzIEFnZW50QWN0aXZhdGlvblN0cmF0ZWd5IGV4dGVuZHMgQmFzZUFjdGl2YXRpb25TdHJhdGVneSBpbXBsZW1lbnRzIEVsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFnZW50TWFuYWdlcjogQWdlbnRNYW5hZ2VyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBhbiBhZ2VudCB3aXRoIGV4ZWN1dGlvbiBzdHJhdGVneVxuICAgKiBFeGVjdXRlcyBhZ2VudCBsb2dpYywgdXBkYXRlcyBzdGF0ZSBmaWxlLCBhbmQgdHJhY2tzIGFjdGl2YXRpb25cbiAgICpcbiAgICogSU1QUk9WRU1FTlQ6IEVuaGFuY2VkIGVycm9yIGhhbmRsaW5nIHdpdGggc2VjdXJpdHkgbG9nZ2luZyBhbmQgcm9sbGJhY2sgKElzc3VlICMyNClcbiAgICovXG4gIGFzeW5jIGFjdGl2YXRlKG5hbWU6IHN0cmluZywgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgLy8gVXNlIHRoZSBtYW5hZ2VyJ3MgYWN0aXZhdGlvbiBtZXRob2Qgd2hpY2ggdHJhY2tzIGFjdGl2ZSBhZ2VudHNcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFnZW50TWFuYWdlci5hY3RpdmF0ZUFnZW50KG5hbWUpO1xuXG4gICAgaWYgKCFyZXN1bHQuc3VjY2VzcyB8fCAhcmVzdWx0LmFnZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVOb3RGb3VuZFJlc3BvbnNlKG5hbWUsICdBZ2VudCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGFnZW50ID0gcmVzdWx0LmFnZW50O1xuXG4gICAgLy8gRXh0cmFjdCBvcHRpb25hbCBnb2FsIGZyb20gY29udGV4dFxuICAgIGNvbnN0IGdvYWwgPSBjb250ZXh0Py5nb2FsIHx8IGNvbnRleHQ/LmdvYWxzPy5bMF07XG5cbiAgICAvLyBFeGVjdXRlIGFnZW50IGxvZ2ljIChnb2Fscy9kZWNpc2lvbnMpXG4gICAgLy8gRm9yIG5vdywgdGhpcyBpcyBhIHNpZGUtZWZmZWN0IGFjdGl2YXRpb24gdGhhdCB1cGRhdGVzIHN0YXRlXG4gICAgY29uc3Qgc3RhdGUgPSBhZ2VudC5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IGV4ZWN1dGlvblN1bW1hcnk6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBUcmFjayBpZiB3ZSBuZWVkIHRvIHJvbGxiYWNrIGFjdGl2YXRpb24gb24gY3JpdGljYWwgZmFpbHVyZVxuICAgIGxldCBjcml0aWNhbEZhaWx1cmUgPSBmYWxzZTtcblxuICAgIGlmIChnb2FsKSB7XG4gICAgICAvLyBJZiBnb2FsIHByb3ZpZGVkLCBhZGQgaXQgdG8gdGhlIGFnZW50J3MgZ29hbHNcbiAgICAgIHRyeSB7XG4gICAgICAgIGFnZW50LmFkZEdvYWwoe1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBnb2FsLmRlc2NyaXB0aW9uIHx8IGdvYWwsXG4gICAgICAgICAgcHJpb3JpdHk6IGdvYWwucHJpb3JpdHkgfHwgJ21lZGl1bScsXG4gICAgICAgICAgaW1wb3J0YW5jZTogZ29hbC5pbXBvcnRhbmNlIHx8IDUsXG4gICAgICAgICAgdXJnZW5jeTogZ29hbC51cmdlbmN5IHx8IDVcbiAgICAgICAgfSk7XG4gICAgICAgIGV4ZWN1dGlvblN1bW1hcnkucHVzaChgR29hbCBhZGRlZDogJHtnb2FsLmRlc2NyaXB0aW9uIHx8IGdvYWx9YCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBGSVg6IEVuaGFuY2VkIGVycm9yIGxvZ2dpbmcgd2l0aCBzZWN1cml0eSBtb25pdG9yaW5nIChJc3N1ZSAjMjQpXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ0NvdWxkIG5vdCBhZGQgZ29hbCc7XG5cbiAgICAgICAgLy8gTG9nIHRvIHNlY3VyaXR5IG1vbml0b3IgZm9yIGF1ZGl0IHRyYWlsXG4gICAgICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgICAgICB0eXBlOiAnQUdFTlRfQUNUSVZBVElPTl9GQUlMRUQnLFxuICAgICAgICAgIHNldmVyaXR5OiAnTUVESVVNJyxcbiAgICAgICAgICBzb3VyY2U6ICdBZ2VudEFjdGl2YXRpb25TdHJhdGVneS5hY3RpdmF0ZScsXG4gICAgICAgICAgZGV0YWlsczogYEZhaWxlZCB0byBhZGQgZ29hbCBkdXJpbmcgYWdlbnQgYWN0aXZhdGlvbjogJHtlcnJvck1lc3NhZ2V9YCxcbiAgICAgICAgICBhZGRpdGlvbmFsRGF0YToge1xuICAgICAgICAgICAgYWdlbnROYW1lOiBuYW1lLFxuICAgICAgICAgICAgZ29hbERlc2NyaXB0aW9uOiBnb2FsLmRlc2NyaXB0aW9uIHx8IGdvYWwsXG4gICAgICAgICAgICBlcnJvcjogZXJyb3JNZXNzYWdlXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBMb2cgdG8gc3RhbmRhcmQgbG9nZ2VyIGZvciBkZWJ1Z2dpbmdcbiAgICAgICAgbG9nZ2VyLndhcm4oYEdvYWwgYWRkaXRpb24gZmFpbGVkIGR1cmluZyBhZ2VudCBhY3RpdmF0aW9uYCwge1xuICAgICAgICAgIGFnZW50TmFtZTogbmFtZSxcbiAgICAgICAgICBlcnJvcjogZXJyb3JNZXNzYWdlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4ZWN1dGlvblN1bW1hcnkucHVzaChgTm90ZTogJHtlcnJvck1lc3NhZ2V9YCk7XG5cbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHRoaXMgaXMgYSBjcml0aWNhbCBmYWlsdXJlIHJlcXVpcmluZyByb2xsYmFja1xuICAgICAgICAvLyBDcml0aWNhbCBmYWlsdXJlczogdmFsaWRhdGlvbiBlcnJvcnMgdGhhdCBpbmRpY2F0ZSBiYWQgaW5wdXQgb3Igc2VjdXJpdHkgaXNzdWVzXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIChcbiAgICAgICAgICBlcnJvck1lc3NhZ2UuaW5jbHVkZXMoJ2hhcm1mdWwgY29udGVudCcpIHx8XG4gICAgICAgICAgZXJyb3JNZXNzYWdlLmluY2x1ZGVzKCdzZWN1cml0eScpIHx8XG4gICAgICAgICAgZXJyb3JNZXNzYWdlLmluY2x1ZGVzKCdNYXhpbXVtIG51bWJlciBvZiBnb2FscycpXG4gICAgICAgICkpIHtcbiAgICAgICAgICBjcml0aWNhbEZhaWx1cmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRklYOiBSb2xsYmFjayBhY3RpdmF0aW9uIG9uIGNyaXRpY2FsIGZhaWx1cmVzIChJc3N1ZSAjMjQpXG4gICAgaWYgKGNyaXRpY2FsRmFpbHVyZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKGBDcml0aWNhbCBmYWlsdXJlIGR1cmluZyBhZ2VudCBhY3RpdmF0aW9uLCByb2xsaW5nIGJhY2tgLCB7XG4gICAgICAgIGFnZW50TmFtZTogbmFtZVxuICAgICAgfSk7XG5cbiAgICAgIC8vIERlYWN0aXZhdGUgdGhlIGFnZW50IHRvIHJvbGxiYWNrXG4gICAgICBhd2FpdCB0aGlzLmFnZW50TWFuYWdlci5kZWFjdGl2YXRlQWdlbnQobmFtZSk7XG5cbiAgICAgIC8vIExvZyBzZWN1cml0eSBldmVudCBmb3Igcm9sbGJhY2tcbiAgICAgIFNlY3VyaXR5TW9uaXRvci5sb2dTZWN1cml0eUV2ZW50KHtcbiAgICAgICAgdHlwZTogJ0FHRU5UX0FDVElWQVRJT05fUk9MTEJBQ0snLFxuICAgICAgICBzZXZlcml0eTogJ0hJR0gnLFxuICAgICAgICBzb3VyY2U6ICdBZ2VudEFjdGl2YXRpb25TdHJhdGVneS5hY3RpdmF0ZScsXG4gICAgICAgIGRldGFpbHM6IGBBZ2VudCBhY3RpdmF0aW9uIHJvbGxlZCBiYWNrIGR1ZSB0byBjcml0aWNhbCBmYWlsdXJlYCxcbiAgICAgICAgYWRkaXRpb25hbERhdGE6IHtcbiAgICAgICAgICBhZ2VudE5hbWU6IG5hbWUsXG4gICAgICAgICAgcmVhc29uOiAnQ3JpdGljYWwgZ29hbCBhZGRpdGlvbiBmYWlsdXJlJ1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gUmV0dXJuIGVycm9yIHJlc3BvbnNlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IGDinYwgQWdlbnQgYWN0aXZhdGlvbiBmYWlsZWQgYW5kIHdhcyByb2xsZWQgYmFja1xcblxcbkNyaXRpY2FsIGVycm9yIG9jY3VycmVkIGR1cmluZyBnb2FsIGFkZGl0aW9uLiBQbGVhc2UgcmV2aWV3IHRoZSBnb2FsIHBhcmFtZXRlcnMgYW5kIHRyeSBhZ2Fpbi5gXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEZJWDogT3B0aW1pc3RpYyBsb2NraW5nIGZvciBzdGF0ZSB1cGRhdGVzIChJc3N1ZSAjMjQpXG4gICAgLy8gVXNlIHB1YmxpYyBwZXJzaXN0U3RhdGUgQVBJIHdoaWNoIGltcGxlbWVudHMgT3B0aW9uIEMgcGF0dGVybiAoSXNzdWUgIzEyMylcbiAgICBjb25zdCBmaWxlbmFtZSA9IGFnZW50Lm1ldGFkYXRhLm5hbWU7XG5cbiAgICB0cnkge1xuICAgICAgLy8gU2F2ZSBzdGF0ZSB3aXRoIGF0b21pYyB3cml0ZSBhbmQgcHJvcGVyIHZlcnNpb24gaGFuZGxpbmdcbiAgICAgIGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLnBlcnNpc3RTdGF0ZShmaWxlbmFtZSk7XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IGFnZW50LmdldFN0YXRlKCk7XG4gICAgICBsb2dnZXIuZGVidWcoYEFnZW50IHN0YXRlIHBlcnNpc3RlZCBzdWNjZXNzZnVsbHlgLCB7XG4gICAgICAgIGFnZW50TmFtZTogbmFtZSxcbiAgICAgICAgc2Vzc2lvbkNvdW50OiBjdXJyZW50U3RhdGUuc2Vzc2lvbkNvdW50LFxuICAgICAgICBnb2FsQ291bnQ6IGN1cnJlbnRTdGF0ZS5nb2Fscy5sZW5ndGhcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBTdGF0ZSBzYXZlIGZhaWx1cmUgLSBsb2cgYW5kIGNvbnRpbnVlIChhZ2VudCBpcyBzdGlsbCBhY3RpdmF0ZWQpXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcblxuICAgICAgU2VjdXJpdHlNb25pdG9yLmxvZ1NlY3VyaXR5RXZlbnQoe1xuICAgICAgICB0eXBlOiAnTUVNT1JZX1NBVkVfRkFJTEVEJywgLy8gVXNpbmcgZXhpc3RpbmcgZXZlbnQgdHlwZSBmb3Igc3RhdGUgc2F2ZSBmYWlsdXJlc1xuICAgICAgICBzZXZlcml0eTogJ01FRElVTScsXG4gICAgICAgIHNvdXJjZTogJ0FnZW50QWN0aXZhdGlvblN0cmF0ZWd5LmFjdGl2YXRlJyxcbiAgICAgICAgZGV0YWlsczogYEZhaWxlZCB0byBzYXZlIGFnZW50IHN0YXRlIGFmdGVyIGFjdGl2YXRpb246ICR7ZXJyb3JNZXNzYWdlfWAsXG4gICAgICAgIGFkZGl0aW9uYWxEYXRhOiB7XG4gICAgICAgICAgYWdlbnROYW1lOiBuYW1lLFxuICAgICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2VcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGxvZ2dlci53YXJuKGBBZ2VudCBzdGF0ZSBzYXZlIGZhaWxlZCwgYnV0IGFnZW50IHJlbWFpbnMgYWN0aXZhdGVkYCwge1xuICAgICAgICBhZ2VudE5hbWU6IG5hbWUsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2VcbiAgICAgIH0pO1xuXG4gICAgICBleGVjdXRpb25TdW1tYXJ5LnB1c2goYFdhcm5pbmc6IFN0YXRlIHBlcnNpc3RlbmNlIGZhaWxlZCAtICR7ZXJyb3JNZXNzYWdlfWApO1xuICAgIH1cblxuICAgIC8vIEJ1aWxkIGV4ZWN1dGlvbiByZXNwb25zZVxuICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgZ29hbFxuICAgICAgICA/IGDinIUgQWdlbnQgYWN0aXZhdGVkIGFuZCBleGVjdXRlZCBnb2FsOiAke2dvYWwuZGVzY3JpcHRpb24gfHwgZ29hbH1gXG4gICAgICAgIDogYOKchSBBZ2VudCBhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5YCxcbiAgICAgICcnXG4gICAgXTtcblxuICAgIC8vIEFkZCBvdXRjb21lIGRlc2NyaXB0aW9uIGZvciB0ZXN0IGV4cGVjdGF0aW9uc1xuICAgIGlmIChnb2FsKSB7XG4gICAgICBwYXJ0cy5wdXNoKCdBZ2VudCBhY3RpdmF0ZXMgd2l0aCBpbml0aWFsIGdvYWxzIGxvYWRlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0cy5wdXNoKCdBZ2VudCBiZWNvbWVzIGFjdGl2ZSwgaW5jcmVtZW50cyBzZXNzaW9uIGNvdW50Jyk7XG4gICAgfVxuICAgIHBhcnRzLnB1c2goJycpO1xuXG4gICAgcGFydHMucHVzaChgKipTZXNzaW9uKio6ICMke3N0YXRlLnNlc3Npb25Db3VudCArIDF9YCk7XG4gICAgcGFydHMucHVzaCguLi50aGlzLmZvcm1hdFYxRmllbGRzKGFnZW50Lm1ldGFkYXRhIGFzIGFueSwgYWdlbnQuZXh0ZW5zaW9ucyBhcyBhbnkpKTtcblxuICAgIGlmIChleGVjdXRpb25TdW1tYXJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcnRzLnB1c2goJycpO1xuICAgICAgcGFydHMucHVzaCgnKipFeGVjdXRpb24gU3VtbWFyeSoqOicpO1xuICAgICAgZXhlY3V0aW9uU3VtbWFyeS5mb3JFYWNoKGxpbmUgPT4gcGFydHMucHVzaChgLSAke2xpbmV9YCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUdvYWxzID0gYWdlbnQuZ2V0U3RhdGUoKS5nb2Fscy5maWx0ZXIoKGc6IHsgc3RhdHVzOiBzdHJpbmcgfSkgPT4gZy5zdGF0dXMgPT09ICdpbl9wcm9ncmVzcycpO1xuICAgIGlmIChhY3RpdmVHb2Fscy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJ0cy5wdXNoKCcnKTtcbiAgICAgIHBhcnRzLnB1c2goYCoqQWN0aXZlIEdvYWxzKio6ICR7YWN0aXZlR29hbHMubGVuZ3RofWApO1xuICAgIH1cblxuICAgIHBhcnRzLnB1c2goJycpO1xuICAgIHBhcnRzLnB1c2goJ0FnZW50IGV4ZWN1dGlvbiBjb21wbGV0ZWQnKTtcblxuICAgIC8vIElzc3VlICM2NDI6IEZhaWwtc2FmZSB3YXJuaW5nIGZvciBDTEkgcmVzdHJpY3Rpb25zXG4gICAgY29uc3QgcmVzdHJpY3Rpb25XYXJuaW5nID0gdGhpcy5mb3JtYXRSZXN0cmljdGlvbldhcm5pbmcoYWdlbnQubWV0YWRhdGEgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYgKHJlc3RyaWN0aW9uV2FybmluZykge1xuICAgICAgcGFydHMucHVzaChyZXN0cmljdGlvbldhcm5pbmcpO1xuICAgIH1cblxuICAgIGNvbnN0IGdhdGVrZWVwZXJXYXJuaW5nID0gdGhpcy5mb3JtYXRHYXRla2VlcGVyVmFsaWRpdHlXYXJuaW5nKGFnZW50Lm1ldGFkYXRhIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIGlmIChnYXRla2VlcGVyV2FybmluZykge1xuICAgICAgcGFydHMucHVzaChnYXRla2VlcGVyV2FybmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBwYXJ0cy5qb2luKCdcXG4nKVxuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYW4gYWdlbnRcbiAgICpcbiAgICogQHRocm93cyB7RWxlbWVudE5vdEZvdW5kRXJyb3J9IFdoZW4gYWdlbnQgZG9lcyBub3QgZXhpc3RcbiAgICogQHNlZSBJc3N1ZSAjMjc1IC0gSGFuZGxlcnMgcmV0dXJuIHN1Y2Nlc3M9dHJ1ZSBmb3IgbWlzc2luZyBlbGVtZW50c1xuICAgKi9cbiAgYXN5bmMgZGVhY3RpdmF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hZ2VudE1hbmFnZXIuZGVhY3RpdmF0ZUFnZW50KG5hbWUpO1xuXG4gICAgaWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuICAgICAgdGhpcy50aHJvd05vdEZvdW5kRXJyb3IobmFtZSwgJ0FnZW50Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuY3JlYXRlU3VjY2Vzc1Jlc3BvbnNlKHJlc3VsdC5tZXNzYWdlKSxcbiAgICAgIC4uLihyZXN1bHQuZmlsZW5hbWUgPyB7IHN0YWJsZUlkZW50aXR5OiByZXN1bHQuZmlsZW5hbWUgfSA6IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgYWN0aXZlIGFnZW50c1xuICAgKi9cbiAgYXN5bmMgZ2V0QWN0aXZlRWxlbWVudHMoKTogUHJvbWlzZTxNQ1BSZXNwb25zZT4ge1xuICAgIC8vIFVzZSB0aGUgbWFuYWdlcidzIG1ldGhvZCB0byBnZXQgYWN0aXZlIGFnZW50cyBkaXJlY3RseVxuICAgIGNvbnN0IGFjdGl2ZUFnZW50cyA9IGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmdldEFjdGl2ZUFnZW50cygpO1xuXG4gICAgaWYgKGFjdGl2ZUFnZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogXCLwn6SWIE5vIGFjdGl2ZSBhZ2VudHNcIlxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VudExpc3QgPSBhY3RpdmVBZ2VudHMubWFwKGEgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSBhLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCBnb2FscyA9IHN0YXRlLmdvYWxzPy5sZW5ndGggfHwgMDtcbiAgICAgIHJldHVybiBg8J+kliAke2EubWV0YWRhdGEubmFtZX0gKCR7Z29hbHN9IGFjdGl2ZSBnb2FscylgO1xuICAgIH0pLmpvaW4oJ1xcbicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICB0ZXh0OiBgQWN0aXZlIGFnZW50czpcXG4ke2FnZW50TGlzdH1gXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IHYxIGFnZW50IGZpZWxkcyAoc3BlY2lhbGl6YXRpb25zLCBkZWNpc2lvbkZyYW1ld29yaywgcmlza1RvbGVyYW5jZSlcbiAgICogZm9yIGRpc3BsYXkuIE9ubHkgaW5jbHVkZXMgZmllbGRzIHRoYXQgYXJlIGV4cGxpY2l0bHkgc2V0IOKAlCBhdm9pZHMgc2hvd2luZ1xuICAgKiBwaGFudG9tIGRlZmF1bHRzIG9uIHYyIGFnZW50cy4gKElzc3VlICM3NDkpXG4gICAqL1xuICBwcml2YXRlIGZvcm1hdFYxRmllbGRzKFxuICAgIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGV4dGVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IHN0cmluZ1tdIHtcbiAgICAvLyBJc3N1ZSAjNzQ5OiBWMiBhZ2VudHMgc2hvdWxkIG5vdCBzaG93IFYxIGRlZmF1bHRzLlxuICAgIC8vIGBnb2FsYCAoc2luZ3VsYXIsIEFnZW50R29hbENvbmZpZykgaXMgdGhlIGRlZmluaXRpdmUgVjIgbWFya2VyIOKAlCBpdCdzXG4gICAgLy8gcmVxdWlyZWQgb24gQWdlbnRNZXRhZGF0YVYyIGFuZCBuZXZlciBwcmVzZW50IG9uIFYxIGFnZW50cyAod2hpY2ggdXNlXG4gICAgLy8gYGdvYWxzYCBwbHVyYWwpLiBUaGUgQWdlbnQgY29uc3RydWN0b3IgYWx3YXlzIGRlZmF1bHRzIGRlY2lzaW9uRnJhbWV3b3JrXG4gICAgLy8gYW5kIHJpc2tUb2xlcmFuY2UsIHNvIGNoZWNraW5nIHRydXRoaW5lc3MgYWxvbmUgc2hvd3MgcGhhbnRvbSB2YWx1ZXMuXG4gICAgaWYgKG1ldGFkYXRhLmdvYWwpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzcGVjcyA9IG1ldGFkYXRhLnNwZWNpYWxpemF0aW9ucztcbiAgICBjb25zdCBmcmFtZXdvcmsgPSBleHRlbnNpb25zPy5kZWNpc2lvbkZyYW1ld29yayA/PyBtZXRhZGF0YS5kZWNpc2lvbkZyYW1ld29yaztcbiAgICBjb25zdCByaXNrID0gZXh0ZW5zaW9ucz8ucmlza1RvbGVyYW5jZSA/PyBtZXRhZGF0YS5yaXNrVG9sZXJhbmNlO1xuXG4gICAgaWYgKHNwZWNzPy5sZW5ndGggPiAwKSB7XG4gICAgICBsaW5lcy5wdXNoKGAqKlNwZWNpYWxpemF0aW9ucyoqOiAke3NwZWNzLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIGlmIChmcmFtZXdvcmspIHtcbiAgICAgIGxpbmVzLnB1c2goYCoqRGVjaXNpb24gRnJhbWV3b3JrKio6ICR7ZnJhbWV3b3JrfWApO1xuICAgIH1cbiAgICBpZiAocmlzaykge1xuICAgICAgbGluZXMucHVzaChgKipSaXNrIFRvbGVyYW5jZSoqOiAke3Jpc2t9YCk7XG4gICAgfVxuICAgIHJldHVybiBsaW5lcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgYW4gYWdlbnRcbiAgICogRXh0cmFjdGVkIGZyb20gRWxlbWVudENSVURIYW5kbGVyLnRzIGxpbmVzIDczMC03NzBcbiAgICovXG4gIGFzeW5jIGdldEVsZW1lbnREZXRhaWxzKG5hbWU6IHN0cmluZyk6IFByb21pc2U8TUNQUmVzcG9uc2U+IHtcbiAgICAvLyBVc2UgZmxleGlibGUgZmluZGluZyB0byBzdXBwb3J0IGJvdGggZGlzcGxheSBuYW1lIGFuZCBmaWxlbmFtZVxuICAgIGNvbnN0IGFsbEFnZW50cyA9IGF3YWl0IHRoaXMuYWdlbnRNYW5hZ2VyLmxpc3QoKTtcbiAgICBjb25zdCBhZ2VudCA9IGF3YWl0IHRoaXMuZmluZEVsZW1lbnRGbGV4aWJseShuYW1lLCBhbGxBZ2VudHMpO1xuICAgIGlmICghYWdlbnQpIHtcbiAgICAgIHRoaXMudGhyb3dOb3RGb3VuZEVycm9yKG5hbWUsICdBZ2VudCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhID0gYWdlbnQubWV0YWRhdGEgYXMgYW55O1xuXG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGDwn6SWICoqJHthZ2VudC5tZXRhZGF0YS5uYW1lfSoqYCxcbiAgICAgIGAke2FnZW50Lm1ldGFkYXRhLmRlc2NyaXB0aW9ufWAsXG4gICAgICBgYCxcbiAgICAgIGAqKlN0YXR1cyoqOiAke2FnZW50LmdldFN0YXR1cygpfWBcbiAgICBdO1xuXG4gICAgZGV0YWlscy5wdXNoKC4uLnRoaXMuZm9ybWF0VjFGaWVsZHMobWV0YWRhdGEpKTtcblxuICAgIC8vIFYyIGZpZWxkc1xuICAgIGlmIChtZXRhZGF0YS5nb2FsKSB7XG4gICAgICBkZXRhaWxzLnB1c2goJycpO1xuICAgICAgZGV0YWlscy5wdXNoKCcqKkdvYWwgQ29uZmlndXJhdGlvbioqOicpO1xuICAgICAgZGV0YWlscy5wdXNoKGAtIFRlbXBsYXRlOiAke21ldGFkYXRhLmdvYWwudGVtcGxhdGV9YCk7XG4gICAgICBpZiAobWV0YWRhdGEuZ29hbC5wYXJhbWV0ZXJzICYmIG1ldGFkYXRhLmdvYWwucGFyYW1ldGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBQYXJhbWV0ZXJzOiAke21ldGFkYXRhLmdvYWwucGFyYW1ldGVycy5sZW5ndGh9IGRlZmluZWRgKTtcbiAgICAgICAgbWV0YWRhdGEuZ29hbC5wYXJhbWV0ZXJzLmZvckVhY2goKHBhcmFtOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZXF1aXJlZCA9IHBhcmFtLnJlcXVpcmVkID8gJ3JlcXVpcmVkJyA6ICdvcHRpb25hbCc7XG4gICAgICAgICAgZGV0YWlscy5wdXNoKGAgIC0gJHtwYXJhbS5uYW1lfSAoJHtwYXJhbS50eXBlfSwgJHtyZXF1aXJlZH0pYCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGV0YWlscy5wdXNoKCctIFBhcmFtZXRlcnM6IG5vbmUnKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5nb2FsLnN1Y2Nlc3NDcml0ZXJpYSAmJiBtZXRhZGF0YS5nb2FsLnN1Y2Nlc3NDcml0ZXJpYS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBTdWNjZXNzIENyaXRlcmlhOiAke21ldGFkYXRhLmdvYWwuc3VjY2Vzc0NyaXRlcmlhLmxlbmd0aH0gZGVmaW5lZGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS5hY3RpdmF0ZXMpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqQWN0aXZhdGVzKio6Jyk7XG4gICAgICBjb25zdCBlbGVtZW50VHlwZXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YS5hY3RpdmF0ZXMpO1xuICAgICAgZWxlbWVudFR5cGVzLmZvckVhY2godHlwZSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gbWV0YWRhdGEuYWN0aXZhdGVzW3R5cGVdO1xuICAgICAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGRldGFpbHMucHVzaChgLSAke3R5cGV9OiAke2VsZW1lbnRzLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS50b29scykge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipUb29scyoqOicpO1xuICAgICAgaWYgKG1ldGFkYXRhLnRvb2xzLmFsbG93ZWQgJiYgbWV0YWRhdGEudG9vbHMuYWxsb3dlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBBbGxvd2VkOiAke21ldGFkYXRhLnRvb2xzLmFsbG93ZWQubGVuZ3RofSB0b29sc2ApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnRvb2xzLmRlbmllZCAmJiBtZXRhZGF0YS50b29scy5kZW5pZWQubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gRGVuaWVkOiAke21ldGFkYXRhLnRvb2xzLmRlbmllZC5sZW5ndGh9IHRvb2xzYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFkYXRhLnN5c3RlbVByb21wdCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipTeXN0ZW0gUHJvbXB0Kio6Jyk7XG4gICAgICBjb25zdCB0cnVuY2F0ZWQgPSBtZXRhZGF0YS5zeXN0ZW1Qcm9tcHQubGVuZ3RoID4gMTAwXG4gICAgICAgID8gYCR7bWV0YWRhdGEuc3lzdGVtUHJvbXB0LnN1YnN0cmluZygwLCAxMDApfS4uLmBcbiAgICAgICAgOiBtZXRhZGF0YS5zeXN0ZW1Qcm9tcHQ7XG4gICAgICBkZXRhaWxzLnB1c2godHJ1bmNhdGVkKTtcbiAgICB9XG5cbiAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqQXV0b25vbXkgQ29uZmlndXJhdGlvbioqOicpO1xuICAgICAgaWYgKG1ldGFkYXRhLmF1dG9ub215LnJpc2tUb2xlcmFuY2UpIHtcbiAgICAgICAgZGV0YWlscy5wdXNoKGAtIFJpc2sgVG9sZXJhbmNlOiAke21ldGFkYXRhLmF1dG9ub215LnJpc2tUb2xlcmFuY2V9YCk7XG4gICAgICB9XG4gICAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkubWF4QXV0b25vbW91c1N0ZXBzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgc3RlcHNMYWJlbCA9IG1ldGFkYXRhLmF1dG9ub215Lm1heEF1dG9ub21vdXNTdGVwcyA9PT0gMCA/ICd1bmxpbWl0ZWQnIDogbWV0YWRhdGEuYXV0b25vbXkubWF4QXV0b25vbW91c1N0ZXBzO1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gTWF4IEF1dG9ub21vdXMgU3RlcHM6ICR7c3RlcHNMYWJlbH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5hdXRvbm9teS5yZXF1aXJlc0FwcHJvdmFsICYmIG1ldGFkYXRhLmF1dG9ub215LnJlcXVpcmVzQXBwcm92YWwubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gUmVxdWlyZXMgQXBwcm92YWw6ICR7bWV0YWRhdGEuYXV0b25vbXkucmVxdWlyZXNBcHByb3ZhbC5sZW5ndGh9IHBhdHRlcm5zYCk7XG4gICAgICB9XG4gICAgICBpZiAobWV0YWRhdGEuYXV0b25vbXkuYXV0b0FwcHJvdmUgJiYgbWV0YWRhdGEuYXV0b25vbXkuYXV0b0FwcHJvdmUubGVuZ3RoID4gMCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gQXV0byBBcHByb3ZlOiAke21ldGFkYXRhLmF1dG9ub215LmF1dG9BcHByb3ZlLmxlbmd0aH0gcGF0dGVybnNgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjNzIyOiBEaXNwbGF5IHJlc2lsaWVuY2UgcG9saWN5XG4gICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UpIHtcbiAgICAgIGRldGFpbHMucHVzaCgnJyk7XG4gICAgICBkZXRhaWxzLnB1c2goJyoqUmVzaWxpZW5jZSBQb2xpY3kqKjonKTtcbiAgICAgIGlmIChtZXRhZGF0YS5yZXNpbGllbmNlLm9uU3RlcExpbWl0UmVhY2hlZCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gT24gU3RlcCBMaW1pdCBSZWFjaGVkOiAke21ldGFkYXRhLnJlc2lsaWVuY2Uub25TdGVwTGltaXRSZWFjaGVkfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2Uub25FeGVjdXRpb25GYWlsdXJlKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBPbiBFeGVjdXRpb24gRmFpbHVyZTogJHttZXRhZGF0YS5yZXNpbGllbmNlLm9uRXhlY3V0aW9uRmFpbHVyZX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXRhZGF0YS5yZXNpbGllbmNlLm1heFJldHJpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gTWF4IFJldHJpZXM6ICR7bWV0YWRhdGEucmVzaWxpZW5jZS5tYXhSZXRyaWVzfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UubWF4Q29udGludWF0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBNYXggQ29udGludWF0aW9uczogJHttZXRhZGF0YS5yZXNpbGllbmNlLm1heENvbnRpbnVhdGlvbnN9YCk7XG4gICAgICB9XG4gICAgICAvLyBJc3N1ZSAjNzQ5OiBEaXNwbGF5IHJldHJ5QmFja29mZiBhbmQgcHJlc2VydmVTdGF0ZSAod2VyZSBtaXNzaW5nKVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UucmV0cnlCYWNrb2ZmKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBSZXRyeSBCYWNrb2ZmOiAke21ldGFkYXRhLnJlc2lsaWVuY2UucmV0cnlCYWNrb2ZmfWApO1xuICAgICAgfVxuICAgICAgaWYgKG1ldGFkYXRhLnJlc2lsaWVuY2UucHJlc2VydmVTdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRldGFpbHMucHVzaChgLSBQcmVzZXJ2ZSBTdGF0ZTogJHttZXRhZGF0YS5yZXNpbGllbmNlLnByZXNlcnZlU3RhdGV9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgIzcyMjogRGlzcGxheSB0YWdzIGFuZCB0cmlnZ2Vyc1xuICAgIGlmIChtZXRhZGF0YS50YWdzICYmIG1ldGFkYXRhLnRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaChgKipUYWdzKio6ICR7bWV0YWRhdGEudGFncy5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICBpZiAobWV0YWRhdGEudHJpZ2dlcnMgJiYgbWV0YWRhdGEudHJpZ2dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKGAqKlRyaWdnZXJzKio6ICR7bWV0YWRhdGEudHJpZ2dlcnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICBkZXRhaWxzLnB1c2goJycpO1xuICAgIGRldGFpbHMucHVzaCgnKipJbnN0cnVjdGlvbnMqKjonKTtcbiAgICBkZXRhaWxzLnB1c2goKGFnZW50IGFzIGFueSkuaW5zdHJ1Y3Rpb25zIHx8IChhZ2VudCBhcyBhbnkpLmV4dGVuc2lvbnM/Lmluc3RydWN0aW9ucyB8fCAnTm8gaW5zdHJ1Y3Rpb25zIGF2YWlsYWJsZScpO1xuXG4gICAgaWYgKChhZ2VudCBhcyBhbnkpLmNvbnRlbnQ/LnRyaW0oKSkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnKTtcbiAgICAgIGRldGFpbHMucHVzaCgnKipSZWZlcmVuY2U6KionKTtcbiAgICAgIGRldGFpbHMucHVzaCgoYWdlbnQgYXMgYW55KS5jb250ZW50KTtcbiAgICB9XG5cbiAgICBjb25zdCBhZ2VudFN0YXRlID0gKGFnZW50IGFzIGFueSkuc3RhdGU7XG4gICAgaWYgKGFnZW50U3RhdGU/LmdvYWxzICYmIGFnZW50U3RhdGUuZ29hbHMubGVuZ3RoID4gMCkge1xuICAgICAgZGV0YWlscy5wdXNoKCcnLCAnKipDdXJyZW50IEdvYWxzKio6Jyk7XG4gICAgICBhZ2VudFN0YXRlLmdvYWxzLmZvckVhY2goKGc6IGFueSkgPT4ge1xuICAgICAgICBkZXRhaWxzLnB1c2goYC0gJHtnLmRlc2NyaXB0aW9ufSAoJHtnLnN0YXR1c30pYCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHRleHQ6IGRldGFpbHMuam9pbignXFxuJylcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/ElementActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ElementActivationStrategy.d.ts","sourceRoot":"","sources":["../../../src/handlers/strategies/ElementActivationStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5E;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE/C;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACvD"}
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* implements this interface to provide custom activation logic.
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxlbWVudEFjdGl2YXRpb25TdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGVycy9zdHJhdGVnaWVzL0VsZW1lbnRBY3RpdmF0aW9uU3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IC0gSW50ZXJmYWNlIGZvciBlbGVtZW50IGFjdGl2YXRpb24vZGVhY3RpdmF0aW9uIHN0cmF0ZWdpZXNcbiAqXG4gKiBEZWZpbmVzIHRoZSBjb250cmFjdCBmb3IgYWxsIGVsZW1lbnQgdHlwZS1zcGVjaWZpYyBhY3RpdmF0aW9uIHN0cmF0ZWdpZXMuXG4gKiBFYWNoIGVsZW1lbnQgdHlwZSAocGVyc29uYXMsIHNraWxscywgdGVtcGxhdGVzLCBhZ2VudHMsIG1lbW9yaWVzLCBlbnNlbWJsZXMpXG4gKiBpbXBsZW1lbnRzIHRoaXMgaW50ZXJmYWNlIHRvIHByb3ZpZGUgY3VzdG9tIGFjdGl2YXRpb24gbG9naWMuXG4gKi9cblxuLyoqXG4gKiBTdGFuZGFyZCBNQ1AgcmVzcG9uc2UgZm9ybWF0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUNQUmVzcG9uc2Uge1xuICBjb250ZW50OiBBcnJheTx7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgfT47XG4gIC8qKiBJbnRlcm5hbCBzdGFibGUgaWRlbnRpdHkgY29uc3VtZWQgYnkgRWxlbWVudENSVURIYW5kbGVyIGJlZm9yZSByZXNwb25zZSByZXR1cm4uICovXG4gIHN0YWJsZUlkZW50aXR5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFN0cmF0ZWd5IGludGVyZmFjZSBmb3IgZWxlbWVudCBhY3RpdmF0aW9uIG9wZXJhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50QWN0aXZhdGlvblN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIEFjdGl2YXRlIGFuIGVsZW1lbnQgYnkgbmFtZVxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRvIGFjdGl2YXRlXG4gICAqIEBwYXJhbSBjb250ZXh0IC0gT3B0aW9uYWwgYWN0aXZhdGlvbiBjb250ZXh0IChwYXJhbWV0ZXJzLCB2YXJpYWJsZXMsIGV0Yy4pXG4gICAqIEByZXR1cm5zIE1DUC1mb3JtYXR0ZWQgcmVzcG9uc2Ugd2l0aCBhY3RpdmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgYWN0aXZhdGUobmFtZTogc3RyaW5nLCBjb250ZXh0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8TUNQUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGFuIGVsZW1lbnQgYnkgbmFtZVxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRvIGRlYWN0aXZhdGVcbiAgICogQHJldHVybnMgTUNQLWZvcm1hdHRlZCByZXNwb25zZSB3aXRoIGRlYWN0aXZhdGlvbiByZXN1bHRcbiAgICovXG4gIGRlYWN0aXZhdGUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxNQ1BSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50cyBvZiB0aGlzIHR5cGVcbiAgICogQHJldHVybnMgTUNQLWZvcm1hdHRlZCByZXNwb25zZSB3aXRoIGxpc3Qgb2YgYWN0aXZlIGVsZW1lbnRzXG4gICAqL1xuICBnZXRBY3RpdmVFbGVtZW50cygpOiBQcm9taXNlPE1DUFJlc3BvbnNlPjtcblxuICAvKipcbiAgICogR2V0IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZWxlbWVudFxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRvIGdldCBkZXRhaWxzIGZvclxuICAgKiBAcmV0dXJucyBNQ1AtZm9ybWF0dGVkIHJlc3BvbnNlIHdpdGggZWxlbWVudCBkZXRhaWxzXG4gICAqL1xuICBnZXRFbGVtZW50RGV0YWlscyhuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1DUFJlc3BvbnNlPjtcbn1cbiJdfQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -68,8 +68,13 @@ export declare class DollhouseMCPServer implements IToolHandler {
|
|
|
68
68
|
}>;
|
|
69
69
|
activateElement(name: string, type: string, context?: Record<string, any>): Promise<import("./handlers/strategies/ElementActivationStrategy.js").MCPResponse>;
|
|
70
70
|
getActiveElements(type: string): Promise<import("./handlers/strategies/ElementActivationStrategy.js").MCPResponse>;
|
|
71
|
-
deactivateElement(name: string, type: string): Promise<
|
|
72
|
-
|
|
71
|
+
deactivateElement(name: string, type: string): Promise<{
|
|
72
|
+
content: {
|
|
73
|
+
type: string;
|
|
74
|
+
text: string;
|
|
75
|
+
}[];
|
|
76
|
+
}>;
|
|
77
|
+
getElementDetails(name: string, type: string): Promise<import("./handlers/element-crud/responseFormatter.js").McpToolResponse | import("./handlers/strategies/ElementActivationStrategy.js").MCPResponse>;
|
|
73
78
|
reloadElements(type: string): Promise<{
|
|
74
79
|
content: {
|
|
75
80
|
type: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA2BrE,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,MAAM,CAAS;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAC,CAA0D;IAElF;;;;;;OAMG;gBACS,SAAS,EAAE,kBAAkB;YA6C3B,mBAAmB;IAKjC;;;;OAIG;YACW,sBAAsB;IAuBpC;;;;OAIG;YACW,0BAA0B;IAcxC;;;OAGG;YACW,iBAAiB;IA4BzB,YAAY;;;;;;IASZ,cAAc;;;;;;IAOd,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;;IAkBzB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAiBzE,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAiB9B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA2BrE,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,MAAM,CAAS;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAC,CAA0D;IAElF;;;;;;OAMG;gBACS,SAAS,EAAE,kBAAkB;YA6C3B,mBAAmB;IAKjC;;;;OAIG;YACW,sBAAsB;IAuBpC;;;;OAIG;YACW,0BAA0B;IAcxC;;;OAGG;YACW,iBAAiB;IA4BzB,YAAY;;;;;;IASZ,cAAc;;;;;;IAOd,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;;IAkBzB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAiBzE,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAiB9B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;IAiB5C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO5C,cAAc,CAAC,IAAI,EAAE,MAAM;;;;;;IAM3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IAK3D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;IAKhE;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;KAAC;;;;;;IAShL,WAAW,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC;;;;;;IAQ9E,eAAe,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAC;;;;;;IAQpE,aAAa,CAAC,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAC;;;;;;IAQtE,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;;;;;;IAKhD,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;;;;IAK9B,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;;;;;;IAKzD,oBAAoB,CAAC,IAAI,EAAE,MAAM;;;;;;IAKjC,cAAc,CAAC,SAAS,EAAE,MAAM;;;;;;IAKhC,aAAa,CAAC,iBAAiB,EAAE,MAAM;;;;;;IAKvC,wBAAwB;;;;;;IAMxB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;IAKhD,eAAe;;;;;;IAKf,iBAAiB;;;;;;IAKvB,OAAO,CAAC,4BAA4B;IAK9B,eAAe;;;;;;IAKf,eAAe;;;;;;IAKf,oBAAoB,CAAC,OAAO,GAAE,OAAe;;;;;;IAO7C,eAAe;;;;;;IAMf,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM;;;;;;IAcvC;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC;;;;;;IAKzD;;OAEG;IACG,kBAAkB;;;;;;IAKxB;;OAEG;IACG,6BAA6B,CAAC,UAAU,EAAE,OAAO;;;;;;IAKvD;;OAEG;IACG,6BAA6B;;;;;;IAMnC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM;;;;;;IAKvC;;OAEG;IACG,iBAAiB,CAAC,eAAe,UAAO;;;;;;IAK9C;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAQ;;;;;;IAMrD;;OAEG;IAEH;;OAEG;IACG,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM;;;;;;IAKvC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC;;;;;;IAK/F;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAC;;;;;;;;;;;;;;;;;;;IAK9H;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B;IAKD;;MAEE;IACI,qBAAqB,CAAC,OAAO,EAAE,GAAG;;;;;;IAKxC;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,GAAG;;;;;;IAKhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B;;;;;;IAKD;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;;;;;;IAKD;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB;;;;;;IAID;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B;;;;;;IAID;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf;;;;;;IAID;;OAEG;IACG,oBAAoB;;;;;;IAIpB,GAAG;CA2FV"}
|