footprintjs 10.2.0 → 10.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/lib/attempt/category.d.ts +4 -2
- package/dist/esm/lib/attempt/category.js +18 -11
- package/dist/esm/lib/attempt/errorField.d.ts +2 -0
- package/dist/esm/lib/attempt/errorField.js +32 -0
- package/dist/esm/lib/capture/nativeCoverage.d.ts +56 -0
- package/dist/esm/lib/capture/nativeCoverage.js +102 -0
- package/dist/esm/lib/memory/StageContext.d.ts +5 -0
- package/dist/esm/lib/memory/StageContext.js +27 -6
- package/dist/esm/lib/memory/attention.d.ts +2 -0
- package/dist/esm/lib/memory/attention.js +12 -5
- package/dist/esm/lib/recorder/ControlDepRecorder.d.ts +12 -1
- package/dist/esm/lib/recorder/ControlDepRecorder.js +23 -1
- package/dist/esm/lib/recorder/snapshot.d.ts +1 -1
- package/dist/esm/lib/recorder/snapshot.js +7 -2
- package/dist/esm/lib/runner/ExecutionRuntime.d.ts +9 -0
- package/dist/esm/lib/runner/ExecutionRuntime.js +13 -1
- package/dist/esm/lib/runner/FlowChartExecutor.d.ts +2 -0
- package/dist/esm/lib/runner/FlowChartExecutor.js +31 -2
- package/dist/esm/lib/runner/attach.js +4 -2
- package/dist/esm/lib/runner/options.d.ts +3 -0
- package/dist/esm/lib/runner/options.js +5 -1
- package/dist/esm/lib/runner/snapshot.d.ts +3 -1
- package/dist/esm/lib/runner/snapshot.js +35 -4
- package/dist/esm/lib/scope/ScopeFacade.js +4 -2
- package/dist/esm/lib/scope/runtime.d.ts +2 -0
- package/dist/esm/lib/scope/runtime.js +9 -1
- package/dist/index.js +1 -1
- package/dist/lib/attempt/category.js +18 -11
- package/dist/lib/attempt/errorField.js +36 -0
- package/dist/lib/capture/nativeCoverage.js +107 -0
- package/dist/lib/memory/StageContext.js +27 -6
- package/dist/lib/memory/attention.js +12 -5
- package/dist/lib/recorder/ControlDepRecorder.js +23 -1
- package/dist/lib/recorder/snapshot.js +7 -2
- package/dist/lib/runner/ExecutionRuntime.js +13 -1
- package/dist/lib/runner/FlowChartExecutor.js +34 -5
- package/dist/lib/runner/attach.js +3 -1
- package/dist/lib/runner/options.js +5 -1
- package/dist/lib/runner/snapshot.js +35 -4
- package/dist/lib/scope/ScopeFacade.js +3 -1
- package/dist/lib/scope/runtime.js +12 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/lib/attempt/category.d.ts +4 -2
- package/dist/types/lib/attempt/errorField.d.ts +2 -0
- package/dist/types/lib/capture/nativeCoverage.d.ts +56 -0
- package/dist/types/lib/memory/StageContext.d.ts +5 -0
- package/dist/types/lib/memory/attention.d.ts +2 -0
- package/dist/types/lib/recorder/ControlDepRecorder.d.ts +12 -1
- package/dist/types/lib/recorder/snapshot.d.ts +1 -1
- package/dist/types/lib/runner/ExecutionRuntime.d.ts +9 -0
- package/dist/types/lib/runner/FlowChartExecutor.d.ts +2 -0
- package/dist/types/lib/runner/options.d.ts +3 -0
- package/dist/types/lib/runner/snapshot.d.ts +3 -1
- package/dist/types/lib/scope/runtime.d.ts +2 -0
- package/package.json +1 -1
|
@@ -202,6 +202,8 @@ class RunObservers {
|
|
|
202
202
|
return ((ctx, stageName, readOnly, envArg) => {
|
|
203
203
|
const scope = baseFactory(ctx, stageName, readOnly, envArg);
|
|
204
204
|
const { target } = (0, runtime_js_1.requireScopeRuntime)(scope);
|
|
205
|
+
if (ctx.capture && !(0, runtime_js_1.hasNativeCaptureTarget)(target, ctx))
|
|
206
|
+
ctx.capture.limit('custom-scope');
|
|
205
207
|
// Always wire shared redaction state
|
|
206
208
|
target.useSharedRedactedKeys?.(sharedRedactedKeys);
|
|
207
209
|
// Apply optional modifiers
|
|
@@ -244,4 +246,4 @@ class RunObservers {
|
|
|
244
246
|
}
|
|
245
247
|
}
|
|
246
248
|
exports.RunObservers = RunObservers;
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ydW5uZXIvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRzs7O0FBR0gsOENBQTBDO0FBRTFDLG1HQUE2RjtBQUk3Rix5RUFBcUg7QUFFckgsb0RBQTBEO0FBRTFELHVFQUE2RjtBQUs3RixNQUFhLFlBQVk7SUFDdkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGdCQUFnQixDQUFvQztJQUNwRCxtR0FBbUc7SUFDbkcsZ0JBQWdCLENBQXdDO0lBQ3hELGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLGNBQWMsR0FBb0IsRUFBRSxDQUFDO0lBQ3JDOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUF3QjtJQUVwQyxlQUFlLENBQUMsT0FBMEM7UUFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBdUIsRUFBRSxPQUErQjtRQUNsRSx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxPQUFPLEVBQUUsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsUUFB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QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBeUIsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUI7UUFDZixNQUFNLFNBQVMsR0FBbUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ2xELElBQUksT0FBTztZQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUVELHNHQUFzRztJQUN0RyxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGtCQUFrQixDQUFDLE9BQStCO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw4Q0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBbFBELG9DQWtQQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYXR0YWNoIOKAlCB3aG8gb2JzZXJ2ZXMgYSBydW4sIGFuZCBob3cgdGhleSByZWFjaCBpdCAoRjkpLlxuICpcbiAqIGBSdW5PYnNlcnZlcnNgIGlzIHRoZSBleGVjdXRvcidzIE9ORSByZWdpc3RlciBvZiBvYnNlcnZlcnM6IHRoZSBidWlsdC1pblxuICogbmFycmF0aXZlIHJlY29yZGVyLCB0aGUgaW5saW5lIHNjb3BlIGFuZCBmbG93IGxpc3RzLCBhbmQgdGhlIGRlZmVycmVkIHRpZXJcbiAqIChSRkMtMDAxKS4gVGhlIGV4ZWN1dG9yJ3MgYGF0dGFjaCpSZWNvcmRlcmAgZmFtaWx5IGRlbGVnYXRlcyBoZXJlOyBlYWNoIGxlZ1xuICogKGBydW4oKWAgLyBgcmVzdW1lKClgKSBhc2tzIGl0IGZvciB0aGUgY29tcG9zZWQgc2NvcGUgZmFjdG9yeSBhbmQgdGhlIGZsb3dcbiAqIHJlY29yZGVyIGxpc3QgaXQgaGFuZHMgdGhlIHRyYXZlcnNlci5cbiAqXG4gKiBMYXdzIGtlcHQgaGVyZTpcbiAqICAgLSBhbiBpZCBsaXZlcyBvbiBleGFjdGx5IE9ORSBkZWxpdmVyeSB0aWVyIHBlciBsaXN0IOKAlCByZS1hdHRhY2hpbmcgdGhlXG4gKiAgICAgc2FtZSBpZCBTV0FQUyB0aWVycywgbmV2ZXIgZG91YmxlIGRlbGl2ZXJ5O1xuICogICAtIGV2ZXJ5IGF0dGFjaCBpcyBpZGVtcG90ZW50IGJ5IGBpZGAgKHJlcGxhY2UsIG5ldmVyIGR1cGxpY2F0ZSk7XG4gKiAgIC0gZW1pdCByZWNvcmRlcnMgcmlkZSB0aGUgU0NPUEUgbGlzdCAoYFNjb3BlRmFjYWRlYCBkaXNwYXRjaGVzIGBvbkVtaXRgXG4gKiAgICAgZnJvbSB0aGUgc2FtZSBwZXItc3RhZ2UgbGlzdCBhcyBgb25SZWFkYC9gb25Xcml0ZWApO1xuICogICAtIGEgZmxvdyBhdHRhY2ggdHVybnMgdGhlIG5hcnJhdGl2ZSBvbiAodGhlIGZsb3cgY2hhbm5lbCBuZWVkcyBpdCkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBSdW5Db3JyZWxhdGlvbiB9IGZyb20gJy4uL2F0dGVtcHQvdHlwZXMuanMnO1xuaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnLi4vZGV2TW9kZS5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXJPcHRpb25zIH0gZnJvbSAnLi4vZW5naW5lL25hcnJhdGl2ZS9Db21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyLmpzJztcbmltcG9ydCB7IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIgfSBmcm9tICcuLi9lbmdpbmUvbmFycmF0aXZlL0NvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBGbG93UmVjb3JkZXIgfSBmcm9tICcuLi9lbmdpbmUvbmFycmF0aXZlL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2NvcGVGYWN0b3J5IH0gZnJvbSAnLi4vZW5naW5lL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRSZWNvcmRlciB9IGZyb20gJy4uL3JlY29yZGVyL0NvbWJpbmVkUmVjb3JkZXIuanMnO1xuaW1wb3J0IHsgaGFzRW1pdFJlY29yZGVyTWV0aG9kcywgaGFzRmxvd1JlY29yZGVyTWV0aG9kcywgaGFzUmVjb3JkZXJNZXRob2RzIH0gZnJvbSAnLi4vcmVjb3JkZXIvQ29tYmluZWRSZWNvcmRlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjb3BlUnVudGltZVRhcmdldCB9IGZyb20gJy4uL3Njb3BlL3J1bnRpbWUuanMnO1xuaW1wb3J0IHsgcmVxdWlyZVNjb3BlUnVudGltZSB9IGZyb20gJy4uL3Njb3BlL3J1bnRpbWUuanMnO1xuaW1wb3J0IHR5cGUgeyBSZWRhY3Rpb25Qb2xpY3ksIFNjb3BlUmVjb3JkZXIgfSBmcm9tICcuLi9zY29wZS90eXBlcy5qcyc7XG5pbXBvcnQgeyB0eXBlIEF0dGFjaFJlY29yZGVyT3B0aW9ucywgRGVmZXJyZWRPYnNlcnZlclRpZXIgfSBmcm9tICcuL0RlZmVycmVkT2JzZXJ2ZXJUaWVyLmpzJztcblxuLyoqIEEgc3RlcCBhcHBsaWVkIHRvIGV2ZXJ5IHN0YWdlIHNjb3BlIHJpZ2h0IGFmdGVyIHRoZSBiYXNlIGZhY3RvcnkgbWFrZXMgaXQuICovXG50eXBlIFNjb3BlTW9kaWZpZXIgPSAodGFyZ2V0OiBTY29wZVJ1bnRpbWVUYXJnZXQpID0+IHZvaWQ7XG5cbmV4cG9ydCBjbGFzcyBSdW5PYnNlcnZlcnMge1xuICBuYXJyYXRpdmVFbmFibGVkID0gZmFsc2U7XG4gIG5hcnJhdGl2ZU9wdGlvbnM/OiBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyT3B0aW9ucztcbiAgLyoqIFRoZSBidWlsdC1pbiBuYXJyYXRpdmUgcmVjb3JkZXIgb2YgdGhlIGN1cnJlbnQgbGVnIChrZXB0IGFjcm9zcyBhIHJlc3VtZSBzbyBpdCBhY2N1bXVsYXRlcykuICovXG4gIGNvbWJpbmVkUmVjb3JkZXI6IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIgfCB1bmRlZmluZWQ7XG4gIGZsb3dSZWNvcmRlcnM6IEZsb3dSZWNvcmRlcltdID0gW107XG4gIHNjb3BlUmVjb3JkZXJzOiBTY29wZVJlY29yZGVyW10gPSBbXTtcbiAgLyoqXG4gICAqIFJGQy0wMDEgZGVmZXJyZWQtb2JzZXJ2ZXIgd2lyaW5nIOKAlCBjcmVhdGVkIExBWklMWSBvbiB0aGUgZmlyc3RcbiAgICogYGRlbGl2ZXJ5OiAnZGVmZXJyZWQnYCBhdHRhY2guIGB1bmRlZmluZWRgIGZvciBldmVyeSBleGVjdXRvciB0aGF0IG5ldmVyXG4gICAqIG9wdHMgaW46IHplcm8gYWxsb2NhdGlvbiwgemVybyBwZXItZXZlbnQgY29zdCwgYnl0ZS1pZGVudGljYWwgYmVoYXZpb3JcbiAgICogKHRoZSBlbWl0IGZhc3QtcGF0aCBwcmVjZWRlbnQpLlxuICAgKi9cbiAgZGVmZXJyZWRUaWVyPzogRGVmZXJyZWRPYnNlcnZlclRpZXI7XG5cbiAgZW5hYmxlTmFycmF0aXZlKG9wdGlvbnM/OiBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMubmFycmF0aXZlRW5hYmxlZCA9IHRydWU7XG4gICAgaWYgKG9wdGlvbnMpIHRoaXMubmFycmF0aXZlT3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBhdHRhY2hTY29wZShyZWNvcmRlcjogU2NvcGVSZWNvcmRlciwgb3B0aW9ucz86IEF0dGFjaFJlY29yZGVyT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIFRpZXIgc3dhcCwgYm90aCBkaXJlY3Rpb25zOiBhbiBpZCBsaXZlcyBvbiBleGFjdGx5IE9ORSB0aWVyIHBlciBsaXN0LlxuICAgIHRoaXMuc2NvcGVSZWNvcmRlcnMgPSB0aGlzLnNjb3BlUmVjb3JkZXJzLmZpbHRlcigocikgPT4gci5pZCAhPT0gcmVjb3JkZXIuaWQpO1xuICAgIGlmIChvcHRpb25zPy5kZWxpdmVyeSA9PT0gJ2RlZmVycmVkJykge1xuICAgICAgdGhpcy5lbnN1cmVEZWZlcnJlZFRpZXIob3B0aW9ucykucmVnaXN0ZXIocmVjb3JkZXIsIHsgc2NvcGU6IHRydWUgfSwgb3B0aW9ucyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGVmZXJyZWRUaWVyPy5yZW1vdmVGcm9tTGlzdHMocmVjb3JkZXIuaWQsIHsgc2NvcGU6IHRydWUgfSk7XG4gICAgdGhpcy5zY29wZVJlY29yZGVycy5wdXNoKHJlY29yZGVyKTtcbiAgfVxuXG4gIGF0dGFjaEZsb3cocmVjb3JkZXI6IEZsb3dSZWNvcmRlciwgb3B0aW9ucz86IEF0dGFjaFJlY29yZGVyT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIFRpZXIgc3dhcCwgYm90aCBkaXJlY3Rpb25zOiBhbiBpZCBsaXZlcyBvbiBleGFjdGx5IE9ORSB0aWVyIHBlciBsaXN0LlxuICAgIHRoaXMuZmxvd1JlY29yZGVycyA9IHRoaXMuZmxvd1JlY29yZGVycy5maWx0ZXIoKHIpID0+IHIuaWQgIT09IHJlY29yZGVyLmlkKTtcbiAgICB0aGlzLm5hcnJhdGl2ZUVuYWJsZWQgPSB0cnVlO1xuICAgIGlmIChvcHRpb25zPy5kZWxpdmVyeSA9PT0gJ2RlZmVycmVkJykge1xuICAgICAgdGhpcy5lbnN1cmVEZWZlcnJlZFRpZXIob3B0aW9ucykucmVnaXN0ZXIocmVjb3JkZXIsIHsgZmxvdzogdHJ1ZSB9LCBvcHRpb25zKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kZWZlcnJlZFRpZXI/LnJlbW92ZUZyb21MaXN0cyhyZWNvcmRlci5pZCwgeyBmbG93OiB0cnVlIH0pO1xuICAgIHRoaXMuZmxvd1JlY29yZGVycy5wdXNoKHJlY29yZGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3V0ZSBhIHJlY29yZGVyIHRvIGV2ZXJ5IGNoYW5uZWwgaXQgaGFzIE9XTiBldmVudCBtZXRob2RzIGZvciAoc2VlXG4gICAqIGBoYXNSZWNvcmRlck1ldGhvZHNgIOKAlCBwcm90b3R5cGUtY2hhaW4gbWV0aG9kcyBhcmUgaWdub3JlZCBvbiBwdXJwb3NlLFxuICAgKiBhZ2FpbnN0IGBPYmplY3QucHJvdG90eXBlYCBwb2xsdXRpb24pLiBJZGVtcG90ZW50IGJ5IGBpZGAgYWNyb3NzIEFMTFxuICAgKiBjaGFubmVsczogYSBjb21iaW5lZCBhdHRhY2ggcmVwbGFjZXMgYSBzaW5nbGUtY2hhbm5lbCByZWdpc3RyYXRpb24gb2YgdGhlXG4gICAqIHNhbWUgaWQgb24gd2hpY2hldmVyIGNoYW5uZWwocykgdGhlIHJlY29yZGVyIGhhcyBtZXRob2RzIGZvci5cbiAgICovXG4gIGF0dGFjaENvbWJpbmVkKHJlY29yZGVyOiBDb21iaW5lZFJlY29yZGVyLCBvcHRpb25zPzogQXR0YWNoUmVjb3JkZXJPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgaGFzRGF0YSA9IGhhc1JlY29yZGVyTWV0aG9kcyhyZWNvcmRlcik7XG4gICAgY29uc3QgaGFzRmxvdyA9IGhhc0Zsb3dSZWNvcmRlck1ldGhvZHMocmVjb3JkZXIpO1xuICAgIGNvbnN0IGhhc0VtaXQgPSBoYXNFbWl0UmVjb3JkZXJNZXRob2RzKHJlY29yZGVyKTtcblxuICAgIC8vIERlbGl2ZXJ5IHRpZXIgKFJGQy0wMDEpOiBvcHRpb25zIGJhZyBPUiB0aGUgcmVjb3JkZXIncyBvd25cbiAgICAvLyBgZGVsaXZlcnk6ICdkZWZlcnJlZCdgIGZpZWxkLiBUaGUgZmllbGQgaXMgYSBzdHJpbmcg4oCUIGNoYW5uZWwgcm91dGluZ1xuICAgIC8vIGFib3ZlIGNvdW50cyBldmVudC1NRVRIT0QgcHJvcGVydGllcyBvbmx5LCBzbyBkZWNsYXJpbmcgaXQgbmV2ZXJcbiAgICAvLyBjaGFuZ2VzIHdoaWNoIGNoYW5uZWxzIHRoZSByZWNvcmRlciBsYW5kcyBvbi5cbiAgICBjb25zdCBkZWxpdmVyeSA9IG9wdGlvbnM/LmRlbGl2ZXJ5ID8/IHJlY29yZGVyLmRlbGl2ZXJ5O1xuICAgIGNvbnN0IHRpZXJPcHRpb25zOiBBdHRhY2hSZWNvcmRlck9wdGlvbnMgfCB1bmRlZmluZWQgPSBkZWxpdmVyeSA9PT0gdW5kZWZpbmVkID8gb3B0aW9ucyA6IHsgLi4ub3B0aW9ucywgZGVsaXZlcnkgfTtcblxuICAgIC8vIEVtaXQgcmVjb3JkZXJzIGxpdmUgb24gdGhlIFNBTUUgY2hhbm5lbCBhcyBkYXRhLWZsb3cgcmVjb3JkZXJzXG4gICAgLy8gKFNjb3BlRmFjYWRlIGl0ZXJhdGVzIGBfcmVjb3JkZXJzYCBmb3Igb25FbWl0IGRpc3BhdGNoKS4gU2hvcnQtY2lyY3VpdDpcbiAgICAvLyBpZiBoYXNEYXRhIE9SIGhhc0VtaXQsIHRoZSByZWNvcmRlciBsYW5kcyBvbiB0aGUgc2NvcGUgbGlzdCBleGFjdGx5IG9uY2UuXG4gICAgaWYgKGhhc0RhdGEgfHwgaGFzRW1pdCkgdGhpcy5hdHRhY2hTY29wZShyZWNvcmRlciBhcyBTY29wZVJlY29yZGVyLCB0aWVyT3B0aW9ucyk7XG4gICAgaWYgKGhhc0Zsb3cpIHRoaXMuYXR0YWNoRmxvdyhyZWNvcmRlciBhcyBGbG93UmVjb3JkZXIsIHRpZXJPcHRpb25zKTtcblxuICAgIGlmICghaGFzRGF0YSAmJiAhaGFzRmxvdyAmJiAhaGFzRW1pdCAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgLy8gRGV2LW1vZGUgb25seTogc2lsZW50IHNraXBzIGFyZSBpbnZpc2libGUgYW5kIHByb2R1Y2UgaGFyZC10by1kZWJ1Z1xuICAgICAgLy8gXCJ3aHkgZGlkbid0IG15IHJlY29yZGVyIGZpcmVcIiByZXBvcnRzLiBQZXIgbGlicmFyeSBjb252ZW50aW9uLCBnYXRlZFxuICAgICAgLy8gb24gdGhlIGNlbnRyYWwgaXNEZXZNb2RlKCkgZmxhZyAobm90IHByb2Nlc3MuZW52KSBzbyBjb25zdW1lcnMgY2FuXG4gICAgICAvLyBjb250cm9sIGRldiB0b29saW5nIGNlbnRyYWxseSB2aWEgZW5hYmxlRGV2TW9kZSgpL2Rpc2FibGVEZXZNb2RlKCkuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgW2Zvb3RwcmludGpzXSBhdHRhY2hDb21iaW5lZFJlY29yZGVyOiByZWNvcmRlciAnJHtyZWNvcmRlci5pZH0nIGhhcyBgICtcbiAgICAgICAgICAnbm8gb2JzZXJ2ZXIgZXZlbnQgbWV0aG9kcyDigJQgbm90aGluZyB0byBhdHRhY2guIERpZCB5b3UgZm9yZ2V0IHRvICcgK1xuICAgICAgICAgICdhZGQgYW4gb24qIGhhbmRsZXIgKG9uV3JpdGUsIG9uRGVjaXNpb24sIG9uU3ViZmxvd0VudHJ5LCAuLi4pPyAnICtcbiAgICAgICAgICAnTm90ZTogb25seSBPV04gcHJvcGVydGllcyBjb3VudDsgbWV0aG9kcyBvbiB0aGUgcHJvdG90eXBlIGNoYWluICcgK1xuICAgICAgICAgICdhcmUgaWdub3JlZCBvbiBwdXJwb3NlLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBEZXRhY2ggZXZlcnkgc2NvcGUgcmVjb3JkZXIgd2l0aCB0aGlzIGlkIOKAlCBib3RoIGRlbGl2ZXJ5IHRpZXJzLiAqL1xuICBkZXRhY2hTY29wZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zY29wZVJlY29yZGVycyA9IHRoaXMuc2NvcGVSZWNvcmRlcnMuZmlsdGVyKChyKSA9PiByLmlkICE9PSBpZCk7XG4gICAgdGhpcy5kZWZlcnJlZFRpZXI/LnJlbW92ZUZyb21MaXN0cyhpZCwgeyBzY29wZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKiBEZXRhY2ggZXZlcnkgZmxvdyByZWNvcmRlciB3aXRoIHRoaXMgaWQg4oCUIGJvdGggZGVsaXZlcnkgdGllcnMuICovXG4gIGRldGFjaEZsb3coaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmxvd1JlY29yZGVycyA9IHRoaXMuZmxvd1JlY29yZGVycy5maWx0ZXIoKHIpID0+IHIuaWQgIT09IGlkKTtcbiAgICB0aGlzLmRlZmVycmVkVGllcj8ucmVtb3ZlRnJvbUxpc3RzKGlkLCB7IGZsb3c6IHRydWUgfSk7XG4gIH1cblxuICAvKiogQSBkZWZlbnNpdmUgY29weSBvZiB0aGUgc2NvcGUgbGlzdCAoYm90aCB0aWVycykuICovXG4gIHNjb3BlTGlzdCgpOiBTY29wZVJlY29yZGVyW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zY29wZVJlY29yZGVycywgLi4uKHRoaXMuZGVmZXJyZWRUaWVyPy5zY29wZUxpc3RSZWNvcmRlcnMoKSA/PyBbXSldO1xuICB9XG5cbiAgLyoqIEEgZGVmZW5zaXZlIGNvcHkgb2YgdGhlIGZsb3cgbGlzdCAoYm90aCB0aWVycykuICovXG4gIGZsb3dMaXN0KCk6IEZsb3dSZWNvcmRlcltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuZmxvd1JlY29yZGVycywgLi4uKHRoaXMuZGVmZXJyZWRUaWVyPy5mbG93TGlzdFJlY29yZGVycygpID8/IFtdKV07XG4gIH1cblxuICAvKipcbiAgICogQSBmcmVzaCBgcnVuKClgIGNsZWFycyBldmVyeSBhdHRhY2hlZCByZWNvcmRlciAoYGNsZWFyKClgKSwgc28gc3RhdGUgZG9lc1xuICAgKiBub3QgYWNjdW11bGF0ZSBhY3Jvc3MgcnVucy4gVGhlIG5hcnJhdGl2ZSByZWNvcmRlciBpcyBub3QgY2xlYXJlZDogZWFjaFxuICAgKiBmcmVzaCBsZWcgYnVpbGRzIGEgbmV3IG9uZSAoe0BsaW5rIHN0YXJ0TGVnfSkuXG4gICAqL1xuICBjbGVhckZvclJ1bigpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHIgb2YgdGhpcy5mbG93UmVjb3JkZXJzKSB7XG4gICAgICByLmNsZWFyPy4oKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCByIG9mIHRoaXMuc2NvcGVSZWNvcmRlcnMpIHtcbiAgICAgIHIuY2xlYXI/LigpO1xuICAgIH1cbiAgICB0aGlzLmRlZmVycmVkVGllcj8uY2xlYXJSZWNvcmRlcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIGEgbGVnOiBhIGZyZXNoIG5hcnJhdGl2ZSByZWNvcmRlciB3aGVuIHRoZSBuYXJyYXRpdmUgaXMgb24sIG5vbmUgd2hlblxuICAgKiBpdCBpcyBvZmYg4oCUIG9yLCBvbiBhIHJlc3VtZSAoYHByZXNlcnZlYCksIHRoZSBleGlzdGluZyBvbmUsIHNvIHRoZVxuICAgKiBuYXJyYXRpdmUgYWNjdW11bGF0ZXMgYWNyb3NzIHRoZSBwYXVzZS4gQSBmcmVzaCBleGVjdXRvciBoYXMgbm8gcmVjb3JkZXJcbiAgICogdG8gcHJlc2VydmUgYW5kIHN0YXJ0cyBvbmUgZm9yIHRoZSByZXN1bWVkIGxlZyBvbmx5LlxuICAgKiBSZXR1cm5zIHRoZSBsZWcncyBuYXJyYXRpdmUgZmxhZy5cbiAgICovXG4gIHN0YXJ0TGVnKGNoYXJ0TmFycmF0aXZlOiBib29sZWFuLCBwcmVzZXJ2ZTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5hcnJhdGl2ZUZsYWcgPSB0aGlzLm5hcnJhdGl2ZUVuYWJsZWQgfHwgY2hhcnROYXJyYXRpdmU7XG4gICAgaWYgKCFwcmVzZXJ2ZSB8fCAhdGhpcy5jb21iaW5lZFJlY29yZGVyKSB7XG4gICAgICB0aGlzLmNvbWJpbmVkUmVjb3JkZXIgPSBuYXJyYXRpdmVGbGFnID8gbmV3IENvbWJpbmVkTmFycmF0aXZlUmVjb3JkZXIodGhpcy5uYXJyYXRpdmVPcHRpb25zKSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIG5hcnJhdGl2ZUZsYWc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxlZydzIHNjb3BlIGZhY3Rvcnk6IHRoZSBiYXNlIGZhY3RvcnksIHRoZW4gZXZlcnkgc2NvcGUgbW9kaWZpZXIgaW4gT05FXG4gICAqIGZsYXQgcGFzcyDigJQgdGhlIG5hcnJhdGl2ZSByZWNvcmRlciwgdGhlIHVzZXIncyBzY29wZSByZWNvcmRlcnMsIHRoZVxuICAgKiBkZWZlcnJlZCB0aWVyJ3Mgc2NvcGUgdGFwLCB0aGUgcmVkYWN0aW9uIHBvbGljeS5cbiAgICpcbiAgICogVGhlIG1hcmtlZC1rZXlzIHNldCBpcyBBTFdBWVMgd2lyZWQgKGEgc3RhZ2UgY2FuIGNhbGxcbiAgICogYHNldFZhbHVlKGtleSwgdmFsLCB0cnVlKWAgZm9yIHBlci1jYWxsIHJlZGFjdGlvbiB3aXRob3V0IGFueSBwb2xpY3kpLlxuICAgKi9cbiAgY29tcG9zZVNjb3BlRmFjdG9yeTxUU2NvcGU+KFxuICAgIGJhc2VGYWN0b3J5OiBTY29wZUZhY3Rvcnk8VFNjb3BlPixcbiAgICByZWRhY3Rpb25Qb2xpY3k6IFJlZGFjdGlvblBvbGljeSB8IHVuZGVmaW5lZCxcbiAgICBzaGFyZWRSZWRhY3RlZEtleXM6IFNldDxzdHJpbmc+LFxuICAgIGNvcnJlbGF0aW9uPzogUnVuQ29ycmVsYXRpb24sXG4gICk6IFNjb3BlRmFjdG9yeTxUU2NvcGU+IHtcbiAgICBjb25zdCBtb2RpZmllcnM6IFNjb3BlTW9kaWZpZXJbXSA9IFtdO1xuXG4gICAgLy8gMS4gTmFycmF0aXZlIHJlY29yZGVyIChpZiBlbmFibGVkKVxuICAgIGlmICh0aGlzLmNvbWJpbmVkUmVjb3JkZXIpIHtcbiAgICAgIGNvbnN0IHJlY29yZGVyID0gdGhpcy5jb21iaW5lZFJlY29yZGVyO1xuICAgICAgbW9kaWZpZXJzLnB1c2goKHRhcmdldCkgPT4ge1xuICAgICAgICB0YXJnZXQuYXR0YWNoU2NvcGVSZWNvcmRlcj8uKHJlY29yZGVyKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDIuIFVzZXItcHJvdmlkZWQgc2NvcGUgcmVjb3JkZXJzXG4gICAgaWYgKHRoaXMuc2NvcGVSZWNvcmRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVjb3JkZXJzID0gdGhpcy5zY29wZVJlY29yZGVycztcbiAgICAgIG1vZGlmaWVycy5wdXNoKCh0YXJnZXQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCByIG9mIHJlY29yZGVycykgdGFyZ2V0LmF0dGFjaFNjb3BlUmVjb3JkZXI/LihyKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDJiLiBEZWZlcnJlZC1vYnNlcnZlciBzY29wZSB0YXAgKFJGQy0wMDEgQmxvY2sgNykg4oCUIGEgc3ludGhldGljXG4gICAgLy8gcmVjb3JkZXIgd2hvc2UgaG9va3MgQ0FQVFVSRSBpbnRvIHRoZSBib3VuZGVkIHF1ZXVlIGluc3RlYWQgb2YgZG9pbmdcbiAgICAvLyBvYnNlcnZlciB3b3JrLiBJdCByaWRlcyB0aGUgc2FtZSBwZXItc3RhZ2UgcmVjb3JkZXIgbGlzdCBhcyBpbmxpbmVcbiAgICAvLyByZWNvcmRlcnMsIHNvIGl0IHJlY2VpdmVzIGV4YWN0bHkgdGhlIHBvc3QtcmVkYWN0aW9uIGV2ZW50cyB0aGV5IGRvLlxuICAgIC8vIEFic2VudCAoemVybyB3b3JrLCBpZGVudGljYWwgbGlzdCkgd2hlbiBub2JvZHkgb3B0ZWQgaW50byBkZWZlcnJhbC5cbiAgICBjb25zdCBzY29wZVRhcCA9IHRoaXMuZGVmZXJyZWRUaWVyPy5idWlsZFNjb3BlVGFwKCk7XG4gICAgaWYgKHNjb3BlVGFwKSB7XG4gICAgICBtb2RpZmllcnMucHVzaCgodGFyZ2V0KSA9PiB7XG4gICAgICAgIHRhcmdldC5hdHRhY2hTY29wZVJlY29yZGVyPy4oc2NvcGVUYXApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gMy4gUmVkYWN0aW9uIHBvbGljeSAoY29uZGl0aW9uYWwg4oCUIG9ubHkgd2hlbiBwb2xpY3kgaXMgc2V0KS4gQVxuICAgIC8vIGBTY29wZUZhY2FkZWAgYWxyZWFkeSByZWFkcyB0aGUgcnVuJ3MgcnVsZSB0aHJvdWdoIGl0cyBjb250ZXh0ICh0aGVcbiAgICAvLyBydWxlIGlzIGluc3RhbGxlZCBvbiB0aGUgcnVudGltZSByb290KTsgdGhpcyBjYWxsIHN1cHBsaWVzIGl0IHRvXG4gICAgLy8gZXhwbGljaXRseSByZWdpc3RlcmVkIGN1c3RvbSBwb3J0cywgYW5kIG9uIGEgZmFjYWRlIGl0XG4gICAgLy8gcmUtc3RhdGVzIHRoZSBleGVjdXRvcidzIHBvbGljeSBvbiB0aGUgc2hhcmVkIHJ1bGUgKGEgbm8tb3ApLlxuICAgIGlmIChyZWRhY3Rpb25Qb2xpY3kpIHtcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJlZGFjdGlvblBvbGljeTtcbiAgICAgIG1vZGlmaWVycy5wdXNoKCh0YXJnZXQpID0+IHtcbiAgICAgICAgdGFyZ2V0LnVzZVJlZGFjdGlvblBvbGljeT8uKHBvbGljeSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyA0LiBUaGUgbGVnJ3MgY29ycmVsYXRpb24gKDEwLjEpIOKAlCBvbmUgZnJvemVuIG9iamVjdCBwZXIgbGVnLCBzbyBhIGZhY3RvcnkgY29tcG9zZWQgZm9yIG9uZSBsZWcgbmV2ZXJcbiAgICAvLyBzdGFtcHMgYW5vdGhlcidzLiBJbnN0YWxsZWQgZXZlbiB3aGVuIGFic2VudDogYSB0YXJnZXQgYSBjdXN0b20gZmFjdG9yeSByZS11c2VzIGFjcm9zcyBydW5zIGlzIENMRUFSRUQsXG4gICAgLy8gbmV2ZXIgbGVmdCBob2xkaW5nIGFuIGVhcmxpZXIgcnVuJ3MuIEFic2VudCDihpIgZXZlbnRzIGJ5dGUtaWRlbnRpY2FsLlxuICAgIG1vZGlmaWVycy5wdXNoKCh0YXJnZXQpID0+IHtcbiAgICAgIHRhcmdldC51c2VDb3JyZWxhdGlvbj8uKGNvcnJlbGF0aW9uKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoKGN0eDogYW55LCBzdGFnZU5hbWU6IHN0cmluZywgcmVhZE9ubHk/OiB1bmtub3duLCBlbnZBcmc/OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHNjb3BlID0gYmFzZUZhY3RvcnkoY3R4LCBzdGFnZU5hbWUsIHJlYWRPbmx5LCBlbnZBcmcpO1xuICAgICAgY29uc3QgeyB0YXJnZXQgfSA9IHJlcXVpcmVTY29wZVJ1bnRpbWUoc2NvcGUpO1xuICAgICAgLy8gQWx3YXlzIHdpcmUgc2hhcmVkIHJlZGFjdGlvbiBzdGF0ZVxuICAgICAgdGFyZ2V0LnVzZVNoYXJlZFJlZGFjdGVkS2V5cz8uKHNoYXJlZFJlZGFjdGVkS2V5cyk7XG4gICAgICAvLyBBcHBseSBvcHRpb25hbCBtb2RpZmllcnNcbiAgICAgIGZvciAoY29uc3QgbW9kIG9mIG1vZGlmaWVycykgbW9kKHRhcmdldCk7XG4gICAgICByZXR1cm4gc2NvcGU7XG4gICAgfSkgYXMgU2NvcGVGYWN0b3J5PFRTY29wZT47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxlZydzIGZsb3cgcmVjb3JkZXJzOiB0aGUgbmFycmF0aXZlIHJlY29yZGVyICh3aGVuIG9uKSwgdGhlIHVzZXInc1xuICAgKiBmbG93IHJlY29yZGVycywgdGhlbiB0aGUgZGVmZXJyZWQgdGllcidzIGZsb3cgdGFwIChSRkMtMDAxIEJsb2NrIDcpIOKAlFxuICAgKiBhcHBlbmRlZCBsaWtlIGFueSBvdGhlciBmbG93IHJlY29yZGVyLCBzbyB0aGUgZGlzcGF0Y2hlciBuZWVkcyBubyB0aWVyXG4gICAqIGxvZ2ljIG9mIGl0cyBvd24uIGB1bmRlZmluZWRgIHdoZW4gdGhlcmUgYXJlIG5vbmUuXG4gICAqL1xuICBmbG93UmVjb3JkZXJzTGlzdCgpOiBGbG93UmVjb3JkZXJbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcmVjb3JkZXJzOiBGbG93UmVjb3JkZXJbXSA9IFtdO1xuICAgIGlmICh0aGlzLmNvbWJpbmVkUmVjb3JkZXIpIHtcbiAgICAgIHJlY29yZGVycy5wdXNoKHRoaXMuY29tYmluZWRSZWNvcmRlcik7XG4gICAgfVxuICAgIHJlY29yZGVycy5wdXNoKC4uLnRoaXMuZmxvd1JlY29yZGVycyk7XG4gICAgY29uc3QgZmxvd1RhcCA9IHRoaXMuZGVmZXJyZWRUaWVyPy5idWlsZEZsb3dUYXAoKTtcbiAgICBpZiAoZmxvd1RhcCkgcmVjb3JkZXJzLnB1c2goZmxvd1RhcCk7XG4gICAgcmV0dXJuIHJlY29yZGVycy5sZW5ndGggPiAwID8gcmVjb3JkZXJzIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqIFRoZSBpbmxpbmUgZmxvdyBsaXN0ZW5lcnMgb2YgYW4gZXhlY3V0b3ItbWFkZSBldmVudCAoYG9uUmVzdW1lYCk6IHRoZSBuYXJyYXRpdmUgcmVjb3JkZXIgZmlyc3QuICovXG4gIGlubGluZUZsb3dMaXN0ZW5lcnMoKTogRmxvd1JlY29yZGVyW10ge1xuICAgIHJldHVybiB0aGlzLmNvbWJpbmVkUmVjb3JkZXIgPyBbdGhpcy5jb21iaW5lZFJlY29yZGVyLCAuLi50aGlzLmZsb3dSZWNvcmRlcnNdIDogdGhpcy5mbG93UmVjb3JkZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIExhemlseSBjcmVhdGUgdGhlIGV4ZWN1dG9yJ3MgT05FIGRlZmVycmVkLW9ic2VydmVyIHRpZXIgKG9uZSBtZXJnZWRcbiAgICogcXVldWUsIHRvdGFsIGV2ZW50IG9yZGVyIGFjcm9zcyBhbGwgdGhyZWUgY2hhbm5lbHMpLiBUaGUgRklSU1QgZGVmZXJyZWRcbiAgICogYXR0YWNoJ3Mgb3B0aW9ucyBjb25maWd1cmUgdGhlIGRpc3BhdGNoZXI7IGxhdGVyIGRpZmZlcmluZyBvcHRpb25zIGFyZVxuICAgKiBkZXYtd2FybmVkIGFuZCBpZ25vcmVkIChzZWUgYEF0dGFjaFJlY29yZGVyT3B0aW9uc2ApLlxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVEZWZlcnJlZFRpZXIob3B0aW9ucz86IEF0dGFjaFJlY29yZGVyT3B0aW9ucyk6IERlZmVycmVkT2JzZXJ2ZXJUaWVyIHtcbiAgICBpZiAoIXRoaXMuZGVmZXJyZWRUaWVyKSB0aGlzLmRlZmVycmVkVGllciA9IG5ldyBEZWZlcnJlZE9ic2VydmVyVGllcihvcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5kZWZlcnJlZFRpZXI7XG4gIH1cbn1cbiJdfQ==
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ydW5uZXIvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRzs7O0FBR0gsOENBQTBDO0FBRTFDLG1HQUE2RjtBQUk3Rix5RUFBcUg7QUFFckgsb0RBQWtGO0FBRWxGLHVFQUE2RjtBQUs3RixNQUFhLFlBQVk7SUFDdkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGdCQUFnQixDQUFvQztJQUNwRCxtR0FBbUc7SUFDbkcsZ0JBQWdCLENBQXdDO0lBQ3hELGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLGNBQWMsR0FBb0IsRUFBRSxDQUFDO0lBQ3JDOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUF3QjtJQUVwQyxlQUFlLENBQUMsT0FBMEM7UUFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLE9BQU87WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBdUIsRUFBRSxPQUErQjtRQUNsRSx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxPQUFPLEVBQUUsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBc0IsRUFBRSxPQUErQjtRQUNoRSx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0UsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxRQUEwQixFQUFFLE9BQStCO1FBQ3hFLE1BQU0sT0FBTyxHQUFHLElBQUEsd0NBQWtCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBQSw0Q0FBc0IsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFBLDRDQUFzQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpELDZEQUE2RDtRQUM3RCx3RUFBd0U7UUFDeEUsbUVBQW1FO1FBQ25FLGdEQUFnRDtRQUNoRCxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDeEQsTUFBTSxXQUFXLEdBQXNDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUVuSCxpRUFBaUU7UUFDakUsMEVBQTBFO1FBQzFFLDRFQUE0RTtRQUM1RSxJQUFJLE9BQU8sSUFBSSxPQUFPO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pGLElBQUksT0FBTztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBd0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUEsc0JBQVMsR0FBRSxFQUFFLENBQUM7WUFDcEQsc0VBQXNFO1lBQ3RFLHVFQUF1RTtZQUN2RSxxRUFBcUU7WUFDckUsc0VBQXNFO1lBQ3RFLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUNWLG1EQUFtRCxRQUFRLENBQUMsRUFBRSxRQUFRO2dCQUNwRSxtRUFBbUU7Z0JBQ25FLGlFQUFpRTtnQkFDakUsa0VBQWtFO2dCQUNsRSx5QkFBeUIsQ0FDNUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELHFFQUFxRTtJQUNyRSxVQUFVLENBQUMsRUFBVTtRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsU0FBUztRQUNQLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVztRQUNULEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxjQUF1QixFQUFFLFFBQWlCO1FBQ2pELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxjQUFjLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksd0RBQXlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQkFBbUIsQ0FDakIsV0FBaUMsRUFDakMsZUFBNEMsRUFDNUMsa0JBQStCLEVBQy9CLFdBQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFvQixFQUFFLENBQUM7UUFFdEMscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUztvQkFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxrRUFBa0U7UUFDbEUsdUVBQXVFO1FBQ3ZFLHFFQUFxRTtRQUNyRSx1RUFBdUU7UUFDdkUsc0VBQXNFO1FBQ3RFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDcEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDeEIsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsaUVBQWlFO1FBQ2pFLHNFQUFzRTtRQUN0RSxtRUFBbUU7UUFDbkUseURBQXlEO1FBQ3pELGdFQUFnRTtRQUNoRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHVHQUF1RztRQUN2RywwR0FBMEc7UUFDMUcsdUVBQXVFO1FBQ3ZFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN4QixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsU0FBaUIsRUFBRSxRQUFrQixFQUFFLE1BQVksRUFBRSxFQUFFO1lBQ3hFLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSxnQ0FBbUIsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFBLG1DQUFzQixFQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7Z0JBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0YscUNBQXFDO1lBQ3JDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbkQsMkJBQTJCO1lBQzNCLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUztnQkFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQXlCLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCO1FBQ2YsTUFBTSxTQUFTLEdBQW1CLEVBQUUsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU87WUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7SUFFRCxzR0FBc0c7SUFDdEcsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNyRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxrQkFBa0IsQ0FBQyxPQUErQjtRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksOENBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQW5QRCxvQ0FtUEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGF0dGFjaCDigJQgd2hvIG9ic2VydmVzIGEgcnVuLCBhbmQgaG93IHRoZXkgcmVhY2ggaXQgKEY5KS5cbiAqXG4gKiBgUnVuT2JzZXJ2ZXJzYCBpcyB0aGUgZXhlY3V0b3IncyBPTkUgcmVnaXN0ZXIgb2Ygb2JzZXJ2ZXJzOiB0aGUgYnVpbHQtaW5cbiAqIG5hcnJhdGl2ZSByZWNvcmRlciwgdGhlIGlubGluZSBzY29wZSBhbmQgZmxvdyBsaXN0cywgYW5kIHRoZSBkZWZlcnJlZCB0aWVyXG4gKiAoUkZDLTAwMSkuIFRoZSBleGVjdXRvcidzIGBhdHRhY2gqUmVjb3JkZXJgIGZhbWlseSBkZWxlZ2F0ZXMgaGVyZTsgZWFjaCBsZWdcbiAqIChgcnVuKClgIC8gYHJlc3VtZSgpYCkgYXNrcyBpdCBmb3IgdGhlIGNvbXBvc2VkIHNjb3BlIGZhY3RvcnkgYW5kIHRoZSBmbG93XG4gKiByZWNvcmRlciBsaXN0IGl0IGhhbmRzIHRoZSB0cmF2ZXJzZXIuXG4gKlxuICogTGF3cyBrZXB0IGhlcmU6XG4gKiAgIC0gYW4gaWQgbGl2ZXMgb24gZXhhY3RseSBPTkUgZGVsaXZlcnkgdGllciBwZXIgbGlzdCDigJQgcmUtYXR0YWNoaW5nIHRoZVxuICogICAgIHNhbWUgaWQgU1dBUFMgdGllcnMsIG5ldmVyIGRvdWJsZSBkZWxpdmVyeTtcbiAqICAgLSBldmVyeSBhdHRhY2ggaXMgaWRlbXBvdGVudCBieSBgaWRgIChyZXBsYWNlLCBuZXZlciBkdXBsaWNhdGUpO1xuICogICAtIGVtaXQgcmVjb3JkZXJzIHJpZGUgdGhlIFNDT1BFIGxpc3QgKGBTY29wZUZhY2FkZWAgZGlzcGF0Y2hlcyBgb25FbWl0YFxuICogICAgIGZyb20gdGhlIHNhbWUgcGVyLXN0YWdlIGxpc3QgYXMgYG9uUmVhZGAvYG9uV3JpdGVgKTtcbiAqICAgLSBhIGZsb3cgYXR0YWNoIHR1cm5zIHRoZSBuYXJyYXRpdmUgb24gKHRoZSBmbG93IGNoYW5uZWwgbmVlZHMgaXQpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUnVuQ29ycmVsYXRpb24gfSBmcm9tICcuLi9hdHRlbXB0L3R5cGVzLmpzJztcbmltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJy4uL2Rldk1vZGUuanMnO1xuaW1wb3J0IHR5cGUgeyBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyT3B0aW9ucyB9IGZyb20gJy4uL2VuZ2luZS9uYXJyYXRpdmUvQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlci5qcyc7XG5pbXBvcnQgeyBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyIH0gZnJvbSAnLi4vZW5naW5lL25hcnJhdGl2ZS9Db21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgRmxvd1JlY29yZGVyIH0gZnJvbSAnLi4vZW5naW5lL25hcnJhdGl2ZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjb3BlRmFjdG9yeSB9IGZyb20gJy4uL2VuZ2luZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkUmVjb3JkZXIgfSBmcm9tICcuLi9yZWNvcmRlci9Db21iaW5lZFJlY29yZGVyLmpzJztcbmltcG9ydCB7IGhhc0VtaXRSZWNvcmRlck1ldGhvZHMsIGhhc0Zsb3dSZWNvcmRlck1ldGhvZHMsIGhhc1JlY29yZGVyTWV0aG9kcyB9IGZyb20gJy4uL3JlY29yZGVyL0NvbWJpbmVkUmVjb3JkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBTY29wZVJ1bnRpbWVUYXJnZXQgfSBmcm9tICcuLi9zY29wZS9ydW50aW1lLmpzJztcbmltcG9ydCB7IGhhc05hdGl2ZUNhcHR1cmVUYXJnZXQsIHJlcXVpcmVTY29wZVJ1bnRpbWUgfSBmcm9tICcuLi9zY29wZS9ydW50aW1lLmpzJztcbmltcG9ydCB0eXBlIHsgUmVkYWN0aW9uUG9saWN5LCBTY29wZVJlY29yZGVyIH0gZnJvbSAnLi4vc2NvcGUvdHlwZXMuanMnO1xuaW1wb3J0IHsgdHlwZSBBdHRhY2hSZWNvcmRlck9wdGlvbnMsIERlZmVycmVkT2JzZXJ2ZXJUaWVyIH0gZnJvbSAnLi9EZWZlcnJlZE9ic2VydmVyVGllci5qcyc7XG5cbi8qKiBBIHN0ZXAgYXBwbGllZCB0byBldmVyeSBzdGFnZSBzY29wZSByaWdodCBhZnRlciB0aGUgYmFzZSBmYWN0b3J5IG1ha2VzIGl0LiAqL1xudHlwZSBTY29wZU1vZGlmaWVyID0gKHRhcmdldDogU2NvcGVSdW50aW1lVGFyZ2V0KSA9PiB2b2lkO1xuXG5leHBvcnQgY2xhc3MgUnVuT2JzZXJ2ZXJzIHtcbiAgbmFycmF0aXZlRW5hYmxlZCA9IGZhbHNlO1xuICBuYXJyYXRpdmVPcHRpb25zPzogQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlck9wdGlvbnM7XG4gIC8qKiBUaGUgYnVpbHQtaW4gbmFycmF0aXZlIHJlY29yZGVyIG9mIHRoZSBjdXJyZW50IGxlZyAoa2VwdCBhY3Jvc3MgYSByZXN1bWUgc28gaXQgYWNjdW11bGF0ZXMpLiAqL1xuICBjb21iaW5lZFJlY29yZGVyOiBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyIHwgdW5kZWZpbmVkO1xuICBmbG93UmVjb3JkZXJzOiBGbG93UmVjb3JkZXJbXSA9IFtdO1xuICBzY29wZVJlY29yZGVyczogU2NvcGVSZWNvcmRlcltdID0gW107XG4gIC8qKlxuICAgKiBSRkMtMDAxIGRlZmVycmVkLW9ic2VydmVyIHdpcmluZyDigJQgY3JlYXRlZCBMQVpJTFkgb24gdGhlIGZpcnN0XG4gICAqIGBkZWxpdmVyeTogJ2RlZmVycmVkJ2AgYXR0YWNoLiBgdW5kZWZpbmVkYCBmb3IgZXZlcnkgZXhlY3V0b3IgdGhhdCBuZXZlclxuICAgKiBvcHRzIGluOiB6ZXJvIGFsbG9jYXRpb24sIHplcm8gcGVyLWV2ZW50IGNvc3QsIGJ5dGUtaWRlbnRpY2FsIGJlaGF2aW9yXG4gICAqICh0aGUgZW1pdCBmYXN0LXBhdGggcHJlY2VkZW50KS5cbiAgICovXG4gIGRlZmVycmVkVGllcj86IERlZmVycmVkT2JzZXJ2ZXJUaWVyO1xuXG4gIGVuYWJsZU5hcnJhdGl2ZShvcHRpb25zPzogQ29tYmluZWROYXJyYXRpdmVSZWNvcmRlck9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLm5hcnJhdGl2ZUVuYWJsZWQgPSB0cnVlO1xuICAgIGlmIChvcHRpb25zKSB0aGlzLm5hcnJhdGl2ZU9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgYXR0YWNoU2NvcGUocmVjb3JkZXI6IFNjb3BlUmVjb3JkZXIsIG9wdGlvbnM/OiBBdHRhY2hSZWNvcmRlck9wdGlvbnMpOiB2b2lkIHtcbiAgICAvLyBUaWVyIHN3YXAsIGJvdGggZGlyZWN0aW9uczogYW4gaWQgbGl2ZXMgb24gZXhhY3RseSBPTkUgdGllciBwZXIgbGlzdC5cbiAgICB0aGlzLnNjb3BlUmVjb3JkZXJzID0gdGhpcy5zY29wZVJlY29yZGVycy5maWx0ZXIoKHIpID0+IHIuaWQgIT09IHJlY29yZGVyLmlkKTtcbiAgICBpZiAob3B0aW9ucz8uZGVsaXZlcnkgPT09ICdkZWZlcnJlZCcpIHtcbiAgICAgIHRoaXMuZW5zdXJlRGVmZXJyZWRUaWVyKG9wdGlvbnMpLnJlZ2lzdGVyKHJlY29yZGVyLCB7IHNjb3BlOiB0cnVlIH0sIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRlZmVycmVkVGllcj8ucmVtb3ZlRnJvbUxpc3RzKHJlY29yZGVyLmlkLCB7IHNjb3BlOiB0cnVlIH0pO1xuICAgIHRoaXMuc2NvcGVSZWNvcmRlcnMucHVzaChyZWNvcmRlcik7XG4gIH1cblxuICBhdHRhY2hGbG93KHJlY29yZGVyOiBGbG93UmVjb3JkZXIsIG9wdGlvbnM/OiBBdHRhY2hSZWNvcmRlck9wdGlvbnMpOiB2b2lkIHtcbiAgICAvLyBUaWVyIHN3YXAsIGJvdGggZGlyZWN0aW9uczogYW4gaWQgbGl2ZXMgb24gZXhhY3RseSBPTkUgdGllciBwZXIgbGlzdC5cbiAgICB0aGlzLmZsb3dSZWNvcmRlcnMgPSB0aGlzLmZsb3dSZWNvcmRlcnMuZmlsdGVyKChyKSA9PiByLmlkICE9PSByZWNvcmRlci5pZCk7XG4gICAgdGhpcy5uYXJyYXRpdmVFbmFibGVkID0gdHJ1ZTtcbiAgICBpZiAob3B0aW9ucz8uZGVsaXZlcnkgPT09ICdkZWZlcnJlZCcpIHtcbiAgICAgIHRoaXMuZW5zdXJlRGVmZXJyZWRUaWVyKG9wdGlvbnMpLnJlZ2lzdGVyKHJlY29yZGVyLCB7IGZsb3c6IHRydWUgfSwgb3B0aW9ucyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGVmZXJyZWRUaWVyPy5yZW1vdmVGcm9tTGlzdHMocmVjb3JkZXIuaWQsIHsgZmxvdzogdHJ1ZSB9KTtcbiAgICB0aGlzLmZsb3dSZWNvcmRlcnMucHVzaChyZWNvcmRlcik7XG4gIH1cblxuICAvKipcbiAgICogUm91dGUgYSByZWNvcmRlciB0byBldmVyeSBjaGFubmVsIGl0IGhhcyBPV04gZXZlbnQgbWV0aG9kcyBmb3IgKHNlZVxuICAgKiBgaGFzUmVjb3JkZXJNZXRob2RzYCDigJQgcHJvdG90eXBlLWNoYWluIG1ldGhvZHMgYXJlIGlnbm9yZWQgb24gcHVycG9zZSxcbiAgICogYWdhaW5zdCBgT2JqZWN0LnByb3RvdHlwZWAgcG9sbHV0aW9uKS4gSWRlbXBvdGVudCBieSBgaWRgIGFjcm9zcyBBTExcbiAgICogY2hhbm5lbHM6IGEgY29tYmluZWQgYXR0YWNoIHJlcGxhY2VzIGEgc2luZ2xlLWNoYW5uZWwgcmVnaXN0cmF0aW9uIG9mIHRoZVxuICAgKiBzYW1lIGlkIG9uIHdoaWNoZXZlciBjaGFubmVsKHMpIHRoZSByZWNvcmRlciBoYXMgbWV0aG9kcyBmb3IuXG4gICAqL1xuICBhdHRhY2hDb21iaW5lZChyZWNvcmRlcjogQ29tYmluZWRSZWNvcmRlciwgb3B0aW9ucz86IEF0dGFjaFJlY29yZGVyT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IGhhc0RhdGEgPSBoYXNSZWNvcmRlck1ldGhvZHMocmVjb3JkZXIpO1xuICAgIGNvbnN0IGhhc0Zsb3cgPSBoYXNGbG93UmVjb3JkZXJNZXRob2RzKHJlY29yZGVyKTtcbiAgICBjb25zdCBoYXNFbWl0ID0gaGFzRW1pdFJlY29yZGVyTWV0aG9kcyhyZWNvcmRlcik7XG5cbiAgICAvLyBEZWxpdmVyeSB0aWVyIChSRkMtMDAxKTogb3B0aW9ucyBiYWcgT1IgdGhlIHJlY29yZGVyJ3Mgb3duXG4gICAgLy8gYGRlbGl2ZXJ5OiAnZGVmZXJyZWQnYCBmaWVsZC4gVGhlIGZpZWxkIGlzIGEgc3RyaW5nIOKAlCBjaGFubmVsIHJvdXRpbmdcbiAgICAvLyBhYm92ZSBjb3VudHMgZXZlbnQtTUVUSE9EIHByb3BlcnRpZXMgb25seSwgc28gZGVjbGFyaW5nIGl0IG5ldmVyXG4gICAgLy8gY2hhbmdlcyB3aGljaCBjaGFubmVscyB0aGUgcmVjb3JkZXIgbGFuZHMgb24uXG4gICAgY29uc3QgZGVsaXZlcnkgPSBvcHRpb25zPy5kZWxpdmVyeSA/PyByZWNvcmRlci5kZWxpdmVyeTtcbiAgICBjb25zdCB0aWVyT3B0aW9uczogQXR0YWNoUmVjb3JkZXJPcHRpb25zIHwgdW5kZWZpbmVkID0gZGVsaXZlcnkgPT09IHVuZGVmaW5lZCA/IG9wdGlvbnMgOiB7IC4uLm9wdGlvbnMsIGRlbGl2ZXJ5IH07XG5cbiAgICAvLyBFbWl0IHJlY29yZGVycyBsaXZlIG9uIHRoZSBTQU1FIGNoYW5uZWwgYXMgZGF0YS1mbG93IHJlY29yZGVyc1xuICAgIC8vIChTY29wZUZhY2FkZSBpdGVyYXRlcyBgX3JlY29yZGVyc2AgZm9yIG9uRW1pdCBkaXNwYXRjaCkuIFNob3J0LWNpcmN1aXQ6XG4gICAgLy8gaWYgaGFzRGF0YSBPUiBoYXNFbWl0LCB0aGUgcmVjb3JkZXIgbGFuZHMgb24gdGhlIHNjb3BlIGxpc3QgZXhhY3RseSBvbmNlLlxuICAgIGlmIChoYXNEYXRhIHx8IGhhc0VtaXQpIHRoaXMuYXR0YWNoU2NvcGUocmVjb3JkZXIgYXMgU2NvcGVSZWNvcmRlciwgdGllck9wdGlvbnMpO1xuICAgIGlmIChoYXNGbG93KSB0aGlzLmF0dGFjaEZsb3cocmVjb3JkZXIgYXMgRmxvd1JlY29yZGVyLCB0aWVyT3B0aW9ucyk7XG5cbiAgICBpZiAoIWhhc0RhdGEgJiYgIWhhc0Zsb3cgJiYgIWhhc0VtaXQgJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgIC8vIERldi1tb2RlIG9ubHk6IHNpbGVudCBza2lwcyBhcmUgaW52aXNpYmxlIGFuZCBwcm9kdWNlIGhhcmQtdG8tZGVidWdcbiAgICAgIC8vIFwid2h5IGRpZG4ndCBteSByZWNvcmRlciBmaXJlXCIgcmVwb3J0cy4gUGVyIGxpYnJhcnkgY29udmVudGlvbiwgZ2F0ZWRcbiAgICAgIC8vIG9uIHRoZSBjZW50cmFsIGlzRGV2TW9kZSgpIGZsYWcgKG5vdCBwcm9jZXNzLmVudikgc28gY29uc3VtZXJzIGNhblxuICAgICAgLy8gY29udHJvbCBkZXYgdG9vbGluZyBjZW50cmFsbHkgdmlhIGVuYWJsZURldk1vZGUoKS9kaXNhYmxlRGV2TW9kZSgpLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFtmb290cHJpbnRqc10gYXR0YWNoQ29tYmluZWRSZWNvcmRlcjogcmVjb3JkZXIgJyR7cmVjb3JkZXIuaWR9JyBoYXMgYCArXG4gICAgICAgICAgJ25vIG9ic2VydmVyIGV2ZW50IG1ldGhvZHMg4oCUIG5vdGhpbmcgdG8gYXR0YWNoLiBEaWQgeW91IGZvcmdldCB0byAnICtcbiAgICAgICAgICAnYWRkIGFuIG9uKiBoYW5kbGVyIChvbldyaXRlLCBvbkRlY2lzaW9uLCBvblN1YmZsb3dFbnRyeSwgLi4uKT8gJyArXG4gICAgICAgICAgJ05vdGU6IG9ubHkgT1dOIHByb3BlcnRpZXMgY291bnQ7IG1ldGhvZHMgb24gdGhlIHByb3RvdHlwZSBjaGFpbiAnICtcbiAgICAgICAgICAnYXJlIGlnbm9yZWQgb24gcHVycG9zZS4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKiogRGV0YWNoIGV2ZXJ5IHNjb3BlIHJlY29yZGVyIHdpdGggdGhpcyBpZCDigJQgYm90aCBkZWxpdmVyeSB0aWVycy4gKi9cbiAgZGV0YWNoU2NvcGUoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2NvcGVSZWNvcmRlcnMgPSB0aGlzLnNjb3BlUmVjb3JkZXJzLmZpbHRlcigocikgPT4gci5pZCAhPT0gaWQpO1xuICAgIHRoaXMuZGVmZXJyZWRUaWVyPy5yZW1vdmVGcm9tTGlzdHMoaWQsIHsgc2NvcGU6IHRydWUgfSk7XG4gIH1cblxuICAvKiogRGV0YWNoIGV2ZXJ5IGZsb3cgcmVjb3JkZXIgd2l0aCB0aGlzIGlkIOKAlCBib3RoIGRlbGl2ZXJ5IHRpZXJzLiAqL1xuICBkZXRhY2hGbG93KGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dSZWNvcmRlcnMgPSB0aGlzLmZsb3dSZWNvcmRlcnMuZmlsdGVyKChyKSA9PiByLmlkICE9PSBpZCk7XG4gICAgdGhpcy5kZWZlcnJlZFRpZXI/LnJlbW92ZUZyb21MaXN0cyhpZCwgeyBmbG93OiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqIEEgZGVmZW5zaXZlIGNvcHkgb2YgdGhlIHNjb3BlIGxpc3QgKGJvdGggdGllcnMpLiAqL1xuICBzY29wZUxpc3QoKTogU2NvcGVSZWNvcmRlcltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuc2NvcGVSZWNvcmRlcnMsIC4uLih0aGlzLmRlZmVycmVkVGllcj8uc2NvcGVMaXN0UmVjb3JkZXJzKCkgPz8gW10pXTtcbiAgfVxuXG4gIC8qKiBBIGRlZmVuc2l2ZSBjb3B5IG9mIHRoZSBmbG93IGxpc3QgKGJvdGggdGllcnMpLiAqL1xuICBmbG93TGlzdCgpOiBGbG93UmVjb3JkZXJbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLmZsb3dSZWNvcmRlcnMsIC4uLih0aGlzLmRlZmVycmVkVGllcj8uZmxvd0xpc3RSZWNvcmRlcnMoKSA/PyBbXSldO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnJlc2ggYHJ1bigpYCBjbGVhcnMgZXZlcnkgYXR0YWNoZWQgcmVjb3JkZXIgKGBjbGVhcigpYCksIHNvIHN0YXRlIGRvZXNcbiAgICogbm90IGFjY3VtdWxhdGUgYWNyb3NzIHJ1bnMuIFRoZSBuYXJyYXRpdmUgcmVjb3JkZXIgaXMgbm90IGNsZWFyZWQ6IGVhY2hcbiAgICogZnJlc2ggbGVnIGJ1aWxkcyBhIG5ldyBvbmUgKHtAbGluayBzdGFydExlZ30pLlxuICAgKi9cbiAgY2xlYXJGb3JSdW4oKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCByIG9mIHRoaXMuZmxvd1JlY29yZGVycykge1xuICAgICAgci5jbGVhcj8uKCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgciBvZiB0aGlzLnNjb3BlUmVjb3JkZXJzKSB7XG4gICAgICByLmNsZWFyPy4oKTtcbiAgICB9XG4gICAgdGhpcy5kZWZlcnJlZFRpZXI/LmNsZWFyUmVjb3JkZXJzKCk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBhIGxlZzogYSBmcmVzaCBuYXJyYXRpdmUgcmVjb3JkZXIgd2hlbiB0aGUgbmFycmF0aXZlIGlzIG9uLCBub25lIHdoZW5cbiAgICogaXQgaXMgb2ZmIOKAlCBvciwgb24gYSByZXN1bWUgKGBwcmVzZXJ2ZWApLCB0aGUgZXhpc3Rpbmcgb25lLCBzbyB0aGVcbiAgICogbmFycmF0aXZlIGFjY3VtdWxhdGVzIGFjcm9zcyB0aGUgcGF1c2UuIEEgZnJlc2ggZXhlY3V0b3IgaGFzIG5vIHJlY29yZGVyXG4gICAqIHRvIHByZXNlcnZlIGFuZCBzdGFydHMgb25lIGZvciB0aGUgcmVzdW1lZCBsZWcgb25seS5cbiAgICogUmV0dXJucyB0aGUgbGVnJ3MgbmFycmF0aXZlIGZsYWcuXG4gICAqL1xuICBzdGFydExlZyhjaGFydE5hcnJhdGl2ZTogYm9vbGVhbiwgcHJlc2VydmU6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBuYXJyYXRpdmVGbGFnID0gdGhpcy5uYXJyYXRpdmVFbmFibGVkIHx8IGNoYXJ0TmFycmF0aXZlO1xuICAgIGlmICghcHJlc2VydmUgfHwgIXRoaXMuY29tYmluZWRSZWNvcmRlcikge1xuICAgICAgdGhpcy5jb21iaW5lZFJlY29yZGVyID0gbmFycmF0aXZlRmxhZyA/IG5ldyBDb21iaW5lZE5hcnJhdGl2ZVJlY29yZGVyKHRoaXMubmFycmF0aXZlT3B0aW9ucykgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBuYXJyYXRpdmVGbGFnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsZWcncyBzY29wZSBmYWN0b3J5OiB0aGUgYmFzZSBmYWN0b3J5LCB0aGVuIGV2ZXJ5IHNjb3BlIG1vZGlmaWVyIGluIE9ORVxuICAgKiBmbGF0IHBhc3Mg4oCUIHRoZSBuYXJyYXRpdmUgcmVjb3JkZXIsIHRoZSB1c2VyJ3Mgc2NvcGUgcmVjb3JkZXJzLCB0aGVcbiAgICogZGVmZXJyZWQgdGllcidzIHNjb3BlIHRhcCwgdGhlIHJlZGFjdGlvbiBwb2xpY3kuXG4gICAqXG4gICAqIFRoZSBtYXJrZWQta2V5cyBzZXQgaXMgQUxXQVlTIHdpcmVkIChhIHN0YWdlIGNhbiBjYWxsXG4gICAqIGBzZXRWYWx1ZShrZXksIHZhbCwgdHJ1ZSlgIGZvciBwZXItY2FsbCByZWRhY3Rpb24gd2l0aG91dCBhbnkgcG9saWN5KS5cbiAgICovXG4gIGNvbXBvc2VTY29wZUZhY3Rvcnk8VFNjb3BlPihcbiAgICBiYXNlRmFjdG9yeTogU2NvcGVGYWN0b3J5PFRTY29wZT4sXG4gICAgcmVkYWN0aW9uUG9saWN5OiBSZWRhY3Rpb25Qb2xpY3kgfCB1bmRlZmluZWQsXG4gICAgc2hhcmVkUmVkYWN0ZWRLZXlzOiBTZXQ8c3RyaW5nPixcbiAgICBjb3JyZWxhdGlvbj86IFJ1bkNvcnJlbGF0aW9uLFxuICApOiBTY29wZUZhY3Rvcnk8VFNjb3BlPiB7XG4gICAgY29uc3QgbW9kaWZpZXJzOiBTY29wZU1vZGlmaWVyW10gPSBbXTtcblxuICAgIC8vIDEuIE5hcnJhdGl2ZSByZWNvcmRlciAoaWYgZW5hYmxlZClcbiAgICBpZiAodGhpcy5jb21iaW5lZFJlY29yZGVyKSB7XG4gICAgICBjb25zdCByZWNvcmRlciA9IHRoaXMuY29tYmluZWRSZWNvcmRlcjtcbiAgICAgIG1vZGlmaWVycy5wdXNoKCh0YXJnZXQpID0+IHtcbiAgICAgICAgdGFyZ2V0LmF0dGFjaFNjb3BlUmVjb3JkZXI/LihyZWNvcmRlcik7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAyLiBVc2VyLXByb3ZpZGVkIHNjb3BlIHJlY29yZGVyc1xuICAgIGlmICh0aGlzLnNjb3BlUmVjb3JkZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlY29yZGVycyA9IHRoaXMuc2NvcGVSZWNvcmRlcnM7XG4gICAgICBtb2RpZmllcnMucHVzaCgodGFyZ2V0KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgciBvZiByZWNvcmRlcnMpIHRhcmdldC5hdHRhY2hTY29wZVJlY29yZGVyPy4ocik7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAyYi4gRGVmZXJyZWQtb2JzZXJ2ZXIgc2NvcGUgdGFwIChSRkMtMDAxIEJsb2NrIDcpIOKAlCBhIHN5bnRoZXRpY1xuICAgIC8vIHJlY29yZGVyIHdob3NlIGhvb2tzIENBUFRVUkUgaW50byB0aGUgYm91bmRlZCBxdWV1ZSBpbnN0ZWFkIG9mIGRvaW5nXG4gICAgLy8gb2JzZXJ2ZXIgd29yay4gSXQgcmlkZXMgdGhlIHNhbWUgcGVyLXN0YWdlIHJlY29yZGVyIGxpc3QgYXMgaW5saW5lXG4gICAgLy8gcmVjb3JkZXJzLCBzbyBpdCByZWNlaXZlcyBleGFjdGx5IHRoZSBwb3N0LXJlZGFjdGlvbiBldmVudHMgdGhleSBkby5cbiAgICAvLyBBYnNlbnQgKHplcm8gd29yaywgaWRlbnRpY2FsIGxpc3QpIHdoZW4gbm9ib2R5IG9wdGVkIGludG8gZGVmZXJyYWwuXG4gICAgY29uc3Qgc2NvcGVUYXAgPSB0aGlzLmRlZmVycmVkVGllcj8uYnVpbGRTY29wZVRhcCgpO1xuICAgIGlmIChzY29wZVRhcCkge1xuICAgICAgbW9kaWZpZXJzLnB1c2goKHRhcmdldCkgPT4ge1xuICAgICAgICB0YXJnZXQuYXR0YWNoU2NvcGVSZWNvcmRlcj8uKHNjb3BlVGFwKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDMuIFJlZGFjdGlvbiBwb2xpY3kgKGNvbmRpdGlvbmFsIOKAlCBvbmx5IHdoZW4gcG9saWN5IGlzIHNldCkuIEFcbiAgICAvLyBgU2NvcGVGYWNhZGVgIGFscmVhZHkgcmVhZHMgdGhlIHJ1bidzIHJ1bGUgdGhyb3VnaCBpdHMgY29udGV4dCAodGhlXG4gICAgLy8gcnVsZSBpcyBpbnN0YWxsZWQgb24gdGhlIHJ1bnRpbWUgcm9vdCk7IHRoaXMgY2FsbCBzdXBwbGllcyBpdCB0b1xuICAgIC8vIGV4cGxpY2l0bHkgcmVnaXN0ZXJlZCBjdXN0b20gcG9ydHMsIGFuZCBvbiBhIGZhY2FkZSBpdFxuICAgIC8vIHJlLXN0YXRlcyB0aGUgZXhlY3V0b3IncyBwb2xpY3kgb24gdGhlIHNoYXJlZCBydWxlIChhIG5vLW9wKS5cbiAgICBpZiAocmVkYWN0aW9uUG9saWN5KSB7XG4gICAgICBjb25zdCBwb2xpY3kgPSByZWRhY3Rpb25Qb2xpY3k7XG4gICAgICBtb2RpZmllcnMucHVzaCgodGFyZ2V0KSA9PiB7XG4gICAgICAgIHRhcmdldC51c2VSZWRhY3Rpb25Qb2xpY3k/Lihwb2xpY3kpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gNC4gVGhlIGxlZydzIGNvcnJlbGF0aW9uICgxMC4xKSDigJQgb25lIGZyb3plbiBvYmplY3QgcGVyIGxlZywgc28gYSBmYWN0b3J5IGNvbXBvc2VkIGZvciBvbmUgbGVnIG5ldmVyXG4gICAgLy8gc3RhbXBzIGFub3RoZXIncy4gSW5zdGFsbGVkIGV2ZW4gd2hlbiBhYnNlbnQ6IGEgdGFyZ2V0IGEgY3VzdG9tIGZhY3RvcnkgcmUtdXNlcyBhY3Jvc3MgcnVucyBpcyBDTEVBUkVELFxuICAgIC8vIG5ldmVyIGxlZnQgaG9sZGluZyBhbiBlYXJsaWVyIHJ1bidzLiBBYnNlbnQg4oaSIGV2ZW50cyBieXRlLWlkZW50aWNhbC5cbiAgICBtb2RpZmllcnMucHVzaCgodGFyZ2V0KSA9PiB7XG4gICAgICB0YXJnZXQudXNlQ29ycmVsYXRpb24/Lihjb3JyZWxhdGlvbik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKChjdHg6IGFueSwgc3RhZ2VOYW1lOiBzdHJpbmcsIHJlYWRPbmx5PzogdW5rbm93biwgZW52QXJnPzogYW55KSA9PiB7XG4gICAgICBjb25zdCBzY29wZSA9IGJhc2VGYWN0b3J5KGN0eCwgc3RhZ2VOYW1lLCByZWFkT25seSwgZW52QXJnKTtcbiAgICAgIGNvbnN0IHsgdGFyZ2V0IH0gPSByZXF1aXJlU2NvcGVSdW50aW1lKHNjb3BlKTtcbiAgICAgIGlmIChjdHguY2FwdHVyZSAmJiAhaGFzTmF0aXZlQ2FwdHVyZVRhcmdldCh0YXJnZXQsIGN0eCkpIGN0eC5jYXB0dXJlLmxpbWl0KCdjdXN0b20tc2NvcGUnKTtcbiAgICAgIC8vIEFsd2F5cyB3aXJlIHNoYXJlZCByZWRhY3Rpb24gc3RhdGVcbiAgICAgIHRhcmdldC51c2VTaGFyZWRSZWRhY3RlZEtleXM/LihzaGFyZWRSZWRhY3RlZEtleXMpO1xuICAgICAgLy8gQXBwbHkgb3B0aW9uYWwgbW9kaWZpZXJzXG4gICAgICBmb3IgKGNvbnN0IG1vZCBvZiBtb2RpZmllcnMpIG1vZCh0YXJnZXQpO1xuICAgICAgcmV0dXJuIHNjb3BlO1xuICAgIH0pIGFzIFNjb3BlRmFjdG9yeTxUU2NvcGU+O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsZWcncyBmbG93IHJlY29yZGVyczogdGhlIG5hcnJhdGl2ZSByZWNvcmRlciAod2hlbiBvbiksIHRoZSB1c2VyJ3NcbiAgICogZmxvdyByZWNvcmRlcnMsIHRoZW4gdGhlIGRlZmVycmVkIHRpZXIncyBmbG93IHRhcCAoUkZDLTAwMSBCbG9jayA3KSDigJRcbiAgICogYXBwZW5kZWQgbGlrZSBhbnkgb3RoZXIgZmxvdyByZWNvcmRlciwgc28gdGhlIGRpc3BhdGNoZXIgbmVlZHMgbm8gdGllclxuICAgKiBsb2dpYyBvZiBpdHMgb3duLiBgdW5kZWZpbmVkYCB3aGVuIHRoZXJlIGFyZSBub25lLlxuICAgKi9cbiAgZmxvd1JlY29yZGVyc0xpc3QoKTogRmxvd1JlY29yZGVyW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlY29yZGVyczogRmxvd1JlY29yZGVyW10gPSBbXTtcbiAgICBpZiAodGhpcy5jb21iaW5lZFJlY29yZGVyKSB7XG4gICAgICByZWNvcmRlcnMucHVzaCh0aGlzLmNvbWJpbmVkUmVjb3JkZXIpO1xuICAgIH1cbiAgICByZWNvcmRlcnMucHVzaCguLi50aGlzLmZsb3dSZWNvcmRlcnMpO1xuICAgIGNvbnN0IGZsb3dUYXAgPSB0aGlzLmRlZmVycmVkVGllcj8uYnVpbGRGbG93VGFwKCk7XG4gICAgaWYgKGZsb3dUYXApIHJlY29yZGVycy5wdXNoKGZsb3dUYXApO1xuICAgIHJldHVybiByZWNvcmRlcnMubGVuZ3RoID4gMCA/IHJlY29yZGVycyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBUaGUgaW5saW5lIGZsb3cgbGlzdGVuZXJzIG9mIGFuIGV4ZWN1dG9yLW1hZGUgZXZlbnQgKGBvblJlc3VtZWApOiB0aGUgbmFycmF0aXZlIHJlY29yZGVyIGZpcnN0LiAqL1xuICBpbmxpbmVGbG93TGlzdGVuZXJzKCk6IEZsb3dSZWNvcmRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5jb21iaW5lZFJlY29yZGVyID8gW3RoaXMuY29tYmluZWRSZWNvcmRlciwgLi4udGhpcy5mbG93UmVjb3JkZXJzXSA6IHRoaXMuZmxvd1JlY29yZGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXppbHkgY3JlYXRlIHRoZSBleGVjdXRvcidzIE9ORSBkZWZlcnJlZC1vYnNlcnZlciB0aWVyIChvbmUgbWVyZ2VkXG4gICAqIHF1ZXVlLCB0b3RhbCBldmVudCBvcmRlciBhY3Jvc3MgYWxsIHRocmVlIGNoYW5uZWxzKS4gVGhlIEZJUlNUIGRlZmVycmVkXG4gICAqIGF0dGFjaCdzIG9wdGlvbnMgY29uZmlndXJlIHRoZSBkaXNwYXRjaGVyOyBsYXRlciBkaWZmZXJpbmcgb3B0aW9ucyBhcmVcbiAgICogZGV2LXdhcm5lZCBhbmQgaWdub3JlZCAoc2VlIGBBdHRhY2hSZWNvcmRlck9wdGlvbnNgKS5cbiAgICovXG4gIHByaXZhdGUgZW5zdXJlRGVmZXJyZWRUaWVyKG9wdGlvbnM/OiBBdHRhY2hSZWNvcmRlck9wdGlvbnMpOiBEZWZlcnJlZE9ic2VydmVyVGllciB7XG4gICAgaWYgKCF0aGlzLmRlZmVycmVkVGllcikgdGhpcy5kZWZlcnJlZFRpZXIgPSBuZXcgRGVmZXJyZWRPYnNlcnZlclRpZXIob3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuZGVmZXJyZWRUaWVyO1xuICB9XG59XG4iXX0=
|
|
@@ -20,6 +20,9 @@ const defaultScopeFactory = (ctx, stageName, readOnly, env) => new ScopeFacade_j
|
|
|
20
20
|
*/
|
|
21
21
|
function resolveExecutorArgs(flowChart, factoryOrOptions) {
|
|
22
22
|
const opts = typeof factoryOrOptions === 'function' ? { scopeFactory: factoryOrOptions } : factoryOrOptions ?? {};
|
|
23
|
+
if (opts.captureCoverage !== undefined && typeof opts.captureCoverage !== 'boolean') {
|
|
24
|
+
throw new TypeError('captureCoverage must be a boolean');
|
|
25
|
+
}
|
|
23
26
|
return {
|
|
24
27
|
flowChart,
|
|
25
28
|
scopeFactory: opts.scopeFactory ?? flowChart.scopeFactory ?? defaultScopeFactory,
|
|
@@ -30,8 +33,9 @@ function resolveExecutorArgs(flowChart, factoryOrOptions) {
|
|
|
30
33
|
streamHandlers: opts.streamHandlers,
|
|
31
34
|
scopeProtectionMode: opts.scopeProtectionMode,
|
|
32
35
|
dials: (0, runPolicy_js_1.pickDials)(opts),
|
|
36
|
+
...(opts.captureCoverage === true && { captureCoverage: true }),
|
|
33
37
|
...(opts.sink !== undefined && { sink: (0, recordSink_js_1.resolveRecordSink)(opts.sink) }),
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
exports.resolveExecutorArgs = resolveExecutorArgs;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcnVubmVyL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBS0gseURBQW1EO0FBRW5ELDREQUFzRDtBQUN0RCxtREFBb0c7QUFFcEcsMEVBQTBFO0FBQzFFLE1BQU0sbUJBQW1CLEdBQWlCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FDMUUsSUFBSSw0QkFBVyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBbUdqRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLFNBQWtDLEVBQ2xDLGdCQUFxRjtJQUVyRixNQUFNLElBQUksR0FDUixPQUFPLGdCQUFnQixLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ3ZHLE9BQU87UUFDTCxTQUFTO1FBQ1QsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLFlBQVksSUFBSyxtQkFBNEM7UUFDMUcsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtRQUNyRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7UUFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3JDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7UUFDbkQsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1FBQ25DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7UUFDN0MsS0FBSyxFQUFFLElBQUEsd0JBQVMsRUFBQyxJQUFJLENBQUM7UUFDdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUEsaUNBQWlCLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDdkUsQ0FBQztBQUNKLENBQUM7QUFsQkQsa0RBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBvcHRpb25zIOKAlCB0aGUgZXhlY3V0b3IncyBjb25zdHJ1Y3Rpb24gb3B0aW9ucyBhbmQgaG93IHRoZXkgcmVzb2x2ZSAoRjkpLlxuICpcbiAqIGBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnNgIGlzIHRoZSBwdWJsaWMgb3B0aW9ucyBvYmplY3Q7XG4gKiBgcmVzb2x2ZUV4ZWN1dG9yQXJnc2AgdHVybnMgZWl0aGVyIGNvbnN0cnVjdG9yIGZvcm0gKG9wdGlvbnMgb2JqZWN0LCBvciBhXG4gKiBiYXJlIGBTY29wZUZhY3RvcnlgKSBpbnRvIHRoZSBgRXhlY3V0b3JBcmdzYCB0aGUgZXhlY3V0b3Iga2VlcHMgZm9yIGV2ZXJ5IGxlZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZsb3dDaGFydCB9IGZyb20gJy4uL2J1aWxkZXIvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTY29wZUZhY3RvcnksIFN0cmVhbUhhbmRsZXJzIH0gZnJvbSAnLi4vZW5naW5lL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUnVuRGlhbHMgfSBmcm9tICcuLi9tZW1vcnkvcnVuUG9saWN5LmpzJztcbmltcG9ydCB7IHBpY2tEaWFscyB9IGZyb20gJy4uL21lbW9yeS9ydW5Qb2xpY3kuanMnO1xuaW1wb3J0IHR5cGUgeyBTY29wZVByb3RlY3Rpb25Nb2RlIH0gZnJvbSAnLi4vc2NvcGUvcHJvdGVjdGlvbi90eXBlcy5qcyc7XG5pbXBvcnQgeyBTY29wZUZhY2FkZSB9IGZyb20gJy4uL3Njb3BlL1Njb3BlRmFjYWRlLmpzJztcbmltcG9ydCB7IHR5cGUgUmVjb3JkU2lua09wdGlvbiwgdHlwZSBSZXNvbHZlZFJlY29yZFNpbmssIHJlc29sdmVSZWNvcmRTaW5rIH0gZnJvbSAnLi9yZWNvcmRTaW5rLmpzJztcblxuLyoqIERlZmF1bHQgc2NvcGUgZmFjdG9yeSDigJQgY3JlYXRlcyBhIHBsYWluIFNjb3BlRmFjYWRlIGZvciBlYWNoIHN0YWdlLiAqL1xuY29uc3QgZGVmYXVsdFNjb3BlRmFjdG9yeTogU2NvcGVGYWN0b3J5ID0gKGN0eCwgc3RhZ2VOYW1lLCByZWFkT25seSwgZW52KSA9PlxuICBuZXcgU2NvcGVGYWNhZGUoY3R4LCBzdGFnZU5hbWUsIHJlYWRPbmx5LCBlbnYpO1xuXG4vKipcbiAqIE9wdGlvbnMgb2JqZWN0IGZvciBgRmxvd0NoYXJ0RXhlY3V0b3JgIOKAlCBwcmVmZXJyZWQgb3ZlciBwb3NpdGlvbmFsIHBhcmFtcy5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleCA9IG5ldyBGbG93Q2hhcnRFeGVjdXRvcihjaGFydCwge1xuICogICBzY29wZUZhY3Rvcnk6IG15RmFjdG9yeSxcbiAqICAgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHQ6IHsgLi4uIH0sXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqICoqU3luYyBub3RlIGZvciBtYWludGFpbmVyczoqKiBhIGZpZWxkIGFkZGVkIGhlcmUgbXVzdCBhbHNvIGJlIGFkZGVkIHRvXG4gKiBgRXhlY3V0b3JBcmdzYCBhbmQgYHJlc29sdmVFeGVjdXRvckFyZ3NgIGJlbG93LCBvciBpdCBpcyBhY2NlcHRlZCBhbmQgbmV2ZXJcbiAqIGFwcGxpZWQuIFRoZSBESUFMUyBhcmUgdGhlIGV4Y2VwdGlvbjogdGhleSBjb21lIGZyb20gYFJ1bkRpYWxzYCBhbmQgdHJhdmVsXG4gKiB3aG9sZSBhcyBgZGlhbHNgLlxuICpcbiAqICoqVFNjb3BlIGluZmVyZW5jZSBub3RlOioqIFdoZW4gdXNpbmcgdGhlIG9wdGlvbnMtb2JqZWN0IGZvcm0gd2l0aCBhIGN1c3RvbSBzY29wZSxcbiAqIFR5cGVTY3JpcHQgY2Fubm90IGluZmVyIGBUU2NvcGVgIHRocm91Z2ggdGhlIG9wdGlvbnMgb2JqZWN0LiBQYXNzIHRoZSB0eXBlXG4gKiBleHBsaWNpdGx5OiBgbmV3IEZsb3dDaGFydEV4ZWN1dG9yPFRPdXQsIE15U2NvcGU+KGNoYXJ0LCB7IHNjb3BlRmFjdG9yeSB9KWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0NoYXJ0RXhlY3V0b3JPcHRpb25zPFRTY29wZSA9IGFueT4gZXh0ZW5kcyBSdW5EaWFscyB7XG4gIC8vIOKUgOKUgCBDb21tb24gb3B0aW9ucyAobW9zdCBjYWxsZXJzIG5lZWQgb25seSB0aGVzZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgLyoqIEN1c3RvbSBzY29wZSBmYWN0b3J5LiBEZWZhdWx0cyB0byBUeXBlZFNjb3BlIG9yIFNjb3BlRmFjYWRlIGF1dG8tZGV0ZWN0aW9uLiAqL1xuICBzY29wZUZhY3Rvcnk/OiBTY29wZUZhY3Rvcnk8VFNjb3BlPjtcblxuICAvLyDilIDilIAgQ29udGV4dCBvcHRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHZhbHVlcyBwcmUtcG9wdWxhdGVkIGludG8gdGhlIHNoYXJlZCBjb250ZXh0IGJlZm9yZSAqKmVhY2gqKiBzdGFnZVxuICAgKiAocmUtYXBwbGllZCBldmVyeSBzdGFnZSwgYWN0aW5nIGFzIGJhc2VsaW5lIGRlZmF1bHRzKS5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZXNGb3JDb250ZXh0PzogdW5rbm93bjtcbiAgLyoqXG4gICAqIEluaXRpYWwgY29udGV4dCB2YWx1ZXMgbWVyZ2VkIGludG8gdGhlIHNoYXJlZCBjb250ZXh0ICoqb25jZSoqIGF0IHN0YXJ0dXBcbiAgICogKGFwcGxpZWQgYmVmb3JlIHRoZSBmaXJzdCBzdGFnZSwgbm90IHJlcGVhdGVkIG9uIHN1YnNlcXVlbnQgc3RhZ2VzKS5cbiAgICogRGlzdGluY3QgZnJvbSBgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHRgLCB3aGljaCBpcyByZS1hcHBsaWVkIGV2ZXJ5IHN0YWdlLlxuICAgKi9cbiAgaW5pdGlhbENvbnRleHQ/OiB1bmtub3duO1xuICAvKiogUmVhZC1vbmx5IGlucHV0IGFjY2Vzc2libGUgdmlhIGBzY29wZS5nZXRBcmdzKClgIOKAlCBuZXZlciB0cmFja2VkIG9yIHdyaXR0ZW4uICovXG4gIHJlYWRPbmx5Q29udGV4dD86IHVua25vd247XG5cbiAgLy8g4pSA4pSAIE9ic2VydmFiaWxpdHkgY29zdCBvcHRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBUaGUgZm91ciBkaWFscyDigJQgYHJlYWRUcmFja2luZ2AsIGB3cml0ZVRyYWNraW5nYCwgYGNvbW1pdFZhbHVlc2AsXG4gIC8vIGB3cml0ZVByb3ZlbmFuY2VgIOKAlCBhcmUgaW5oZXJpdGVkIGZyb20gYFJ1bkRpYWxzYCAobWVtb3J5L3J1blBvbGljeS50cyxcbiAgLy8gd2hlcmUgZWFjaCBpcyBkb2N1bWVudGVkKTogdGhlIGV4ZWN1dG9yIHBpY2tzIHRoZW0gb2ZmIHRoaXMgb2JqZWN0IGFuZFxuICAvLyBidWlsZHMgdGhlIHJ1bidzIE9ORSBwb2xpY3kgZnJvbSB0aGVtIChGNSkuXG5cbiAgLy8g4pSA4pSAIFRoZSBjcmFzaC1zYWZlIHJlY29yZCAoMTAuMSwgUDYpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgcnVuJ3MgcmVjb3JkIGdvZXMgQVMgSVQgTEFORFMsIHNvIGEgcnVuIHRoYXQgbmV2ZXIgZmluaXNoZXMgc3RpbGwgbGVhdmVzIGl0OiBldmVyeSBsb2cgb2YgdGhlIHJ1blxuICAgKiAodGhlIHJvb3QgYW5kIGVhY2ggc3ViZmxvdyBtb3VudCkgaGFuZHMgdGhlIHNpbmsgaXRzIGBvcGVuZWRgIGJhc2UsIGVhY2ggY29tbWl0LCBhIG5vdGUgcGVyIGF0dGVtcHQgdGhhdCBlbmRlZCxcbiAgICogYW5kIGl0cyBgY2xvc2VkYCBvdXRjb21lLiBgZmlsZVNpbmsocGF0aClgIChgZm9vdHByaW50anMvc2lua3NgLCBOb2RlKSBvciBgbWVtb3J5U2luaygpYCAoYGZvb3R0cmFjZS93cml0ZWApO1xuICAgKiByZWFkIGl0IGJhY2sgd2l0aCBgcmVhZFN0b3JlZFJlY29yZGAgKGBmb290dHJhY2VgKS4gVGhlIHJlZGFjdGlvbiBwb2xpY3kgYXBwbGllcyBiZWZvcmUgYW55IGVudHJ5IGlzIHdyaXR0ZW4uXG4gICAqIEEgZmFpbGluZyBzaW5rIG5ldmVyIHN0b3BzIHRoZSBydW4gKGBvbkZhaWx1cmU6ICdyZXBvcnQnYCwgdGhlIGRlZmF1bHQpIOKAlCBgZ2V0U25hcHNob3QoKS5zaW5rYCBjb3VudHMgd2hhdCB3YXNcbiAgICogbG9zdC4gU2VlIHRoZSBndWlkZSdzIFwiQSBjcmFzaC1zYWZlIHJlY29yZFwiLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGV4ZWN1dG9yID0gbmV3IEZsb3dDaGFydEV4ZWN1dG9yKGNoYXJ0LCB7IHNpbms6IGZpbGVTaW5rKCcvdmFyL2Zvb3RwcmludC9ydW4uanNvbmwnKSB9KTtcbiAgICogYGBgXG4gICAqL1xuICBzaW5rPzogUmVjb3JkU2lua09wdGlvbjtcblxuICAvLyDilIDilIAgQWR2YW5jZWQgLyBlc2NhcGUtaGF0Y2ggb3B0aW9ucyAobW9zdCBjYWxsZXJzIGRvIG5vdCBuZWVkIHRoZXNlKSDilIDilIDilIDilIDilIBcblxuICAvKipcbiAgICogQ3VzdG9tIGVycm9yIGNsYXNzaWZpZXIgZm9yIHRocm90dGxpbmcgZGV0ZWN0aW9uLiBSZXR1cm4gYHRydWVgIGlmIGEgZm9ya1xuICAgKiBjaGlsZCdzIGVycm9yIHJlcHJlc2VudHMgYSByYXRlLWxpbWl0IG9yIGJhY2twcmVzc3VyZSBjb25kaXRpb247IHRoZVxuICAgKiBleGVjdXRvciB0aGVuIGZpcmVzIGBGbG93UmVjb3JkZXIub25UaHJvdHRsZWRgIGZvciB0aGF0IGNoaWxkICg5LjM5LjAg4oCUXG4gICAqIGFuIEVWRU5ULCBub3QgYSBzdGF0ZSBrZXk6IHRoZSBgbW9uaXRvci5pc1Rocm90dGxlZGAgd3JpdGUgaXQgcmVwbGFjZWRcbiAgICogbmV2ZXIgbGFuZGVkKS4gVGhlIGNoaWxkJ3MgZmFpbHVyZSBpcyBvdGhlcndpc2UgaGFuZGxlZCBhcyBiZWZvcmUuXG4gICAqIERlZmF1bHRzIHRvIG5vIHRocm90dGxpbmcgY2xhc3NpZmljYXRpb24uXG4gICAqL1xuICB0aHJvdHRsaW5nRXJyb3JDaGVja2VyPzogKGVycm9yOiB1bmtub3duKSA9PiBib29sZWFuO1xuICAvKiogSGFuZGxlcnMgZm9yIHN0cmVhbWluZyBzdGFnZSBsaWZlY3ljbGUgZXZlbnRzIChzZWUgYGFkZFN0cmVhbWluZ0Z1bmN0aW9uYCkuICovXG4gIHN0cmVhbUhhbmRsZXJzPzogU3RyZWFtSGFuZGxlcnM7XG4gIC8qKiBTY29wZSBwcm90ZWN0aW9uIG1vZGUgZm9yIFR5cGVkU2NvcGUgZGlyZWN0LWFzc2lnbm1lbnQgZGV0ZWN0aW9uLiAqL1xuICBzY29wZVByb3RlY3Rpb25Nb2RlPzogU2NvcGVQcm90ZWN0aW9uTW9kZTtcbn1cblxuLyoqIFdoYXQgdGhlIGV4ZWN1dG9yIGtlZXBzIGZyb20gY29uc3RydWN0aW9uIOKAlCByZWFkIGJ5IGV2ZXJ5IGxlZyAoYHJ1bigpYCAvIGByZXN1bWUoKWApLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGVjdXRvckFyZ3M8VE91dCwgVFNjb3BlPiB7XG4gIGZsb3dDaGFydDogRmxvd0NoYXJ0PFRPdXQsIFRTY29wZT47XG4gIHNjb3BlRmFjdG9yeTogU2NvcGVGYWN0b3J5PFRTY29wZT47XG4gIGRlZmF1bHRWYWx1ZXNGb3JDb250ZXh0PzogdW5rbm93bjtcbiAgaW5pdGlhbENvbnRleHQ/OiB1bmtub3duO1xuICByZWFkT25seUNvbnRleHQ/OiB1bmtub3duO1xuICB0aHJvdHRsaW5nRXJyb3JDaGVja2VyPzogKGVycm9yOiB1bmtub3duKSA9PiBib29sZWFuO1xuICBzdHJlYW1IYW5kbGVycz86IFN0cmVhbUhhbmRsZXJzO1xuICBzY29wZVByb3RlY3Rpb25Nb2RlPzogU2NvcGVQcm90ZWN0aW9uTW9kZTtcbiAgLyoqIFRoZSBkaWFscyBhcyBnaXZlbiAoYWJzZW50ID0gZGVmYXVsdCkg4oCUIHRoZSBydW4ncyBwb2xpY3kgaXMgYnVpbHQgZnJvbSB0aGVtIHBlciBsZWcuICovXG4gIGRpYWxzOiBSdW5EaWFscztcbiAgLyoqIFRoZSByZWNvcmQgc2luaywgcmVzb2x2ZWQgYW5kIGNoZWNrZWQgYXQgY29uc3RydWN0aW9uICgxMC4xLCBQNikuICovXG4gIHNpbms/OiBSZXNvbHZlZFJlY29yZFNpbms7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBlaXRoZXIgY29uc3RydWN0b3IgZm9ybS4gVGhlIDItcGFyYW0gZm9ybSBpcyB0aGUgb3B0aW9ucyBmb3JtIHdpdGhcbiAqIG9ubHkgYHNjb3BlRmFjdG9yeWA7IHRoZSBzY29wZSBmYWN0b3J5IGZhbGxzIGJhY2sgdG8gdGhlIGNoYXJ0J3MsIHRoZW4gdG8gYVxuICogcGxhaW4gYFNjb3BlRmFjYWRlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVFeGVjdXRvckFyZ3M8VE91dCwgVFNjb3BlPihcbiAgZmxvd0NoYXJ0OiBGbG93Q2hhcnQ8VE91dCwgVFNjb3BlPixcbiAgZmFjdG9yeU9yT3B0aW9uczogU2NvcGVGYWN0b3J5PFRTY29wZT4gfCBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnM8VFNjb3BlPiB8IHVuZGVmaW5lZCxcbik6IEV4ZWN1dG9yQXJnczxUT3V0LCBUU2NvcGU+IHtcbiAgY29uc3Qgb3B0czogRmxvd0NoYXJ0RXhlY3V0b3JPcHRpb25zPFRTY29wZT4gPVxuICAgIHR5cGVvZiBmYWN0b3J5T3JPcHRpb25zID09PSAnZnVuY3Rpb24nID8geyBzY29wZUZhY3Rvcnk6IGZhY3RvcnlPck9wdGlvbnMgfSA6IGZhY3RvcnlPck9wdGlvbnMgPz8ge307XG4gIHJldHVybiB7XG4gICAgZmxvd0NoYXJ0LFxuICAgIHNjb3BlRmFjdG9yeTogb3B0cy5zY29wZUZhY3RvcnkgPz8gZmxvd0NoYXJ0LnNjb3BlRmFjdG9yeSA/PyAoZGVmYXVsdFNjb3BlRmFjdG9yeSBhcyBTY29wZUZhY3Rvcnk8VFNjb3BlPiksXG4gICAgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHQ6IG9wdHMuZGVmYXVsdFZhbHVlc0ZvckNvbnRleHQsXG4gICAgaW5pdGlhbENvbnRleHQ6IG9wdHMuaW5pdGlhbENvbnRleHQsXG4gICAgcmVhZE9ubHlDb250ZXh0OiBvcHRzLnJlYWRPbmx5Q29udGV4dCxcbiAgICB0aHJvdHRsaW5nRXJyb3JDaGVja2VyOiBvcHRzLnRocm90dGxpbmdFcnJvckNoZWNrZXIsXG4gICAgc3RyZWFtSGFuZGxlcnM6IG9wdHMuc3RyZWFtSGFuZGxlcnMsXG4gICAgc2NvcGVQcm90ZWN0aW9uTW9kZTogb3B0cy5zY29wZVByb3RlY3Rpb25Nb2RlLFxuICAgIGRpYWxzOiBwaWNrRGlhbHMob3B0cyksXG4gICAgLi4uKG9wdHMuc2luayAhPT0gdW5kZWZpbmVkICYmIHsgc2luazogcmVzb2x2ZVJlY29yZFNpbmsob3B0cy5zaW5rKSB9KSxcbiAgfTtcbn1cbiJdfQ==
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcnVubmVyL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBS0gseURBQW1EO0FBRW5ELDREQUFzRDtBQUN0RCxtREFBb0c7QUFFcEcsMEVBQTBFO0FBQzFFLE1BQU0sbUJBQW1CLEdBQWlCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FDMUUsSUFBSSw0QkFBVyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBdUdqRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLFNBQWtDLEVBQ2xDLGdCQUFxRjtJQUVyRixNQUFNLElBQUksR0FDUixPQUFPLGdCQUFnQixLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ3ZHLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLElBQUksT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3BGLE1BQU0sSUFBSSxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsT0FBTztRQUNMLFNBQVM7UUFDVCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUMsWUFBWSxJQUFLLG1CQUE0QztRQUMxRyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1FBQ3JELGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztRQUNuQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDckMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtRQUNuRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7UUFDbkMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtRQUM3QyxLQUFLLEVBQUUsSUFBQSx3QkFBUyxFQUFDLElBQUksQ0FBQztRQUN0QixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDL0QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUEsaUNBQWlCLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDdkUsQ0FBQztBQUNKLENBQUM7QUF0QkQsa0RBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBvcHRpb25zIOKAlCB0aGUgZXhlY3V0b3IncyBjb25zdHJ1Y3Rpb24gb3B0aW9ucyBhbmQgaG93IHRoZXkgcmVzb2x2ZSAoRjkpLlxuICpcbiAqIGBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnNgIGlzIHRoZSBwdWJsaWMgb3B0aW9ucyBvYmplY3Q7XG4gKiBgcmVzb2x2ZUV4ZWN1dG9yQXJnc2AgdHVybnMgZWl0aGVyIGNvbnN0cnVjdG9yIGZvcm0gKG9wdGlvbnMgb2JqZWN0LCBvciBhXG4gKiBiYXJlIGBTY29wZUZhY3RvcnlgKSBpbnRvIHRoZSBgRXhlY3V0b3JBcmdzYCB0aGUgZXhlY3V0b3Iga2VlcHMgZm9yIGV2ZXJ5IGxlZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZsb3dDaGFydCB9IGZyb20gJy4uL2J1aWxkZXIvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTY29wZUZhY3RvcnksIFN0cmVhbUhhbmRsZXJzIH0gZnJvbSAnLi4vZW5naW5lL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUnVuRGlhbHMgfSBmcm9tICcuLi9tZW1vcnkvcnVuUG9saWN5LmpzJztcbmltcG9ydCB7IHBpY2tEaWFscyB9IGZyb20gJy4uL21lbW9yeS9ydW5Qb2xpY3kuanMnO1xuaW1wb3J0IHR5cGUgeyBTY29wZVByb3RlY3Rpb25Nb2RlIH0gZnJvbSAnLi4vc2NvcGUvcHJvdGVjdGlvbi90eXBlcy5qcyc7XG5pbXBvcnQgeyBTY29wZUZhY2FkZSB9IGZyb20gJy4uL3Njb3BlL1Njb3BlRmFjYWRlLmpzJztcbmltcG9ydCB7IHR5cGUgUmVjb3JkU2lua09wdGlvbiwgdHlwZSBSZXNvbHZlZFJlY29yZFNpbmssIHJlc29sdmVSZWNvcmRTaW5rIH0gZnJvbSAnLi9yZWNvcmRTaW5rLmpzJztcblxuLyoqIERlZmF1bHQgc2NvcGUgZmFjdG9yeSDigJQgY3JlYXRlcyBhIHBsYWluIFNjb3BlRmFjYWRlIGZvciBlYWNoIHN0YWdlLiAqL1xuY29uc3QgZGVmYXVsdFNjb3BlRmFjdG9yeTogU2NvcGVGYWN0b3J5ID0gKGN0eCwgc3RhZ2VOYW1lLCByZWFkT25seSwgZW52KSA9PlxuICBuZXcgU2NvcGVGYWNhZGUoY3R4LCBzdGFnZU5hbWUsIHJlYWRPbmx5LCBlbnYpO1xuXG4vKipcbiAqIE9wdGlvbnMgb2JqZWN0IGZvciBgRmxvd0NoYXJ0RXhlY3V0b3JgIOKAlCBwcmVmZXJyZWQgb3ZlciBwb3NpdGlvbmFsIHBhcmFtcy5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleCA9IG5ldyBGbG93Q2hhcnRFeGVjdXRvcihjaGFydCwge1xuICogICBzY29wZUZhY3Rvcnk6IG15RmFjdG9yeSxcbiAqICAgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHQ6IHsgLi4uIH0sXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqICoqU3luYyBub3RlIGZvciBtYWludGFpbmVyczoqKiBhIGZpZWxkIGFkZGVkIGhlcmUgbXVzdCBhbHNvIGJlIGFkZGVkIHRvXG4gKiBgRXhlY3V0b3JBcmdzYCBhbmQgYHJlc29sdmVFeGVjdXRvckFyZ3NgIGJlbG93LCBvciBpdCBpcyBhY2NlcHRlZCBhbmQgbmV2ZXJcbiAqIGFwcGxpZWQuIFRoZSBESUFMUyBhcmUgdGhlIGV4Y2VwdGlvbjogdGhleSBjb21lIGZyb20gYFJ1bkRpYWxzYCBhbmQgdHJhdmVsXG4gKiB3aG9sZSBhcyBgZGlhbHNgLlxuICpcbiAqICoqVFNjb3BlIGluZmVyZW5jZSBub3RlOioqIFdoZW4gdXNpbmcgdGhlIG9wdGlvbnMtb2JqZWN0IGZvcm0gd2l0aCBhIGN1c3RvbSBzY29wZSxcbiAqIFR5cGVTY3JpcHQgY2Fubm90IGluZmVyIGBUU2NvcGVgIHRocm91Z2ggdGhlIG9wdGlvbnMgb2JqZWN0LiBQYXNzIHRoZSB0eXBlXG4gKiBleHBsaWNpdGx5OiBgbmV3IEZsb3dDaGFydEV4ZWN1dG9yPFRPdXQsIE15U2NvcGU+KGNoYXJ0LCB7IHNjb3BlRmFjdG9yeSB9KWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0NoYXJ0RXhlY3V0b3JPcHRpb25zPFRTY29wZSA9IGFueT4gZXh0ZW5kcyBSdW5EaWFscyB7XG4gIC8vIOKUgOKUgCBDb21tb24gb3B0aW9ucyAobW9zdCBjYWxsZXJzIG5lZWQgb25seSB0aGVzZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgLyoqIEN1c3RvbSBzY29wZSBmYWN0b3J5LiBEZWZhdWx0cyB0byBUeXBlZFNjb3BlIG9yIFNjb3BlRmFjYWRlIGF1dG8tZGV0ZWN0aW9uLiAqL1xuICBzY29wZUZhY3Rvcnk/OiBTY29wZUZhY3Rvcnk8VFNjb3BlPjtcblxuICAvLyDilIDilIAgQ29udGV4dCBvcHRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHZhbHVlcyBwcmUtcG9wdWxhdGVkIGludG8gdGhlIHNoYXJlZCBjb250ZXh0IGJlZm9yZSAqKmVhY2gqKiBzdGFnZVxuICAgKiAocmUtYXBwbGllZCBldmVyeSBzdGFnZSwgYWN0aW5nIGFzIGJhc2VsaW5lIGRlZmF1bHRzKS5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZXNGb3JDb250ZXh0PzogdW5rbm93bjtcbiAgLyoqXG4gICAqIEluaXRpYWwgY29udGV4dCB2YWx1ZXMgbWVyZ2VkIGludG8gdGhlIHNoYXJlZCBjb250ZXh0ICoqb25jZSoqIGF0IHN0YXJ0dXBcbiAgICogKGFwcGxpZWQgYmVmb3JlIHRoZSBmaXJzdCBzdGFnZSwgbm90IHJlcGVhdGVkIG9uIHN1YnNlcXVlbnQgc3RhZ2VzKS5cbiAgICogRGlzdGluY3QgZnJvbSBgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHRgLCB3aGljaCBpcyByZS1hcHBsaWVkIGV2ZXJ5IHN0YWdlLlxuICAgKi9cbiAgaW5pdGlhbENvbnRleHQ/OiB1bmtub3duO1xuICAvKiogUmVhZC1vbmx5IGlucHV0IGFjY2Vzc2libGUgdmlhIGBzY29wZS5nZXRBcmdzKClgIOKAlCBuZXZlciB0cmFja2VkIG9yIHdyaXR0ZW4uICovXG4gIHJlYWRPbmx5Q29udGV4dD86IHVua25vd247XG5cbiAgLy8g4pSA4pSAIE9ic2VydmFiaWxpdHkgY29zdCBvcHRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBUaGUgZm91ciBkaWFscyDigJQgYHJlYWRUcmFja2luZ2AsIGB3cml0ZVRyYWNraW5nYCwgYGNvbW1pdFZhbHVlc2AsXG4gIC8vIGB3cml0ZVByb3ZlbmFuY2VgIOKAlCBhcmUgaW5oZXJpdGVkIGZyb20gYFJ1bkRpYWxzYCAobWVtb3J5L3J1blBvbGljeS50cyxcbiAgLy8gd2hlcmUgZWFjaCBpcyBkb2N1bWVudGVkKTogdGhlIGV4ZWN1dG9yIHBpY2tzIHRoZW0gb2ZmIHRoaXMgb2JqZWN0IGFuZFxuICAvLyBidWlsZHMgdGhlIHJ1bidzIE9ORSBwb2xpY3kgZnJvbSB0aGVtIChGNSkuXG5cbiAgLy8g4pSA4pSAIFRoZSBjcmFzaC1zYWZlIHJlY29yZCAoMTAuMSwgUDYpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgcnVuJ3MgcmVjb3JkIGdvZXMgQVMgSVQgTEFORFMsIHNvIGEgcnVuIHRoYXQgbmV2ZXIgZmluaXNoZXMgc3RpbGwgbGVhdmVzIGl0OiBldmVyeSBsb2cgb2YgdGhlIHJ1blxuICAgKiAodGhlIHJvb3QgYW5kIGVhY2ggc3ViZmxvdyBtb3VudCkgaGFuZHMgdGhlIHNpbmsgaXRzIGBvcGVuZWRgIGJhc2UsIGVhY2ggY29tbWl0LCBhIG5vdGUgcGVyIGF0dGVtcHQgdGhhdCBlbmRlZCxcbiAgICogYW5kIGl0cyBgY2xvc2VkYCBvdXRjb21lLiBgZmlsZVNpbmsocGF0aClgIChgZm9vdHByaW50anMvc2lua3NgLCBOb2RlKSBvciBgbWVtb3J5U2luaygpYCAoYGZvb3R0cmFjZS93cml0ZWApO1xuICAgKiByZWFkIGl0IGJhY2sgd2l0aCBgcmVhZFN0b3JlZFJlY29yZGAgKGBmb290dHJhY2VgKS4gVGhlIHJlZGFjdGlvbiBwb2xpY3kgYXBwbGllcyBiZWZvcmUgYW55IGVudHJ5IGlzIHdyaXR0ZW4uXG4gICAqIEEgZmFpbGluZyBzaW5rIG5ldmVyIHN0b3BzIHRoZSBydW4gKGBvbkZhaWx1cmU6ICdyZXBvcnQnYCwgdGhlIGRlZmF1bHQpIOKAlCBgZ2V0U25hcHNob3QoKS5zaW5rYCBjb3VudHMgd2hhdCB3YXNcbiAgICogbG9zdC4gU2VlIHRoZSBndWlkZSdzIFwiQSBjcmFzaC1zYWZlIHJlY29yZFwiLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGV4ZWN1dG9yID0gbmV3IEZsb3dDaGFydEV4ZWN1dG9yKGNoYXJ0LCB7IHNpbms6IGZpbGVTaW5rKCcvdmFyL2Zvb3RwcmludC9ydW4uanNvbmwnKSB9KTtcbiAgICogYGBgXG4gICAqL1xuICBzaW5rPzogUmVjb3JkU2lua09wdGlvbjtcblxuICAvKiogT3B0IGluIHRvIGEgdmVyc2lvbmVkLCBtZW1vcnktb25seSByb290LWxvZyBjYXB0dXJlIG5vdGUgb24gc25hcHNob3RzICgjMTExIHN0YWdlIDEpLiAqL1xuICBjYXB0dXJlQ292ZXJhZ2U/OiBib29sZWFuO1xuXG4gIC8vIOKUgOKUgCBBZHZhbmNlZCAvIGVzY2FwZS1oYXRjaCBvcHRpb25zIChtb3N0IGNhbGxlcnMgZG8gbm90IG5lZWQgdGhlc2UpIOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBDdXN0b20gZXJyb3IgY2xhc3NpZmllciBmb3IgdGhyb3R0bGluZyBkZXRlY3Rpb24uIFJldHVybiBgdHJ1ZWAgaWYgYSBmb3JrXG4gICAqIGNoaWxkJ3MgZXJyb3IgcmVwcmVzZW50cyBhIHJhdGUtbGltaXQgb3IgYmFja3ByZXNzdXJlIGNvbmRpdGlvbjsgdGhlXG4gICAqIGV4ZWN1dG9yIHRoZW4gZmlyZXMgYEZsb3dSZWNvcmRlci5vblRocm90dGxlZGAgZm9yIHRoYXQgY2hpbGQgKDkuMzkuMCDigJRcbiAgICogYW4gRVZFTlQsIG5vdCBhIHN0YXRlIGtleTogdGhlIGBtb25pdG9yLmlzVGhyb3R0bGVkYCB3cml0ZSBpdCByZXBsYWNlZFxuICAgKiBuZXZlciBsYW5kZWQpLiBUaGUgY2hpbGQncyBmYWlsdXJlIGlzIG90aGVyd2lzZSBoYW5kbGVkIGFzIGJlZm9yZS5cbiAgICogRGVmYXVsdHMgdG8gbm8gdGhyb3R0bGluZyBjbGFzc2lmaWNhdGlvbi5cbiAgICovXG4gIHRocm90dGxpbmdFcnJvckNoZWNrZXI/OiAoZXJyb3I6IHVua25vd24pID0+IGJvb2xlYW47XG4gIC8qKiBIYW5kbGVycyBmb3Igc3RyZWFtaW5nIHN0YWdlIGxpZmVjeWNsZSBldmVudHMgKHNlZSBgYWRkU3RyZWFtaW5nRnVuY3Rpb25gKS4gKi9cbiAgc3RyZWFtSGFuZGxlcnM/OiBTdHJlYW1IYW5kbGVycztcbiAgLyoqIFNjb3BlIHByb3RlY3Rpb24gbW9kZSBmb3IgVHlwZWRTY29wZSBkaXJlY3QtYXNzaWdubWVudCBkZXRlY3Rpb24uICovXG4gIHNjb3BlUHJvdGVjdGlvbk1vZGU/OiBTY29wZVByb3RlY3Rpb25Nb2RlO1xufVxuXG4vKiogV2hhdCB0aGUgZXhlY3V0b3Iga2VlcHMgZnJvbSBjb25zdHJ1Y3Rpb24g4oCUIHJlYWQgYnkgZXZlcnkgbGVnIChgcnVuKClgIC8gYHJlc3VtZSgpYCkuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dG9yQXJnczxUT3V0LCBUU2NvcGU+IHtcbiAgZmxvd0NoYXJ0OiBGbG93Q2hhcnQ8VE91dCwgVFNjb3BlPjtcbiAgc2NvcGVGYWN0b3J5OiBTY29wZUZhY3Rvcnk8VFNjb3BlPjtcbiAgZGVmYXVsdFZhbHVlc0ZvckNvbnRleHQ/OiB1bmtub3duO1xuICBpbml0aWFsQ29udGV4dD86IHVua25vd247XG4gIHJlYWRPbmx5Q29udGV4dD86IHVua25vd247XG4gIHRocm90dGxpbmdFcnJvckNoZWNrZXI/OiAoZXJyb3I6IHVua25vd24pID0+IGJvb2xlYW47XG4gIHN0cmVhbUhhbmRsZXJzPzogU3RyZWFtSGFuZGxlcnM7XG4gIHNjb3BlUHJvdGVjdGlvbk1vZGU/OiBTY29wZVByb3RlY3Rpb25Nb2RlO1xuICAvKiogVGhlIGRpYWxzIGFzIGdpdmVuIChhYnNlbnQgPSBkZWZhdWx0KSDigJQgdGhlIHJ1bidzIHBvbGljeSBpcyBidWlsdCBmcm9tIHRoZW0gcGVyIGxlZy4gKi9cbiAgZGlhbHM6IFJ1bkRpYWxzO1xuICAvKiogVGhlIHJlY29yZCBzaW5rLCByZXNvbHZlZCBhbmQgY2hlY2tlZCBhdCBjb25zdHJ1Y3Rpb24gKDEwLjEsIFA2KS4gKi9cbiAgc2luaz86IFJlc29sdmVkUmVjb3JkU2luaztcbiAgY2FwdHVyZUNvdmVyYWdlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGVpdGhlciBjb25zdHJ1Y3RvciBmb3JtLiBUaGUgMi1wYXJhbSBmb3JtIGlzIHRoZSBvcHRpb25zIGZvcm0gd2l0aFxuICogb25seSBgc2NvcGVGYWN0b3J5YDsgdGhlIHNjb3BlIGZhY3RvcnkgZmFsbHMgYmFjayB0byB0aGUgY2hhcnQncywgdGhlbiB0byBhXG4gKiBwbGFpbiBgU2NvcGVGYWNhZGVgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUV4ZWN1dG9yQXJnczxUT3V0LCBUU2NvcGU+KFxuICBmbG93Q2hhcnQ6IEZsb3dDaGFydDxUT3V0LCBUU2NvcGU+LFxuICBmYWN0b3J5T3JPcHRpb25zOiBTY29wZUZhY3Rvcnk8VFNjb3BlPiB8IEZsb3dDaGFydEV4ZWN1dG9yT3B0aW9uczxUU2NvcGU+IHwgdW5kZWZpbmVkLFxuKTogRXhlY3V0b3JBcmdzPFRPdXQsIFRTY29wZT4ge1xuICBjb25zdCBvcHRzOiBGbG93Q2hhcnRFeGVjdXRvck9wdGlvbnM8VFNjb3BlPiA9XG4gICAgdHlwZW9mIGZhY3RvcnlPck9wdGlvbnMgPT09ICdmdW5jdGlvbicgPyB7IHNjb3BlRmFjdG9yeTogZmFjdG9yeU9yT3B0aW9ucyB9IDogZmFjdG9yeU9yT3B0aW9ucyA/PyB7fTtcbiAgaWYgKG9wdHMuY2FwdHVyZUNvdmVyYWdlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIG9wdHMuY2FwdHVyZUNvdmVyYWdlICE9PSAnYm9vbGVhbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdjYXB0dXJlQ292ZXJhZ2UgbXVzdCBiZSBhIGJvb2xlYW4nKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGZsb3dDaGFydCxcbiAgICBzY29wZUZhY3Rvcnk6IG9wdHMuc2NvcGVGYWN0b3J5ID8/IGZsb3dDaGFydC5zY29wZUZhY3RvcnkgPz8gKGRlZmF1bHRTY29wZUZhY3RvcnkgYXMgU2NvcGVGYWN0b3J5PFRTY29wZT4pLFxuICAgIGRlZmF1bHRWYWx1ZXNGb3JDb250ZXh0OiBvcHRzLmRlZmF1bHRWYWx1ZXNGb3JDb250ZXh0LFxuICAgIGluaXRpYWxDb250ZXh0OiBvcHRzLmluaXRpYWxDb250ZXh0LFxuICAgIHJlYWRPbmx5Q29udGV4dDogb3B0cy5yZWFkT25seUNvbnRleHQsXG4gICAgdGhyb3R0bGluZ0Vycm9yQ2hlY2tlcjogb3B0cy50aHJvdHRsaW5nRXJyb3JDaGVja2VyLFxuICAgIHN0cmVhbUhhbmRsZXJzOiBvcHRzLnN0cmVhbUhhbmRsZXJzLFxuICAgIHNjb3BlUHJvdGVjdGlvbk1vZGU6IG9wdHMuc2NvcGVQcm90ZWN0aW9uTW9kZSxcbiAgICBkaWFsczogcGlja0RpYWxzKG9wdHMpLFxuICAgIC4uLihvcHRzLmNhcHR1cmVDb3ZlcmFnZSA9PT0gdHJ1ZSAmJiB7IGNhcHR1cmVDb3ZlcmFnZTogdHJ1ZSB9KSxcbiAgICAuLi4ob3B0cy5zaW5rICE9PSB1bmRlZmluZWQgJiYgeyBzaW5rOiByZXNvbHZlUmVjb3JkU2luayhvcHRzLnNpbmspIH0pLFxuICB9O1xufVxuIl19
|
|
@@ -39,7 +39,21 @@ function servedSnapshot(traverser, observers, options, sink) {
|
|
|
39
39
|
// engine/handlers/servedSubflowResults.ts). Plain: the records as they are.
|
|
40
40
|
snapshot.subflowResults = (0, servedSubflowResults_js_1.servedSubflowResults)(sfResults, options?.redact === true);
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
let recorderSnapshots;
|
|
43
|
+
const acknowledged = [];
|
|
44
|
+
const runtime = traverser.getRuntime();
|
|
45
|
+
const inlineFlow = runtime.capture ? new Set(observers.flowRecorders) : undefined;
|
|
46
|
+
try {
|
|
47
|
+
recorderSnapshots = collectRecorderSnapshots(observers, inlineFlow &&
|
|
48
|
+
((recorder, row) => {
|
|
49
|
+
if (inlineFlow.has(recorder) && row.capture?.runId === snapshot.runId)
|
|
50
|
+
acknowledged.push(row.capture);
|
|
51
|
+
}), runtime.capture !== undefined);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
runtime.capture?.limit('recorder-snapshot-failed');
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
43
57
|
if (recorderSnapshots.length > 0) {
|
|
44
58
|
snapshot.recorders = recorderSnapshots;
|
|
45
59
|
}
|
|
@@ -53,6 +67,21 @@ function servedSnapshot(traverser, observers, options, sink) {
|
|
|
53
67
|
// started.
|
|
54
68
|
if (sink !== undefined)
|
|
55
69
|
snapshot.sink = sink;
|
|
70
|
+
if (runtime.capture) {
|
|
71
|
+
const control = acknowledged.length === 0
|
|
72
|
+
? 'unknown'
|
|
73
|
+
: acknowledged.every((ack) => ack.control === 'captured')
|
|
74
|
+
? 'captured'
|
|
75
|
+
: acknowledged.some((ack) => ack.control === 'partial')
|
|
76
|
+
? 'partial'
|
|
77
|
+
: 'unknown';
|
|
78
|
+
if (runtime.rootStageContext.getPolicy().redaction?.isInert() === false)
|
|
79
|
+
runtime.capture.limit('redaction-active');
|
|
80
|
+
return {
|
|
81
|
+
...snapshot,
|
|
82
|
+
capture: runtime.capture.snapshot(snapshot.commitLog.length, control, options?.redact === true),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
56
85
|
return snapshot;
|
|
57
86
|
}
|
|
58
87
|
exports.servedSnapshot = servedSnapshot;
|
|
@@ -92,14 +121,16 @@ function servedLog(snapshot) {
|
|
|
92
121
|
* recorder cannot smuggle an `id` of its own choosing into the snapshot (the
|
|
93
122
|
* id is the executor's, and consumers index by it).
|
|
94
123
|
*/
|
|
95
|
-
function collectRecorderSnapshots(observers) {
|
|
124
|
+
function collectRecorderSnapshots(observers, collected, includeCapture = false) {
|
|
96
125
|
const out = [];
|
|
97
126
|
const seen = new Set();
|
|
98
127
|
const collect = (r) => {
|
|
99
128
|
if (!r.toSnapshot || seen.has(r.id))
|
|
100
129
|
return;
|
|
101
130
|
seen.add(r.id);
|
|
102
|
-
|
|
131
|
+
const row = (0, snapshot_js_1.copyBundle)(r.id, r.toSnapshot(), includeCapture);
|
|
132
|
+
out.push(row);
|
|
133
|
+
collected?.(r, row);
|
|
103
134
|
};
|
|
104
135
|
for (const r of observers.scopeRecorders)
|
|
105
136
|
collect(r);
|
|
@@ -114,4 +145,4 @@ function collectRecorderSnapshots(observers) {
|
|
|
114
145
|
return out;
|
|
115
146
|
}
|
|
116
147
|
exports.collectRecorderSnapshots = collectRecorderSnapshots;
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3J1bm5lci9zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFHSCx5Q0FBd0M7QUFDeEMsMkNBQTZDO0FBRTdDLDhDQUEwQztBQUMxQyx3RkFBa0Y7QUFHbEYseURBQXFEO0FBS3JEOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLFNBQXVDLEVBQ3ZDLFNBQXVCLEVBQ3ZCLE9BQThCLEVBQzlCLElBQXNCO0lBRXRCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBb0IsQ0FBQyxDQUFDO0lBQzlFLElBQUksSUFBQSxzQkFBUyxHQUFFLEVBQUUsQ0FBQztRQUNoQixpRUFBaUU7UUFDakUsdUVBQXVFO1FBQ3ZFLHlEQUF5RDtRQUN6RCwyQkFBMkI7UUFDM0Isa0VBQWtFO1FBQ2xFLDhEQUE4RDtRQUM5RCxtRUFBbUU7UUFDbkUsc0VBQXNFO1FBQ3RFLDJEQUEyRDtRQUMzRCxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUEsa0JBQVUsRUFBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hELElBQUksU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2Qix3RUFBd0U7UUFDeEUsd0RBQXdEO1FBQ3hELDRFQUE0RTtRQUM1RSxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUEsOENBQW9CLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakMsUUFBUSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztJQUN6QyxDQUFDO0lBRUQscUVBQXFFO0lBQ3JFLGdFQUFnRTtJQUNoRSwwQ0FBMEM7SUFDMUMsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsUUFBUSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCw4R0FBOEc7SUFDOUcsV0FBVztJQUNYLElBQUksSUFBSSxLQUFLLFNBQVM7UUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUU3QyxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBNUNELHdDQTRDQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxTQUFTLENBQUMsUUFBeUI7SUFDMUMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUNsQyxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQVcsQ0FBQyxDQUFtQjtRQUMvRSxHQUFHLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFBLHVCQUFXLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztLQUNuRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxTQUF1QjtJQUM5RCxNQUFNLEdBQUcsR0FBdUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDL0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUErQixFQUFRLEVBQUU7UUFDeEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQUUsT0FBTztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSx3QkFBVSxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7SUFDRixLQUFLLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxjQUFjO1FBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGFBQWE7UUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsS0FBSyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBZkQsNERBZUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNuYXBzaG90IOKAlCB3aGF0IGBGbG93Q2hhcnRFeGVjdXRvci5nZXRTbmFwc2hvdCgpYCBzZXJ2ZXMgKEY5KS5cbiAqXG4gKiBUaGUgdHJhdmVyc2VyJ3MgcnVudGltZSBzbmFwc2hvdCwgcGx1cyB3aGF0IG9ubHkgdGhlIGV4ZWN1dG9yIGtub3dzOiB0aGVcbiAqIHNlcnZlZCBzdWJmbG93IHJlc3VsdHMgKGVhY2ggc3ViZmxvdydzIG93biBtaXJyb3IgdW5kZXIgYHJlZGFjdDogdHJ1ZWApLCBvbmVcbiAqIHJlY29yZGVyIHJvdyBwZXIgcmVjb3JkZXIgaWQsIGFuZCB0aGUgZGVmZXJyZWQgdGllcidzIGFjY291bnRpbmcuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDb21taXRCdW5kbGUgfSBmcm9tICdmb290dHJhY2UnO1xuaW1wb3J0IHsgc2VydmVSZWNvcmQgfSBmcm9tICdmb290dHJhY2UnO1xuaW1wb3J0IHsgZGVlcEZyZWV6ZSB9IGZyb20gJ2Zvb3R0cmFjZS93cml0ZSc7XG5cbmltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJy4uL2Rldk1vZGUuanMnO1xuaW1wb3J0IHsgc2VydmVkU3ViZmxvd1Jlc3VsdHMgfSBmcm9tICcuLi9lbmdpbmUvaGFuZGxlcnMvc2VydmVkU3ViZmxvd1Jlc3VsdHMuanMnO1xuaW1wb3J0IHR5cGUgeyBGbG93UmVjb3JkZXIgfSBmcm9tICcuLi9lbmdpbmUvbmFycmF0aXZlL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRmxvd2NoYXJ0VHJhdmVyc2VyIH0gZnJvbSAnLi4vZW5naW5lL3RyYXZlcnNhbC9GbG93Y2hhcnRUcmF2ZXJzZXIuanMnO1xuaW1wb3J0IHsgY29weUJ1bmRsZSB9IGZyb20gJy4uL3JlY29yZGVyL3NuYXBzaG90LmpzJztcbmltcG9ydCB0eXBlIHsgU2NvcGVSZWNvcmRlciB9IGZyb20gJy4uL3Njb3BlL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUnVuT2JzZXJ2ZXJzIH0gZnJvbSAnLi9hdHRhY2guanMnO1xuaW1wb3J0IHR5cGUgeyBSZWNvcmRlclNuYXBzaG90LCBSZWNvcmRTaW5rU3RhdHMsIFJ1bnRpbWVTbmFwc2hvdCB9IGZyb20gJy4vRXhlY3V0aW9uUnVudGltZS5qcyc7XG5cbi8qKlxuICogVGhlIHNlcnZlZCBzbmFwc2hvdC4gYHNoYXJlZFN0YXRlYCBpcyB0aGUgTElWRSB2aWV3IGluIHByb2R1Y3Rpb24gKHplcm9cbiAqIGNvcHkpOyBpbiBkZXYgbW9kZSBpdCBpcyBhIGRlZXAtZnJvemVuIENMT05FLCBzbyBhIGNvbnN1bWVyIG11dGF0aW9uIHRocm93c1xuICogaW5zdGVhZCBvZiBjb3JydXB0aW5nIGVuZ2luZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcnZlZFNuYXBzaG90KFxuICB0cmF2ZXJzZXI6IEZsb3djaGFydFRyYXZlcnNlcjxhbnksIGFueT4sXG4gIG9ic2VydmVyczogUnVuT2JzZXJ2ZXJzLFxuICBvcHRpb25zPzogeyByZWRhY3Q/OiBib29sZWFuIH0sXG4gIHNpbms/OiBSZWNvcmRTaW5rU3RhdHMsXG4pOiBSdW50aW1lU25hcHNob3Qge1xuICBjb25zdCBzbmFwc2hvdCA9IHNlcnZlZExvZyh0cmF2ZXJzZXIuZ2V0U25hcHNob3Qob3B0aW9ucykgYXMgUnVudGltZVNuYXBzaG90KTtcbiAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgLy8gRGV2LW1vZGUgbXV0YXRpb24gZ3VhcmQ6IGZyZWV6ZSBhIENMT05FLCBuZXZlciB0aGUgbGl2ZSBlbmdpbmVcbiAgICAvLyBzdGF0ZSDigJQgYHNuYXBzaG90LnNoYXJlZFN0YXRlYCBJUyBTaGFyZWRNZW1vcnkncyBjdXJyZW50IGdlbmVyYXRpb24sXG4gICAgLy8gd2hvc2UgdW5jaGFuZ2VkIHN1YnRyZWVzIGV2ZXJ5IGxhdGVyIGdlbmVyYXRpb24gc2hhcmVzXG4gICAgLy8gKGNvcHktb24td3JpdGUsIDkuMjkuMCkuXG4gICAgLy8gUHJvZHVjdGlvbiBzdGF5cyB6ZXJvLWNvcHk7IGNsb25lLWFsd2F5cyBpcyBhIG1lYXN1cmVkIGRlY2lzaW9uXG4gICAgLy8gZGVmZXJyZWQgdW50aWwgdGhlIGJlbmNoIHNheXMgaXQncyBhZmZvcmRhYmxlIChCQUNLTE9HICM4KS5cbiAgICAvLyBOT1RFOiBkZWVwRnJlZXplIChjYXB0dXJlL2ZyZWV6ZS50cyDigJQgdGhlIG9uZSB3YWxrKSBjYW5ub3QgcmVhY2hcbiAgICAvLyBNYXAvU2V0IElOVEVSTkFMUyAoYG1hcC5zZXQoKWAgb24gdGhlIGZyb3plbiBjbG9uZSB3b24ndCB0aHJvdykgYW5kXG4gICAgLy8gc2tpcHMgdHlwZWQgYXJyYXlzLiBUaGUgQ0xPTkUgc3RpbGwgaXNvbGF0ZXMgdGhlIGVuZ2luZS5cbiAgICBzbmFwc2hvdC5zaGFyZWRTdGF0ZSA9IGRlZXBGcmVlemUoc3RydWN0dXJlZENsb25lKHNuYXBzaG90LnNoYXJlZFN0YXRlKSk7XG4gIH1cbiAgY29uc3Qgc2ZSZXN1bHRzID0gdHJhdmVyc2VyLmdldFN1YmZsb3dSZXN1bHRzKCk7XG4gIGlmIChzZlJlc3VsdHMuc2l6ZSA+IDApIHtcbiAgICAvLyBVbmRlciBgcmVkYWN0OiB0cnVlYCBlYWNoIHN1YmZsb3cncyBgZ2xvYmFsQ29udGV4dGAgaXMgaXRzIG93biBtaXJyb3JcbiAgICAvLyAoOS4yMC4wKSDigJQgc2VydmVkLCBuZXZlciB3cml0dGVuIGludG8gdGhlIHJlY29yZCAoc2VlXG4gICAgLy8gZW5naW5lL2hhbmRsZXJzL3NlcnZlZFN1YmZsb3dSZXN1bHRzLnRzKS4gUGxhaW46IHRoZSByZWNvcmRzIGFzIHRoZXkgYXJlLlxuICAgIHNuYXBzaG90LnN1YmZsb3dSZXN1bHRzID0gc2VydmVkU3ViZmxvd1Jlc3VsdHMoc2ZSZXN1bHRzLCBvcHRpb25zPy5yZWRhY3QgPT09IHRydWUpO1xuICB9XG5cbiAgY29uc3QgcmVjb3JkZXJTbmFwc2hvdHMgPSBjb2xsZWN0UmVjb3JkZXJTbmFwc2hvdHMob2JzZXJ2ZXJzKTtcbiAgaWYgKHJlY29yZGVyU25hcHNob3RzLmxlbmd0aCA+IDApIHtcbiAgICBzbmFwc2hvdC5yZWNvcmRlcnMgPSByZWNvcmRlclNuYXBzaG90cztcbiAgfVxuXG4gIC8vIFJGQy0wMDEgQmxvY2sgOTogdGhlIGRlZmVycmVkLW9ic2VydmVyIGFjY291bnRpbmcgc3VyZmFjZS4gUHJlc2VudFxuICAvLyBPTkxZIHdoZW4gYSBkZWZlcnJlZCBvYnNlcnZlciB3YXMgYXR0YWNoZWQgb24gdGhpcyBleGVjdXRvciDigJRcbiAgLy8gemVyby1jb3N0IGRpc2NpcGxpbmUgZm9yIGV2ZXJ5b25lIGVsc2UuXG4gIGlmIChvYnNlcnZlcnMuZGVmZXJyZWRUaWVyKSB7XG4gICAgc25hcHNob3Qub2JzZXJ2ZXJTdGF0cyA9IG9ic2VydmVycy5kZWZlcnJlZFRpZXIuZ2V0U3RhdHMoKTtcbiAgfVxuXG4gIC8vIFRoZSBjcmFzaC1zYWZlIHJlY29yZCdzIGFjY291bnRpbmcgKDEwLjEsIFA2KTogcHJlc2VudCBPTkxZIGZvciBhbiBleGVjdXRvciBidWlsdCB3aXRoIGEgYHNpbmtgLCBvbmNlIGEgcnVuXG4gIC8vIHN0YXJ0ZWQuXG4gIGlmIChzaW5rICE9PSB1bmRlZmluZWQpIHNuYXBzaG90LnNpbmsgPSBzaW5rO1xuXG4gIHJldHVybiBzbmFwc2hvdDtcbn1cblxuLyoqXG4gKiBUaGUgY29tbWl0IGxvZyBhbmQgdGhlIGZvbGQgYmFzZSBhcyBhIHJlYWRlciBtYXkgaG9sZCB0aGVtICg5LjQ0LjIpOiBhIHJlY29yZCBmcmVlemluZyBzZWFsZWQgd2hvbGVcbiAqIGlzIHNlcnZlZCBhcyBpdHNlbGY7IG9uZSBob2xkaW5nIHdoYXQgZnJlZXppbmcgY2Fubm90IHNlYWwg4oCUIGEgRGF0ZSwgYSBNYXAsIGEgYnVmZmVyIOKApiDigJQgYXMgYSBjb3B5XG4gKiBvZiBpdHMgb3BlbiBwYXRocywgdGhlIHJlYWRlcidzIG93biAoYGNhcHR1cmUvZnJlZXplLnRzIMK3IHNlcnZlUmVjb3JkYCkuIEhlcmUsIGF0IHRoZSBwdWJsaWMgZG9vcjpcbiAqIHRoZSBlbmdpbmUncyBvd24gc25hcHNob3Qgb2YgYSBsb2cgKGEgc3ViZmxvdyBtb3VudCdzKSBpcyBub3Qgc2VydmVkLCBzbyB0aGUgcnVuIHBheXMgbm90aGluZy5cbiAqL1xuZnVuY3Rpb24gc2VydmVkTG9nKHNuYXBzaG90OiBSdW50aW1lU25hcHNob3QpOiBSdW50aW1lU25hcHNob3Qge1xuICBjb25zdCB7IGluaXRpYWxTdGF0ZSB9ID0gc25hcHNob3Q7XG4gIHJldHVybiB7XG4gICAgLi4uc25hcHNob3QsXG4gICAgY29tbWl0TG9nOiBPYmplY3QuZnJlZXplKHNuYXBzaG90LmNvbW1pdExvZy5tYXAoc2VydmVSZWNvcmQpKSBhcyBDb21taXRCdW5kbGVbXSxcbiAgICAuLi4oaW5pdGlhbFN0YXRlID09PSB1bmRlZmluZWQgPyB7fSA6IHsgaW5pdGlhbFN0YXRlOiBzZXJ2ZVJlY29yZChpbml0aWFsU3RhdGUpIH0pLFxuICB9O1xufVxuXG4vKipcbiAqIENvbGxlY3QgYHRvU25hcHNob3QoKWAgYnVuZGxlcyBmcm9tIGV2ZXJ5IGF0dGFjaGVkIHJlY29yZGVyIOKAlCBPTkUgZW50cnlcbiAqIHBlciByZWNvcmRlciBpZCwgYWNyb3NzIGFsbCBjaGFubmVscyBhbmQgYm90aCBkZWxpdmVyeSB0aWVycy5cbiAqXG4gKiBUaGUgZGVkdXBlIGlzIGxvYWQtYmVhcmluZywgbm90IHRpZGluZXNzLiBBIHJlY29yZGVyIHRoYXQgaW1wbGVtZW50cyBhXG4gKiBzaGFyZWQtbmFtZSBob29rIChgb25FcnJvcmAgLyBgb25QYXVzZWAgLyBgb25SZXN1bWVgIOKAlCBkZWNsYXJlZCBvbiBCT1RIXG4gKiB0aGUgc2NvcGUgYW5kIGZsb3cgaW50ZXJmYWNlcykgaXMgbGVnaXRpbWF0ZWx5IHJlZ2lzdGVyZWQgb24gQk9USCBpbmxpbmVcbiAqIGxpc3RzIGJ5IGBhdHRhY2hDb21iaW5lZFJlY29yZGVyYCwgYW5kIHRoYXQgaXMgYnkgZGVzaWduOiBlYWNoIGNoYW5uZWxcbiAqIGNhbGxzIHRoZSBob29rIHdpdGggaXRzIG93biBwYXlsb2FkIHZhcmlhbnQuIGBNZXRyaWNSZWNvcmRlci5vblBhdXNlYCBpc1xuICogdGhlIGV2ZXJ5ZGF5IGNhc2UuIFdhbGtpbmcgdGhlIGxpc3RzIHdpdGhvdXQgYSBzaGFyZWQgYHNlZW5gIHNldCB0dXJuZWRcbiAqIHRoYXQgaW50byBhIERVUExJQ0FURUQgc25hcHNob3QgZW50cnkgKHNhbWUgaWQgdHdpY2UpLCB3aGljaCBicmVha3MgZXZlcnlcbiAqIGNvbnN1bWVyIHRoYXQgaW5kZXhlcyBgc25hcHNob3QucmVjb3JkZXJzYCBieSBpZC5cbiAqXG4gKiBPcmRlcmluZyBpcyBzY29wZSBsaXN0IOKGkiBmbG93IGxpc3Qg4oaSIGRlZmVycmVkIHRpZXIsIGFuZCB0aGUgRklSU1QgYnVuZGxlXG4gKiBmb3IgYW4gaWQgd2lucy4gQSByZWNvcmRlciB3aXRoIG5vIGB0b1NuYXBzaG90YCBuZXZlciBjbGFpbXMgYW4gaWQsIHNvIGl0XG4gKiBjYW5ub3Qgc2hhZG93IGEgc2FtZS1pZCByZWNvcmRlciB0aGF0IGRvZXMgaGF2ZSBvbmUuXG4gKlxuICogVGhlIHJvdyBpcyBSRUJVSUxUIGZpZWxkIGJ5IGZpZWxkIGJ5IHRoZSBvbmUgY29waWVyIChgcmVjb3JkZXIvc25hcHNob3QudHNcbiAqIMK3IGNvcHlCdW5kbGVgLCBzaGFyZWQgd2l0aCBgQ29tcG9zaXRlUmVjb3JkZXJgKSByYXRoZXIgdGhhbiBzcHJlYWQsIHNvIGFcbiAqIHJlY29yZGVyIGNhbm5vdCBzbXVnZ2xlIGFuIGBpZGAgb2YgaXRzIG93biBjaG9vc2luZyBpbnRvIHRoZSBzbmFwc2hvdCAodGhlXG4gKiBpZCBpcyB0aGUgZXhlY3V0b3IncywgYW5kIGNvbnN1bWVycyBpbmRleCBieSBpdCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0UmVjb3JkZXJTbmFwc2hvdHMob2JzZXJ2ZXJzOiBSdW5PYnNlcnZlcnMpOiBSZWNvcmRlclNuYXBzaG90W10ge1xuICBjb25zdCBvdXQ6IFJlY29yZGVyU25hcHNob3RbXSA9IFtdO1xuICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IGNvbGxlY3QgPSAocjogU2NvcGVSZWNvcmRlciB8IEZsb3dSZWNvcmRlcik6IHZvaWQgPT4ge1xuICAgIGlmICghci50b1NuYXBzaG90IHx8IHNlZW4uaGFzKHIuaWQpKSByZXR1cm47XG4gICAgc2Vlbi5hZGQoci5pZCk7XG4gICAgb3V0LnB1c2goY29weUJ1bmRsZShyLmlkLCByLnRvU25hcHNob3QoKSkpO1xuICB9O1xuICBmb3IgKGNvbnN0IHIgb2Ygb2JzZXJ2ZXJzLnNjb3BlUmVjb3JkZXJzKSBjb2xsZWN0KHIpO1xuICBmb3IgKGNvbnN0IHIgb2Ygb2JzZXJ2ZXJzLmZsb3dSZWNvcmRlcnMpIGNvbGxlY3Qocik7XG4gIGlmIChvYnNlcnZlcnMuZGVmZXJyZWRUaWVyKSB7XG4gICAgZm9yIChjb25zdCByIG9mIG9ic2VydmVycy5kZWZlcnJlZFRpZXIuc2NvcGVMaXN0UmVjb3JkZXJzKCkpIGNvbGxlY3Qocik7XG4gICAgZm9yIChjb25zdCByIG9mIG9ic2VydmVycy5kZWZlcnJlZFRpZXIuZmxvd0xpc3RSZWNvcmRlcnMoKSkgY29sbGVjdChyKTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3J1bm5lci9zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFHSCx5Q0FBd0M7QUFDeEMsMkNBQTZDO0FBRzdDLDhDQUEwQztBQUMxQyx3RkFBa0Y7QUFHbEYseURBQXFEO0FBS3JEOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLFNBQXVDLEVBQ3ZDLFNBQXVCLEVBQ3ZCLE9BQThCLEVBQzlCLElBQXNCO0lBRXRCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBb0IsQ0FBQyxDQUFDO0lBQzlFLElBQUksSUFBQSxzQkFBUyxHQUFFLEVBQUUsQ0FBQztRQUNoQixpRUFBaUU7UUFDakUsdUVBQXVFO1FBQ3ZFLHlEQUF5RDtRQUN6RCwyQkFBMkI7UUFDM0Isa0VBQWtFO1FBQ2xFLDhEQUE4RDtRQUM5RCxtRUFBbUU7UUFDbkUsc0VBQXNFO1FBQ3RFLDJEQUEyRDtRQUMzRCxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUEsa0JBQVUsRUFBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hELElBQUksU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2Qix3RUFBd0U7UUFDeEUsd0RBQXdEO1FBQ3hELDRFQUE0RTtRQUM1RSxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUEsOENBQW9CLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQUksaUJBQXFDLENBQUM7SUFDMUMsTUFBTSxZQUFZLEdBQXFDLEVBQUUsQ0FBQztJQUMxRCxNQUFNLE9B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QyxDQUFDLENBQUMsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUU7WUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQXJCRCw0REFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNuYXBzaG90IOKAlCB3aGF0IGBGbG93Q2hhcnRFeGVjdXRvci5nZXRTbmFwc2hvdCgpYCBzZXJ2ZXMgKEY5KS5cbiAqXG4gKiBUaGUgdHJhdmVyc2VyJ3MgcnVudGltZSBzbmFwc2hvdCwgcGx1cyB3aGF0IG9ubHkgdGhlIGV4ZWN1dG9yIGtub3dzOiB0aGVcbiAqIHNlcnZlZCBzdWJmbG93IHJlc3VsdHMgKGVhY2ggc3ViZmxvdydzIG93biBtaXJyb3IgdW5kZXIgYHJlZGFjdDogdHJ1ZWApLCBvbmVcbiAqIHJlY29yZGVyIHJvdyBwZXIgcmVjb3JkZXIgaWQsIGFuZCB0aGUgZGVmZXJyZWQgdGllcidzIGFjY291bnRpbmcuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDb21taXRCdW5kbGUgfSBmcm9tICdmb290dHJhY2UnO1xuaW1wb3J0IHsgc2VydmVSZWNvcmQgfSBmcm9tICdmb290dHJhY2UnO1xuaW1wb3J0IHsgZGVlcEZyZWV6ZSB9IGZyb20gJ2Zvb3R0cmFjZS93cml0ZSc7XG5cbmltcG9ydCB0eXBlIHsgUmVjb3JkZXJDYXB0dXJlQWNrbm93bGVkZ2VtZW50IH0gZnJvbSAnLi4vY2FwdHVyZS9uYXRpdmVDb3ZlcmFnZS5qcyc7XG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICcuLi9kZXZNb2RlLmpzJztcbmltcG9ydCB7IHNlcnZlZFN1YmZsb3dSZXN1bHRzIH0gZnJvbSAnLi4vZW5naW5lL2hhbmRsZXJzL3NlcnZlZFN1YmZsb3dSZXN1bHRzLmpzJztcbmltcG9ydCB0eXBlIHsgRmxvd1JlY29yZGVyIH0gZnJvbSAnLi4vZW5naW5lL25hcnJhdGl2ZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEZsb3djaGFydFRyYXZlcnNlciB9IGZyb20gJy4uL2VuZ2luZS90cmF2ZXJzYWwvRmxvd2NoYXJ0VHJhdmVyc2VyLmpzJztcbmltcG9ydCB7IGNvcHlCdW5kbGUgfSBmcm9tICcuLi9yZWNvcmRlci9zbmFwc2hvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjb3BlUmVjb3JkZXIgfSBmcm9tICcuLi9zY29wZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFJ1bk9ic2VydmVycyB9IGZyb20gJy4vYXR0YWNoLmpzJztcbmltcG9ydCB0eXBlIHsgUmVjb3JkZXJTbmFwc2hvdCwgUmVjb3JkU2lua1N0YXRzLCBSdW50aW1lU25hcHNob3QgfSBmcm9tICcuL0V4ZWN1dGlvblJ1bnRpbWUuanMnO1xuXG4vKipcbiAqIFRoZSBzZXJ2ZWQgc25hcHNob3QuIGBzaGFyZWRTdGF0ZWAgaXMgdGhlIExJVkUgdmlldyBpbiBwcm9kdWN0aW9uICh6ZXJvXG4gKiBjb3B5KTsgaW4gZGV2IG1vZGUgaXQgaXMgYSBkZWVwLWZyb3plbiBDTE9ORSwgc28gYSBjb25zdW1lciBtdXRhdGlvbiB0aHJvd3NcbiAqIGluc3RlYWQgb2YgY29ycnVwdGluZyBlbmdpbmUgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJ2ZWRTbmFwc2hvdChcbiAgdHJhdmVyc2VyOiBGbG93Y2hhcnRUcmF2ZXJzZXI8YW55LCBhbnk+LFxuICBvYnNlcnZlcnM6IFJ1bk9ic2VydmVycyxcbiAgb3B0aW9ucz86IHsgcmVkYWN0PzogYm9vbGVhbiB9LFxuICBzaW5rPzogUmVjb3JkU2lua1N0YXRzLFxuKTogUnVudGltZVNuYXBzaG90IHtcbiAgY29uc3Qgc25hcHNob3QgPSBzZXJ2ZWRMb2codHJhdmVyc2VyLmdldFNuYXBzaG90KG9wdGlvbnMpIGFzIFJ1bnRpbWVTbmFwc2hvdCk7XG4gIGlmIChpc0Rldk1vZGUoKSkge1xuICAgIC8vIERldi1tb2RlIG11dGF0aW9uIGd1YXJkOiBmcmVlemUgYSBDTE9ORSwgbmV2ZXIgdGhlIGxpdmUgZW5naW5lXG4gICAgLy8gc3RhdGUg4oCUIGBzbmFwc2hvdC5zaGFyZWRTdGF0ZWAgSVMgU2hhcmVkTWVtb3J5J3MgY3VycmVudCBnZW5lcmF0aW9uLFxuICAgIC8vIHdob3NlIHVuY2hhbmdlZCBzdWJ0cmVlcyBldmVyeSBsYXRlciBnZW5lcmF0aW9uIHNoYXJlc1xuICAgIC8vIChjb3B5LW9uLXdyaXRlLCA5LjI5LjApLlxuICAgIC8vIFByb2R1Y3Rpb24gc3RheXMgemVyby1jb3B5OyBjbG9uZS1hbHdheXMgaXMgYSBtZWFzdXJlZCBkZWNpc2lvblxuICAgIC8vIGRlZmVycmVkIHVudGlsIHRoZSBiZW5jaCBzYXlzIGl0J3MgYWZmb3JkYWJsZSAoQkFDS0xPRyAjOCkuXG4gICAgLy8gTk9URTogZGVlcEZyZWV6ZSAoY2FwdHVyZS9mcmVlemUudHMg4oCUIHRoZSBvbmUgd2FsaykgY2Fubm90IHJlYWNoXG4gICAgLy8gTWFwL1NldCBJTlRFUk5BTFMgKGBtYXAuc2V0KClgIG9uIHRoZSBmcm96ZW4gY2xvbmUgd29uJ3QgdGhyb3cpIGFuZFxuICAgIC8vIHNraXBzIHR5cGVkIGFycmF5cy4gVGhlIENMT05FIHN0aWxsIGlzb2xhdGVzIHRoZSBlbmdpbmUuXG4gICAgc25hcHNob3Quc2hhcmVkU3RhdGUgPSBkZWVwRnJlZXplKHN0cnVjdHVyZWRDbG9uZShzbmFwc2hvdC5zaGFyZWRTdGF0ZSkpO1xuICB9XG4gIGNvbnN0IHNmUmVzdWx0cyA9IHRyYXZlcnNlci5nZXRTdWJmbG93UmVzdWx0cygpO1xuICBpZiAoc2ZSZXN1bHRzLnNpemUgPiAwKSB7XG4gICAgLy8gVW5kZXIgYHJlZGFjdDogdHJ1ZWAgZWFjaCBzdWJmbG93J3MgYGdsb2JhbENvbnRleHRgIGlzIGl0cyBvd24gbWlycm9yXG4gICAgLy8gKDkuMjAuMCkg4oCUIHNlcnZlZCwgbmV2ZXIgd3JpdHRlbiBpbnRvIHRoZSByZWNvcmQgKHNlZVxuICAgIC8vIGVuZ2luZS9oYW5kbGVycy9zZXJ2ZWRTdWJmbG93UmVzdWx0cy50cykuIFBsYWluOiB0aGUgcmVjb3JkcyBhcyB0aGV5IGFyZS5cbiAgICBzbmFwc2hvdC5zdWJmbG93UmVzdWx0cyA9IHNlcnZlZFN1YmZsb3dSZXN1bHRzKHNmUmVzdWx0cywgb3B0aW9ucz8ucmVkYWN0ID09PSB0cnVlKTtcbiAgfVxuXG4gIGxldCByZWNvcmRlclNuYXBzaG90czogUmVjb3JkZXJTbmFwc2hvdFtdO1xuICBjb25zdCBhY2tub3dsZWRnZWQ6IFJlY29yZGVyQ2FwdHVyZUFja25vd2xlZGdlbWVudFtdID0gW107XG4gIGNvbnN0IHJ1bnRpbWUgPSB0cmF2ZXJzZXIuZ2V0UnVudGltZSgpIGFzIGltcG9ydCgnLi9FeGVjdXRpb25SdW50aW1lLmpzJykuRXhlY3V0aW9uUnVudGltZTtcbiAgY29uc3QgaW5saW5lRmxvdyA9IHJ1bnRpbWUuY2FwdHVyZSA/IG5ldyBTZXQob2JzZXJ2ZXJzLmZsb3dSZWNvcmRlcnMpIDogdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIHJlY29yZGVyU25hcHNob3RzID0gY29sbGVjdFJlY29yZGVyU25hcHNob3RzKFxuICAgICAgb2JzZXJ2ZXJzLFxuICAgICAgaW5saW5lRmxvdyAmJlxuICAgICAgICAoKHJlY29yZGVyLCByb3cpID0+IHtcbiAgICAgICAgICBpZiAoaW5saW5lRmxvdy5oYXMocmVjb3JkZXIgYXMgRmxvd1JlY29yZGVyKSAmJiByb3cuY2FwdHVyZT8ucnVuSWQgPT09IHNuYXBzaG90LnJ1bklkKVxuICAgICAgICAgICAgYWNrbm93bGVkZ2VkLnB1c2gocm93LmNhcHR1cmUpO1xuICAgICAgICB9KSxcbiAgICAgIHJ1bnRpbWUuY2FwdHVyZSAhPT0gdW5kZWZpbmVkLFxuICAgICk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcnVudGltZS5jYXB0dXJlPy5saW1pdCgncmVjb3JkZXItc25hcHNob3QtZmFpbGVkJyk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbiAgaWYgKHJlY29yZGVyU25hcHNob3RzLmxlbmd0aCA+IDApIHtcbiAgICBzbmFwc2hvdC5yZWNvcmRlcnMgPSByZWNvcmRlclNuYXBzaG90cztcbiAgfVxuXG4gIC8vIFJGQy0wMDEgQmxvY2sgOTogdGhlIGRlZmVycmVkLW9ic2VydmVyIGFjY291bnRpbmcgc3VyZmFjZS4gUHJlc2VudFxuICAvLyBPTkxZIHdoZW4gYSBkZWZlcnJlZCBvYnNlcnZlciB3YXMgYXR0YWNoZWQgb24gdGhpcyBleGVjdXRvciDigJRcbiAgLy8gemVyby1jb3N0IGRpc2NpcGxpbmUgZm9yIGV2ZXJ5b25lIGVsc2UuXG4gIGlmIChvYnNlcnZlcnMuZGVmZXJyZWRUaWVyKSB7XG4gICAgc25hcHNob3Qub2JzZXJ2ZXJTdGF0cyA9IG9ic2VydmVycy5kZWZlcnJlZFRpZXIuZ2V0U3RhdHMoKTtcbiAgfVxuXG4gIC8vIFRoZSBjcmFzaC1zYWZlIHJlY29yZCdzIGFjY291bnRpbmcgKDEwLjEsIFA2KTogcHJlc2VudCBPTkxZIGZvciBhbiBleGVjdXRvciBidWlsdCB3aXRoIGEgYHNpbmtgLCBvbmNlIGEgcnVuXG4gIC8vIHN0YXJ0ZWQuXG4gIGlmIChzaW5rICE9PSB1bmRlZmluZWQpIHNuYXBzaG90LnNpbmsgPSBzaW5rO1xuXG4gIGlmIChydW50aW1lLmNhcHR1cmUpIHtcbiAgICBjb25zdCBjb250cm9sID1cbiAgICAgIGFja25vd2xlZGdlZC5sZW5ndGggPT09IDBcbiAgICAgICAgPyAndW5rbm93bidcbiAgICAgICAgOiBhY2tub3dsZWRnZWQuZXZlcnkoKGFjaykgPT4gYWNrLmNvbnRyb2wgPT09ICdjYXB0dXJlZCcpXG4gICAgICAgID8gJ2NhcHR1cmVkJ1xuICAgICAgICA6IGFja25vd2xlZGdlZC5zb21lKChhY2spID0+IGFjay5jb250cm9sID09PSAncGFydGlhbCcpXG4gICAgICAgID8gJ3BhcnRpYWwnXG4gICAgICAgIDogJ3Vua25vd24nO1xuICAgIGlmIChydW50aW1lLnJvb3RTdGFnZUNvbnRleHQuZ2V0UG9saWN5KCkucmVkYWN0aW9uPy5pc0luZXJ0KCkgPT09IGZhbHNlKSBydW50aW1lLmNhcHR1cmUubGltaXQoJ3JlZGFjdGlvbi1hY3RpdmUnKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc25hcHNob3QsXG4gICAgICBjYXB0dXJlOiBydW50aW1lLmNhcHR1cmUuc25hcHNob3Qoc25hcHNob3QuY29tbWl0TG9nLmxlbmd0aCwgY29udHJvbCwgb3B0aW9ucz8ucmVkYWN0ID09PSB0cnVlKSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBzbmFwc2hvdDtcbn1cblxuLyoqXG4gKiBUaGUgY29tbWl0IGxvZyBhbmQgdGhlIGZvbGQgYmFzZSBhcyBhIHJlYWRlciBtYXkgaG9sZCB0aGVtICg5LjQ0LjIpOiBhIHJlY29yZCBmcmVlemluZyBzZWFsZWQgd2hvbGVcbiAqIGlzIHNlcnZlZCBhcyBpdHNlbGY7IG9uZSBob2xkaW5nIHdoYXQgZnJlZXppbmcgY2Fubm90IHNlYWwg4oCUIGEgRGF0ZSwgYSBNYXAsIGEgYnVmZmVyIOKApiDigJQgYXMgYSBjb3B5XG4gKiBvZiBpdHMgb3BlbiBwYXRocywgdGhlIHJlYWRlcidzIG93biAoYGNhcHR1cmUvZnJlZXplLnRzIMK3IHNlcnZlUmVjb3JkYCkuIEhlcmUsIGF0IHRoZSBwdWJsaWMgZG9vcjpcbiAqIHRoZSBlbmdpbmUncyBvd24gc25hcHNob3Qgb2YgYSBsb2cgKGEgc3ViZmxvdyBtb3VudCdzKSBpcyBub3Qgc2VydmVkLCBzbyB0aGUgcnVuIHBheXMgbm90aGluZy5cbiAqL1xuZnVuY3Rpb24gc2VydmVkTG9nKHNuYXBzaG90OiBSdW50aW1lU25hcHNob3QpOiBSdW50aW1lU25hcHNob3Qge1xuICBjb25zdCB7IGluaXRpYWxTdGF0ZSB9ID0gc25hcHNob3Q7XG4gIHJldHVybiB7XG4gICAgLi4uc25hcHNob3QsXG4gICAgY29tbWl0TG9nOiBPYmplY3QuZnJlZXplKHNuYXBzaG90LmNvbW1pdExvZy5tYXAoc2VydmVSZWNvcmQpKSBhcyBDb21taXRCdW5kbGVbXSxcbiAgICAuLi4oaW5pdGlhbFN0YXRlID09PSB1bmRlZmluZWQgPyB7fSA6IHsgaW5pdGlhbFN0YXRlOiBzZXJ2ZVJlY29yZChpbml0aWFsU3RhdGUpIH0pLFxuICB9O1xufVxuXG4vKipcbiAqIENvbGxlY3QgYHRvU25hcHNob3QoKWAgYnVuZGxlcyBmcm9tIGV2ZXJ5IGF0dGFjaGVkIHJlY29yZGVyIOKAlCBPTkUgZW50cnlcbiAqIHBlciByZWNvcmRlciBpZCwgYWNyb3NzIGFsbCBjaGFubmVscyBhbmQgYm90aCBkZWxpdmVyeSB0aWVycy5cbiAqXG4gKiBUaGUgZGVkdXBlIGlzIGxvYWQtYmVhcmluZywgbm90IHRpZGluZXNzLiBBIHJlY29yZGVyIHRoYXQgaW1wbGVtZW50cyBhXG4gKiBzaGFyZWQtbmFtZSBob29rIChgb25FcnJvcmAgLyBgb25QYXVzZWAgLyBgb25SZXN1bWVgIOKAlCBkZWNsYXJlZCBvbiBCT1RIXG4gKiB0aGUgc2NvcGUgYW5kIGZsb3cgaW50ZXJmYWNlcykgaXMgbGVnaXRpbWF0ZWx5IHJlZ2lzdGVyZWQgb24gQk9USCBpbmxpbmVcbiAqIGxpc3RzIGJ5IGBhdHRhY2hDb21iaW5lZFJlY29yZGVyYCwgYW5kIHRoYXQgaXMgYnkgZGVzaWduOiBlYWNoIGNoYW5uZWxcbiAqIGNhbGxzIHRoZSBob29rIHdpdGggaXRzIG93biBwYXlsb2FkIHZhcmlhbnQuIGBNZXRyaWNSZWNvcmRlci5vblBhdXNlYCBpc1xuICogdGhlIGV2ZXJ5ZGF5IGNhc2UuIFdhbGtpbmcgdGhlIGxpc3RzIHdpdGhvdXQgYSBzaGFyZWQgYHNlZW5gIHNldCB0dXJuZWRcbiAqIHRoYXQgaW50byBhIERVUExJQ0FURUQgc25hcHNob3QgZW50cnkgKHNhbWUgaWQgdHdpY2UpLCB3aGljaCBicmVha3MgZXZlcnlcbiAqIGNvbnN1bWVyIHRoYXQgaW5kZXhlcyBgc25hcHNob3QucmVjb3JkZXJzYCBieSBpZC5cbiAqXG4gKiBPcmRlcmluZyBpcyBzY29wZSBsaXN0IOKGkiBmbG93IGxpc3Qg4oaSIGRlZmVycmVkIHRpZXIsIGFuZCB0aGUgRklSU1QgYnVuZGxlXG4gKiBmb3IgYW4gaWQgd2lucy4gQSByZWNvcmRlciB3aXRoIG5vIGB0b1NuYXBzaG90YCBuZXZlciBjbGFpbXMgYW4gaWQsIHNvIGl0XG4gKiBjYW5ub3Qgc2hhZG93IGEgc2FtZS1pZCByZWNvcmRlciB0aGF0IGRvZXMgaGF2ZSBvbmUuXG4gKlxuICogVGhlIHJvdyBpcyBSRUJVSUxUIGZpZWxkIGJ5IGZpZWxkIGJ5IHRoZSBvbmUgY29waWVyIChgcmVjb3JkZXIvc25hcHNob3QudHNcbiAqIMK3IGNvcHlCdW5kbGVgLCBzaGFyZWQgd2l0aCBgQ29tcG9zaXRlUmVjb3JkZXJgKSByYXRoZXIgdGhhbiBzcHJlYWQsIHNvIGFcbiAqIHJlY29yZGVyIGNhbm5vdCBzbXVnZ2xlIGFuIGBpZGAgb2YgaXRzIG93biBjaG9vc2luZyBpbnRvIHRoZSBzbmFwc2hvdCAodGhlXG4gKiBpZCBpcyB0aGUgZXhlY3V0b3IncywgYW5kIGNvbnN1bWVycyBpbmRleCBieSBpdCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0UmVjb3JkZXJTbmFwc2hvdHMoXG4gIG9ic2VydmVyczogUnVuT2JzZXJ2ZXJzLFxuICBjb2xsZWN0ZWQ/OiAocmVjb3JkZXI6IFNjb3BlUmVjb3JkZXIgfCBGbG93UmVjb3JkZXIsIHJvdzogUmVjb3JkZXJTbmFwc2hvdCkgPT4gdm9pZCxcbiAgaW5jbHVkZUNhcHR1cmUgPSBmYWxzZSxcbik6IFJlY29yZGVyU25hcHNob3RbXSB7XG4gIGNvbnN0IG91dDogUmVjb3JkZXJTbmFwc2hvdFtdID0gW107XG4gIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgY29sbGVjdCA9IChyOiBTY29wZVJlY29yZGVyIHwgRmxvd1JlY29yZGVyKTogdm9pZCA9PiB7XG4gICAgaWYgKCFyLnRvU25hcHNob3QgfHwgc2Vlbi5oYXMoci5pZCkpIHJldHVybjtcbiAgICBzZWVuLmFkZChyLmlkKTtcbiAgICBjb25zdCByb3cgPSBjb3B5QnVuZGxlKHIuaWQsIHIudG9TbmFwc2hvdCgpLCBpbmNsdWRlQ2FwdHVyZSk7XG4gICAgb3V0LnB1c2gocm93KTtcbiAgICBjb2xsZWN0ZWQ/LihyLCByb3cpO1xuICB9O1xuICBmb3IgKGNvbnN0IHIgb2Ygb2JzZXJ2ZXJzLnNjb3BlUmVjb3JkZXJzKSBjb2xsZWN0KHIpO1xuICBmb3IgKGNvbnN0IHIgb2Ygb2JzZXJ2ZXJzLmZsb3dSZWNvcmRlcnMpIGNvbGxlY3Qocik7XG4gIGlmIChvYnNlcnZlcnMuZGVmZXJyZWRUaWVyKSB7XG4gICAgZm9yIChjb25zdCByIG9mIG9ic2VydmVycy5kZWZlcnJlZFRpZXIuc2NvcGVMaXN0UmVjb3JkZXJzKCkpIGNvbGxlY3Qocik7XG4gICAgZm9yIChjb25zdCByIG9mIG9ic2VydmVycy5kZWZlcnJlZFRpZXIuZmxvd0xpc3RSZWNvcmRlcnMoKSkgY29sbGVjdChyKTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIl19
|