@dbx-tools/appkit-generator 0.9.138 → 0.9.139

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/index.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
 
5
5
  export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-generator";
6
- export const PACKAGE_VERSION = "0.9.138";
6
+ export const PACKAGE_VERSION = "0.9.139";
7
7
  export * as assets from "./src/assets.ts";
8
8
  export * as config from "./src/config.ts";
9
9
  export * as dashboard from "./src/dashboard.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-generator";
2
- export declare const PACKAGE_VERSION = "0.9.138";
2
+ export declare const PACKAGE_VERSION = "0.9.139";
3
3
  export * as assets from "./src/assets.ts";
4
4
  export * as config from "./src/config.ts";
5
5
  export * as dashboard from "./src/dashboard.ts";
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Regenerated from the exporting modules in ./src.
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
  export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-generator";
5
- export const PACKAGE_VERSION = "0.9.138";
5
+ export const PACKAGE_VERSION = "0.9.139";
6
6
  export * as assets from "./src/assets.js";
7
7
  export * as config from "./src/config.js";
8
8
  export * as dashboard from "./src/dashboard.js";
@@ -27,4 +27,4 @@ export { GeneratorOperations } from "./src/operations.js";
27
27
  export { GeneratorPlugin, generator } from "./src/plugin.js";
28
28
  export { DEFAULT_MAX_SOURCES, DEFAULT_SOURCE_MAX_LENGTH, MAX_SOURCES, MAX_SOURCE_MAX_LENGTH, ASSET_HTML_MAX_LENGTH } from "./src/research.js";
29
29
  export { GENERATE_BRAND_TOOL_DESCRIPTION, GeneratedBrandProfileSchema } from "./src/schema.js";
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5SSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvYXBwa2l0LWdlbmVyYXRvclwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjEzOFwiO1xuZXhwb3J0ICogYXMgYXNzZXRzIGZyb20gXCIuL3NyYy9hc3NldHMudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZyBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBkYXNoYm9hcmQgZnJvbSBcIi4vc3JjL2Rhc2hib2FyZC50c1wiO1xuZXhwb3J0ICogYXMgZGF0YSBmcm9tIFwiLi9zcmMvZGF0YS50c1wiO1xuZXhwb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4vc3JjL2RlZmF1bHRzLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5lcmF0ZSBmcm9tIFwiLi9zcmMvZ2VuZXJhdGUudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllIGZyb20gXCIuL3NyYy9nZW5pZS50c1wiO1xuZXhwb3J0ICogYXMga3BpIGZyb20gXCIuL3NyYy9rcGkudHNcIjtcbmV4cG9ydCAqIGFzIG5hbWVzcGFjZSBmcm9tIFwiLi9zcmMvbmFtZXNwYWNlLnRzXCI7XG5leHBvcnQgKiBhcyBvcGVyYXRpb25zIGZyb20gXCIuL3NyYy9vcGVyYXRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBwYWxldHRlIGZyb20gXCIuL3NyYy9wYWxldHRlLnRzXCI7XG5leHBvcnQgKiBhcyBwbGFuIGZyb20gXCIuL3NyYy9wbGFuLnRzXCI7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0ICogYXMgcmVzZWFyY2ggZnJvbSBcIi4vc3JjL3Jlc2VhcmNoLnRzXCI7XG5leHBvcnQgKiBhcyBzY2hlbWEgZnJvbSBcIi4vc3JjL3NjaGVtYS50c1wiO1xuZXhwb3J0ICogYXMgc3RydWN0dXJlZCBmcm9tIFwiLi9zcmMvc3RydWN0dXJlZC50c1wiO1xuZXhwb3J0ICogYXMgd29ya2Zsb3cgZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgdHlwZSB7IERpc2NvdmVyZWRCcmFuZEFzc2V0cywgRGlzY292ZXJlZE1vYmlsZUFwcFZpc3VhbHMgfSBmcm9tIFwiLi9zcmMvYXNzZXRzLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0dFTkVSQVRPUl9USU1FT1VUX01TLCBHRU5FUkFUT1JfQ09ORklHX1NDSEVNQSB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuZXJhdG9yUGx1Z2luQ29uZmlnLCBSZXNvbHZlZEdlbmVyYXRvckNvbmZpZyB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ3JlYXRlR2VuZXJhdG9yRGFzaGJvYXJkSW5wdXQgfSBmcm9tIFwiLi9zcmMvZGFzaGJvYXJkLnRzXCI7XG5leHBvcnQgeyBCUkFORF9DQUNIRV9UVExfU0VDT05EUywgQlJBTkRfQ0FDSEVfVkVSU0lPTiwgQlJBTkRfR0VORVJBVElPTl9BVFRFTVBUUyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZEV4ZWN1dGVDb25maWcsIEJyYW5kRXhlY3V0aW9uU2V0dGluZ3MgfSBmcm9tIFwiLi9zcmMvZGVmYXVsdHMudHNcIjtcbmV4cG9ydCB7IEJSQU5EX1NZTlRIRVNJU19JTlNUUlVDVElPTlMgfSBmcm9tIFwiLi9zcmMvZ2VuZXJhdGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgQnJhbmRTeW50aGVzaXNJbnB1dCwgQnJhbmRTeW50aGVzaXplciwgR2VuZXJhdGVCcmFuZFBhY2thZ2VPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dlbmVyYXRlLnRzXCI7XG5leHBvcnQgdHlwZSB7IENyZWF0ZUdlbmVyYXRvckdlbmllSW5wdXQgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgUmVzZWFyY2hLcGlzT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9rcGkudHNcIjtcbmV4cG9ydCB0eXBlIHsgUHJvdmlzaW9uU2NoZW1hSW5wdXQsIEdlbmVyYXRvcklkZW50aXR5IH0gZnJvbSBcIi4vc3JjL25hbWVzcGFjZS50c1wiO1xuZXhwb3J0IHsgR2VuZXJhdG9yT3BlcmF0aW9ucyB9IGZyb20gXCIuL3NyYy9vcGVyYXRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdlbmVyYXRvck9wZXJhdGlvbnNPcHRpb25zIH0gZnJvbSBcIi4vc3JjL29wZXJhdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgUGxhbkdlbmVyYXRvckRhdGFJbnB1dCB9IGZyb20gXCIuL3NyYy9wbGFuLnRzXCI7XG5leHBvcnQgeyBHZW5lcmF0b3JQbHVnaW4sIGdlbmVyYXRvciB9IGZyb20gXCIuL3NyYy9wbHVnaW4udHNcIjtcbmV4cG9ydCB7IERFRkFVTFRfTUFYX1NPVVJDRVMsIERFRkFVTFRfU09VUkNFX01BWF9MRU5HVEgsIE1BWF9TT1VSQ0VTLCBNQVhfU09VUkNFX01BWF9MRU5HVEgsIEFTU0VUX0hUTUxfTUFYX0xFTkdUSCB9IGZyb20gXCIuL3NyYy9yZXNlYXJjaC50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZFJlc2VhcmNoQ2xpZW50LCBCcmFuZFJlc2VhcmNoT3B0aW9ucywgQnJhbmRQcm9ncmVzc1JlcG9ydGVyLCBCcmFuZFJlc2VhcmNoU291cmNlLCBCcmFuZFJlc2VhcmNoLCBCcmFuZFJlc2VhcmNoVmlzdWFsSW1hZ2UsIEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2UgfSBmcm9tIFwiLi9zcmMvcmVzZWFyY2gudHNcIjtcbmV4cG9ydCB7IEdFTkVSQVRFX0JSQU5EX1RPT0xfREVTQ1JJUFRJT04sIEdlbmVyYXRlZEJyYW5kUHJvZmlsZVNjaGVtYSB9IGZyb20gXCIuL3NyYy9zY2hlbWEudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuZXJhdGVkQnJhbmRQcm9maWxlIH0gZnJvbSBcIi4vc3JjL3NjaGVtYS50c1wiO1xuZXhwb3J0IHR5cGUgeyBTdHJ1Y3R1cmVkR2VuZXJhdGlvbk9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvc3RydWN0dXJlZC50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5lcmF0b3JXb3JrZmxvd09wZXJhdGlvbnMsIEdlbmVyYXRvcldvcmtmbG93T3B0aW9ucywgR2VuZXJhdG9yV29ya2Zsb3cgfSBmcm9tIFwiLi9zcmMvd29ya2Zsb3cudHNcIjtcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5SSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCBjb25zdCBQQUNLQUdFX0lERU5USUZJRVIgPSBcIkBkYngtdG9vbHMvYXBwa2l0LWdlbmVyYXRvclwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjEzOVwiO1xuZXhwb3J0ICogYXMgYXNzZXRzIGZyb20gXCIuL3NyYy9hc3NldHMudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZyBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBkYXNoYm9hcmQgZnJvbSBcIi4vc3JjL2Rhc2hib2FyZC50c1wiO1xuZXhwb3J0ICogYXMgZGF0YSBmcm9tIFwiLi9zcmMvZGF0YS50c1wiO1xuZXhwb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4vc3JjL2RlZmF1bHRzLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5lcmF0ZSBmcm9tIFwiLi9zcmMvZ2VuZXJhdGUudHNcIjtcbmV4cG9ydCAqIGFzIGdlbmllIGZyb20gXCIuL3NyYy9nZW5pZS50c1wiO1xuZXhwb3J0ICogYXMga3BpIGZyb20gXCIuL3NyYy9rcGkudHNcIjtcbmV4cG9ydCAqIGFzIG5hbWVzcGFjZSBmcm9tIFwiLi9zcmMvbmFtZXNwYWNlLnRzXCI7XG5leHBvcnQgKiBhcyBvcGVyYXRpb25zIGZyb20gXCIuL3NyYy9vcGVyYXRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBwYWxldHRlIGZyb20gXCIuL3NyYy9wYWxldHRlLnRzXCI7XG5leHBvcnQgKiBhcyBwbGFuIGZyb20gXCIuL3NyYy9wbGFuLnRzXCI7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSBcIi4vc3JjL3BsdWdpbi50c1wiO1xuZXhwb3J0ICogYXMgcmVzZWFyY2ggZnJvbSBcIi4vc3JjL3Jlc2VhcmNoLnRzXCI7XG5leHBvcnQgKiBhcyBzY2hlbWEgZnJvbSBcIi4vc3JjL3NjaGVtYS50c1wiO1xuZXhwb3J0ICogYXMgc3RydWN0dXJlZCBmcm9tIFwiLi9zcmMvc3RydWN0dXJlZC50c1wiO1xuZXhwb3J0ICogYXMgd29ya2Zsb3cgZnJvbSBcIi4vc3JjL3dvcmtmbG93LnRzXCI7XG5leHBvcnQgdHlwZSB7IERpc2NvdmVyZWRCcmFuZEFzc2V0cywgRGlzY292ZXJlZE1vYmlsZUFwcFZpc3VhbHMgfSBmcm9tIFwiLi9zcmMvYXNzZXRzLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0dFTkVSQVRPUl9USU1FT1VUX01TLCBHRU5FUkFUT1JfQ09ORklHX1NDSEVNQSB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuZXJhdG9yUGx1Z2luQ29uZmlnLCBSZXNvbHZlZEdlbmVyYXRvckNvbmZpZyB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ3JlYXRlR2VuZXJhdG9yRGFzaGJvYXJkSW5wdXQgfSBmcm9tIFwiLi9zcmMvZGFzaGJvYXJkLnRzXCI7XG5leHBvcnQgeyBCUkFORF9DQUNIRV9UVExfU0VDT05EUywgQlJBTkRfQ0FDSEVfVkVSU0lPTiwgQlJBTkRfR0VORVJBVElPTl9BVFRFTVBUUyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZEV4ZWN1dGVDb25maWcsIEJyYW5kRXhlY3V0aW9uU2V0dGluZ3MgfSBmcm9tIFwiLi9zcmMvZGVmYXVsdHMudHNcIjtcbmV4cG9ydCB7IEJSQU5EX1NZTlRIRVNJU19JTlNUUlVDVElPTlMgfSBmcm9tIFwiLi9zcmMvZ2VuZXJhdGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgQnJhbmRTeW50aGVzaXNJbnB1dCwgQnJhbmRTeW50aGVzaXplciwgR2VuZXJhdGVCcmFuZFBhY2thZ2VPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2dlbmVyYXRlLnRzXCI7XG5leHBvcnQgdHlwZSB7IENyZWF0ZUdlbmVyYXRvckdlbmllSW5wdXQgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgUmVzZWFyY2hLcGlzT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9rcGkudHNcIjtcbmV4cG9ydCB0eXBlIHsgUHJvdmlzaW9uU2NoZW1hSW5wdXQsIEdlbmVyYXRvcklkZW50aXR5IH0gZnJvbSBcIi4vc3JjL25hbWVzcGFjZS50c1wiO1xuZXhwb3J0IHsgR2VuZXJhdG9yT3BlcmF0aW9ucyB9IGZyb20gXCIuL3NyYy9vcGVyYXRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdlbmVyYXRvck9wZXJhdGlvbnNPcHRpb25zIH0gZnJvbSBcIi4vc3JjL29wZXJhdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgUGxhbkdlbmVyYXRvckRhdGFJbnB1dCB9IGZyb20gXCIuL3NyYy9wbGFuLnRzXCI7XG5leHBvcnQgeyBHZW5lcmF0b3JQbHVnaW4sIGdlbmVyYXRvciB9IGZyb20gXCIuL3NyYy9wbHVnaW4udHNcIjtcbmV4cG9ydCB7IERFRkFVTFRfTUFYX1NPVVJDRVMsIERFRkFVTFRfU09VUkNFX01BWF9MRU5HVEgsIE1BWF9TT1VSQ0VTLCBNQVhfU09VUkNFX01BWF9MRU5HVEgsIEFTU0VUX0hUTUxfTUFYX0xFTkdUSCB9IGZyb20gXCIuL3NyYy9yZXNlYXJjaC50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZFJlc2VhcmNoQ2xpZW50LCBCcmFuZFJlc2VhcmNoT3B0aW9ucywgQnJhbmRQcm9ncmVzc1JlcG9ydGVyLCBCcmFuZFJlc2VhcmNoU291cmNlLCBCcmFuZFJlc2VhcmNoLCBCcmFuZFJlc2VhcmNoVmlzdWFsSW1hZ2UsIEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2UgfSBmcm9tIFwiLi9zcmMvcmVzZWFyY2gudHNcIjtcbmV4cG9ydCB7IEdFTkVSQVRFX0JSQU5EX1RPT0xfREVTQ1JJUFRJT04sIEdlbmVyYXRlZEJyYW5kUHJvZmlsZVNjaGVtYSB9IGZyb20gXCIuL3NyYy9zY2hlbWEudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuZXJhdGVkQnJhbmRQcm9maWxlIH0gZnJvbSBcIi4vc3JjL3NjaGVtYS50c1wiO1xuZXhwb3J0IHR5cGUgeyBTdHJ1Y3R1cmVkR2VuZXJhdGlvbk9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvc3RydWN0dXJlZC50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5lcmF0b3JXb3JrZmxvd09wZXJhdGlvbnMsIEdlbmVyYXRvcldvcmtmbG93T3B0aW9ucywgR2VuZXJhdG9yV29ya2Zsb3cgfSBmcm9tIFwiLi9zcmMvd29ya2Zsb3cudHNcIjtcbiJdfQ==
@@ -63,7 +63,6 @@ export declare class GeneratorPlugin extends ToolRegistryPlugin<GeneratorPluginC
63
63
  schemaVersion: "1";
