@dbx-tools/appkit-mastra 0.9.5 → 0.9.7
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/README.md +23 -24
- package/index.ts +1 -3
- package/lib/index.d.ts +1 -3
- package/lib/index.js +2 -3
- package/lib/src/agents.d.ts +2 -2
- package/lib/src/agents.js +6 -6
- package/lib/src/chart.js +23 -23
- package/lib/src/evaluation.js +3 -3
- package/lib/src/genie.d.ts +2 -2
- package/lib/src/genie.js +20 -20
- package/lib/src/memory.js +9 -26
- package/lib/src/mlflow.js +4 -4
- package/lib/src/model.js +4 -4
- package/lib/src/monty-sandbox.js +6 -6
- package/lib/src/observability.js +3 -3
- package/lib/src/plugin.js +26 -21
- package/lib/src/remote-skills.js +20 -30
- package/lib/src/sandbox.js +10 -10
- package/lib/src/server.js +5 -5
- package/lib/src/serving-sanitize.js +12 -9
- package/lib/src/serving.js +8 -8
- package/lib/src/storage-schema.js +4 -4
- package/lib/src/summarize.js +3 -3
- package/lib/src/workspaces.js +9 -9
- package/lib/src/writer.js +3 -3
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -17
- package/src/agents.ts +8 -8
- package/src/chart.ts +24 -24
- package/src/evaluation.ts +2 -2
- package/src/genie.ts +20 -20
- package/src/memory.ts +11 -27
- package/src/mlflow.ts +3 -3
- package/src/model.ts +3 -3
- package/src/monty-sandbox.ts +5 -5
- package/src/observability.ts +2 -2
- package/src/plugin.ts +30 -20
- package/src/remote-skills.ts +36 -38
- package/src/sandbox.ts +9 -9
- package/src/server.ts +4 -4
- package/src/serving-sanitize.ts +11 -13
- package/src/serving.ts +7 -7
- package/src/storage-schema.ts +3 -3
- package/src/summarize.ts +2 -2
- package/src/workspaces.ts +8 -8
- package/src/writer.ts +2 -2
- package/lib/src/pagination.d.ts +0 -33
- package/lib/src/pagination.js +0 -36
- package/src/pagination.ts +0 -47
package/lib/src/observability.js
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
*
|
|
42
42
|
* @module
|
|
43
43
|
*/
|
|
44
|
-
import {
|
|
44
|
+
import { projectUtils } from "@dbx-tools/core";
|
|
45
45
|
import { log } from "@dbx-tools/shared-core";
|
|
46
46
|
import { Observability } from "@mastra/observability";
|
|
47
47
|
import { OtelBridge } from "@mastra/otel-bridge";
|
|
@@ -75,7 +75,7 @@ export async function buildObservability(options) {
|
|
|
75
75
|
});
|
|
76
76
|
return undefined;
|
|
77
77
|
}
|
|
78
|
-
const serviceName = options?.serviceName ?? (await
|
|
78
|
+
const serviceName = options?.serviceName ?? (await projectUtils.name()) ?? DEFAULT_SERVICE_NAME;
|
|
79
79
|
const requestContextKeys = [...(options?.requestContextKeys ?? TRACE_REQUEST_CONTEXT_KEYS)];
|
|
80
80
|
// The OTel HTTP exporter treats `OTEL_EXPORTER_OTLP_ENDPOINT` as a
|
|
81
81
|
// *base* URL and appends the signal path itself (e.g.
|
|
@@ -111,4 +111,4 @@ export async function buildObservability(options) {
|
|
|
111
111
|
},
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRWxELE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBb0N0Qyw4RUFBOEU7QUFDOUUsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLE9BQU8sQ0FDWixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQzFGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsT0FBbUM7SUFFbkMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztJQUN6RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUM7SUFDMUUsTUFBTSxjQUFjLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztJQUVqRCxJQUFJLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDdEMsTUFBTSxFQUNKLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSztnQkFDeEIsQ0FBQyxDQUFDLDJCQUEyQjtnQkFDN0IsQ0FBQyxDQUFDLG1DQUFtQztTQUMxQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUM7SUFDM0YsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBRTVGLG1FQUFtRTtJQUNuRSxzREFBc0Q7SUFDdEQscUVBQXFFO0lBQ3JFLGdFQUFnRTtJQUNoRSxtRUFBbUU7SUFDbkUsa0VBQWtFO0lBQ2xFLDZCQUE2QjtJQUM3QixNQUFNLGlCQUFpQixHQUFHLGtCQUFrQjtRQUMxQyxDQUFDLENBQUMsa0JBQWtCO1FBQ3BCLENBQUMsQ0FBQyxRQUFRO1lBQ1IsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVk7WUFDN0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQix1RUFBdUU7SUFDdkUsb0VBQW9FO0lBQ3BFLHVEQUF1RDtJQUN2RCxNQUFNLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxFQUFFO1FBQzVELFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsUUFBUSxFQUFFLFFBQVEsSUFBSSxTQUFTO1FBQy9CLGlCQUFpQixFQUFFLGlCQUFpQixJQUFJLFNBQVM7UUFDakQsUUFBUTtRQUNSLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTTtLQUM1QyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksYUFBYSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxXQUFXO2dCQUNYLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRTtnQkFDeEIsa0JBQWtCO2FBQ25CO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYXN0cmEgb2JzZXJ2YWJpbGl0eSB3aXJlZCB0aHJvdWdoIHRoZSBzYW1lIE9UZWwgcGlwZWxpbmUgQXBwS2l0J3NcbiAqIGJ1aWx0LWluIHBsdWdpbnMgKGUuZy4gYGFnZW50c2ApIHVzZSwgdmlhIGBAbWFzdHJhL290ZWwtYnJpZGdlYC5cbiAqXG4gKiBIb3cgdHJhY2VzIGZsb3c6XG4gKlxuICogMS4gYEBkYXRhYnJpY2tzL2FwcGtpdGAgYm9vdHMgYSBnbG9iYWwgYE5vZGVTREtgIGluXG4gKiAgICBgVGVsZW1ldHJ5TWFuYWdlci5pbml0aWFsaXplKClgIChkdXJpbmcgYGNyZWF0ZUFwcGApIHdoZW5cbiAqICAgIGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgIGlzIHNldCBpbiB0aGUgcHJvY2VzcyBlbnYuXG4gKiAyLiBFdmVyeSBBcHBLaXQgcGx1Z2luIHNwYW4gKGUuZy4gdGhlIGBhZ2VudHNgIHBsdWdpbidzXG4gKiAgICBgZXhlY3V0ZVN0cmVhbWApIGlzIGNyZWF0ZWQgdmlhIHRoZSBnbG9iYWwgT1RlbCB0cmFjZXJcbiAqICAgIChgdHJhY2UuZ2V0VHJhY2VyKDxwbHVnaW4+KWApLCBzbyBpdCBsYW5kcyBvbiB0aGF0IE5vZGVTREsgYW5kXG4gKiAgICBpcyBzaGlwcGVkIHRocm91Z2ggaXRzIE9UTFAgZXhwb3J0ZXIuXG4gKiAzLiBUaGUgTWFzdHJhIGBPdGVsQnJpZGdlYCBBTFNPIGNyZWF0ZXMgcmVhbCBPVGVsIHNwYW5zIG9uIHRoZSBzYW1lXG4gKiAgICBnbG9iYWwgdHJhY2VyIGZvciBldmVyeSBNYXN0cmEgb3BlcmF0aW9uIChhZ2VudCBydW5zLCBtb2RlbFxuICogICAgY2FsbHMsIHRvb2wgaW52b2NhdGlvbnMsIHdvcmtmbG93IHN0ZXBzKS4gVGhleSBpbmhlcml0IHRoZVxuICogICAgYW1iaWVudCBPVGVsIGNvbnRleHQsIHNvIHdoZW4gTWFzdHJhIGlzIGludm9rZWQgZnJvbSBpbnNpZGUgYW5cbiAqICAgIEFwcEtpdCBIVFRQIHNwYW4gdGhlIHRyYWNlIHN0YXlzIGNvbm5lY3RlZC5cbiAqXG4gKiBOZXQgZWZmZWN0OiBNYXN0cmEgc3BhbnMgZ2V0IGV4YWN0bHkgdGhlIHRyZWF0bWVudCBBcHBLaXQnc1xuICogYGFnZW50c2AgcGx1Z2luIGdldHMuIE5vIGN1c3RvbSBPVExQIHBpcGVsaW5lIGxpdmVzIGluIHRoaXNcbiAqIHBhY2thZ2U7IHRoZSBPVExQIGVuZHBvaW50LCBoZWFkZXJzLCBhbmQgcmVzb3VyY2UgYXR0cmlidXRlcyBhcmVcbiAqIGRyaXZlbiBieSB0aGUgc3RhbmRhcmQgT1RlbCBlbnYgdmFyc1xuICogKGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgLCBgT1RFTF9FWFBPUlRFUl9PVExQX0hFQURFUlNgLFxuICogYE9URUxfU0VSVklDRV9OQU1FYCwgYE9URUxfUkVTT1VSQ0VfQVRUUklCVVRFU2AsIC4uLikgYW5kIGNvbnN1bWVkXG4gKiBieSBBcHBLaXQncyBgVGVsZW1ldHJ5TWFuYWdlcmAuIFNldCB0aG9zZSBvbmNlIGFuZCBib3RoIEFwcEtpdCBhbmRcbiAqIE1hc3RyYSBzcGFucyBlbmQgdXAgYXQgdGhlIHNhbWUgYmFja2VuZC5cbiAqXG4gKiBXaGVuIGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgIGlzIHVuc2V0IHRoZSBicmlkZ2UgaXMgbm90XG4gKiByZWdpc3RlcmVkIGF0IGFsbCAodW5sZXNzIGBvYnNlcnZhYmlsaXR5OiB0cnVlYCBmb3JjZXMgaXQgb24pLCBzb1xuICogTWFzdHJhIGRvZXMgbm90IGVtaXQgYFtPdGVsQnJpZGdlXSBObyBPVEVMIHNwYW4gZm91bmRgIHdhcm5pbmdzLlxuICpcbiAqIE9uIERhdGFicmlja3MgQXBwcyB0aGUgc3VwcG9ydGVkIHNpbmsgaXMgVW5pdHkgQ2F0YWxvZyB2aWFcbiAqIGB0ZWxlbWV0cnlfZXhwb3J0X2Rlc3RpbmF0aW9uc2AgKHRoZSBwbGF0Zm9ybSBpbmplY3RzIHRoZSBsb2NhbCBPVExQXG4gKiBzaWRlY2FyKS4gTWFuYWdlZCBNTGZsb3cgaGFzIG5vIE9UTFAgaW5nZXN0IGVuZHBvaW50IC0gZG8gbm90IHBvaW50XG4gKiBgT1RFTF9FWFBPUlRFUl9PVExQXypgIGF0IHRoZSB3b3Jrc3BhY2UgaG9zdC4gU2V0XG4gKiBgT1RFTF9QUk9QQUdBVE9SUz1ub25lYCBzbyBBcHBzIGluZ3Jlc3MgYHRyYWNlcGFyZW50YCBkb2VzIG5vdCBoaWRlXG4gKiBldmVyeSByZXF1ZXN0LXNjb3BlZCByb290IHNwYW4gZnJvbSB0aGUgVUMgYCpfdHJhY2VfdW5pZmllZGAgdmlldy5cbiAqIENoYXQgcmVxdWVzdC9yZXNwb25zZSBvbiB0aGF0IHJvb3Qgc3BhbiBpcyBzdGFtcGVkIGJ5XG4gKiBgdHJhY2VJby5hdHRhY2hDaGF0VHVyblRyYWNlSW9gIChzZWUgYHRyYWNlLWlvLnRzYCkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHByb2plY3QgfSBmcm9tIFwiQGRieC10b29scy9jb3JlXCI7XG5pbXBvcnQgeyBsb2cgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJpbGl0eSB9IGZyb20gXCJAbWFzdHJhL29ic2VydmFiaWxpdHlcIjtcbmltcG9ydCB7IE90ZWxCcmlkZ2UgfSBmcm9tIFwiQG1hc3RyYS9vdGVsLWJyaWRnZVwiO1xuXG5pbXBvcnQgeyBUUkFDRV9SRVFVRVNUX0NPTlRFWFRfS0VZUyB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuaW1wb3J0IHsgbWxmbG93RW5hYmxlZCB9IGZyb20gXCIuL21sZmxvdy50c1wiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwibWFzdHJhL29ic2VydmFiaWxpdHlcIik7XG5cbmNvbnN0IERFRkFVTFRfU0VSVklDRV9OQU1FID0gXCJtYXN0cmFcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9ic2VydmFiaWxpdHlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gd2lyZSB0aGUgTWFzdHJhIGBPdGVsQnJpZGdlYC4gTWlycm9yc1xuICAgKiB7QGxpbmsgTWFzdHJhUGx1Z2luQ29uZmlnLm9ic2VydmFiaWxpdHl9OlxuICAgKlxuICAgKiAtIGB1bmRlZmluZWRgIChhdXRvKTogb24gb25seSB3aGVuIGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgIG9yXG4gICAqICAgYE9URUxfRVhQT1JURVJfT1RMUF9UUkFDRVNfRU5EUE9JTlRgIGlzIHNldCAoc2FtZSBzaWduYWwgQXBwS2l0J3NcbiAgICogICBgVGVsZW1ldHJ5TWFuYWdlcmAgdXNlcyB0byByZWdpc3RlciBhIHJlYWwgdHJhY2VyKS4gV2hlbiB1bnNldCxcbiAgICogICBza2lwIHRoZSBicmlkZ2UgZW50aXJlbHkgc28gTWFzdHJhIGRvZXMgbm90IGVtaXRcbiAgICogICBgW090ZWxCcmlkZ2VdIE5vIE9URUwgc3BhbiBmb3VuZGAgd2FybmluZ3Mgb24gdGhlIG5vb3AgdHJhY2VyLlxuICAgKiAtIGB0cnVlYDogZm9yY2Ugb24gZXZlbiB3aXRob3V0IGFuIE9UTFAgZW5kcG9pbnQuXG4gICAqIC0gYGZhbHNlYDogZm9yY2Ugb2ZmLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTZXJ2aWNlIG5hbWUgYXR0YWNoZWQgdG8gdGhlIE1hc3RyYSBgT2JzZXJ2YWJpbGl0eWAgY29uZmlnLiBVc2VkXG4gICAqIGFzIHRoZSB0cmFjZXIgc2NvcGUgbmFtZSBvbiBicmlkZ2VkIE9UZWwgc3BhbnMgKHRoZSBgc2VydmljZS5uYW1lYFxuICAgKiByZXNvdXJjZSBhdHRyaWJ1dGUgaXMgb3duZWQgYnkgQXBwS2l0J3MgYFRlbGVtZXRyeU1hbmFnZXJgIGluc3RlYWRcbiAgICogLSBpdCByZWFkcyBgT1RFTF9TRVJWSUNFX05BTUVgIC8gYERBVEFCUklDS1NfQVBQX05BTUVgIGF0XG4gICAqIGBjcmVhdGVBcHBgIHRpbWUpLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBwcm9qZWN0IG5hbWUgdGhlbiBgXCJtYXN0cmFcImAuXG4gICAqL1xuICBzZXJ2aWNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIGBSZXF1ZXN0Q29udGV4dGAga2V5cyB0byBleHRyYWN0IGFzIHNwYW4gbWV0YWRhdGEgb24gZXZlcnkgTWFzdHJhXG4gICAqIHRyYWNlLiBEZWZhdWx0cyB0byB7QGxpbmsgVFJBQ0VfUkVRVUVTVF9DT05URVhUX0tFWVN9ICh1c2VyIGlkLFxuICAgKiB0aHJlYWQgaWQsIHJlcXVlc3QgaWQsIGVudmlyb25tZW50LCBtb2RlbCBvdmVycmlkZSwgLi4uKS5cbiAgICpcbiAgICogU3VwcG9ydHMgZG90IG5vdGF0aW9uIGZvciBuZXN0ZWQgdmFsdWVzIHBlciB0aGUgTWFzdHJhIGRvY3MuXG4gICAqL1xuICByZXF1ZXN0Q29udGV4dEtleXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqIFRydWUgd2hlbiBBcHBLaXQncyBnbG9iYWwgT1RlbCBwaXBlbGluZSBpcyBjb25maWd1cmVkIHRvIGV4cG9ydCB0cmFjZXMuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPdGxwVHJhY2luZ0NvbmZpZ3VyZWQoKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVCB8fCBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfVFJBQ0VTX0VORFBPSU5ULFxuICApO1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgTWFzdHJhIGBPYnNlcnZhYmlsaXR5YCB3aG9zZSBzcGFucyByaWRlIEFwcEtpdCdzIGdsb2JhbFxuICogT1RlbCBwaXBlbGluZSB2aWEgYEBtYXN0cmEvb3RlbC1icmlkZ2VgLlxuICpcbiAqIFJldHVybnMgYHVuZGVmaW5lZGAgd2hlbiB0cmFjaW5nIGlzIG9mZjogZWl0aGVyIHRoZSBjYWxsZXIgcGFzc2VkXG4gKiBgZW5hYmxlZDogZmFsc2VgLCBvciBhdXRvIG1vZGUgZmluZHMgbm8gT1RMUCBlbmRwb2ludCAodGhlIGRlZmF1bHQpLlxuICogU2tpcHBpbmcgdGhlIGJyaWRnZSBpbiB0aGF0IGNhc2UgYXZvaWRzIGBbT3RlbEJyaWRnZV0gTm8gT1RFTCBzcGFuXG4gKiBmb3VuZGAgbG9nIHNwYW0gZnJvbSBNYXN0cmEgc3BhbnMgdGhhdCBoYXZlIG5vIHBhcmVudCBvbiB0aGUgbm9vcFxuICogdHJhY2VyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRPYnNlcnZhYmlsaXR5KFxuICBvcHRpb25zPzogQnVpbGRPYnNlcnZhYmlsaXR5T3B0aW9ucyxcbik6IFByb21pc2U8T2JzZXJ2YWJpbGl0eSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBvdGVsQmFzZSA9IHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVDtcbiAgY29uc3Qgb3RlbFRyYWNlc092ZXJyaWRlID0gcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1RSQUNFU19FTkRQT0lOVDtcbiAgY29uc3Qgb3RscENvbmZpZ3VyZWQgPSBpc090bHBUcmFjaW5nQ29uZmlndXJlZCgpO1xuXG4gIGlmIChvcHRpb25zPy5lbmFibGVkID09PSBmYWxzZSB8fCAob3B0aW9ucz8uZW5hYmxlZCAhPT0gdHJ1ZSAmJiAhb3RscENvbmZpZ3VyZWQpKSB7XG4gICAgbG9nZ2VyLmluZm8oXCJNYXN0cmEgb2JzZXJ2YWJpbGl0eSBvZmZcIiwge1xuICAgICAgcmVhc29uOlxuICAgICAgICBvcHRpb25zPy5lbmFibGVkID09PSBmYWxzZVxuICAgICAgICAgID8gXCJkaXNhYmxlZCBpbiBwbHVnaW4gY29uZmlnXCJcbiAgICAgICAgICA6IFwiT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UIHVuc2V0XCIsXG4gICAgfSk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHNlcnZpY2VOYW1lID0gb3B0aW9ucz8uc2VydmljZU5hbWUgPz8gKGF3YWl0IHByb2plY3QubmFtZSgpKSA/PyBERUZBVUxUX1NFUlZJQ0VfTkFNRTtcbiAgY29uc3QgcmVxdWVzdENvbnRleHRLZXlzID0gWy4uLihvcHRpb25zPy5yZXF1ZXN0Q29udGV4dEtleXMgPz8gVFJBQ0VfUkVRVUVTVF9DT05URVhUX0tFWVMpXTtcblxuICAvLyBUaGUgT1RlbCBIVFRQIGV4cG9ydGVyIHRyZWF0cyBgT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UYCBhcyBhXG4gIC8vICpiYXNlKiBVUkwgYW5kIGFwcGVuZHMgdGhlIHNpZ25hbCBwYXRoIGl0c2VsZiAoZS5nLlxuICAvLyBgaHR0cDovL2xvY2FsaG9zdDo2MDA2YCAtPiBgaHR0cDovL2xvY2FsaG9zdDo2MDA2L3YxL3RyYWNlc2ApLiBMb2dcbiAgLy8gdGhlIHJlc29sdmVkIFBPU1QgVVJMIHNvIG1pc2NvbmZpZ3VyYXRpb25zIChlLmcuIGFjY2lkZW50YWxseVxuICAvLyBzZXR0aW5nIHRoZSBiYXNlIHZhciB0byBhIGAvdjEvdHJhY2VzYC1zdWZmaXhlZCBVUkwsIHdoaWNoIG1ha2VzXG4gIC8vIHRoZSBTREsgUE9TVCB0byBgLi4uL3YxL3RyYWNlcy92MS90cmFjZXNgIGFuZCBQaG9lbml4IDQwNHMpIGFyZVxuICAvLyBvYnZpb3VzIGluIHN0YXJ0dXAgb3V0cHV0LlxuICBjb25zdCByZXNvbHZlZFRyYWNlc1VybCA9IG90ZWxUcmFjZXNPdmVycmlkZVxuICAgID8gb3RlbFRyYWNlc092ZXJyaWRlXG4gICAgOiBvdGVsQmFzZVxuICAgICAgPyBgJHtvdGVsQmFzZS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpfS92MS90cmFjZXNgXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgLy8gYG1sZmxvd0VuYWJsZWRgIGlzIHRoZSBzYW1lIGdhdGUgdGhhdCBmbGlwcyBjaGF0IGZlZWRiYWNrIG9uLCBzbyB0aGVcbiAgLy8gYm9vdCBsaW5lIGlzIHRoZSBvbmUtZ2xhbmNlIGNoZWNrIHRoYXQgYm90aCBoYWx2ZXMgb2YgdGhlIEFwcHMgVUNcbiAgLy8gcGlwZWxpbmUgKE9UTFAgc2lkZWNhciArIGV4cGVyaW1lbnQgaWQpIGFyZSBwcmVzZW50LlxuICBjb25zdCBmZWVkYmFjayA9IG1sZmxvd0VuYWJsZWQoKTtcbiAgbG9nZ2VyLmluZm8oXCJNYXN0cmEgb2JzZXJ2YWJpbGl0eSB3aXJlZCB0aHJvdWdoIE9UZWwgYnJpZGdlXCIsIHtcbiAgICBzZXJ2aWNlTmFtZSxcbiAgICByZXF1ZXN0Q29udGV4dEtleXMsXG4gICAgb3RlbEJhc2U6IG90ZWxCYXNlID8/IFwiPHVuc2V0PlwiLFxuICAgIHJlc29sdmVkVHJhY2VzVXJsOiByZXNvbHZlZFRyYWNlc1VybCA/PyBcIjx1bnNldD5cIixcbiAgICBmZWVkYmFjayxcbiAgICBvYnNlcnZhYmlsaXR5OiBmZWVkYmFjayA/IFwibWxmbG93XCIgOiBcIm90ZWxcIixcbiAgfSk7XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmlsaXR5KHtcbiAgICBjb25maWdzOiB7XG4gICAgICBzZXJ2aWNlTmFtZToge1xuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgYnJpZGdlOiBuZXcgT3RlbEJyaWRnZSgpLFxuICAgICAgICByZXF1ZXN0Q29udGV4dEtleXMsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRWxELE1BQU0sb0JBQW9CLEdBQUcsUUFBUSxDQUFDO0FBb0N0Qyw4RUFBOEU7QUFDOUUsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLE9BQU8sQ0FDWixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQzFGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsT0FBbUM7SUFFbkMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztJQUN6RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUM7SUFDMUUsTUFBTSxjQUFjLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztJQUVqRCxJQUFJLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDdEMsTUFBTSxFQUNKLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSztnQkFDeEIsQ0FBQyxDQUFDLDJCQUEyQjtnQkFDN0IsQ0FBQyxDQUFDLG1DQUFtQztTQUMxQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUM7SUFDaEcsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBRTVGLG1FQUFtRTtJQUNuRSxzREFBc0Q7SUFDdEQscUVBQXFFO0lBQ3JFLGdFQUFnRTtJQUNoRSxtRUFBbUU7SUFDbkUsa0VBQWtFO0lBQ2xFLDZCQUE2QjtJQUM3QixNQUFNLGlCQUFpQixHQUFHLGtCQUFrQjtRQUMxQyxDQUFDLENBQUMsa0JBQWtCO1FBQ3BCLENBQUMsQ0FBQyxRQUFRO1lBQ1IsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVk7WUFDN0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQix1RUFBdUU7SUFDdkUsb0VBQW9FO0lBQ3BFLHVEQUF1RDtJQUN2RCxNQUFNLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxFQUFFO1FBQzVELFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsUUFBUSxFQUFFLFFBQVEsSUFBSSxTQUFTO1FBQy9CLGlCQUFpQixFQUFFLGlCQUFpQixJQUFJLFNBQVM7UUFDakQsUUFBUTtRQUNSLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTTtLQUM1QyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksYUFBYSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxXQUFXO2dCQUNYLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRTtnQkFDeEIsa0JBQWtCO2FBQ25CO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYXN0cmEgb2JzZXJ2YWJpbGl0eSB3aXJlZCB0aHJvdWdoIHRoZSBzYW1lIE9UZWwgcGlwZWxpbmUgQXBwS2l0J3NcbiAqIGJ1aWx0LWluIHBsdWdpbnMgKGUuZy4gYGFnZW50c2ApIHVzZSwgdmlhIGBAbWFzdHJhL290ZWwtYnJpZGdlYC5cbiAqXG4gKiBIb3cgdHJhY2VzIGZsb3c6XG4gKlxuICogMS4gYEBkYXRhYnJpY2tzL2FwcGtpdGAgYm9vdHMgYSBnbG9iYWwgYE5vZGVTREtgIGluXG4gKiAgICBgVGVsZW1ldHJ5TWFuYWdlci5pbml0aWFsaXplKClgIChkdXJpbmcgYGNyZWF0ZUFwcGApIHdoZW5cbiAqICAgIGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgIGlzIHNldCBpbiB0aGUgcHJvY2VzcyBlbnYuXG4gKiAyLiBFdmVyeSBBcHBLaXQgcGx1Z2luIHNwYW4gKGUuZy4gdGhlIGBhZ2VudHNgIHBsdWdpbidzXG4gKiAgICBgZXhlY3V0ZVN0cmVhbWApIGlzIGNyZWF0ZWQgdmlhIHRoZSBnbG9iYWwgT1RlbCB0cmFjZXJcbiAqICAgIChgdHJhY2UuZ2V0VHJhY2VyKDxwbHVnaW4+KWApLCBzbyBpdCBsYW5kcyBvbiB0aGF0IE5vZGVTREsgYW5kXG4gKiAgICBpcyBzaGlwcGVkIHRocm91Z2ggaXRzIE9UTFAgZXhwb3J0ZXIuXG4gKiAzLiBUaGUgTWFzdHJhIGBPdGVsQnJpZGdlYCBBTFNPIGNyZWF0ZXMgcmVhbCBPVGVsIHNwYW5zIG9uIHRoZSBzYW1lXG4gKiAgICBnbG9iYWwgdHJhY2VyIGZvciBldmVyeSBNYXN0cmEgb3BlcmF0aW9uIChhZ2VudCBydW5zLCBtb2RlbFxuICogICAgY2FsbHMsIHRvb2wgaW52b2NhdGlvbnMsIHdvcmtmbG93IHN0ZXBzKS4gVGhleSBpbmhlcml0IHRoZVxuICogICAgYW1iaWVudCBPVGVsIGNvbnRleHQsIHNvIHdoZW4gTWFzdHJhIGlzIGludm9rZWQgZnJvbSBpbnNpZGUgYW5cbiAqICAgIEFwcEtpdCBIVFRQIHNwYW4gdGhlIHRyYWNlIHN0YXlzIGNvbm5lY3RlZC5cbiAqXG4gKiBOZXQgZWZmZWN0OiBNYXN0cmEgc3BhbnMgZ2V0IGV4YWN0bHkgdGhlIHRyZWF0bWVudCBBcHBLaXQnc1xuICogYGFnZW50c2AgcGx1Z2luIGdldHMuIE5vIGN1c3RvbSBPVExQIHBpcGVsaW5lIGxpdmVzIGluIHRoaXNcbiAqIHBhY2thZ2U7IHRoZSBPVExQIGVuZHBvaW50LCBoZWFkZXJzLCBhbmQgcmVzb3VyY2UgYXR0cmlidXRlcyBhcmVcbiAqIGRyaXZlbiBieSB0aGUgc3RhbmRhcmQgT1RlbCBlbnYgdmFyc1xuICogKGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgLCBgT1RFTF9FWFBPUlRFUl9PVExQX0hFQURFUlNgLFxuICogYE9URUxfU0VSVklDRV9OQU1FYCwgYE9URUxfUkVTT1VSQ0VfQVRUUklCVVRFU2AsIC4uLikgYW5kIGNvbnN1bWVkXG4gKiBieSBBcHBLaXQncyBgVGVsZW1ldHJ5TWFuYWdlcmAuIFNldCB0aG9zZSBvbmNlIGFuZCBib3RoIEFwcEtpdCBhbmRcbiAqIE1hc3RyYSBzcGFucyBlbmQgdXAgYXQgdGhlIHNhbWUgYmFja2VuZC5cbiAqXG4gKiBXaGVuIGBPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlRgIGlzIHVuc2V0IHRoZSBicmlkZ2UgaXMgbm90XG4gKiByZWdpc3RlcmVkIGF0IGFsbCAodW5sZXNzIGBvYnNlcnZhYmlsaXR5OiB0cnVlYCBmb3JjZXMgaXQgb24pLCBzb1xuICogTWFzdHJhIGRvZXMgbm90IGVtaXQgYFtPdGVsQnJpZGdlXSBObyBPVEVMIHNwYW4gZm91bmRgIHdhcm5pbmdzLlxuICpcbiAqIE9uIERhdGFicmlja3MgQXBwcyB0aGUgc3VwcG9ydGVkIHNpbmsgaXMgVW5pdHkgQ2F0YWxvZyB2aWFcbiAqIGB0ZWxlbWV0cnlfZXhwb3J0X2Rlc3RpbmF0aW9uc2AgKHRoZSBwbGF0Zm9ybSBpbmplY3RzIHRoZSBsb2NhbCBPVExQXG4gKiBzaWRlY2FyKS4gTWFuYWdlZCBNTGZsb3cgaGFzIG5vIE9UTFAgaW5nZXN0IGVuZHBvaW50IC0gZG8gbm90IHBvaW50XG4gKiBgT1RFTF9FWFBPUlRFUl9PVExQXypgIGF0IHRoZSB3b3Jrc3BhY2UgaG9zdC4gU2V0XG4gKiBgT1RFTF9QUk9QQUdBVE9SUz1ub25lYCBzbyBBcHBzIGluZ3Jlc3MgYHRyYWNlcGFyZW50YCBkb2VzIG5vdCBoaWRlXG4gKiBldmVyeSByZXF1ZXN0LXNjb3BlZCByb290IHNwYW4gZnJvbSB0aGUgVUMgYCpfdHJhY2VfdW5pZmllZGAgdmlldy5cbiAqIENoYXQgcmVxdWVzdC9yZXNwb25zZSBvbiB0aGF0IHJvb3Qgc3BhbiBpcyBzdGFtcGVkIGJ5XG4gKiBgdHJhY2VJby5hdHRhY2hDaGF0VHVyblRyYWNlSW9gIChzZWUgYHRyYWNlLWlvLnRzYCkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHByb2plY3RVdGlscyB9IGZyb20gXCJAZGJ4LXRvb2xzL2NvcmVcIjtcbmltcG9ydCB7IGxvZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmlsaXR5IH0gZnJvbSBcIkBtYXN0cmEvb2JzZXJ2YWJpbGl0eVwiO1xuaW1wb3J0IHsgT3RlbEJyaWRnZSB9IGZyb20gXCJAbWFzdHJhL290ZWwtYnJpZGdlXCI7XG5cbmltcG9ydCB7IFRSQUNFX1JFUVVFU1RfQ09OVEVYVF9LRVlTIH0gZnJvbSBcIi4vY29uZmlnLnRzXCI7XG5pbXBvcnQgeyBtbGZsb3dFbmFibGVkIH0gZnJvbSBcIi4vbWxmbG93LnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJtYXN0cmEvb2JzZXJ2YWJpbGl0eVwiKTtcblxuY29uc3QgREVGQVVMVF9TRVJWSUNFX05BTUUgPSBcIm1hc3RyYVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT2JzZXJ2YWJpbGl0eU9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byB3aXJlIHRoZSBNYXN0cmEgYE90ZWxCcmlkZ2VgLiBNaXJyb3JzXG4gICAqIHtAbGluayBNYXN0cmFQbHVnaW5Db25maWcub2JzZXJ2YWJpbGl0eX06XG4gICAqXG4gICAqIC0gYHVuZGVmaW5lZGAgKGF1dG8pOiBvbiBvbmx5IHdoZW4gYE9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVGAgb3JcbiAgICogICBgT1RFTF9FWFBPUlRFUl9PVExQX1RSQUNFU19FTkRQT0lOVGAgaXMgc2V0IChzYW1lIHNpZ25hbCBBcHBLaXQnc1xuICAgKiAgIGBUZWxlbWV0cnlNYW5hZ2VyYCB1c2VzIHRvIHJlZ2lzdGVyIGEgcmVhbCB0cmFjZXIpLiBXaGVuIHVuc2V0LFxuICAgKiAgIHNraXAgdGhlIGJyaWRnZSBlbnRpcmVseSBzbyBNYXN0cmEgZG9lcyBub3QgZW1pdFxuICAgKiAgIGBbT3RlbEJyaWRnZV0gTm8gT1RFTCBzcGFuIGZvdW5kYCB3YXJuaW5ncyBvbiB0aGUgbm9vcCB0cmFjZXIuXG4gICAqIC0gYHRydWVgOiBmb3JjZSBvbiBldmVuIHdpdGhvdXQgYW4gT1RMUCBlbmRwb2ludC5cbiAgICogLSBgZmFsc2VgOiBmb3JjZSBvZmYuXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNlcnZpY2UgbmFtZSBhdHRhY2hlZCB0byB0aGUgTWFzdHJhIGBPYnNlcnZhYmlsaXR5YCBjb25maWcuIFVzZWRcbiAgICogYXMgdGhlIHRyYWNlciBzY29wZSBuYW1lIG9uIGJyaWRnZWQgT1RlbCBzcGFucyAodGhlIGBzZXJ2aWNlLm5hbWVgXG4gICAqIHJlc291cmNlIGF0dHJpYnV0ZSBpcyBvd25lZCBieSBBcHBLaXQncyBgVGVsZW1ldHJ5TWFuYWdlcmAgaW5zdGVhZFxuICAgKiAtIGl0IHJlYWRzIGBPVEVMX1NFUlZJQ0VfTkFNRWAgLyBgREFUQUJSSUNLU19BUFBfTkFNRWAgYXRcbiAgICogYGNyZWF0ZUFwcGAgdGltZSkuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIHByb2plY3QgbmFtZSB0aGVuIGBcIm1hc3RyYVwiYC5cbiAgICovXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogYFJlcXVlc3RDb250ZXh0YCBrZXlzIHRvIGV4dHJhY3QgYXMgc3BhbiBtZXRhZGF0YSBvbiBldmVyeSBNYXN0cmFcbiAgICogdHJhY2UuIERlZmF1bHRzIHRvIHtAbGluayBUUkFDRV9SRVFVRVNUX0NPTlRFWFRfS0VZU30gKHVzZXIgaWQsXG4gICAqIHRocmVhZCBpZCwgcmVxdWVzdCBpZCwgZW52aXJvbm1lbnQsIG1vZGVsIG92ZXJyaWRlLCAuLi4pLlxuICAgKlxuICAgKiBTdXBwb3J0cyBkb3Qgbm90YXRpb24gZm9yIG5lc3RlZCB2YWx1ZXMgcGVyIHRoZSBNYXN0cmEgZG9jcy5cbiAgICovXG4gIHJlcXVlc3RDb250ZXh0S2V5cz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogVHJ1ZSB3aGVuIEFwcEtpdCdzIGdsb2JhbCBPVGVsIHBpcGVsaW5lIGlzIGNvbmZpZ3VyZWQgdG8gZXhwb3J0IHRyYWNlcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc090bHBUcmFjaW5nQ29uZmlndXJlZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UIHx8IHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9UUkFDRVNfRU5EUE9JTlQsXG4gICk7XG59XG5cbi8qKlxuICogQnVpbGQgYSBNYXN0cmEgYE9ic2VydmFiaWxpdHlgIHdob3NlIHNwYW5zIHJpZGUgQXBwS2l0J3MgZ2xvYmFsXG4gKiBPVGVsIHBpcGVsaW5lIHZpYSBgQG1hc3RyYS9vdGVsLWJyaWRnZWAuXG4gKlxuICogUmV0dXJucyBgdW5kZWZpbmVkYCB3aGVuIHRyYWNpbmcgaXMgb2ZmOiBlaXRoZXIgdGhlIGNhbGxlciBwYXNzZWRcbiAqIGBlbmFibGVkOiBmYWxzZWAsIG9yIGF1dG8gbW9kZSBmaW5kcyBubyBPVExQIGVuZHBvaW50ICh0aGUgZGVmYXVsdCkuXG4gKiBTa2lwcGluZyB0aGUgYnJpZGdlIGluIHRoYXQgY2FzZSBhdm9pZHMgYFtPdGVsQnJpZGdlXSBObyBPVEVMIHNwYW5cbiAqIGZvdW5kYCBsb2cgc3BhbSBmcm9tIE1hc3RyYSBzcGFucyB0aGF0IGhhdmUgbm8gcGFyZW50IG9uIHRoZSBub29wXG4gKiB0cmFjZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZE9ic2VydmFiaWxpdHkoXG4gIG9wdGlvbnM/OiBCdWlsZE9ic2VydmFiaWxpdHlPcHRpb25zLFxuKTogUHJvbWlzZTxPYnNlcnZhYmlsaXR5IHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IG90ZWxCYXNlID0gcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UO1xuICBjb25zdCBvdGVsVHJhY2VzT3ZlcnJpZGUgPSBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfVFJBQ0VTX0VORFBPSU5UO1xuICBjb25zdCBvdGxwQ29uZmlndXJlZCA9IGlzT3RscFRyYWNpbmdDb25maWd1cmVkKCk7XG5cbiAgaWYgKG9wdGlvbnM/LmVuYWJsZWQgPT09IGZhbHNlIHx8IChvcHRpb25zPy5lbmFibGVkICE9PSB0cnVlICYmICFvdGxwQ29uZmlndXJlZCkpIHtcbiAgICBsb2dnZXIuaW5mbyhcIk1hc3RyYSBvYnNlcnZhYmlsaXR5IG9mZlwiLCB7XG4gICAgICByZWFzb246XG4gICAgICAgIG9wdGlvbnM/LmVuYWJsZWQgPT09IGZhbHNlXG4gICAgICAgICAgPyBcImRpc2FibGVkIGluIHBsdWdpbiBjb25maWdcIlxuICAgICAgICAgIDogXCJPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlQgdW5zZXRcIixcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qgc2VydmljZU5hbWUgPSBvcHRpb25zPy5zZXJ2aWNlTmFtZSA/PyAoYXdhaXQgcHJvamVjdFV0aWxzLm5hbWUoKSkgPz8gREVGQVVMVF9TRVJWSUNFX05BTUU7XG4gIGNvbnN0IHJlcXVlc3RDb250ZXh0S2V5cyA9IFsuLi4ob3B0aW9ucz8ucmVxdWVzdENvbnRleHRLZXlzID8/IFRSQUNFX1JFUVVFU1RfQ09OVEVYVF9LRVlTKV07XG5cbiAgLy8gVGhlIE9UZWwgSFRUUCBleHBvcnRlciB0cmVhdHMgYE9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVGAgYXMgYVxuICAvLyAqYmFzZSogVVJMIGFuZCBhcHBlbmRzIHRoZSBzaWduYWwgcGF0aCBpdHNlbGYgKGUuZy5cbiAgLy8gYGh0dHA6Ly9sb2NhbGhvc3Q6NjAwNmAgLT4gYGh0dHA6Ly9sb2NhbGhvc3Q6NjAwNi92MS90cmFjZXNgKS4gTG9nXG4gIC8vIHRoZSByZXNvbHZlZCBQT1NUIFVSTCBzbyBtaXNjb25maWd1cmF0aW9ucyAoZS5nLiBhY2NpZGVudGFsbHlcbiAgLy8gc2V0dGluZyB0aGUgYmFzZSB2YXIgdG8gYSBgL3YxL3RyYWNlc2Atc3VmZml4ZWQgVVJMLCB3aGljaCBtYWtlc1xuICAvLyB0aGUgU0RLIFBPU1QgdG8gYC4uLi92MS90cmFjZXMvdjEvdHJhY2VzYCBhbmQgUGhvZW5peCA0MDRzKSBhcmVcbiAgLy8gb2J2aW91cyBpbiBzdGFydHVwIG91dHB1dC5cbiAgY29uc3QgcmVzb2x2ZWRUcmFjZXNVcmwgPSBvdGVsVHJhY2VzT3ZlcnJpZGVcbiAgICA/IG90ZWxUcmFjZXNPdmVycmlkZVxuICAgIDogb3RlbEJhc2VcbiAgICAgID8gYCR7b3RlbEJhc2UucmVwbGFjZSgvXFwvKyQvLCBcIlwiKX0vdjEvdHJhY2VzYFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIC8vIGBtbGZsb3dFbmFibGVkYCBpcyB0aGUgc2FtZSBnYXRlIHRoYXQgZmxpcHMgY2hhdCBmZWVkYmFjayBvbiwgc28gdGhlXG4gIC8vIGJvb3QgbGluZSBpcyB0aGUgb25lLWdsYW5jZSBjaGVjayB0aGF0IGJvdGggaGFsdmVzIG9mIHRoZSBBcHBzIFVDXG4gIC8vIHBpcGVsaW5lIChPVExQIHNpZGVjYXIgKyBleHBlcmltZW50IGlkKSBhcmUgcHJlc2VudC5cbiAgY29uc3QgZmVlZGJhY2sgPSBtbGZsb3dFbmFibGVkKCk7XG4gIGxvZ2dlci5pbmZvKFwiTWFzdHJhIG9ic2VydmFiaWxpdHkgd2lyZWQgdGhyb3VnaCBPVGVsIGJyaWRnZVwiLCB7XG4gICAgc2VydmljZU5hbWUsXG4gICAgcmVxdWVzdENvbnRleHRLZXlzLFxuICAgIG90ZWxCYXNlOiBvdGVsQmFzZSA/PyBcIjx1bnNldD5cIixcbiAgICByZXNvbHZlZFRyYWNlc1VybDogcmVzb2x2ZWRUcmFjZXNVcmwgPz8gXCI8dW5zZXQ+XCIsXG4gICAgZmVlZGJhY2ssXG4gICAgb2JzZXJ2YWJpbGl0eTogZmVlZGJhY2sgPyBcIm1sZmxvd1wiIDogXCJvdGVsXCIsXG4gIH0pO1xuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJpbGl0eSh7XG4gICAgY29uZmlnczoge1xuICAgICAgc2VydmljZU5hbWU6IHtcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGJyaWRnZTogbmV3IE90ZWxCcmlkZ2UoKSxcbiAgICAgICAgcmVxdWVzdENvbnRleHRLZXlzLFxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcbn1cbiJdfQ==
|