64
64
  name: string;
65
65
  shortName: string;
66
- tagline: string;
67
66
  description: string;
68
67
  assets: {
69
68
  icon: {
@@ -102,6 +101,7 @@ export declare class GeneratorPlugin extends ToolRegistryPlugin<GeneratorPluginC
102
101
  repository?: string | undefined;
103
102
  };
104
103
  extensions: Record<string, unknown>;
104
+ tagline?: string | undefined;
105
105
  };
106
106
  sources: {
107
107
  url: string;
@@ -208,7 +208,6 @@ export declare class GeneratorPlugin extends ToolRegistryPlugin<GeneratorPluginC
208
208
  schemaVersion: "1";
209
209
  name: string;
210
210
  shortName: string;
211
- tagline: string;
212
211
  description: string;
213
212
  assets: {
214
213
  icon: {
@@ -247,6 +246,7 @@ export declare class GeneratorPlugin extends ToolRegistryPlugin<GeneratorPluginC
247
246
  repository?: string | undefined;
248
247
  };
249
248
  extensions: Record<string, unknown>;
249
+ tagline?: string | undefined;
250
250
  };
251
251
  sources: {
252
252
  url: string;
@@ -457,7 +457,7 @@ export declare class GeneratorPlugin extends ToolRegistryPlugin<GeneratorPluginC
457
457
  schemaVersion: import("zod").ZodDefault<import("zod").ZodLiteral<"1">>;
458
458
  name: import("zod").ZodDefault<import("zod").ZodString>;
459
459
  shortName: import("zod").ZodDefault<import("zod").ZodString>;
460
- tagline: import("zod").ZodDefault<import("zod").ZodString>;
460
+ tagline: import("zod").ZodOptional<import("zod").ZodString>;
461
461
  description: import("zod").ZodDefault<import("zod").ZodString>;
462
462
  assets: import("zod").ZodDefault<import("zod").ZodObject<{
463
463
  icon: import("zod").ZodDefault<import("zod").ZodObject<{
@@ -69,7 +69,7 @@ async function researchMobileStore(request, platform, client, signal) {
69
69
  logger.warn("mobile-image-fetch-failed", {
70
70
  platform,
71
71
  url,
72
- error: errorUtils.errorMessage(error),
72
+ error: errorUtils.toError(error),
73
73
  });
74
74
  return { url };
75
75
  }
@@ -84,7 +84,7 @@ async function researchMobileStore(request, platform, client, signal) {
84
84
  catch (error) {
85
85
  logger.warn("mobile-store-research-failed", {
86
86
  platform,
87
- error: errorUtils.errorMessage(error),
87
+ error: errorUtils.toError(error),
88
88
  });
89
89
  return undefined;
90
90
  }
@@ -147,7 +147,7 @@ async function fetchSource(client, citation, sourceMaxLength, onComplete, signal
147
147
  catch (error) {
148
148
  logger.warn("source-fetch-failed", {
149
149
  url: citation.url,
150
- error: errorUtils.errorMessage(error),
150
+ error: errorUtils.toError(error),
151
151
  });
152
152
  return { ...citation, fetched: false };
153
153
  }
@@ -211,7 +211,7 @@ export async function researchBrand(request, client, options = {}, signal) {
211
211
  }, signal).catch((error) => {
212
212
  logger.warn("official-page-html-fetch-failed", {
213
213
  url: official.url,
214
- error: errorUtils.errorMessage(error),
214
+ error: errorUtils.toError(error),
215
215
  });
216
216
  return undefined;
217
217
  }),
@@ -232,4 +232,4 @@ export async function researchBrand(request, client, options = {}, signal) {
232
232
  visualReferences,
233
233
  };
234
234
  }
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFjSCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUNMLG1CQUFtQixHQUtwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFNUMsMkRBQTJEO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUVyQywyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxDQUFDO0FBRS9DLG9GQUFvRjtBQUNwRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBRTdCLHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUM7QUFFNUMsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztBQTZEL0MsNEZBQTRGO0FBQzVGLFNBQVMsY0FBYyxDQUNyQixNQUEyQixFQUMzQixPQUFpQyxFQUNqQyxNQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELGlFQUFpRTtBQUNqRSxNQUFNLFVBQVUsa0JBQWtCLENB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QU0sQ0FDUCxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUU7Z0JBQzdDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO2FBQ3RDLENBQUMsQ0FBQztZQUNILE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsT0FBTyxFQUFFLFlBQVk7WUFDbkIsQ0FBQyxDQUFDLDZCQUE2QjtZQUMvQixDQUFDLENBQUMsMENBQTBDO0tBQy9DLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLE9BQU87UUFDUCxlQUFlLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRztRQUNsRCxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLGdCQUFnQjtLQUNqQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJhbmQgcmVzZWFyY2ggY29tcG9zZWQgZnJvbSB0aGUgd2ViLXNlYXJjaCBwbHVnaW4ncyBzZWFyY2ggYW5kIGZldGNoXG4gKiBvcGVyYXRpb25zLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFdlYkFzc2V0UGFnZUZldGNoUmVxdWVzdCxcbiAgV2ViSW1hZ2VGZXRjaFJlcXVlc3QsXG4gIFdlYkltYWdlRmV0Y2hSZXN1bHQsXG59IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC13ZWItc2VhcmNoL2ZldGNoXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFdlYkZldGNoUmVxdWVzdCxcbiAgV2ViRmV0Y2hSZXN1bHQsXG4gIFdlYlNlYXJjaENpdGF0aW9uLFxuICBXZWJTZWFyY2hSZXF1ZXN0LFxuICBXZWJTZWFyY2hSZXN1bHQsXG59IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC13ZWItc2VhcmNoL3NjaGVtYVwiO1xuaW1wb3J0IHsgZXJyb3JVdGlscywgbG9nLCBzdHJpbmdVdGlscyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQgeyBkaXNjb3Zlck1vYmlsZUFwcFZpc3VhbHMgfSBmcm9tIFwiLi9hc3NldHMudHNcIjtcbmltcG9ydCB7XG4gIGJyYW5kUmVxdWVzdFN1YmplY3QsXG4gIHR5cGUgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudCxcbiAgdHlwZSBCcmFuZEdlbmVyYXRpb25SZXF1ZXN0LFxuICB0eXBlIEJyYW5kUGFja2FnZVNvdXJjZSxcbiAgdHlwZSBCcmFuZFZpc3VhbFJlZmVyZW5jZSxcbn0gZnJvbSBcIi4vc2NoZW1hLnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJicmFuZC9yZXNlYXJjaFwiKTtcblxuLyoqIERlZmF1bHQgbnVtYmVyIG9mIGNpdGVkIHBhZ2VzIGZldGNoZWQgZm9yIG9uZSBicmFuZC4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BWF9TT1VSQ0VTID0gNDtcblxuLyoqIERlZmF1bHQgY2hhcmFjdGVyIGNhcCBmb3IgZWFjaCBmZXRjaGVkIHBhZ2UgZXhjZXJwdC4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NPVVJDRV9NQVhfTEVOR1RIID0gOF8wMDA7XG5cbi8qKiBVcHBlciBib3VuZCB0aGF0IHByZXZlbnRzIG9uZSByZXF1ZXN0IGZyb20gZmFubmluZyBvdXQgYWNyb3NzIHRvbyBtYW55IHNpdGVzLiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9TT1VSQ0VTID0gODtcblxuLyoqIFVwcGVyIGJvdW5kIG9uIHJlYWRhYmxlIGNoYXJhY3RlcnMgcmV0YWluZWQgZnJvbSBvbmUgZmV0Y2hlZCBwYWdlLiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9TT1VSQ0VfTUFYX0xFTkdUSCA9IDIwXzAwMDtcblxuLyoqIE1hcmt1cCBjYXAgdXNlZCBmb3Igb2ZmaWNpYWwgYW5kIG1vYmlsZSBwYWdlIGFzc2V0IGRpc2NvdmVyeS4gKi9cbmV4cG9ydCBjb25zdCBBU1NFVF9IVE1MX01BWF9MRU5HVEggPSAxXzUwMF8wMDA7XG5cbi8qKiBTZWFyY2ggYW5kIGZldGNoIG9wZXJhdGlvbnMgc3VwcGxpZWQgYnkgdGhlIHJlZ2lzdGVyZWQgd2ViLXNlYXJjaCBwbHVnaW4uICovXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5kUmVzZWFyY2hDbGllbnQge1xuICAvKiogU2VhcmNoIHRoZSB3ZWIgYW5kIHJldHVybiBhIHN5bnRoZXNpemVkIGFuc3dlciB3aXRoIGNpdGF0aW9ucy4gKi9cbiAgc2VhcmNoKHJlcXVlc3Q6IFdlYlNlYXJjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJTZWFyY2hSZXN1bHQ+O1xuICAvKiogRmV0Y2ggb25lIGNpdGVkIHBhZ2UgYXMgdGV4dCBvciBIVE1MLiAqL1xuICBmZXRjaChyZXF1ZXN0OiBXZWJGZXRjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJGZXRjaFJlc3VsdD47XG4gIC8qKiBGZXRjaCBleHBhbmRlZCBtYXJrdXAgZm9yIGRldGVybWluaXN0aWMgaW4tcHJvY2VzcyBhc3NldCBkaXNjb3ZlcnkuICovXG4gIGZldGNoQXNzZXRQYWdlPyhyZXF1ZXN0OiBXZWJBc3NldFBhZ2VGZXRjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJGZXRjaFJlc3VsdD47XG4gIC8qKiBGZXRjaCBvbmUgaW1hZ2UgZm9yIG11bHRpbW9kYWwgcmVzZWFyY2ggYW5kIHBhY2thZ2UgZXhwb3J0LiAqL1xuICBmZXRjaEltYWdlKHJlcXVlc3Q6IFdlYkltYWdlRmV0Y2hSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8V2ViSW1hZ2VGZXRjaFJlc3VsdD47XG59XG5cbi8qKiBSZXNlYXJjaCBvcHRpb25zIGNvbnRyb2xsaW5nIGJvdW5kZWQgcGFnZSByZWFkcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaE9wdGlvbnMge1xuICAvKiogTWF4aW11bSBudW1iZXIgb2YgdW5pcXVlIHNvdXJjZXMgdG8gZmV0Y2guICovXG4gIG1heFNvdXJjZXM/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHRleHQgY2hhcmFjdGVycyByZXRhaW5lZCBmcm9tIGVhY2ggc291cmNlLiAqL1xuICBzb3VyY2VNYXhMZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBSZWNlaXZlcyBvYnNlcnZhYmxlIHdvcmtmbG93IHByb2dyZXNzLiAqL1xuICBvblByb2dyZXNzPzogQnJhbmRQcm9ncmVzc1JlcG9ydGVyO1xufVxuXG4vKiogQ2FsbGJhY2sgcmVjZWl2aW5nIG9uZSB2YWxpZGF0ZWQgd29ya2Zsb3cgcHJvZ3Jlc3MgZXZlbnQuICovXG5leHBvcnQgdHlwZSBCcmFuZFByb2dyZXNzUmVwb3J0ZXIgPSAoZXZlbnQ6IEJyYW5kR2VuZXJhdGlvblByb2dyZXNzRXZlbnQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4vKiogT25lIHNlbGVjdGVkIHNvdXJjZSBhbmQgdGhlIHRleHQgbWFkZSBhdmFpbGFibGUgdG8gc3ludGhlc2lzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmFuZFJlc2VhcmNoU291cmNlIGV4dGVuZHMgQnJhbmRQYWNrYWdlU291cmNlIHtcbiAgLyoqIFJlYWRhYmxlIHBhZ2UgdGV4dCwgb21pdHRlZCB3aGVuIHRoZSBmZXRjaCBmYWlsZWQuICovXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTZWFyY2ggYW5zd2VyLCBmZXRjaGVkIHNvdXJjZXMsIGFuZCBvZmZpY2lhbC1wYWdlIG1hcmt1cCB1c2VkIGJ5IGdlbmVyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5kUmVzZWFyY2gge1xuICAvKiogV2ViLXNlYXJjaCBtb2RlbCdzIGV2aWRlbmNlIHN1bW1hcnkuICovXG4gIGFuc3dlcjogc3RyaW5nO1xuICAvKiogRW5kcG9pbnQgb3IgZmFsbGJhY2sgdGhhdCByYW4gdGhlIHdlYiBzZWFyY2guICovXG4gIG1vZGVsOiBzdHJpbmc7XG4gIC8qKiBTZWxlY3RlZCBhbmQgZGVkdXBsaWNhdGVkIGNpdGF0aW9ucy4gKi9cbiAgc291cmNlczogQnJhbmRSZXNlYXJjaFNvdXJjZVtdO1xuICAvKiogVVJMIG9mIHRoZSBmaXJzdCBzb3VyY2Ugc2VsZWN0ZWQgYXMgdGhlIGxpa2VseSBvZmZpY2lhbCBwYWdlLiAqL1xuICBvZmZpY2lhbFBhZ2VVcmw6IHN0cmluZztcbiAgLyoqIFJhdyBtYXJrdXAgdXNlZCBvbmx5IGZvciBkZXRlcm1pbmlzdGljIGFzc2V0IGRpc2NvdmVyeS4gKi9cbiAgb2ZmaWNpYWxQYWdlSHRtbD86IHN0cmluZztcbiAgLyoqIGlPUyBhbmQgQW5kcm9pZCBhcHAtc3RvcmUgcmVmZXJlbmNlcyB1c2VkIGFzIHN1cHBsZW1lbnRhbCB2aXN1YWwgcmVzZWFyY2guICovXG4gIHZpc3VhbFJlZmVyZW5jZXM6IEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2VbXTtcbn1cblxuLyoqIEZldGNoZWQgaW1hZ2UgcmV0YWluZWQgaW4gbWVtb3J5IGZvciBtdWx0aW1vZGFsIHN5bnRoZXNpcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaFZpc3VhbEltYWdlIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICBkYXRhPzogVWludDhBcnJheTtcbn1cblxuLyoqIE1vYmlsZS1zdG9yZSBwYWdlIHBsdXMgZG93bmxvYWRlZCB2aXN1YWwgcmVmZXJlbmNlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaFZpc3VhbFJlZmVyZW5jZSBleHRlbmRzIE9taXQ8QnJhbmRWaXN1YWxSZWZlcmVuY2UsIFwiaW1hZ2VzXCI+IHtcbiAgaW1hZ2VzOiBCcmFuZFJlc2VhcmNoVmlzdWFsSW1hZ2VbXTtcbn1cblxuLyoqIFVzZSBleHBhbmRlZCBhc3NldCBtYXJrdXAgd2hlbiBzdXBwbGllZCwgcmV0YWluaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBkaXJlY3QgY2xpZW50cy4gKi9cbmZ1bmN0aW9uIGZldGNoQXNzZXRQYWdlKFxuICBjbGllbnQ6IEJyYW5kUmVzZWFyY2hDbGllbnQsXG4gIHJlcXVlc3Q6IFdlYkFzc2V0UGFnZUZldGNoUmVxdWVzdCxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPFdlYkZldGNoUmVzdWx0PiB7XG4gIHJldHVybiBjbGllbnQuZmV0Y2hBc3NldFBhZ2VcbiAgICA/IGNsaWVudC5mZXRjaEFzc2V0UGFnZShyZXF1ZXN0LCBzaWduYWwpXG4gICAgOiBjbGllbnQuZmV0Y2goeyAuLi5yZXF1ZXN0LCBmb3JtYXQ6IFwiaHRtbFwiIH0sIHNpZ25hbCk7XG59XG5cbi8qKiBCdWlsZCB0aGUgZm9jdXNlZCwgZmlyc3QtcGFydHkgc2VhcmNoIHJlcXVlc3QgZm9yIGEgYnJhbmQuICovXG5leHBvcnQgZnVuY3Rpb24gYnJhbmRSZXNlYXJjaFF1ZXJ5KHJlcXVlc3Q6IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QpOiBzdHJpbmcge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3Qgd2Vic2l0ZSA9IHJlcXVlc3Qud2Vic2l0ZSA/IGAgVGhlIGtub3duIG9mZmljaWFsIHdlYnNpdGUgaXMgJHtyZXF1ZXN0LndlYnNpdGV9LmAgOiBcIlwiO1xuICByZXR1cm4gc3RyaW5nVXRpbHMudG9EZXNjcmlwdGlvbihgXG4gICAgUmVzZWFyY2ggdGhlIG9mZmljaWFsIGJyYW5kIGlkZW50aXR5IGFuZCBkZXNpZ24gZGlyZWN0aW9uIGZvciBcIiR7c3ViamVjdH1cIi4ke3dlYnNpdGV9XG4gICAgVGhlIGJyb2FkZXIgYnJpZWYgaXM6ICR7cmVxdWVzdC5wcm9tcHQgPz8gc3ViamVjdH0uXG4gICAgUHJlZmVyIGZpcnN0LXBhcnR5IHNvdXJjZXMgYW5kIGNpdGUgdGhlIG9mZmljaWFsIHdlYnNpdGUgZmlyc3QuIElkZW50aWZ5XG4gICAgdGhlIGNhbm9uaWNhbCBhbmQgc2hvcnQgbmFtZXMsIGN1cnJlbnQgdGFnbGluZSwgcGxhaW4tbGFuZ3VhZ2VcbiAgICBkZXNjcmlwdGlvbiwgYXVkaWVuY2VzLCB3cml0aW5nIHRvbmUsIGJyYW5kIGNvbG9ycyBhcyBoZXggdmFsdWVzLFxuICAgIHR5cG9ncmFwaHksIGRvY3VtZW50YXRpb24sIHNvdXJjZSByZXBvc2l0b3J5LCBsb2dvLCBpY29uLCBhbmQgZmF2aWNvbi5cbiAgICBEaXN0aW5ndWlzaCBkb2N1bWVudGVkIGZhY3RzIGZyb20gcmVhc29uYWJsZSB2aXN1YWwgaW5mZXJlbmNlcy5cbiAgYCk7XG59XG5cbi8qKiBCdWlsZCBhIHRhcmdldGVkIG1vYmlsZS1zdG9yZSBzZWFyY2ggcXVlcnkgZm9yIHZpc3VhbCByZWZlcmVuY2VzLiAqL1xuZnVuY3Rpb24gbW9iaWxlU3RvcmVRdWVyeShcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgcGxhdGZvcm06IEJyYW5kVmlzdWFsUmVmZXJlbmNlW1wicGxhdGZvcm1cIl0sXG4pOiBzdHJpbmcge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3Qgc2l0ZSA9IHBsYXRmb3JtID09PSBcImlvc1wiID8gXCJhcHBzLmFwcGxlLmNvbVwiIDogXCJwbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwc1wiO1xuICByZXR1cm4gYHNpdGU6JHtzaXRlfSAke0pTT04uc3RyaW5naWZ5KHN1YmplY3QpfSBvZmZpY2lhbCBhcHBgO1xufVxuXG4vKiogRmluZCBvbmUgbWF0Y2hpbmcgc3RvcmUgcGFnZSBhbmQgZG93bmxvYWQgcmVwcmVzZW50YXRpdmUgaW1hZ2VzLiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzZWFyY2hNb2JpbGVTdG9yZShcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgcGxhdGZvcm06IEJyYW5kVmlzdWFsUmVmZXJlbmNlW1wicGxhdGZvcm1cIl0sXG4gIGNsaWVudDogQnJhbmRSZXNlYXJjaENsaWVudCxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2UgfCB1bmRlZmluZWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzZWFyY2ggPSBhd2FpdCBjbGllbnQuc2VhcmNoKHsgcXVlcnk6IG1vYmlsZVN0b3JlUXVlcnkocmVxdWVzdCwgcGxhdGZvcm0pIH0sIHNpZ25hbCk7XG4gICAgY29uc3QgZXhwZWN0ZWRIb3N0ID0gcGxhdGZvcm0gPT09IFwiaW9zXCIgPyBcImFwcHMuYXBwbGUuY29tXCIgOiBcInBsYXkuZ29vZ2xlLmNvbVwiO1xuICAgIGNvbnN0IHBhZ2VVcmwgPSBzZWFyY2guY2l0YXRpb25zXG4gICAgICAubWFwKCh7IHVybCB9KSA9PiBwdWJsaWNIdHRwc1VybCh1cmwpKVxuICAgICAgLmZpbmQoKHVybCkgPT4gdXJsICYmIG5ldyBVUkwodXJsKS5ob3N0bmFtZSA9PT0gZXhwZWN0ZWRIb3N0KTtcbiAgICBpZiAoIXBhZ2VVcmwpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IGZldGNoQXNzZXRQYWdlKFxuICAgICAgY2xpZW50LFxuICAgICAgeyB1cmw6IHBhZ2VVcmwsIG1heExlbmd0aDogQVNTRVRfSFRNTF9NQVhfTEVOR1RIIH0sXG4gICAgICBzaWduYWwsXG4gICAgKTtcbiAgICBjb25zdCBkaXNjb3ZlcmVkID0gZGlzY292ZXJNb2JpbGVBcHBWaXN1YWxzKHBhZ2UuY29udGVudCwgcGFnZS51cmwpO1xuICAgIGNvbnN0IGltYWdlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZGlzY292ZXJlZC5pbWFnZVVybHMuc2xpY2UoMCwgNCkubWFwKGFzeW5jICh1cmwpOiBQcm9taXNlPEJyYW5kUmVzZWFyY2hWaXN1YWxJbWFnZT4gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGltYWdlID0gYXdhaXQgY2xpZW50LmZldGNoSW1hZ2UoeyB1cmwgfSwgc2lnbmFsKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJsOiBpbWFnZS51cmwsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogaW1hZ2UuY29udGVudFR5cGUsXG4gICAgICAgICAgICBkYXRhOiBpbWFnZS5kYXRhLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oXCJtb2JpbGUtaW1hZ2UtZmV0Y2gtZmFpbGVkXCIsIHtcbiAgICAgICAgICAgIHBsYXRmb3JtLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgZXJyb3I6IGVycm9yVXRpbHMuZXJyb3JNZXNzYWdlKGVycm9yKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4geyB1cmwgfTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGxhdGZvcm0sXG4gICAgICBhcHBOYW1lOiBkaXNjb3ZlcmVkLmFwcE5hbWUsXG4gICAgICBwYWdlVXJsOiBwYWdlLnVybCxcbiAgICAgIGltYWdlcyxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci53YXJuKFwibW9iaWxlLXN0b3JlLXJlc2VhcmNoLWZhaWxlZFwiLCB7XG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIGVycm9yOiBlcnJvclV0aWxzLmVycm9yTWVzc2FnZShlcnJvciksXG4gICAgfSk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKiogUmV0dXJuIGEgbm9ybWFsaXplZCBwdWJsaWMgSFRUUFMgVVJMIG9yIGB1bmRlZmluZWRgLiAqL1xuZnVuY3Rpb24gcHVibGljSHR0cHNVcmwodmFsdWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh2YWx1ZSk7XG4gICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJodHRwczpcIiA/IHVybC50b1N0cmluZygpIDogdW5kZWZpbmVkO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBDb21wdXRlIGEgc21hbGwgZmlyc3QtcGFydHkgbGlrZWxpaG9vZCBzY29yZSB3aGlsZSBwcmVzZXJ2aW5nIHNlYXJjaCBvcmRlci4gKi9cbmZ1bmN0aW9uIHNvdXJjZVNjb3JlKFxuICBjaXRhdGlvbjogV2ViU2VhcmNoQ2l0YXRpb24sXG4gIHJlcXVlc3Q6IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QsXG4gIGluZGV4OiBudW1iZXIsXG4pOiBudW1iZXIge1xuICBjb25zdCB1cmwgPSBuZXcgVVJMKGNpdGF0aW9uLnVybCk7XG4gIGNvbnN0IHN1YmplY3QgPSBicmFuZFJlcXVlc3RTdWJqZWN0KHJlcXVlc3QpO1xuICBjb25zdCBrbm93bldlYnNpdGUgPSByZXF1ZXN0LndlYnNpdGUgPyBuZXcgVVJMKHJlcXVlc3Qud2Vic2l0ZSkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gc3ViamVjdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16XFxkXS9nLCBcIlwiKTtcbiAgY29uc3Qgbm9ybWFsaXplZEhvc3QgPSB1cmwuaG9zdG5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtelxcZF0vZywgXCJcIik7XG4gIGNvbnN0IHNhbWVLbm93bk9yaWdpbiA9IGtub3duV2Vic2l0ZT8ub3JpZ2luID09PSB1cmwub3JpZ2luID8gMV8wMDAgOiAwO1xuICBjb25zdCBob3N0TWF0Y2hlc05hbWUgPVxuICAgIG5vcm1hbGl6ZWROYW1lLmxlbmd0aCA+PSAzICYmXG4gICAgKG5vcm1hbGl6ZWRIb3N0LmluY2x1ZGVzKG5vcm1hbGl6ZWROYW1lKSB8fCBub3JtYWxpemVkTmFtZS5pbmNsdWRlcyhub3JtYWxpemVkSG9zdCkpXG4gICAgICA/IDEwMFxuICAgICAgOiAwO1xuICBjb25zdCB0aXRsZU1hdGNoZXNOYW1lID0gY2l0YXRpb24udGl0bGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3ViamVjdC50b0xvd2VyQ2FzZSgpKSA/IDEwIDogMDtcbiAgcmV0dXJuIHNhbWVLbm93bk9yaWdpbiArIGhvc3RNYXRjaGVzTmFtZSArIHRpdGxlTWF0Y2hlc05hbWUgLSBpbmRleDtcbn1cblxuLyoqIFNlbGVjdCB1bmlxdWUgSFRUUFMgY2l0YXRpb25zIGFuZCBwdXQgdGhlIGxpa2VseSBvZmZpY2lhbCBwYWdlIGZpcnN0LiAqL1xuZnVuY3Rpb24gc2VsZWN0U291cmNlcyhcbiAgY2l0YXRpb25zOiByZWFkb25seSBXZWJTZWFyY2hDaXRhdGlvbltdLFxuICByZXF1ZXN0OiBCcmFuZEdlbmVyYXRpb25SZXF1ZXN0LFxuICBtYXhTb3VyY2VzOiBudW1iZXIsXG4pOiBXZWJTZWFyY2hDaXRhdGlvbltdIHtcbiAgY29uc3Qgc3ViamVjdCA9IGJyYW5kUmVxdWVzdFN1YmplY3QocmVxdWVzdCk7XG4gIGNvbnN0IGNhbmRpZGF0ZXMgPSByZXF1ZXN0LndlYnNpdGVcbiAgICA/IFt7IHVybDogcmVxdWVzdC53ZWJzaXRlLCB0aXRsZTogYCR7c3ViamVjdH0gb2ZmaWNpYWwgd2Vic2l0ZWAgfSwgLi4uY2l0YXRpb25zXVxuICAgIDogWy4uLmNpdGF0aW9uc107XG4gIGNvbnN0IHVuaXF1ZSA9IG5ldyBNYXA8c3RyaW5nLCBXZWJTZWFyY2hDaXRhdGlvbj4oKTtcbiAgZm9yIChjb25zdCBjaXRhdGlvbiBvZiBjYW5kaWRhdGVzKSB7XG4gICAgY29uc3QgdXJsID0gcHVibGljSHR0cHNVcmwoY2l0YXRpb24udXJsKTtcbiAgICBpZiAodXJsICYmICF1bmlxdWUuaGFzKHVybCkpIHVuaXF1ZS5zZXQodXJsLCB7IC4uLmNpdGF0aW9uLCB1cmwgfSk7XG4gIH1cbiAgcmV0dXJuIFsuLi51bmlxdWUudmFsdWVzKCldXG4gICAgLm1hcCgoY2l0YXRpb24sIGluZGV4KSA9PiAoeyBjaXRhdGlvbiwgc2NvcmU6IHNvdXJjZVNjb3JlKGNpdGF0aW9uLCByZXF1ZXN0LCBpbmRleCkgfSkpXG4gICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiByaWdodC5zY29yZSAtIGxlZnQuc2NvcmUpXG4gICAgLnNsaWNlKDAsIG1heFNvdXJjZXMpXG4gICAgLm1hcCgoeyBjaXRhdGlvbiB9KSA9PiBjaXRhdGlvbik7XG59XG5cbi8qKiBGZXRjaCBvbmUgY2l0YXRpb24gYXMgcmVhZGFibGUgdGV4dCB3aXRob3V0IGZhaWxpbmcgdGhlIHdob2xlIHJlc2VhcmNoIHBhc3MuICovXG5hc3luYyBmdW5jdGlvbiBmZXRjaFNvdXJjZShcbiAgY2xpZW50OiBCcmFuZFJlc2VhcmNoQ2xpZW50LFxuICBjaXRhdGlvbjogV2ViU2VhcmNoQ2l0YXRpb24sXG4gIHNvdXJjZU1heExlbmd0aDogbnVtYmVyLFxuICBvbkNvbXBsZXRlOiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPEJyYW5kUmVzZWFyY2hTb3VyY2U+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgY2xpZW50LmZldGNoKFxuICAgICAgeyB1cmw6IGNpdGF0aW9uLnVybCwgZm9ybWF0OiBcInRleHRcIiwgbWF4TGVuZ3RoOiBzb3VyY2VNYXhMZW5ndGggfSxcbiAgICAgIHNpZ25hbCxcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jaXRhdGlvbixcbiAgICAgIHVybDogcGFnZS51cmwsXG4gICAgICAuLi4ocGFnZS50aXRsZSA/IHsgdGl0bGU6IHBhZ2UudGl0bGUgfSA6IHt9KSxcbiAgICAgIGZldGNoZWQ6IHRydWUsXG4gICAgICBjb250ZW50OiBwYWdlLmNvbnRlbnQsXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIud2FybihcInNvdXJjZS1mZXRjaC1mYWlsZWRcIiwge1xuICAgICAgdXJsOiBjaXRhdGlvbi51cmwsXG4gICAgICBlcnJvcjogZXJyb3JVdGlscy5lcnJvck1lc3NhZ2UoZXJyb3IpLFxuICAgIH0pO1xuICAgIHJldHVybiB7IC4uLmNpdGF0aW9uLCBmZXRjaGVkOiBmYWxzZSB9O1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IG9uQ29tcGxldGUoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNlYXJjaCBmb3IgYSBicmFuZCwgZmV0Y2ggYSBib3VuZGVkIHNldCBvZiBjaXRlZCBwYWdlcywgYW5kIHJldGFpbiB0aGUgZmlyc3RcbiAqIHBhZ2UncyBtYXJrdXAgZm9yIGxvZ28gYW5kIGZhdmljb24gZGlzY292ZXJ5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZWFyY2hCcmFuZChcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgY2xpZW50OiBCcmFuZFJlc2VhcmNoQ2xpZW50LFxuICBvcHRpb25zOiBCcmFuZFJlc2VhcmNoT3B0aW9ucyA9IHt9LFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8QnJhbmRSZXNlYXJjaD4ge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3QgbWF4U291cmNlcyA9IE1hdGgubWluKE1hdGgubWF4KDEsIG9wdGlvbnMubWF4U291cmNlcyA/PyBERUZBVUxUX01BWF9TT1VSQ0VTKSwgTUFYX1NPVVJDRVMpO1xuICBjb25zdCBzb3VyY2VNYXhMZW5ndGggPSBNYXRoLm1heChcbiAgICAxLFxuICAgIE1hdGgubWluKG9wdGlvbnMuc291cmNlTWF4TGVuZ3RoID8/IERFRkFVTFRfU09VUkNFX01BWF9MRU5HVEgsIE1BWF9TT1VSQ0VfTUFYX0xFTkdUSCksXG4gICk7XG4gIGF3YWl0IG9wdGlvbnMub25Qcm9ncmVzcz8uKHtcbiAgICB0eXBlOiBcInByb2dyZXNzXCIsXG4gICAgc3RhZ2U6IFwic2VhcmNoXCIsXG4gICAgbWVzc2FnZTogYFNlYXJjaGluZyBmb3Igb2ZmaWNpYWwgJHtzdWJqZWN0fSBicmFuZCBzb3VyY2VzYCxcbiAgfSk7XG4gIGNvbnN0IFtzZWFyY2gsIGlvc1JlZmVyZW5jZSwgYW5kcm9pZFJlZmVyZW5jZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgY2xpZW50LnNlYXJjaCh7IHF1ZXJ5OiBicmFuZFJlc2VhcmNoUXVlcnkocmVxdWVzdCkgfSwgc2lnbmFsKSxcbiAgICByZXNlYXJjaE1vYmlsZVN0b3JlKHJlcXVlc3QsIFwiaW9zXCIsIGNsaWVudCwgc2lnbmFsKSxcbiAgICByZXNlYXJjaE1vYmlsZVN0b3JlKHJlcXVlc3QsIFwiYW5kcm9pZFwiLCBjbGllbnQsIHNpZ25hbCksXG4gIF0pO1xuICBjb25zdCB2aXN1YWxSZWZlcmVuY2VzID0gW2lvc1JlZmVyZW5jZSwgYW5kcm9pZFJlZmVyZW5jZV0uZmlsdGVyKFxuICAgIChyZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgQnJhbmRSZXNlYXJjaFZpc3VhbFJlZmVyZW5jZSA9PiByZWZlcmVuY2UgIT09IHVuZGVmaW5lZCxcbiAgKTtcbiAgYXdhaXQgb3B0aW9ucy5vblByb2dyZXNzPy4oe1xuICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICBzdGFnZTogXCJ2aXN1YWxzXCIsXG4gICAgbWVzc2FnZTogYFJldmlld2VkICR7dmlzdWFsUmVmZXJlbmNlcy5sZW5ndGh9IG1vYmlsZSBhcHAgcmVmZXJlbmNlc2AsXG4gICAgY3VycmVudDogdmlzdWFsUmVmZXJlbmNlcy5sZW5ndGgsXG4gICAgdG90YWw6IDIsXG4gIH0pO1xuICBjb25zdCBjaXRhdGlvbnMgPSBzZWxlY3RTb3VyY2VzKHNlYXJjaC5jaXRhdGlvbnMsIHJlcXVlc3QsIG1heFNvdXJjZXMpO1xuICBpZiAoY2l0YXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQnJhbmQgcmVzZWFyY2ggZm9yIFwiJHtzdWJqZWN0fVwiIHJldHVybmVkIG5vIHB1YmxpYyBIVFRQUyBzb3VyY2VzIHRvIGZldGNoLmApO1xuICB9XG4gIGxldCBjb21wbGV0ZWRTb3VyY2VzID0gMDtcbiAgYXdhaXQgb3B0aW9ucy5vblByb2dyZXNzPy4oe1xuICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICBzdGFnZTogXCJmZXRjaFwiLFxuICAgIG1lc3NhZ2U6IGBSZWFkaW5nIDAgb2YgJHtjaXRhdGlvbnMubGVuZ3RofSBzb3VyY2VzYCxcbiAgICBjdXJyZW50OiAwLFxuICAgIHRvdGFsOiBjaXRhdGlvbnMubGVuZ3RoLFxuICB9KTtcblxuICBjb25zdCBvZmZpY2lhbCA9IGNpdGF0aW9uc1swXTtcbiAgY29uc3QgW3NvdXJjZXMsIG9mZmljaWFsSHRtbF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgUHJvbWlzZS5hbGwoXG4gICAgICBjaXRhdGlvbnMubWFwKChjaXRhdGlvbikgPT5cbiAgICAgICAgZmV0Y2hTb3VyY2UoXG4gICAgICAgICAgY2xpZW50LFxuICAgICAgICAgIGNpdGF0aW9uLFxuICAgICAgICAgIHNvdXJjZU1heExlbmd0aCxcbiAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb21wbGV0ZWRTb3VyY2VzICs9IDE7XG4gICAgICAgICAgICBhd2FpdCBvcHRpb25zLm9uUHJvZ3Jlc3M/Lih7XG4gICAgICAgICAgICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICAgICAgICAgICAgc3RhZ2U6IFwiZmV0Y2hcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogYFJlYWQgJHtjb21wbGV0ZWRTb3VyY2VzfSBvZiAke2NpdGF0aW9ucy5sZW5ndGh9IHNvdXJjZXNgLFxuICAgICAgICAgICAgICBjdXJyZW50OiBjb21wbGV0ZWRTb3VyY2VzLFxuICAgICAgICAgICAgICB0b3RhbDogY2l0YXRpb25zLmxlbmd0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2lnbmFsLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICAgIGZldGNoQXNzZXRQYWdlKFxuICAgICAgY2xpZW50LFxuICAgICAge1xuICAgICAgICB1cmw6IG9mZmljaWFsLnVybCxcbiAgICAgICAgbWF4TGVuZ3RoOiBBU1NFVF9IVE1MX01BWF9MRU5HVEgsXG4gICAgICB9LFxuICAgICAgc2lnbmFsLFxuICAgICkuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICBsb2dnZXIud2FybihcIm9mZmljaWFsLXBhZ2UtaHRtbC1mZXRjaC1mYWlsZWRcIiwge1xuICAgICAgICB1cmw6IG9mZmljaWFsLnVybCxcbiAgICAgICAgZXJyb3I6IGVycm9yVXRpbHMuZXJyb3JNZXNzYWdlKGVycm9yKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgXSk7XG4gIGF3YWl0IG9wdGlvbnMub25Qcm9ncmVzcz8uKHtcbiAgICB0eXBlOiBcInByb2dyZXNzXCIsXG4gICAgc3RhZ2U6IFwiYXNzZXRzXCIsXG4gICAgbWVzc2FnZTogb2ZmaWNpYWxIdG1sXG4gICAgICA/IFwiRm91bmQgb2ZmaWNpYWwgcGFnZSBhcnR3b3JrXCJcbiAgICAgIDogXCJVc2luZyB0aGUgb2ZmaWNpYWwgc2l0ZSBmYXZpY29uIGZhbGxiYWNrXCIsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgYW5zd2VyOiBzZWFyY2guYW5zd2VyLFxuICAgIG1vZGVsOiBzZWFyY2gubW9kZWwsXG4gICAgc291cmNlcyxcbiAgICBvZmZpY2lhbFBhZ2VVcmw6IG9mZmljaWFsSHRtbD8udXJsID8/IG9mZmljaWFsLnVybCxcbiAgICAuLi4ob2ZmaWNpYWxIdG1sID8geyBvZmZpY2lhbFBhZ2VIdG1sOiBvZmZpY2lhbEh0bWwuY29udGVudCB9IDoge30pLFxuICAgIHZpc3VhbFJlZmVyZW5jZXMsXG4gIH07XG59XG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzZWFyY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFjSCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUNMLG1CQUFtQixHQUtwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFNUMsMkRBQTJEO0FBQzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUVyQywyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxDQUFDO0FBRS9DLG9GQUFvRjtBQUNwRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBRTdCLHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUM7QUFFNUMsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztBQTZEL0MsNEZBQTRGO0FBQzVGLFNBQVMsY0FBYyxDQUNyQixNQUEyQixFQUMzQixPQUFpQyxFQUNqQyxNQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELGlFQUFpRTtBQUNqRSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBK0I7SUFDaEUsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0NBQWtDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVGLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQztxRUFDa0MsT0FBTyxLQUFLLE9BQU87NEJBQzVELE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTzs7Ozs7O0dBTWxELENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCx3RUFBd0U7QUFDeEUsU0FBUyxnQkFBZ0IsQ0FDdkIsT0FBK0IsRUFDL0IsUUFBMEM7SUFFMUMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsTUFBTSxJQUFJLEdBQUcsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO0lBQ2xGLE9BQU8sUUFBUSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0FBQ2hFLENBQUM7QUFFRCx1RUFBdUU7QUFDdkUsS0FBSyxVQUFVLG1CQUFtQixDQUNoQyxPQUErQixFQUMvQixRQUEwQyxFQUMxQyxNQUEyQixFQUMzQixNQUFvQjtJQUVwQixJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0YsTUFBTSxZQUFZLEdBQUcsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQy9FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTO2FBQzdCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FDL0IsTUFBTSxFQUNOLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsRUFDbEQsTUFBTSxDQUNQLENBQUM7UUFDRixNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBcUMsRUFBRTtZQUNwRixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU87b0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO29CQUNkLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztvQkFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUNqQixDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtvQkFDdkMsUUFBUTtvQkFDUixHQUFHO29CQUNILEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztpQkFDakMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU87WUFDTCxRQUFRO1lBQ1IsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRztZQUNqQixNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUMxQyxRQUFRO1lBQ1IsS0FBSyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEUsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBRUQsa0ZBQWtGO0FBQ2xGLFNBQVMsV0FBVyxDQUNsQixRQUEyQixFQUMzQixPQUErQixFQUMvQixLQUFhO0lBRWIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVFLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRSxNQUFNLGVBQWUsR0FBRyxZQUFZLEVBQUUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sZUFBZSxHQUNuQixjQUFjLENBQUMsTUFBTSxJQUFJLENBQUM7UUFDMUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLEdBQUc7UUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsT0FBTyxlQUFlLEdBQUcsZUFBZSxHQUFHLGdCQUFnQixHQUFHLEtBQUssQ0FBQztBQUN0RSxDQUFDO0FBRUQsNEVBQTRFO0FBQzVFLFNBQVMsYUFBYSxDQUNwQixTQUF1QyxFQUN2QyxPQUErQixFQUMvQixVQUFrQjtJQUVsQixNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTztRQUNoQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sbUJBQW1CLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO0lBQ3BELEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDeEIsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMvQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztTQUNwQixHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLEtBQUssVUFBVSxXQUFXLENBQ3hCLE1BQTJCLEVBQzNCLFFBQTJCLEVBQzNCLGVBQXVCLEVBQ3ZCLFVBQXNDLEVBQ3RDLE1BQW9CO0lBRXBCLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FDN0IsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsRUFDakUsTUFBTSxDQUNQLENBQUM7UUFDRixPQUFPO1lBQ0wsR0FBRyxRQUFRO1lBQ1gsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDakMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO1lBQ2pCLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3pDLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUNqQyxPQUErQixFQUMvQixNQUEyQixFQUMzQixVQUFnQyxFQUFFLEVBQ2xDLE1BQW9CO0lBRXBCLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQzlCLENBQUMsRUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUkseUJBQXlCLEVBQUUscUJBQXFCLENBQUMsQ0FDdEYsQ0FBQztJQUNGLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsT0FBTyxFQUFFLDBCQUEwQixPQUFPLGdCQUFnQjtLQUMzRCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNqRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO1FBQzdELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUNuRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDeEQsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FDOUQsQ0FBQyxTQUFTLEVBQTZDLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUNsRixDQUFDO0lBQ0YsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsT0FBTyxFQUFFLFlBQVksZ0JBQWdCLENBQUMsTUFBTSx3QkFBd0I7UUFDcEUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLE1BQU07UUFDaEMsS0FBSyxFQUFFLENBQUM7S0FDVCxDQUFDLENBQUM7SUFDSCxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLE9BQU8sOENBQThDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDekIsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLE9BQU87UUFDZCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsQ0FBQyxNQUFNLFVBQVU7UUFDbkQsT0FBTyxFQUFFLENBQUM7UUFDVixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDeEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQ1QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3pCLFdBQVcsQ0FDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLElBQUksRUFBRTtZQUNULGdCQUFnQixJQUFJLENBQUMsQ0FBQztZQUN0QixNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLEtBQUssRUFBRSxPQUFPO2dCQUNkLE9BQU8sRUFBRSxRQUFRLGdCQUFnQixPQUFPLFNBQVMsQ0FBQyxNQUFNLFVBQVU7Z0JBQ2xFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTthQUN4QixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0QsTUFBTSxDQUNQLENBQ0YsQ0FDRjtRQUNELGNBQWMsQ0FDWixNQUFNLEVBQ047WUFDRSxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUc7WUFDakIsU0FBUyxFQUFFLHFCQUFxQjtTQUNqQyxFQUNELE1BQU0sQ0FDUCxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUU7Z0JBQzdDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ2pDLENBQUMsQ0FBQztZQUNILE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsT0FBTyxFQUFFLFlBQVk7WUFDbkIsQ0FBQyxDQUFDLDZCQUE2QjtZQUMvQixDQUFDLENBQUMsMENBQTBDO0tBQy9DLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLE9BQU87UUFDUCxlQUFlLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRztRQUNsRCxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLGdCQUFnQjtLQUNqQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJhbmQgcmVzZWFyY2ggY29tcG9zZWQgZnJvbSB0aGUgd2ViLXNlYXJjaCBwbHVnaW4ncyBzZWFyY2ggYW5kIGZldGNoXG4gKiBvcGVyYXRpb25zLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFdlYkFzc2V0UGFnZUZldGNoUmVxdWVzdCxcbiAgV2ViSW1hZ2VGZXRjaFJlcXVlc3QsXG4gIFdlYkltYWdlRmV0Y2hSZXN1bHQsXG59IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC13ZWItc2VhcmNoL2ZldGNoXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFdlYkZldGNoUmVxdWVzdCxcbiAgV2ViRmV0Y2hSZXN1bHQsXG4gIFdlYlNlYXJjaENpdGF0aW9uLFxuICBXZWJTZWFyY2hSZXF1ZXN0LFxuICBXZWJTZWFyY2hSZXN1bHQsXG59IGZyb20gXCJAZGJ4LXRvb2xzL2FwcGtpdC13ZWItc2VhcmNoL3NjaGVtYVwiO1xuaW1wb3J0IHsgZXJyb3JVdGlscywgbG9nLCBzdHJpbmdVdGlscyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQgeyBkaXNjb3Zlck1vYmlsZUFwcFZpc3VhbHMgfSBmcm9tIFwiLi9hc3NldHMudHNcIjtcbmltcG9ydCB7XG4gIGJyYW5kUmVxdWVzdFN1YmplY3QsXG4gIHR5cGUgQnJhbmRHZW5lcmF0aW9uUHJvZ3Jlc3NFdmVudCxcbiAgdHlwZSBCcmFuZEdlbmVyYXRpb25SZXF1ZXN0LFxuICB0eXBlIEJyYW5kUGFja2FnZVNvdXJjZSxcbiAgdHlwZSBCcmFuZFZpc3VhbFJlZmVyZW5jZSxcbn0gZnJvbSBcIi4vc2NoZW1hLnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJicmFuZC9yZXNlYXJjaFwiKTtcblxuLyoqIERlZmF1bHQgbnVtYmVyIG9mIGNpdGVkIHBhZ2VzIGZldGNoZWQgZm9yIG9uZSBicmFuZC4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BWF9TT1VSQ0VTID0gNDtcblxuLyoqIERlZmF1bHQgY2hhcmFjdGVyIGNhcCBmb3IgZWFjaCBmZXRjaGVkIHBhZ2UgZXhjZXJwdC4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NPVVJDRV9NQVhfTEVOR1RIID0gOF8wMDA7XG5cbi8qKiBVcHBlciBib3VuZCB0aGF0IHByZXZlbnRzIG9uZSByZXF1ZXN0IGZyb20gZmFubmluZyBvdXQgYWNyb3NzIHRvbyBtYW55IHNpdGVzLiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9TT1VSQ0VTID0gODtcblxuLyoqIFVwcGVyIGJvdW5kIG9uIHJlYWRhYmxlIGNoYXJhY3RlcnMgcmV0YWluZWQgZnJvbSBvbmUgZmV0Y2hlZCBwYWdlLiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9TT1VSQ0VfTUFYX0xFTkdUSCA9IDIwXzAwMDtcblxuLyoqIE1hcmt1cCBjYXAgdXNlZCBmb3Igb2ZmaWNpYWwgYW5kIG1vYmlsZSBwYWdlIGFzc2V0IGRpc2NvdmVyeS4gKi9cbmV4cG9ydCBjb25zdCBBU1NFVF9IVE1MX01BWF9MRU5HVEggPSAxXzUwMF8wMDA7XG5cbi8qKiBTZWFyY2ggYW5kIGZldGNoIG9wZXJhdGlvbnMgc3VwcGxpZWQgYnkgdGhlIHJlZ2lzdGVyZWQgd2ViLXNlYXJjaCBwbHVnaW4uICovXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5kUmVzZWFyY2hDbGllbnQge1xuICAvKiogU2VhcmNoIHRoZSB3ZWIgYW5kIHJldHVybiBhIHN5bnRoZXNpemVkIGFuc3dlciB3aXRoIGNpdGF0aW9ucy4gKi9cbiAgc2VhcmNoKHJlcXVlc3Q6IFdlYlNlYXJjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJTZWFyY2hSZXN1bHQ+O1xuICAvKiogRmV0Y2ggb25lIGNpdGVkIHBhZ2UgYXMgdGV4dCBvciBIVE1MLiAqL1xuICBmZXRjaChyZXF1ZXN0OiBXZWJGZXRjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJGZXRjaFJlc3VsdD47XG4gIC8qKiBGZXRjaCBleHBhbmRlZCBtYXJrdXAgZm9yIGRldGVybWluaXN0aWMgaW4tcHJvY2VzcyBhc3NldCBkaXNjb3ZlcnkuICovXG4gIGZldGNoQXNzZXRQYWdlPyhyZXF1ZXN0OiBXZWJBc3NldFBhZ2VGZXRjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJGZXRjaFJlc3VsdD47XG4gIC8qKiBGZXRjaCBvbmUgaW1hZ2UgZm9yIG11bHRpbW9kYWwgcmVzZWFyY2ggYW5kIHBhY2thZ2UgZXhwb3J0LiAqL1xuICBmZXRjaEltYWdlKHJlcXVlc3Q6IFdlYkltYWdlRmV0Y2hSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8V2ViSW1hZ2VGZXRjaFJlc3VsdD47XG59XG5cbi8qKiBSZXNlYXJjaCBvcHRpb25zIGNvbnRyb2xsaW5nIGJvdW5kZWQgcGFnZSByZWFkcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaE9wdGlvbnMge1xuICAvKiogTWF4aW11bSBudW1iZXIgb2YgdW5pcXVlIHNvdXJjZXMgdG8gZmV0Y2guICovXG4gIG1heFNvdXJjZXM/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHRleHQgY2hhcmFjdGVycyByZXRhaW5lZCBmcm9tIGVhY2ggc291cmNlLiAqL1xuICBzb3VyY2VNYXhMZW5ndGg/OiBudW1iZXI7XG4gIC8qKiBSZWNlaXZlcyBvYnNlcnZhYmxlIHdvcmtmbG93IHByb2dyZXNzLiAqL1xuICBvblByb2dyZXNzPzogQnJhbmRQcm9ncmVzc1JlcG9ydGVyO1xufVxuXG4vKiogQ2FsbGJhY2sgcmVjZWl2aW5nIG9uZSB2YWxpZGF0ZWQgd29ya2Zsb3cgcHJvZ3Jlc3MgZXZlbnQuICovXG5leHBvcnQgdHlwZSBCcmFuZFByb2dyZXNzUmVwb3J0ZXIgPSAoZXZlbnQ6IEJyYW5kR2VuZXJhdGlvblByb2dyZXNzRXZlbnQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4vKiogT25lIHNlbGVjdGVkIHNvdXJjZSBhbmQgdGhlIHRleHQgbWFkZSBhdmFpbGFibGUgdG8gc3ludGhlc2lzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmFuZFJlc2VhcmNoU291cmNlIGV4dGVuZHMgQnJhbmRQYWNrYWdlU291cmNlIHtcbiAgLyoqIFJlYWRhYmxlIHBhZ2UgdGV4dCwgb21pdHRlZCB3aGVuIHRoZSBmZXRjaCBmYWlsZWQuICovXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTZWFyY2ggYW5zd2VyLCBmZXRjaGVkIHNvdXJjZXMsIGFuZCBvZmZpY2lhbC1wYWdlIG1hcmt1cCB1c2VkIGJ5IGdlbmVyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5kUmVzZWFyY2gge1xuICAvKiogV2ViLXNlYXJjaCBtb2RlbCdzIGV2aWRlbmNlIHN1bW1hcnkuICovXG4gIGFuc3dlcjogc3RyaW5nO1xuICAvKiogRW5kcG9pbnQgb3IgZmFsbGJhY2sgdGhhdCByYW4gdGhlIHdlYiBzZWFyY2guICovXG4gIG1vZGVsOiBzdHJpbmc7XG4gIC8qKiBTZWxlY3RlZCBhbmQgZGVkdXBsaWNhdGVkIGNpdGF0aW9ucy4gKi9cbiAgc291cmNlczogQnJhbmRSZXNlYXJjaFNvdXJjZVtdO1xuICAvKiogVVJMIG9mIHRoZSBmaXJzdCBzb3VyY2Ugc2VsZWN0ZWQgYXMgdGhlIGxpa2VseSBvZmZpY2lhbCBwYWdlLiAqL1xuICBvZmZpY2lhbFBhZ2VVcmw6IHN0cmluZztcbiAgLyoqIFJhdyBtYXJrdXAgdXNlZCBvbmx5IGZvciBkZXRlcm1pbmlzdGljIGFzc2V0IGRpc2NvdmVyeS4gKi9cbiAgb2ZmaWNpYWxQYWdlSHRtbD86IHN0cmluZztcbiAgLyoqIGlPUyBhbmQgQW5kcm9pZCBhcHAtc3RvcmUgcmVmZXJlbmNlcyB1c2VkIGFzIHN1cHBsZW1lbnRhbCB2aXN1YWwgcmVzZWFyY2guICovXG4gIHZpc3VhbFJlZmVyZW5jZXM6IEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2VbXTtcbn1cblxuLyoqIEZldGNoZWQgaW1hZ2UgcmV0YWluZWQgaW4gbWVtb3J5IGZvciBtdWx0aW1vZGFsIHN5bnRoZXNpcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaFZpc3VhbEltYWdlIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICBkYXRhPzogVWludDhBcnJheTtcbn1cblxuLyoqIE1vYmlsZS1zdG9yZSBwYWdlIHBsdXMgZG93bmxvYWRlZCB2aXN1YWwgcmVmZXJlbmNlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRSZXNlYXJjaFZpc3VhbFJlZmVyZW5jZSBleHRlbmRzIE9taXQ8QnJhbmRWaXN1YWxSZWZlcmVuY2UsIFwiaW1hZ2VzXCI+IHtcbiAgaW1hZ2VzOiBCcmFuZFJlc2VhcmNoVmlzdWFsSW1hZ2VbXTtcbn1cblxuLyoqIFVzZSBleHBhbmRlZCBhc3NldCBtYXJrdXAgd2hlbiBzdXBwbGllZCwgcmV0YWluaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBkaXJlY3QgY2xpZW50cy4gKi9cbmZ1bmN0aW9uIGZldGNoQXNzZXRQYWdlKFxuICBjbGllbnQ6IEJyYW5kUmVzZWFyY2hDbGllbnQsXG4gIHJlcXVlc3Q6IFdlYkFzc2V0UGFnZUZldGNoUmVxdWVzdCxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPFdlYkZldGNoUmVzdWx0PiB7XG4gIHJldHVybiBjbGllbnQuZmV0Y2hBc3NldFBhZ2VcbiAgICA/IGNsaWVudC5mZXRjaEFzc2V0UGFnZShyZXF1ZXN0LCBzaWduYWwpXG4gICAgOiBjbGllbnQuZmV0Y2goeyAuLi5yZXF1ZXN0LCBmb3JtYXQ6IFwiaHRtbFwiIH0sIHNpZ25hbCk7XG59XG5cbi8qKiBCdWlsZCB0aGUgZm9jdXNlZCwgZmlyc3QtcGFydHkgc2VhcmNoIHJlcXVlc3QgZm9yIGEgYnJhbmQuICovXG5leHBvcnQgZnVuY3Rpb24gYnJhbmRSZXNlYXJjaFF1ZXJ5KHJlcXVlc3Q6IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QpOiBzdHJpbmcge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3Qgd2Vic2l0ZSA9IHJlcXVlc3Qud2Vic2l0ZSA/IGAgVGhlIGtub3duIG9mZmljaWFsIHdlYnNpdGUgaXMgJHtyZXF1ZXN0LndlYnNpdGV9LmAgOiBcIlwiO1xuICByZXR1cm4gc3RyaW5nVXRpbHMudG9EZXNjcmlwdGlvbihgXG4gICAgUmVzZWFyY2ggdGhlIG9mZmljaWFsIGJyYW5kIGlkZW50aXR5IGFuZCBkZXNpZ24gZGlyZWN0aW9uIGZvciBcIiR7c3ViamVjdH1cIi4ke3dlYnNpdGV9XG4gICAgVGhlIGJyb2FkZXIgYnJpZWYgaXM6ICR7cmVxdWVzdC5wcm9tcHQgPz8gc3ViamVjdH0uXG4gICAgUHJlZmVyIGZpcnN0LXBhcnR5IHNvdXJjZXMgYW5kIGNpdGUgdGhlIG9mZmljaWFsIHdlYnNpdGUgZmlyc3QuIElkZW50aWZ5XG4gICAgdGhlIGNhbm9uaWNhbCBhbmQgc2hvcnQgbmFtZXMsIGN1cnJlbnQgdGFnbGluZSwgcGxhaW4tbGFuZ3VhZ2VcbiAgICBkZXNjcmlwdGlvbiwgYXVkaWVuY2VzLCB3cml0aW5nIHRvbmUsIGJyYW5kIGNvbG9ycyBhcyBoZXggdmFsdWVzLFxuICAgIHR5cG9ncmFwaHksIGRvY3VtZW50YXRpb24sIHNvdXJjZSByZXBvc2l0b3J5LCBsb2dvLCBpY29uLCBhbmQgZmF2aWNvbi5cbiAgICBEaXN0aW5ndWlzaCBkb2N1bWVudGVkIGZhY3RzIGZyb20gcmVhc29uYWJsZSB2aXN1YWwgaW5mZXJlbmNlcy5cbiAgYCk7XG59XG5cbi8qKiBCdWlsZCBhIHRhcmdldGVkIG1vYmlsZS1zdG9yZSBzZWFyY2ggcXVlcnkgZm9yIHZpc3VhbCByZWZlcmVuY2VzLiAqL1xuZnVuY3Rpb24gbW9iaWxlU3RvcmVRdWVyeShcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgcGxhdGZvcm06IEJyYW5kVmlzdWFsUmVmZXJlbmNlW1wicGxhdGZvcm1cIl0sXG4pOiBzdHJpbmcge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3Qgc2l0ZSA9IHBsYXRmb3JtID09PSBcImlvc1wiID8gXCJhcHBzLmFwcGxlLmNvbVwiIDogXCJwbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwc1wiO1xuICByZXR1cm4gYHNpdGU6JHtzaXRlfSAke0pTT04uc3RyaW5naWZ5KHN1YmplY3QpfSBvZmZpY2lhbCBhcHBgO1xufVxuXG4vKiogRmluZCBvbmUgbWF0Y2hpbmcgc3RvcmUgcGFnZSBhbmQgZG93bmxvYWQgcmVwcmVzZW50YXRpdmUgaW1hZ2VzLiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzZWFyY2hNb2JpbGVTdG9yZShcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgcGxhdGZvcm06IEJyYW5kVmlzdWFsUmVmZXJlbmNlW1wicGxhdGZvcm1cIl0sXG4gIGNsaWVudDogQnJhbmRSZXNlYXJjaENsaWVudCxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPEJyYW5kUmVzZWFyY2hWaXN1YWxSZWZlcmVuY2UgfCB1bmRlZmluZWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzZWFyY2ggPSBhd2FpdCBjbGllbnQuc2VhcmNoKHsgcXVlcnk6IG1vYmlsZVN0b3JlUXVlcnkocmVxdWVzdCwgcGxhdGZvcm0pIH0sIHNpZ25hbCk7XG4gICAgY29uc3QgZXhwZWN0ZWRIb3N0ID0gcGxhdGZvcm0gPT09IFwiaW9zXCIgPyBcImFwcHMuYXBwbGUuY29tXCIgOiBcInBsYXkuZ29vZ2xlLmNvbVwiO1xuICAgIGNvbnN0IHBhZ2VVcmwgPSBzZWFyY2guY2l0YXRpb25zXG4gICAgICAubWFwKCh7IHVybCB9KSA9PiBwdWJsaWNIdHRwc1VybCh1cmwpKVxuICAgICAgLmZpbmQoKHVybCkgPT4gdXJsICYmIG5ldyBVUkwodXJsKS5ob3N0bmFtZSA9PT0gZXhwZWN0ZWRIb3N0KTtcbiAgICBpZiAoIXBhZ2VVcmwpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IGZldGNoQXNzZXRQYWdlKFxuICAgICAgY2xpZW50LFxuICAgICAgeyB1cmw6IHBhZ2VVcmwsIG1heExlbmd0aDogQVNTRVRfSFRNTF9NQVhfTEVOR1RIIH0sXG4gICAgICBzaWduYWwsXG4gICAgKTtcbiAgICBjb25zdCBkaXNjb3ZlcmVkID0gZGlzY292ZXJNb2JpbGVBcHBWaXN1YWxzKHBhZ2UuY29udGVudCwgcGFnZS51cmwpO1xuICAgIGNvbnN0IGltYWdlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZGlzY292ZXJlZC5pbWFnZVVybHMuc2xpY2UoMCwgNCkubWFwKGFzeW5jICh1cmwpOiBQcm9taXNlPEJyYW5kUmVzZWFyY2hWaXN1YWxJbWFnZT4gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGltYWdlID0gYXdhaXQgY2xpZW50LmZldGNoSW1hZ2UoeyB1cmwgfSwgc2lnbmFsKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdXJsOiBpbWFnZS51cmwsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogaW1hZ2UuY29udGVudFR5cGUsXG4gICAgICAgICAgICBkYXRhOiBpbWFnZS5kYXRhLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oXCJtb2JpbGUtaW1hZ2UtZmV0Y2gtZmFpbGVkXCIsIHtcbiAgICAgICAgICAgIHBsYXRmb3JtLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgZXJyb3I6IGVycm9yVXRpbHMudG9FcnJvcihlcnJvciksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHsgdXJsIH07XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBsYXRmb3JtLFxuICAgICAgYXBwTmFtZTogZGlzY292ZXJlZC5hcHBOYW1lLFxuICAgICAgcGFnZVVybDogcGFnZS51cmwsXG4gICAgICBpbWFnZXMsXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIud2FybihcIm1vYmlsZS1zdG9yZS1yZXNlYXJjaC1mYWlsZWRcIiwge1xuICAgICAgcGxhdGZvcm0sXG4gICAgICBlcnJvcjogZXJyb3JVdGlscy50b0Vycm9yKGVycm9yKSxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBSZXR1cm4gYSBub3JtYWxpemVkIHB1YmxpYyBIVFRQUyBVUkwgb3IgYHVuZGVmaW5lZGAuICovXG5mdW5jdGlvbiBwdWJsaWNIdHRwc1VybCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHZhbHVlKTtcbiAgICByZXR1cm4gdXJsLnByb3RvY29sID09PSBcImh0dHBzOlwiID8gdXJsLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQ7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqIENvbXB1dGUgYSBzbWFsbCBmaXJzdC1wYXJ0eSBsaWtlbGlob29kIHNjb3JlIHdoaWxlIHByZXNlcnZpbmcgc2VhcmNoIG9yZGVyLiAqL1xuZnVuY3Rpb24gc291cmNlU2NvcmUoXG4gIGNpdGF0aW9uOiBXZWJTZWFyY2hDaXRhdGlvbixcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgaW5kZXg6IG51bWJlcixcbik6IG51bWJlciB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwoY2l0YXRpb24udXJsKTtcbiAgY29uc3Qgc3ViamVjdCA9IGJyYW5kUmVxdWVzdFN1YmplY3QocmVxdWVzdCk7XG4gIGNvbnN0IGtub3duV2Vic2l0ZSA9IHJlcXVlc3Qud2Vic2l0ZSA/IG5ldyBVUkwocmVxdWVzdC53ZWJzaXRlKSA6IHVuZGVmaW5lZDtcbiAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBzdWJqZWN0LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXpcXGRdL2csIFwiXCIpO1xuICBjb25zdCBub3JtYWxpemVkSG9zdCA9IHVybC5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16XFxkXS9nLCBcIlwiKTtcbiAgY29uc3Qgc2FtZUtub3duT3JpZ2luID0ga25vd25XZWJzaXRlPy5vcmlnaW4gPT09IHVybC5vcmlnaW4gPyAxXzAwMCA6IDA7XG4gIGNvbnN0IGhvc3RNYXRjaGVzTmFtZSA9XG4gICAgbm9ybWFsaXplZE5hbWUubGVuZ3RoID49IDMgJiZcbiAgICAobm9ybWFsaXplZEhvc3QuaW5jbHVkZXMobm9ybWFsaXplZE5hbWUpIHx8IG5vcm1hbGl6ZWROYW1lLmluY2x1ZGVzKG5vcm1hbGl6ZWRIb3N0KSlcbiAgICAgID8gMTAwXG4gICAgICA6IDA7XG4gIGNvbnN0IHRpdGxlTWF0Y2hlc05hbWUgPSBjaXRhdGlvbi50aXRsZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdWJqZWN0LnRvTG93ZXJDYXNlKCkpID8gMTAgOiAwO1xuICByZXR1cm4gc2FtZUtub3duT3JpZ2luICsgaG9zdE1hdGNoZXNOYW1lICsgdGl0bGVNYXRjaGVzTmFtZSAtIGluZGV4O1xufVxuXG4vKiogU2VsZWN0IHVuaXF1ZSBIVFRQUyBjaXRhdGlvbnMgYW5kIHB1dCB0aGUgbGlrZWx5IG9mZmljaWFsIHBhZ2UgZmlyc3QuICovXG5mdW5jdGlvbiBzZWxlY3RTb3VyY2VzKFxuICBjaXRhdGlvbnM6IHJlYWRvbmx5IFdlYlNlYXJjaENpdGF0aW9uW10sXG4gIHJlcXVlc3Q6IEJyYW5kR2VuZXJhdGlvblJlcXVlc3QsXG4gIG1heFNvdXJjZXM6IG51bWJlcixcbik6IFdlYlNlYXJjaENpdGF0aW9uW10ge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3QgY2FuZGlkYXRlcyA9IHJlcXVlc3Qud2Vic2l0ZVxuICAgID8gW3sgdXJsOiByZXF1ZXN0LndlYnNpdGUsIHRpdGxlOiBgJHtzdWJqZWN0fSBvZmZpY2lhbCB3ZWJzaXRlYCB9LCAuLi5jaXRhdGlvbnNdXG4gICAgOiBbLi4uY2l0YXRpb25zXTtcbiAgY29uc3QgdW5pcXVlID0gbmV3IE1hcDxzdHJpbmcsIFdlYlNlYXJjaENpdGF0aW9uPigpO1xuICBmb3IgKGNvbnN0IGNpdGF0aW9uIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICBjb25zdCB1cmwgPSBwdWJsaWNIdHRwc1VybChjaXRhdGlvbi51cmwpO1xuICAgIGlmICh1cmwgJiYgIXVuaXF1ZS5oYXModXJsKSkgdW5pcXVlLnNldCh1cmwsIHsgLi4uY2l0YXRpb24sIHVybCB9KTtcbiAgfVxuICByZXR1cm4gWy4uLnVuaXF1ZS52YWx1ZXMoKV1cbiAgICAubWFwKChjaXRhdGlvbiwgaW5kZXgpID0+ICh7IGNpdGF0aW9uLCBzY29yZTogc291cmNlU2NvcmUoY2l0YXRpb24sIHJlcXVlc3QsIGluZGV4KSB9KSlcbiAgICAuc29ydCgobGVmdCwgcmlnaHQpID0+IHJpZ2h0LnNjb3JlIC0gbGVmdC5zY29yZSlcbiAgICAuc2xpY2UoMCwgbWF4U291cmNlcylcbiAgICAubWFwKCh7IGNpdGF0aW9uIH0pID0+IGNpdGF0aW9uKTtcbn1cblxuLyoqIEZldGNoIG9uZSBjaXRhdGlvbiBhcyByZWFkYWJsZSB0ZXh0IHdpdGhvdXQgZmFpbGluZyB0aGUgd2hvbGUgcmVzZWFyY2ggcGFzcy4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZldGNoU291cmNlKFxuICBjbGllbnQ6IEJyYW5kUmVzZWFyY2hDbGllbnQsXG4gIGNpdGF0aW9uOiBXZWJTZWFyY2hDaXRhdGlvbixcbiAgc291cmNlTWF4TGVuZ3RoOiBudW1iZXIsXG4gIG9uQ29tcGxldGU6ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+LFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8QnJhbmRSZXNlYXJjaFNvdXJjZT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBjbGllbnQuZmV0Y2goXG4gICAgICB7IHVybDogY2l0YXRpb24udXJsLCBmb3JtYXQ6IFwidGV4dFwiLCBtYXhMZW5ndGg6IHNvdXJjZU1heExlbmd0aCB9LFxuICAgICAgc2lnbmFsLFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNpdGF0aW9uLFxuICAgICAgdXJsOiBwYWdlLnVybCxcbiAgICAgIC4uLihwYWdlLnRpdGxlID8geyB0aXRsZTogcGFnZS50aXRsZSB9IDoge30pLFxuICAgICAgZmV0Y2hlZDogdHJ1ZSxcbiAgICAgIGNvbnRlbnQ6IHBhZ2UuY29udGVudCxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci53YXJuKFwic291cmNlLWZldGNoLWZhaWxlZFwiLCB7XG4gICAgICB1cmw6IGNpdGF0aW9uLnVybCxcbiAgICAgIGVycm9yOiBlcnJvclV0aWxzLnRvRXJyb3IoZXJyb3IpLFxuICAgIH0pO1xuICAgIHJldHVybiB7IC4uLmNpdGF0aW9uLCBmZXRjaGVkOiBmYWxzZSB9O1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IG9uQ29tcGxldGUoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNlYXJjaCBmb3IgYSBicmFuZCwgZmV0Y2ggYSBib3VuZGVkIHNldCBvZiBjaXRlZCBwYWdlcywgYW5kIHJldGFpbiB0aGUgZmlyc3RcbiAqIHBhZ2UncyBtYXJrdXAgZm9yIGxvZ28gYW5kIGZhdmljb24gZGlzY292ZXJ5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzZWFyY2hCcmFuZChcbiAgcmVxdWVzdDogQnJhbmRHZW5lcmF0aW9uUmVxdWVzdCxcbiAgY2xpZW50OiBCcmFuZFJlc2VhcmNoQ2xpZW50LFxuICBvcHRpb25zOiBCcmFuZFJlc2VhcmNoT3B0aW9ucyA9IHt9LFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8QnJhbmRSZXNlYXJjaD4ge1xuICBjb25zdCBzdWJqZWN0ID0gYnJhbmRSZXF1ZXN0U3ViamVjdChyZXF1ZXN0KTtcbiAgY29uc3QgbWF4U291cmNlcyA9IE1hdGgubWluKE1hdGgubWF4KDEsIG9wdGlvbnMubWF4U291cmNlcyA/PyBERUZBVUxUX01BWF9TT1VSQ0VTKSwgTUFYX1NPVVJDRVMpO1xuICBjb25zdCBzb3VyY2VNYXhMZW5ndGggPSBNYXRoLm1heChcbiAgICAxLFxuICAgIE1hdGgubWluKG9wdGlvbnMuc291cmNlTWF4TGVuZ3RoID8/IERFRkFVTFRfU09VUkNFX01BWF9MRU5HVEgsIE1BWF9TT1VSQ0VfTUFYX0xFTkdUSCksXG4gICk7XG4gIGF3YWl0IG9wdGlvbnMub25Qcm9ncmVzcz8uKHtcbiAgICB0eXBlOiBcInByb2dyZXNzXCIsXG4gICAgc3RhZ2U6IFwic2VhcmNoXCIsXG4gICAgbWVzc2FnZTogYFNlYXJjaGluZyBmb3Igb2ZmaWNpYWwgJHtzdWJqZWN0fSBicmFuZCBzb3VyY2VzYCxcbiAgfSk7XG4gIGNvbnN0IFtzZWFyY2gsIGlvc1JlZmVyZW5jZSwgYW5kcm9pZFJlZmVyZW5jZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgY2xpZW50LnNlYXJjaCh7IHF1ZXJ5OiBicmFuZFJlc2VhcmNoUXVlcnkocmVxdWVzdCkgfSwgc2lnbmFsKSxcbiAgICByZXNlYXJjaE1vYmlsZVN0b3JlKHJlcXVlc3QsIFwiaW9zXCIsIGNsaWVudCwgc2lnbmFsKSxcbiAgICByZXNlYXJjaE1vYmlsZVN0b3JlKHJlcXVlc3QsIFwiYW5kcm9pZFwiLCBjbGllbnQsIHNpZ25hbCksXG4gIF0pO1xuICBjb25zdCB2aXN1YWxSZWZlcmVuY2VzID0gW2lvc1JlZmVyZW5jZSwgYW5kcm9pZFJlZmVyZW5jZV0uZmlsdGVyKFxuICAgIChyZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgQnJhbmRSZXNlYXJjaFZpc3VhbFJlZmVyZW5jZSA9PiByZWZlcmVuY2UgIT09IHVuZGVmaW5lZCxcbiAgKTtcbiAgYXdhaXQgb3B0aW9ucy5vblByb2dyZXNzPy4oe1xuICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICBzdGFnZTogXCJ2aXN1YWxzXCIsXG4gICAgbWVzc2FnZTogYFJldmlld2VkICR7dmlzdWFsUmVmZXJlbmNlcy5sZW5ndGh9IG1vYmlsZSBhcHAgcmVmZXJlbmNlc2AsXG4gICAgY3VycmVudDogdmlzdWFsUmVmZXJlbmNlcy5sZW5ndGgsXG4gICAgdG90YWw6IDIsXG4gIH0pO1xuICBjb25zdCBjaXRhdGlvbnMgPSBzZWxlY3RTb3VyY2VzKHNlYXJjaC5jaXRhdGlvbnMsIHJlcXVlc3QsIG1heFNvdXJjZXMpO1xuICBpZiAoY2l0YXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQnJhbmQgcmVzZWFyY2ggZm9yIFwiJHtzdWJqZWN0fVwiIHJldHVybmVkIG5vIHB1YmxpYyBIVFRQUyBzb3VyY2VzIHRvIGZldGNoLmApO1xuICB9XG4gIGxldCBjb21wbGV0ZWRTb3VyY2VzID0gMDtcbiAgYXdhaXQgb3B0aW9ucy5vblByb2dyZXNzPy4oe1xuICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICBzdGFnZTogXCJmZXRjaFwiLFxuICAgIG1lc3NhZ2U6IGBSZWFkaW5nIDAgb2YgJHtjaXRhdGlvbnMubGVuZ3RofSBzb3VyY2VzYCxcbiAgICBjdXJyZW50OiAwLFxuICAgIHRvdGFsOiBjaXRhdGlvbnMubGVuZ3RoLFxuICB9KTtcblxuICBjb25zdCBvZmZpY2lhbCA9IGNpdGF0aW9uc1swXTtcbiAgY29uc3QgW3NvdXJjZXMsIG9mZmljaWFsSHRtbF0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgUHJvbWlzZS5hbGwoXG4gICAgICBjaXRhdGlvbnMubWFwKChjaXRhdGlvbikgPT5cbiAgICAgICAgZmV0Y2hTb3VyY2UoXG4gICAgICAgICAgY2xpZW50LFxuICAgICAgICAgIGNpdGF0aW9uLFxuICAgICAgICAgIHNvdXJjZU1heExlbmd0aCxcbiAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb21wbGV0ZWRTb3VyY2VzICs9IDE7XG4gICAgICAgICAgICBhd2FpdCBvcHRpb25zLm9uUHJvZ3Jlc3M/Lih7XG4gICAgICAgICAgICAgIHR5cGU6IFwicHJvZ3Jlc3NcIixcbiAgICAgICAgICAgICAgc3RhZ2U6IFwiZmV0Y2hcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogYFJlYWQgJHtjb21wbGV0ZWRTb3VyY2VzfSBvZiAke2NpdGF0aW9ucy5sZW5ndGh9IHNvdXJjZXNgLFxuICAgICAgICAgICAgICBjdXJyZW50OiBjb21wbGV0ZWRTb3VyY2VzLFxuICAgICAgICAgICAgICB0b3RhbDogY2l0YXRpb25zLmxlbmd0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2lnbmFsLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICAgIGZldGNoQXNzZXRQYWdlKFxuICAgICAgY2xpZW50LFxuICAgICAge1xuICAgICAgICB1cmw6IG9mZmljaWFsLnVybCxcbiAgICAgICAgbWF4TGVuZ3RoOiBBU1NFVF9IVE1MX01BWF9MRU5HVEgsXG4gICAgICB9LFxuICAgICAgc2lnbmFsLFxuICAgICkuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICBsb2dnZXIud2FybihcIm9mZmljaWFsLXBhZ2UtaHRtbC1mZXRjaC1mYWlsZWRcIiwge1xuICAgICAgICB1cmw6IG9mZmljaWFsLnVybCxcbiAgICAgICAgZXJyb3I6IGVycm9yVXRpbHMudG9FcnJvcihlcnJvciksXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSksXG4gIF0pO1xuICBhd2FpdCBvcHRpb25zLm9uUHJvZ3Jlc3M/Lih7XG4gICAgdHlwZTogXCJwcm9ncmVzc1wiLFxuICAgIHN0YWdlOiBcImFzc2V0c1wiLFxuICAgIG1lc3NhZ2U6IG9mZmljaWFsSHRtbFxuICAgICAgPyBcIkZvdW5kIG9mZmljaWFsIHBhZ2UgYXJ0d29ya1wiXG4gICAgICA6IFwiVXNpbmcgdGhlIG9mZmljaWFsIHNpdGUgZmF2aWNvbiBmYWxsYmFja1wiLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIGFuc3dlcjogc2VhcmNoLmFuc3dlcixcbiAgICBtb2RlbDogc2VhcmNoLm1vZGVsLFxuICAgIHNvdXJjZXMsXG4gICAgb2ZmaWNpYWxQYWdlVXJsOiBvZmZpY2lhbEh0bWw/LnVybCA/PyBvZmZpY2lhbC51cmwsXG4gICAgLi4uKG9mZmljaWFsSHRtbCA/IHsgb2ZmaWNpYWxQYWdlSHRtbDogb2ZmaWNpYWxIdG1sLmNvbnRlbnQgfSA6IHt9KSxcbiAgICB2aXN1YWxSZWZlcmVuY2VzLFxuICB9O1xufVxuIl19
@@ -40,7 +40,6 @@ export declare function createGeneratorWorkflow(operations: GeneratorWorkflowOpe
40
40
  schemaVersion: "1";
41
41
  name: string;
42
42
  shortName: string;
43
- tagline: string;
44
43
  description: string;
45
44
  assets: {
46
45
  icon: {
@@ -79,6 +78,7 @@ export declare function createGeneratorWorkflow(operations: GeneratorWorkflowOpe
79
78
  repository?: string | undefined;
80
79
  };
81
80
  extensions: Record<string, unknown>;
81
+ tagline?: string | undefined;
82
82
  };
83
83
  sources: {
84
84
  url: string;
@@ -185,7 +185,6 @@ export declare function createGeneratorWorkflow(operations: GeneratorWorkflowOpe
185
185
  schemaVersion: "1";
186
186
  name: string;
187
187
  shortName: string;
188
- tagline: string;
189
188
  description: string;
190
189
  assets: {
191
190
  icon: {
@@ -224,6 +223,7 @@ export declare function createGeneratorWorkflow(operations: GeneratorWorkflowOpe
224
223
  repository?: string | undefined;
225
224
  };
226
225
  extensions: Record<string, unknown>;
226
+ tagline?: string | undefined;
227
227
  };
228
228
  sources: {
229
229
  url: string;
package/package.json CHANGED
@@ -25,14 +25,14 @@
25
25
  "dependencies": {
26
26
  "@databricks/appkit": "0.81.0",
27
27
  "@databricks/sdk-experimental": "^0.17.0",
28
- "@dbx-tools/appkit": "^0.9.138",
29
- "@dbx-tools/appkit-mastra": "^0.9.138",
30
- "@dbx-tools/appkit-web-search": "^0.9.138",
31
- "@dbx-tools/core": "^0.9.138",
32
- "@dbx-tools/genie": "^0.9.138",
33
- "@dbx-tools/shared-core": "^0.9.138",
34
- "@dbx-tools/shared-generator": "^0.9.138",
35
- "@dbx-tools/shared-genie": "^0.9.138",
28
+ "@dbx-tools/appkit": "^0.9.139",
29
+ "@dbx-tools/appkit-mastra": "^0.9.139",
30
+ "@dbx-tools/appkit-web-search": "^0.9.139",
31
+ "@dbx-tools/core": "^0.9.139",
32
+ "@dbx-tools/genie": "^0.9.139",
33
+ "@dbx-tools/shared-core": "^0.9.139",
34
+ "@dbx-tools/shared-generator": "^0.9.139",
35
+ "@dbx-tools/shared-genie": "^0.9.139",
36
36
  "@mastra/core": "1.71.0",
37
37
  "ai": "^7.0.0",
38
38
  "cheerio": "^1.2.0",
@@ -124,7 +124,7 @@
124
124
  "./package.json": "./package.json"
125
125
  }
126
126
  },
127
- "version": "0.9.138",
127
+ "version": "0.9.139",
128
128
  "types": "./lib/index.d.ts",
129
129
  "dbxToolsConfig": {
130
130
  "tags": [
package/src/research.ts CHANGED
@@ -172,7 +172,7 @@ async function researchMobileStore(
172
172
  logger.warn("mobile-image-fetch-failed", {
173
173
  platform,
174
174
  url,
175
- error: errorUtils.errorMessage(error),
175
+ error: errorUtils.toError(error),
176
176
  });
177
177
  return { url };
178
178
  }
@@ -187,7 +187,7 @@ async function researchMobileStore(
187
187
  } catch (error) {
188
188
  logger.warn("mobile-store-research-failed", {
189
189
  platform,
190
- error: errorUtils.errorMessage(error),
190
+ error: errorUtils.toError(error),
191
191
  });
192
192
  return undefined;
193
193
  }
@@ -269,7 +269,7 @@ async function fetchSource(
269
269
  } catch (error) {
270
270
  logger.warn("source-fetch-failed", {
271
271
  url: citation.url,
272
- error: errorUtils.errorMessage(error),
272
+ error: errorUtils.toError(error),
273
273
  });
274
274
  return { ...citation, fetched: false };
275
275
  } finally {
@@ -358,7 +358,7 @@ export async function researchBrand(
358
358
  ).catch((error: unknown) => {
359
359
  logger.warn("official-page-html-fetch-failed", {
360
360
  url: official.url,
361
- error: errorUtils.errorMessage(error),
361
+ error: errorUtils.toError(error),
362
362
  });
363
363
  return undefined;
364
364
  }),