@eo-sdk/client 9.3.0-rc.1 → 9.4.0-rc.1
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/app/eo-framework/actions/action.module.d.ts +3 -1
- package/app/eo-framework/actions/actions/delete-action/delete/delete.component.d.ts +2 -1
- package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts +96 -0
- package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts +19 -0
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +4 -3
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -0
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -0
- package/app/eo-framework-core/search/app-search.service.d.ts +5 -0
- package/assets/_default/i18n/de.json +23 -6
- package/assets/_default/i18n/en.json +35 -18
- package/assets/_default/svg/ic_signature.svg +1 -0
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +168 -61
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
- package/bundles/eo-sdk-client.umd.js +208 -27
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/eo-sdk-client.d.ts +12 -10
- package/eo-sdk-client.metadata.json +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
- package/esm2015/app/eo-framework/actions/action.module.js +9 -3
- package/esm2015/app/eo-framework/actions/actions/delete-action/delete/delete.component.js +14 -6
- package/esm2015/app/eo-framework/actions/actions/signature-action/signature/signature.component.js +109 -0
- package/esm2015/app/eo-framework/actions/actions/signature-action/signature-action.component.js +38 -0
- package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +10 -4
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +3 -2
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.js +3 -2
- package/esm2015/app/eo-framework/object-form/object-form.module.js +2 -2
- package/esm2015/app/eo-framework/tree/tree.component.js +2 -2
- package/esm2015/app/eo-framework/ui/signature-tab/signature-tab.component.js +3 -3
- package/esm2015/app/eo-framework/upload-overlay/upload-overlay.component.js +2 -2
- package/esm2015/app/eo-framework-core/search/app-search.service.js +15 -1
- package/esm2015/eo-sdk-client.js +13 -11
- package/esm2015/projects/eo-sdk/core/lib/eo-core.module.js +3 -1
- package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +6 -2
- package/esm2015/projects/eo-sdk/core/lib/service/search/search-query.model.js +64 -62
- package/esm2015/projects/eo-sdk/core/lib/service/search/search.service.js +5 -2
- package/esm2015/projects/eo-sdk/core/lib/service/signing/signing.service.js +97 -0
- package/esm2015/projects/eo-sdk/core/public_api.js +2 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +167 -63
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
- package/fesm2015/eo-sdk-client.js +190 -19
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +2 -1
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +3 -1
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +83 -0
- package/projects/eo-sdk/core/package.json +1 -1
- package/projects/eo-sdk/core/public_api.d.ts +1 -0
- package/proxy.config.json +5 -0
|
@@ -91,7 +91,7 @@ export class UploadOverlayComponent {
|
|
|
91
91
|
// check for directories
|
|
92
92
|
for (let i = 0; i < transfer.items.length; i++) {
|
|
93
93
|
const fe = transfer.items[i].webkitGetAsEntry();
|
|
94
|
-
if (fe.isDirectory) {
|
|
94
|
+
if (fe && fe.isDirectory) {
|
|
95
95
|
this.invalidInput = true;
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -395,4 +395,4 @@ UploadOverlayComponent.ctorParameters = () => [
|
|
|
395
395
|
UploadOverlayComponent.propDecorators = {
|
|
396
396
|
overlayEl: [{ type: ViewChild, args: ['overlay',] }]
|
|
397
397
|
};
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvdXBsb2FkLW92ZXJsYXkvdXBsb2FkLW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxFQUFFLElBQUksWUFBWSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVMLFlBQVksRUFDWixVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQUUsYUFBYSxFQUNoQyxNQUFNLGNBQWMsQ0FBQztBQU90QixNQUFNLE9BQU8sc0JBQXNCO0lBc0JqQyxZQUFvQixNQUFjLEVBQ2QsUUFBbUIsRUFDbkIsY0FBOEIsRUFDOUIsU0FBMkIsRUFDM0IsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsY0FBcUM7UUFOckMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQXhCekQsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFNN0IsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUdoQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7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QyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxrQkFBa0IsQ0FBQyxLQUFxQjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0YsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7O1lBNWJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qix5NkpBQThDOzthQUUvQzs7O1lBbEJPLE1BQU07WUFEYSxTQUFTO1lBU2xDLGNBQWM7WUFFZCxnQkFBZ0I7WUFDRSxhQUFhO1lBUi9CLFlBQVk7WUFFWixxQkFBcUI7Ozt3QkFnQnBCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvZiBhcyBvYnNlcnZhYmxlT2YsIGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBPYmplY3RUeXBlLFxuICBFdmVudFNlcnZpY2UsXG4gIEVuYWlvRXZlbnQsXG4gIFVwbG9hZFJlZ2lzdHJ5U2VydmljZSxcbiAgVXBsb2FkVGFyZ2V0LFxuICBVcGxvYWRGaWxlSXRlbSxcbiAgUHJlcGFyZVNlcnZpY2UsXG4gIFV0aWxzLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBFbnZpcm9ubWVudEVuYWlvLCBTeXN0ZW1TZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXVwbG9hZC1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXknKSBvdmVybGF5RWw6IEVsZW1lbnRSZWY7XG5cbiAgcXVldWU6IFVwbG9hZEZpbGVJdGVtW10gPSBbXTtcbiAgZmlsZU92ZXI6IGJvb2xlYW47XG4gIGlzVXBsb2FkaW5nOiBib29sZWFuO1xuICBoYXNWYWxpZFVwbG9hZFRhcmdldHM6IGJvb2xlYW47XG4gIGludmFsaWRJbnB1dDogYm9vbGVhbjtcbiAgcXVldWVTaXplOiBudW1iZXI7XG4gIHZhbGlkVXBsb2FkVGFyZ2V0czogVXBsb2FkVGFyZ2V0W10gPSBbXTtcbiAgc2VsZWN0ZWRVcGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldDtcblxuICBwcml2YXRlIHVwbG9hZFRhcmdldHM6IFVwbG9hZFRhcmdldFtdID0gW107XG4gIHByaXZhdGUgZHJhZ0xlYXZlTGlzdGVuZXI6IEZ1bmN0aW9uO1xuICBwcml2YXRlIGRyb3BMaXN0ZW5lcjogRnVuY3Rpb247XG4gIHByaXZhdGUgZHJhZ092ZXJMaXN0ZW5lcjogRnVuY3Rpb247XG4gIHByaXZhdGUgZXNjS2V5TGlzdGVuZXI6IEZ1bmN0aW9uO1xuICBwcml2YXRlIGRyYWdFbnRlckxpc3RlbmVyOiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBwYXN0ZUxpc3RlbmVyOiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBkcmFnRXZlbnRDb3VudCA9IDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICBwcml2YXRlIHByZXBhcmVTZXJ2aWNlOiBQcmVwYXJlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRSZWdpc3RyeTogVXBsb2FkUmVnaXN0cnlTZXJ2aWNlKSB7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG5cbiAgICAvLyBnbG9iYWwgZHJhZyZkcm9wIHVwbG9hZCB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIG9uIGRlc2t0b3AgKHdlYiBvciBlbGVjdHJvbilcbiAgICBpZiAoRW52aXJvbm1lbnRFbmFpby5pc01vYmlsZUVudmlyb25tZW50KCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzdWJzY3JpYmUgZm9yIHRoZSBsaXN0IG9mIHJlZ2lzdGVyZWQgdXBsb2FkIHRhcmdldHNcbiAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnVwbG9hZFRhcmdldHMkLnN1YnNjcmliZSgodXBsb2FkVGFyZ2V0czogVXBsb2FkVGFyZ2V0W10pID0+IHtcbiAgICAgIHRoaXMudXBsb2FkVGFyZ2V0cyA9IHVwbG9hZFRhcmdldHM7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBhc3RlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAncGFzdGUnLCAoZTogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub25QYXN0ZShlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZHJhZ0VudGVyTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnZHJhZ2VudGVyJywgKGU6IERyYWdFdmVudCkgPT4ge1xuICAgICAgdGhpcy5vbkRyYWdFbnRlcihlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QYXN0ZShlOiBDbGlwYm9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzVXBsb2FkaW5nKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuaGFzVmFsaWRVcGxvYWRUYXJnZXRzID0gdHJ1ZTtcbiAgICB0aGlzLmludmFsaWRJbnB1dCA9IGZhbHNlO1xuICAgIGlmICghdGhpcy5maWxlT3ZlciAmJiB0aGlzLnBhc3RlQ29udGFpbnNGaWxlcyhlKSkge1xuICAgICAgbGV0IHRyYW5zZmVyID0gZS5jbGlwYm9hcmREYXRhO1xuICAgICAgaWYgKCF0cmFuc2Zlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBkaXJlY3Rvcmllc1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmFuc2Zlci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodHJhbnNmZXIuaXRlbXNbaV0ua2luZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB0aGlzLmludmFsaWRJbnB1dCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZlID0gdHJhbnNmZXIuaXRlbXNbaV0ud2Via2l0R2V0QXNFbnRyeSgpO1xuICAgICAgICBpZiAoZmUgJiYgZmUuaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZElucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmludmFsaWRJbnB1dCkge1xuICAgICAgICB0aGlzLl9wcmV2ZW50QW5kU3RvcChlKTtcbiAgICAgICAgdGhpcy5zZXRGaWxlT3Zlcih0cnVlKTtcbiAgICAgICAgdGhpcy5vbkZpbGVzRHJvcHBlZChBcnJheS5mcm9tKHRyYW5zZmVyLmZpbGVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkRyYWdFbnRlcihlOiBEcmFnRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1VwbG9hZGluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmhhc1ZhbGlkVXBsb2FkVGFyZ2V0cyA9IHRydWU7XG4gICAgaWYgKCF0aGlzLmZpbGVPdmVyICYmIHRoaXMuZHJhZ0NvbnRhaW5zRmlsZXMoZSkpIHtcbiAgICAgIHRoaXMuZHJhZ0V2ZW50Q291bnQgPSAwO1xuICAgICAgdGhpcy5zZXRGaWxlT3Zlcih0cnVlKTtcblxuXG4gICAgICAvLyB1c2UgdGltZW91dCBoZXJlIHRvIGZvcmNlIGFuZ3VsYXIgZGlnZXN0IGN5Y2xlIGJlZm9yZSBjb250aW51aW5nLCBiZWNhdXNlIHdlIGFyZSBhY2Nlc3NpbmcgZG9tIGVsZW1lbnRzXG4gICAgICAvLyB0aGF0IGFyZSBub3QgdGhlcmUgKCpuZ0lmKSB1bnRpbCBmaWxlT3ZlciBpcyBzZXQgdG8gdHJ1ZS5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAvLyB0b2RvOiByZXBsYWNlIGJ5IHJlbmRlcmVyIHNvbHV0aW9uIHdoZW4gYXZhaWxhYmxlIChodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNTY3NClcbiAgICAgICAgdGhpcy5vdmVybGF5RWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAvLyBiaW5kIGxhdGUgKG9ubHksIHdoZW4gbmVlZGVkKSB0byBkcmFnbGVhdmUgZXZlbnQgdG8gYXZvaWQgaGVhdnkgcHJvY2Vzc2luZyBvbiBldmVyeSBkcmFnIGV2ZW50XG4gICAgICAgIHRoaXMuZHJhZ0xlYXZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm92ZXJsYXlFbC5uYXRpdmVFbGVtZW50LCAnZHJhZ2xlYXZlJywgKGV2dCkgPT4ge1xuICAgICAgICAgIHRoaXMuZHJhZ0V2ZW50Q291bnQtLTtcbiAgICAgICAgICBpZiAodGhpcy5kcmFnRXZlbnRDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kcm9wTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm92ZXJsYXlFbC5uYXRpdmVFbGVtZW50LCAnZHJvcCcsIChldnQpID0+IHtcbiAgICAgICAgICBsZXQgdHJhbnNmZXIgPSB0aGlzLl9nZXRUcmFuc2ZlcihldnQpO1xuICAgICAgICAgIGlmICghdHJhbnNmZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmVudEFuZFN0b3AoZXZ0KTtcblxuICAgICAgICAgIC8vIGNoZWNrIGZvciBkaXJlY3Rvcmllc1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJhbnNmZXIuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGZlID0gdHJhbnNmZXIuaXRlbXNbaV0ud2Via2l0R2V0QXNFbnRyeSgpO1xuICAgICAgICAgICAgaWYgKGZlLmlzRGlyZWN0b3J5KSB7XG4gICAgICAgICAgICAgIHRoaXMuaW52YWxpZElucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmludmFsaWRJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5vbkZpbGVzRHJvcHBlZCh0cmFuc2Zlci5maWxlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRyYWdPdmVyTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm92ZXJsYXlFbC5uYXRpdmVFbGVtZW50LCAnZHJhZ292ZXInLCAoZXZ0KSA9PiB7XG4gICAgICAgICAgbGV0IHRyYW5zZmVyID0gdGhpcy5fZ2V0VHJhbnNmZXIoZXZ0KTtcbiAgICAgICAgICBpZiAoIXRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gICAgICAgICAgdGhpcy5fcHJldmVudEFuZFN0b3AoZXZ0KTtcbiAgICAgICAgfSk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcmFnRXZlbnRDb3VudCsrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFRyYW5zZmVyKGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIgPyBldmVudC5kYXRhVHJhbnNmZXIgOiBldmVudC5vcmlnaW5hbEV2ZW50LmRhdGFUcmFuc2ZlcjsgLy8galF1ZXJ5IGZpeDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZlbnRBbmRTdG9wKGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIG9uRmlsZXNEcm9wcGVkKGZpbGVJdGVtczogRmlsZVtdKSB7XG4gICAgLy8gY2xlYXIgcXVldWUgd2hlbiBuZXcgZmlsZXMgYXJlIGFkZGVkXG4gICAgLy8gdG9kbzogcmVtb3ZlIGluIGZ1dHVyZSByZWxlYXNlcyB0byBzdXBwb3J0IGNvbGxlY3RpdmUgZmlsZSBhZGRpbmdcbiAgICB0aGlzLnF1ZXVlID0gW107XG4gICAgZm9yIChsZXQgZmlsZSBvZiBmaWxlSXRlbXMpIHtcbiAgICAgIHRoaXMucXVldWUucHVzaChuZXcgVXBsb2FkRmlsZUl0ZW0oZmlsZSkpO1xuICAgIH1cblxuICAgIC8vIGJpbmQgRVNDIGtleSBsaXN0ZW5lciBmb3IgY2xvc2luZyB0aGUgZGlhbG9nIGFzIGxhdGUgYXMgcG9zc2libGVcbiAgICBpZiAoIXRoaXMuZXNjS2V5TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuZXNjS2V5TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAna2V5dXAnLCAoZSkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoZS5rZXlDb2RlID09PSAyNykge1xuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIGNhbGN1bGF0ZSB0b3RhbCBzaXplIG9mIHF1ZXVlXG4gICAgdGhpcy5zZXRRdWV1ZVNpemUoKTtcbiAgICAvLyBmaWx0ZXIgYXZhaWxhYmxlIHRhcmdldHNcbiAgICB0aGlzLnZhbGlkYXRlVXBsb2FkVGFyZ2V0cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBsaXN0IG9mIHJlZ2lzdGVyZWQgdXBsb2FkIHRhcmdldHMsIHNvIG9ubHkgdmFsaWQgdGFyZ2V0cyB3aWxsIGJlIHNob3duLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVVwbG9hZFRhcmdldHMoKSB7XG4gICAgdGhpcy5oYXNWYWxpZFVwbG9hZFRhcmdldHMgPSB0cnVlO1xuICAgIG9ic2VydmFibGVGb3JrSm9pbih0aGlzLnVwbG9hZFRhcmdldHMubWFwKHQgPT4gdGhpcy52YWxpZGF0ZVVwbG9hZFRhcmdldCh0KSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzOiB7IHRhcmdldDogVXBsb2FkVGFyZ2V0LCB2YWxpZDogYm9vbGVhbiB9W10pID0+IHtcbiAgICAgICAgICB0aGlzLnZhbGlkVXBsb2FkVGFyZ2V0cyA9IHJlcy5maWx0ZXIociA9PiByLnZhbGlkKS5tYXAoZmlsdGVyZWQgPT4gZmlsdGVyZWQudGFyZ2V0KS5yZXZlcnNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGEudHlwZSA9PT0gJ2NvbnRleHQnID8gLTEgOiBiLnR5cGUgPT09ICdjb250ZXh0JyA/IDEgOiAwOyAvLyBDb250ZXh0IHNob3VsZCBiZSBvbiB0b3BcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnZhbGlkVXBsb2FkVGFyZ2V0cyA9IFtdO1xuICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYXNWYWxpZFVwbG9hZFRhcmdldHMgPSB0aGlzLnZhbGlkVXBsb2FkVGFyZ2V0cy5sZW5ndGggPiAwO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVVwbG9hZFRhcmdldCh0YXJnZXQ6IFVwbG9hZFRhcmdldCk6IE9ic2VydmFibGU8eyB0YXJnZXQ6IFVwbG9hZFRhcmdldCwgdmFsaWQ6IGJvb2xlYW4gfT4ge1xuXG4gICAgaWYgKCF0aGlzLnF1ZXVlKSB7XG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHt0YXJnZXQ6IHRhcmdldCwgdmFsaWQ6IGZhbHNlfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKG8gPT4ge1xuICAgICAgbGV0IHZhbGlkID0gZmFsc2U7XG5cbiAgICAgIGlmICh0YXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LlJPT1QpIHtcblxuICAgICAgICAvLyB0b2RvOiBhcmUgdGhlcmUgb3RoZXIgcmVzdHJpY3Rpb25zIG9uIHJvb3QgdGFyZ2V0P1xuICAgICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlLmdldFByZXBhcmVDaGlsZFR5cGVzKG51bGwsIHRydWUpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIChyZXM6IHsgcGFyZW50OiBzdHJpbmcsIHR5cGVzOiBPYmplY3RUeXBlW10gfSkgPT4ge1xuICAgICAgICAgICAgICB2YWxpZCA9IHRoaXMucXVldWUubGVuZ3RoID4gMCAmJiByZXMudHlwZXMubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgby5uZXh0KHt0YXJnZXQ6IHRhcmdldCwgdmFsaWQ6IHZhbGlkfSk7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiBmYWxzZX0pO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAodGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5PQkpFQ1QpIHtcblxuICAgICAgICAvLyB0b2RvOiBjaGVjayBpZiB0aGUgcmVmZXJlbmNlIG9iamVjdCBzdXBwb3J0cyB0aGUgZ2l2ZW4gZmlsZSB0eXBlXG4gICAgICAgIHZhbGlkID0gdGFyZ2V0LnJlZmVyZW5jZU9iamVjdCAmJlxuICAgICAgICAgIHRhcmdldC5yZWZlcmVuY2VPYmplY3QudHlwZS5tYXhGaWxlcyA+IDAgJiZcbiAgICAgICAgICAhdGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5sb2NrICYmXG4gICAgICAgICAgIXRhcmdldC5yZWZlcmVuY2VPYmplY3QuaXNGaW5hbGl6ZWQgJiZcbiAgICAgICAgICAodGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5yaWdodHMgJiYgdGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5yaWdodHMuZWRpdCkgJiZcbiAgICAgICAgICB0aGlzLnF1ZXVlLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgby5uZXh0KHt0YXJnZXQ6IHRhcmdldCwgdmFsaWQ6IHZhbGlkfSk7XG4gICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5DT05URVhUIHx8IHRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuQ09OVEVYVF9UUkVFKSB7XG5cbiAgICAgICAgLy8gdG9kbzogYWRkIGNoZWNrcyByZWxhdGVkIHRvIHRoZSByZWZlcmVuY2Ugb2JqZWN0IChlLmcuIGFsbG93ZWQgZmlsZSB0eXBlcylcbiAgICAgICAgdGhpcy5wcmVwYXJlU2VydmljZS5nZXRQcmVwYXJlQ2hpbGRUeXBlcyh0YXJnZXQucmVmZXJlbmNlT2JqZWN0LmlkLCB0cnVlKVxuICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzOiB7IHBhcmVudDogc3RyaW5nLCB0eXBlczogT2JqZWN0VHlwZVtdIH0pID0+IHtcbiAgICAgICAgICAgICAgdmFsaWQgPSB0YXJnZXQucmVmZXJlbmNlT2JqZWN0ICYmIHRoaXMucXVldWUubGVuZ3RoID4gMCAmJiByZXMudHlwZXMubGVuZ3RoID4gMDtcblxuICAgICAgICAgICAgICAvLyBmb3IgQ09OVEVYVF9UUkVFIHRhcmdldHMgYWxzbyBjaGVjayBpZiB0aGUgZGVzaXJlZCBub2RlXG4gICAgICAgICAgICAgIC8vIHR5cGUgaXMgcGFydCBvZiB0aGUgcHJlcGFyZSBjaGlsZCB0eXBlc1xuICAgICAgICAgICAgICBpZiAodGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5DT05URVhUX1RSRUUgJiYgdGFyZ2V0LnN1YkZvbGRlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YkZvbGRlcjogYW55ID0gdGFyZ2V0LnN1YkZvbGRlcjtcbiAgICAgICAgICAgICAgICB2YWxpZCA9ICEhcmVzLnR5cGVzLmZpbmQodCA9PiB0aGlzLnN5c3RlbVNlcnZpY2UuaW1wbGVtZW50c1R5cGUodCwgc3ViRm9sZGVyLmRhdGEudHlwZSkpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgby5uZXh0KHt0YXJnZXQ6IHRhcmdldCwgdmFsaWQ6IHZhbGlkfSk7XG4gICAgICAgICAgICAgIG8uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiBmYWxzZX0pO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiBmYWxzZX0pO1xuICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbGUgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0byBiZSB1cGxvYWRlZC5cbiAgICogQHBhcmFtIGZpbGVJdGVtIC0gdGhlIGZpbGUgaXRlbSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsZUl0ZW0oZmlsZUl0ZW06IFVwbG9hZEZpbGVJdGVtKSB7XG5cbiAgICB0aGlzLnF1ZXVlID0gdGhpcy5xdWV1ZS5maWx0ZXIoKGYpID0+IGYuaWQgIT09IGZpbGVJdGVtLmlkKTtcbiAgICBpZiAoIXRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVwZGF0ZSBhdmFpbGFibGUgdXBsb2FkIHRhcmdldHMgYmVjYXVzZSB0aGVpciB2YWxpZGl0eVxuICAgICAgLy8gbWF5IGJlIGJhc2VkIG9uIHRoZSBxdWV1ZSBzaXplXG4gICAgICB0aGlzLnZhbGlkYXRlVXBsb2FkVGFyZ2V0cygpO1xuICAgICAgdGhpcy5zZXRRdWV1ZVNpemUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VlZCB1cGxvYWQgd2l0aCBhIHNlbGVjdGVkIHVwbG9hZCB0YXJnZXQuXG4gICAqIEBwYXJhbSB1cGxvYWRUYXJnZXQgLSB0aGUgdGFyZ2V0IHRvIHVwbG9hZCBmaWxlcyB0b1xuICAgKi9cbiAgcHVibGljIHByb2NlZWRXaXRoVXBsb2FkKHVwbG9hZFRhcmdldDogVXBsb2FkVGFyZ2V0KSB7XG5cbiAgICBpZiAodXBsb2FkVGFyZ2V0LnR5cGUgIT09IFVwbG9hZFRhcmdldC5DVVNUT00gJiYgdGhpcy5xdWV1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBGb3IgbW9yZSB0aGFuIG9uZSBmaWxlIHRvIGJlIHVwbG9hZGVkIHRvIGEgbm9uZSBjdXN0b20gdGFyZ2V0LCB3ZSBsZXQgdGhlIHVzZXIgZGVjaWRlIGlmXG4gICAgICAvLyBiYXRjaCB1cGxvYWQgc2hvdWxkIGJlIHVzZWQgb3Igbm90IC4uLlxuXG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRVcGxvYWRUYXJnZXQgPSB1cGxvYWRUYXJnZXQ7XG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0Lk9CSkVDVCkge1xuICAgICAgLy8gLi4uIG90aGVyd2lzZSB1cGxvYWQgaXMgc3RhcnRlZCBpbW1lZGlhdGVseVxuICAgICAgdGhpcy5zdGFydFVwbG9hZCh1cGxvYWRUYXJnZXQsIFtudWxsLCB0aGlzLmdldFN0YXRlUm91dGUoKV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0VXBsb2FkKHVwbG9hZFRhcmdldCwgW251bGwsICcvcHJlcGFyZSddKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VlZCB1cGxvYWQgdXNpbmcgdGhlIHNlbGVjdGVkIHVwbG9hZCB0YXJnZXQuXG4gICAqIEBwYXJhbSB1c2VCYXRjaFVwbG9hZCAtIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0byB1c2UgYmF0Y2ggdXBsb2FkXG4gICAqL1xuICBwdWJsaWMgcHJvY2VlZFdpdGhTZWxlY3RlZFRhcmdldCh1c2VCYXRjaFVwbG9hZDogYm9vbGVhbikge1xuICAgIHRoaXMuc3RhcnRVcGxvYWQodGhpcy5zZWxlY3RlZFVwbG9hZFRhcmdldCwgW3VzZUJhdGNoVXBsb2FkLCAnL3ByZXBhcmUnXSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzZWxlY3RlZCB1cGxvYWQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2VsZWN0ZWRVcGxvYWRUYXJnZXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFVwbG9hZFRhcmdldCA9IG51bGw7XG4gIH1cblxuICBnZXRTdGF0ZVJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XG4gIH1cblxuXG4gIHByaXZhdGUgc3VjY2Vzc2Z1bFVwbG9hZCh0YXJnZXQsIHVwbG9hZFRhcmdldCkge1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIHVwbG9hZFRhcmdldC5yZWZlcmVuY2VPYmplY3QpO1xuICAgIHVwbG9hZFRhcmdldC5vblVwbG9hZFN1Y2Nlc3ModGFyZ2V0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgYWN0dWFsIHVwbG9hZC5cbiAgICogQHBhcmFtIHVwbG9hZFRhcmdldCAtIHRhcmdldCB0byB1cGxvYWQgdGhlIGZpbGVzIHRvXG4gICAqIEBwYXJhbSB1c2VCYXRjaFVwbG9hZCAtIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0byB1c2UgYmF0Y2ggdXBsb2FkXG4gICAqL1xuICBwcml2YXRlIHN0YXJ0VXBsb2FkKHVwbG9hZFRhcmdldDogVXBsb2FkVGFyZ2V0LCBbLi4uYXJnc10pIHtcblxuICAgIGNvbnN0IFt1c2VCYXRjaFVwbG9hZCwgdGFyZ2V0XSA9IGFyZ3M7XG5cbiAgICB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnVuYmluZExpc3RlbmVycygpO1xuICAgIHRoaXMucHJlcGFyZVNlcnZpY2VcbiAgICAgIC51cGxvYWRUb1RhcmdldCh1cGxvYWRUYXJnZXQsIHRoaXMucXVldWUsIHVzZUJhdGNoVXBsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGlmICh1cGxvYWRUYXJnZXQuc3ViRm9sZGVyICYmIHVwbG9hZFRhcmdldC5zdWJGb2xkZXIuZGF0YS5kYXRhKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XG4gICAgICAgICAgICAgIGxldCBvYnMgPSBbXTtcbiAgICAgICAgICAgICAgcmVzLmZvckVhY2gociA9PiB7XG4gICAgICAgICAgICAgICAgb2JzLnB1c2godGhpcy5wcmVwYXJlU2VydmljZS51cGRhdGVQcmVwYXJlZEl0ZW1JbmRleERhdGEoci5pZCwgdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLmRhdGEpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIG9ic2VydmFibGVGb3JrSm9pbihvYnMpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN1Y2Nlc3NmdWxVcGxvYWQodGFyZ2V0LCB1cGxvYWRUYXJnZXQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMucHJlcGFyZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAudXBkYXRlUHJlcGFyZWRJdGVtSW5kZXhEYXRhKHJlcy5pZCwgdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLmRhdGEpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN1Y2Nlc3NmdWxVcGxvYWQodGFyZ2V0LCB1cGxvYWRUYXJnZXQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzZnVsVXBsb2FkKHRhcmdldCwgdXBsb2FkVGFyZ2V0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9LCBVdGlscy50aHJvdygoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHVwbG9hZFRhcmdldC5vblVwbG9hZEZhaWwoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IudGl0bGUnKSxcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXBsb2FkLmdsb2JhbC5lcnJvci5kZXNjcmlwdGlvbicpKVxuICAgICAgKTtcbiAgICB0aGlzLnJlc2V0U2VsZWN0ZWRVcGxvYWRUYXJnZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UXVldWVTaXplKCkge1xuICAgIGxldCBzID0gMDtcbiAgICBmb3IgKGxldCBmIG9mIHRoaXMucXVldWUpIHtcbiAgICAgIHMgKz0gZi5zaXplO1xuICAgIH1cbiAgICB0aGlzLnF1ZXVlU2l6ZSA9IHM7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHVwbG9hZCBvdmVybGF5IGFuZCByZWxlYXNlIGFsbCBib3VuZCByZXNvdXJjZXMuXG4gICAqL1xuICBjbG9zZSgpIHtcbiAgICAvLyB1bmJpbmQgYm91bmQgZXZlbnQgbGlzdGVuZXIsIHdoZW4gdGhleSBhcmUgbm90IG5lZWRlZCBhbnltb3JlXG4gICAgdGhpcy51bmJpbmRMaXN0ZW5lcnMoKTtcbiAgICAvLyBjbGVhciB1cGxvYWQgcXVldWVcbiAgICB0aGlzLnF1ZXVlID0gW107XG4gICAgLy8gaGlkZSB0aGUgb3ZlcmxheVxuICAgIHRoaXMuc2V0RmlsZU92ZXIoZmFsc2UpO1xuICAgIHRoaXMuaW52YWxpZElucHV0ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNldEZpbGVPdmVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5maWxlT3ZlciA9IHZhbHVlO1xuICAgIHRoaXMudXBsb2FkUmVnaXN0cnkuc2V0T3ZlcmxheUFjdGl2ZSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHVuYmluZExpc3RlbmVycygpIHtcbiAgICBpZiAodGhpcy5kcmFnTGVhdmVMaXN0ZW5lcikge1xuICAgICAgdGhpcy5kcmFnTGVhdmVMaXN0ZW5lcigpO1xuICAgICAgdGhpcy5kcmFnTGVhdmVMaXN0ZW5lciA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLmRyYWdPdmVyTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuZHJhZ092ZXJMaXN0ZW5lcigpO1xuICAgICAgdGhpcy5kcmFnT3Zlckxpc3RlbmVyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZHJvcExpc3RlbmVyKSB7XG4gICAgICB0aGlzLmRyb3BMaXN0ZW5lcigpO1xuICAgICAgdGhpcy5kcm9wTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5lc2NLZXlMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lc2NLZXlMaXN0ZW5lcigpO1xuICAgICAgdGhpcy5lc2NLZXlMaXN0ZW5lciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgY3VycmVudCBkcmFnIGV2ZW50IGNvbnRhaW5zIG9uZSBvciBtb3JlIGZpbGVzLlxuICAgKiBAcGFyYW0gZXZlbnQgLSB0aGUgZHJhZyBldmVudCB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm5zIG51bWJlciBvZiBmaWxlc1xuICAgKi9cbiAgIHByaXZhdGUgZHJhZ0NvbnRhaW5zRmlsZXMoZXZlbnQ6IERyYWdFdmVudCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oZXZlbnQuZGF0YVRyYW5zZmVyLml0ZW1zIHx8IFtdKS5maWx0ZXIoaSA9PiBpLmtpbmQgPT09ICdmaWxlJykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgY3VycmVudCBwYXN0ZSBldmVudCBjb250YWlucyBvbmUgb3IgbW9yZSBmaWxlcy5cbiAgICogQHBhcmFtIGV2ZW50IC0gdGhlIHBhc3RlIGV2ZW50IHRvIGJlIGNoZWNrZWRcbiAgICogQHJldHVybnMgbnVtYmVyIG9mIGZpbGVzXG4gICAqL1xuICBwcml2YXRlIHBhc3RlQ29udGFpbnNGaWxlcyhldmVudDogQ2xpcGJvYXJkRXZlbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGV2ZW50LmNsaXBib2FyZERhdGEuaXRlbXMgfHwgW10pLmZpbHRlcihpID0+IGkua2luZCA9PT0gJ2ZpbGUnKS5sZW5ndGg7XG4gIH1cblxuICAvLyBuZ0ZvciB0cmFja2luZyBmdW5jdGlvbiBmb3IgdXBsb2FkIHRhcmdldHNcbiAgdGFyZ2V0VHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0uaWQ7XG4gIH1cblxuICAvLyBuZ0ZvciB0cmFja2luZyBmdW5jdGlvbiBmb3IgZmlsZSBpdGVtc1xuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmRyYWdFbnRlckxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmRyYWdFbnRlckxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvdXBsb2FkLW92ZXJsYXkvdXBsb2FkLW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxFQUFFLElBQUksWUFBWSxFQUFFLFFBQVEsSUFBSSxrQkFBa0IsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVMLFlBQVksRUFDWixVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQUUsYUFBYSxFQUNoQyxNQUFNLGNBQWMsQ0FBQztBQU90QixNQUFNLE9BQU8sc0JBQXNCO0lBc0JqQyxZQUFvQixNQUFjLEVBQ2QsUUFBbUIsRUFDbkIsY0FBOEIsRUFDOUIsU0FBMkIsRUFDM0IsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsY0FBcUM7UUFOckMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQXhCekQsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFNN0IsdUJBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUdoQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7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QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssa0JBQWtCLENBQUMsS0FBcUI7UUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNGLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7OztZQTViRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IseTZKQUE4Qzs7YUFFL0M7OztZQWxCTyxNQUFNO1lBRGEsU0FBUztZQVNsQyxjQUFjO1lBRWQsZ0JBQWdCO1lBQ0UsYUFBYTtZQVIvQixZQUFZO1lBRVoscUJBQXFCOzs7d0JBZ0JwQixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b2YgYXMgb2JzZXJ2YWJsZU9mLCBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgT2JqZWN0VHlwZSxcbiAgRXZlbnRTZXJ2aWNlLFxuICBFbmFpb0V2ZW50LFxuICBVcGxvYWRSZWdpc3RyeVNlcnZpY2UsXG4gIFVwbG9hZFRhcmdldCxcbiAgVXBsb2FkRmlsZUl0ZW0sXG4gIFByZXBhcmVTZXJ2aWNlLFxuICBVdGlscyxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgRW52aXJvbm1lbnRFbmFpbywgU3lzdGVtU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby11cGxvYWQtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkT3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdvdmVybGF5Jykgb3ZlcmxheUVsOiBFbGVtZW50UmVmO1xuXG4gIHF1ZXVlOiBVcGxvYWRGaWxlSXRlbVtdID0gW107XG4gIGZpbGVPdmVyOiBib29sZWFuO1xuICBpc1VwbG9hZGluZzogYm9vbGVhbjtcbiAgaGFzVmFsaWRVcGxvYWRUYXJnZXRzOiBib29sZWFuO1xuICBpbnZhbGlkSW5wdXQ6IGJvb2xlYW47XG4gIHF1ZXVlU2l6ZTogbnVtYmVyO1xuICB2YWxpZFVwbG9hZFRhcmdldHM6IFVwbG9hZFRhcmdldFtdID0gW107XG4gIHNlbGVjdGVkVXBsb2FkVGFyZ2V0OiBVcGxvYWRUYXJnZXQ7XG5cbiAgcHJpdmF0ZSB1cGxvYWRUYXJnZXRzOiBVcGxvYWRUYXJnZXRbXSA9IFtdO1xuICBwcml2YXRlIGRyYWdMZWF2ZUxpc3RlbmVyOiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBkcm9wTGlzdGVuZXI6IEZ1bmN0aW9uO1xuICBwcml2YXRlIGRyYWdPdmVyTGlzdGVuZXI6IEZ1bmN0aW9uO1xuICBwcml2YXRlIGVzY0tleUxpc3RlbmVyOiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBkcmFnRW50ZXJMaXN0ZW5lcjogRnVuY3Rpb247XG4gIHByaXZhdGUgcGFzdGVMaXN0ZW5lcjogRnVuY3Rpb247XG4gIHByaXZhdGUgZHJhZ0V2ZW50Q291bnQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwcmVwYXJlU2VydmljZTogUHJlcGFyZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXBsb2FkUmVnaXN0cnk6IFVwbG9hZFJlZ2lzdHJ5U2VydmljZSkge1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCkge1xuXG4gICAgLy8gZ2xvYmFsIGRyYWcmZHJvcCB1cGxvYWQgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBvbiBkZXNrdG9wICh3ZWIgb3IgZWxlY3Ryb24pXG4gICAgaWYgKEVudmlyb25tZW50RW5haW8uaXNNb2JpbGVFbnZpcm9ubWVudCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gc3Vic2NyaWJlIGZvciB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIHVwbG9hZCB0YXJnZXRzXG4gICAgdGhpcy51cGxvYWRSZWdpc3RyeS51cGxvYWRUYXJnZXRzJC5zdWJzY3JpYmUoKHVwbG9hZFRhcmdldHM6IFVwbG9hZFRhcmdldFtdKSA9PiB7XG4gICAgICB0aGlzLnVwbG9hZFRhcmdldHMgPSB1cGxvYWRUYXJnZXRzO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wYXN0ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ3Bhc3RlJywgKGU6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm9uUGFzdGUoZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYWdFbnRlckxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2RyYWdlbnRlcicsIChlOiBEcmFnRXZlbnQpID0+IHtcbiAgICAgIHRoaXMub25EcmFnRW50ZXIoZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUGFzdGUoZTogQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1VwbG9hZGluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmhhc1ZhbGlkVXBsb2FkVGFyZ2V0cyA9IHRydWU7XG4gICAgdGhpcy5pbnZhbGlkSW5wdXQgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuZmlsZU92ZXIgJiYgdGhpcy5wYXN0ZUNvbnRhaW5zRmlsZXMoZSkpIHtcbiAgICAgIGxldCB0cmFuc2ZlciA9IGUuY2xpcGJvYXJkRGF0YTtcbiAgICAgIGlmICghdHJhbnNmZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjaGVjayBmb3IgZGlyZWN0b3JpZXNcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJhbnNmZXIuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHRyYW5zZmVyLml0ZW1zW2ldLmtpbmQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkSW5wdXQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmZSA9IHRyYW5zZmVyLml0ZW1zW2ldLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICAgICAgaWYgKGZlICYmIGZlLmlzRGlyZWN0b3J5KSB7XG4gICAgICAgICAgICB0aGlzLmludmFsaWRJbnB1dCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pbnZhbGlkSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcHJldmVudEFuZFN0b3AoZSk7XG4gICAgICAgIHRoaXMuc2V0RmlsZU92ZXIodHJ1ZSk7XG4gICAgICAgIHRoaXMub25GaWxlc0Ryb3BwZWQoQXJyYXkuZnJvbSh0cmFuc2Zlci5maWxlcykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25EcmFnRW50ZXIoZTogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNVcGxvYWRpbmcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5oYXNWYWxpZFVwbG9hZFRhcmdldHMgPSB0cnVlO1xuICAgIGlmICghdGhpcy5maWxlT3ZlciAmJiB0aGlzLmRyYWdDb250YWluc0ZpbGVzKGUpKSB7XG4gICAgICB0aGlzLmRyYWdFdmVudENvdW50ID0gMDtcbiAgICAgIHRoaXMuc2V0RmlsZU92ZXIodHJ1ZSk7XG5cblxuICAgICAgLy8gdXNlIHRpbWVvdXQgaGVyZSB0byBmb3JjZSBhbmd1bGFyIGRpZ2VzdCBjeWNsZSBiZWZvcmUgY29udGludWluZywgYmVjYXVzZSB3ZSBhcmUgYWNjZXNzaW5nIGRvbSBlbGVtZW50c1xuICAgICAgLy8gdGhhdCBhcmUgbm90IHRoZXJlICgqbmdJZikgdW50aWwgZmlsZU92ZXIgaXMgc2V0IHRvIHRydWUuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLy8gdG9kbzogcmVwbGFjZSBieSByZW5kZXJlciBzb2x1dGlvbiB3aGVuIGF2YWlsYWJsZSAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTU2NzQpXG4gICAgICAgIHRoaXMub3ZlcmxheUVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgLy8gYmluZCBsYXRlIChvbmx5LCB3aGVuIG5lZWRlZCkgdG8gZHJhZ2xlYXZlIGV2ZW50IHRvIGF2b2lkIGhlYXZ5IHByb2Nlc3Npbmcgb24gZXZlcnkgZHJhZyBldmVudFxuICAgICAgICB0aGlzLmRyYWdMZWF2ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5vdmVybGF5RWwubmF0aXZlRWxlbWVudCwgJ2RyYWdsZWF2ZScsIChldnQpID0+IHtcbiAgICAgICAgICB0aGlzLmRyYWdFdmVudENvdW50LS07XG4gICAgICAgICAgaWYgKHRoaXMuZHJhZ0V2ZW50Q291bnQgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZHJvcExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5vdmVybGF5RWwubmF0aXZlRWxlbWVudCwgJ2Ryb3AnLCAoZXZ0KSA9PiB7XG4gICAgICAgICAgbGV0IHRyYW5zZmVyID0gdGhpcy5fZ2V0VHJhbnNmZXIoZXZ0KTtcbiAgICAgICAgICBpZiAoIXRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZlbnRBbmRTdG9wKGV2dCk7XG5cbiAgICAgICAgICAvLyBjaGVjayBmb3IgZGlyZWN0b3JpZXNcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRyYW5zZmVyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBmZSA9IHRyYW5zZmVyLml0ZW1zW2ldLndlYmtpdEdldEFzRW50cnkoKTtcbiAgICAgICAgICAgIGlmIChmZSAmJiBmZS5pc0RpcmVjdG9yeSkge1xuICAgICAgICAgICAgICB0aGlzLmludmFsaWRJbnB1dCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5pbnZhbGlkSW5wdXQpIHtcbiAgICAgICAgICAgIHRoaXMub25GaWxlc0Ryb3BwZWQodHJhbnNmZXIuZmlsZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kcmFnT3Zlckxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5vdmVybGF5RWwubmF0aXZlRWxlbWVudCwgJ2RyYWdvdmVyJywgKGV2dCkgPT4ge1xuICAgICAgICAgIGxldCB0cmFuc2ZlciA9IHRoaXMuX2dldFRyYW5zZmVyKGV2dCk7XG4gICAgICAgICAgaWYgKCF0cmFuc2Zlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0cmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknO1xuICAgICAgICAgIHRoaXMuX3ByZXZlbnRBbmRTdG9wKGV2dCk7XG4gICAgICAgIH0pO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJhZ0V2ZW50Q291bnQrKztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRUcmFuc2ZlcihldmVudDogYW55KTogYW55IHtcbiAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVyID8gZXZlbnQuZGF0YVRyYW5zZmVyIDogZXZlbnQub3JpZ2luYWxFdmVudC5kYXRhVHJhbnNmZXI7IC8vIGpRdWVyeSBmaXg7XG4gIH1cblxuICBwcml2YXRlIF9wcmV2ZW50QW5kU3RvcChldmVudDogYW55KTogYW55IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkZpbGVzRHJvcHBlZChmaWxlSXRlbXM6IEZpbGVbXSkge1xuICAgIC8vIGNsZWFyIHF1ZXVlIHdoZW4gbmV3IGZpbGVzIGFyZSBhZGRlZFxuICAgIC8vIHRvZG86IHJlbW92ZSBpbiBmdXR1cmUgcmVsZWFzZXMgdG8gc3VwcG9ydCBjb2xsZWN0aXZlIGZpbGUgYWRkaW5nXG4gICAgdGhpcy5xdWV1ZSA9IFtdO1xuICAgIGZvciAobGV0IGZpbGUgb2YgZmlsZUl0ZW1zKSB7XG4gICAgICB0aGlzLnF1ZXVlLnB1c2gobmV3IFVwbG9hZEZpbGVJdGVtKGZpbGUpKTtcbiAgICB9XG5cbiAgICAvLyBiaW5kIEVTQyBrZXkgbGlzdGVuZXIgZm9yIGNsb3NpbmcgdGhlIGRpYWxvZyBhcyBsYXRlIGFzIHBvc3NpYmxlXG4gICAgaWYgKCF0aGlzLmVzY0tleUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmVzY0tleUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2tleXVwJywgKGUpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBjYWxjdWxhdGUgdG90YWwgc2l6ZSBvZiBxdWV1ZVxuICAgIHRoaXMuc2V0UXVldWVTaXplKCk7XG4gICAgLy8gZmlsdGVyIGF2YWlsYWJsZSB0YXJnZXRzXG4gICAgdGhpcy52YWxpZGF0ZVVwbG9hZFRhcmdldHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgbGlzdCBvZiByZWdpc3RlcmVkIHVwbG9hZCB0YXJnZXRzLCBzbyBvbmx5IHZhbGlkIHRhcmdldHMgd2lsbCBiZSBzaG93bi5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVVcGxvYWRUYXJnZXRzKCkge1xuICAgIHRoaXMuaGFzVmFsaWRVcGxvYWRUYXJnZXRzID0gdHJ1ZTtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4odGhpcy51cGxvYWRUYXJnZXRzLm1hcCh0ID0+IHRoaXMudmFsaWRhdGVVcGxvYWRUYXJnZXQodCkpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogeyB0YXJnZXQ6IFVwbG9hZFRhcmdldCwgdmFsaWQ6IGJvb2xlYW4gfVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWxpZFVwbG9hZFRhcmdldHMgPSByZXMuZmlsdGVyKHIgPT4gci52YWxpZCkubWFwKGZpbHRlcmVkID0+IGZpbHRlcmVkLnRhcmdldCkucmV2ZXJzZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhLnR5cGUgPT09ICdjb250ZXh0JyA/IC0xIDogYi50eXBlID09PSAnY29udGV4dCcgPyAxIDogMDsgLy8gQ29udGV4dCBzaG91bGQgYmUgb24gdG9wXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy52YWxpZFVwbG9hZFRhcmdldHMgPSBbXTtcbiAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFzVmFsaWRVcGxvYWRUYXJnZXRzID0gdGhpcy52YWxpZFVwbG9hZFRhcmdldHMubGVuZ3RoID4gMDtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVVcGxvYWRUYXJnZXQodGFyZ2V0OiBVcGxvYWRUYXJnZXQpOiBPYnNlcnZhYmxlPHsgdGFyZ2V0OiBVcGxvYWRUYXJnZXQsIHZhbGlkOiBib29sZWFuIH0+IHtcblxuICAgIGlmICghdGhpcy5xdWV1ZSkge1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiBmYWxzZX0pO1xuICAgIH1cblxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZShvID0+IHtcbiAgICAgIGxldCB2YWxpZCA9IGZhbHNlO1xuXG4gICAgICBpZiAodGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5ST09UKSB7XG5cbiAgICAgICAgLy8gdG9kbzogYXJlIHRoZXJlIG90aGVyIHJlc3RyaWN0aW9ucyBvbiByb290IHRhcmdldD9cbiAgICAgICAgdGhpcy5wcmVwYXJlU2VydmljZS5nZXRQcmVwYXJlQ2hpbGRUeXBlcyhudWxsLCB0cnVlKVxuICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzOiB7IHBhcmVudDogc3RyaW5nLCB0eXBlczogT2JqZWN0VHlwZVtdIH0pID0+IHtcbiAgICAgICAgICAgICAgdmFsaWQgPSB0aGlzLnF1ZXVlLmxlbmd0aCA+IDAgJiYgcmVzLnR5cGVzLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiB2YWxpZH0pO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICBvLm5leHQoe3RhcmdldDogdGFyZ2V0LCB2YWxpZDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuT0JKRUNUKSB7XG5cbiAgICAgICAgLy8gdG9kbzogY2hlY2sgaWYgdGhlIHJlZmVyZW5jZSBvYmplY3Qgc3VwcG9ydHMgdGhlIGdpdmVuIGZpbGUgdHlwZVxuICAgICAgICB2YWxpZCA9IHRhcmdldC5yZWZlcmVuY2VPYmplY3QgJiZcbiAgICAgICAgICB0YXJnZXQucmVmZXJlbmNlT2JqZWN0LnR5cGUubWF4RmlsZXMgPiAwICYmXG4gICAgICAgICAgIXRhcmdldC5yZWZlcmVuY2VPYmplY3QubG9jayAmJlxuICAgICAgICAgICF0YXJnZXQucmVmZXJlbmNlT2JqZWN0LmlzRmluYWxpemVkICYmXG4gICAgICAgICAgKHRhcmdldC5yZWZlcmVuY2VPYmplY3QucmlnaHRzICYmIHRhcmdldC5yZWZlcmVuY2VPYmplY3QucmlnaHRzLmVkaXQpICYmXG4gICAgICAgICAgdGhpcy5xdWV1ZS5sZW5ndGggPT09IDE7XG4gICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiB2YWxpZH0pO1xuICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuQ09OVEVYVCB8fCB0YXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LkNPTlRFWFRfVFJFRSkge1xuXG4gICAgICAgIC8vIHRvZG86IGFkZCBjaGVja3MgcmVsYXRlZCB0byB0aGUgcmVmZXJlbmNlIG9iamVjdCAoZS5nLiBhbGxvd2VkIGZpbGUgdHlwZXMpXG4gICAgICAgIHRoaXMucHJlcGFyZVNlcnZpY2UuZ2V0UHJlcGFyZUNoaWxkVHlwZXModGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5pZCwgdHJ1ZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHJlczogeyBwYXJlbnQ6IHN0cmluZywgdHlwZXM6IE9iamVjdFR5cGVbXSB9KSA9PiB7XG4gICAgICAgICAgICAgIHZhbGlkID0gdGFyZ2V0LnJlZmVyZW5jZU9iamVjdCAmJiB0aGlzLnF1ZXVlLmxlbmd0aCA+IDAgJiYgcmVzLnR5cGVzLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgICAgICAgLy8gZm9yIENPTlRFWFRfVFJFRSB0YXJnZXRzIGFsc28gY2hlY2sgaWYgdGhlIGRlc2lyZWQgbm9kZVxuICAgICAgICAgICAgICAvLyB0eXBlIGlzIHBhcnQgb2YgdGhlIHByZXBhcmUgY2hpbGQgdHlwZXNcbiAgICAgICAgICAgICAgaWYgKHRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuQ09OVEVYVF9UUkVFICYmIHRhcmdldC5zdWJGb2xkZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJGb2xkZXI6IGFueSA9IHRhcmdldC5zdWJGb2xkZXI7XG4gICAgICAgICAgICAgICAgdmFsaWQgPSAhIXJlcy50eXBlcy5maW5kKHQgPT4gdGhpcy5zeXN0ZW1TZXJ2aWNlLmltcGxlbWVudHNUeXBlKHQsIHN1YkZvbGRlci5kYXRhLnR5cGUpKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIG8ubmV4dCh7dGFyZ2V0OiB0YXJnZXQsIHZhbGlkOiB2YWxpZH0pO1xuICAgICAgICAgICAgICBvLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICBvLm5leHQoe3RhcmdldDogdGFyZ2V0LCB2YWxpZDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvLm5leHQoe3RhcmdldDogdGFyZ2V0LCB2YWxpZDogZmFsc2V9KTtcbiAgICAgICAgby5jb21wbGV0ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBmaWxlIGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8gYmUgdXBsb2FkZWQuXG4gICAqIEBwYXJhbSBmaWxlSXRlbSAtIHRoZSBmaWxlIGl0ZW0gdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbGVJdGVtKGZpbGVJdGVtOiBVcGxvYWRGaWxlSXRlbSkge1xuXG4gICAgdGhpcy5xdWV1ZSA9IHRoaXMucXVldWUuZmlsdGVyKChmKSA9PiBmLmlkICE9PSBmaWxlSXRlbS5pZCk7XG4gICAgaWYgKCF0aGlzLnF1ZXVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGUgYXZhaWxhYmxlIHVwbG9hZCB0YXJnZXRzIGJlY2F1c2UgdGhlaXIgdmFsaWRpdHlcbiAgICAgIC8vIG1heSBiZSBiYXNlZCBvbiB0aGUgcXVldWUgc2l6ZVxuICAgICAgdGhpcy52YWxpZGF0ZVVwbG9hZFRhcmdldHMoKTtcbiAgICAgIHRoaXMuc2V0UXVldWVTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByb2NlZWQgdXBsb2FkIHdpdGggYSBzZWxlY3RlZCB1cGxvYWQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gdXBsb2FkVGFyZ2V0IC0gdGhlIHRhcmdldCB0byB1cGxvYWQgZmlsZXMgdG9cbiAgICovXG4gIHB1YmxpYyBwcm9jZWVkV2l0aFVwbG9hZCh1cGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldCkge1xuXG4gICAgaWYgKHVwbG9hZFRhcmdldC50eXBlICE9PSBVcGxvYWRUYXJnZXQuQ1VTVE9NICYmIHRoaXMucXVldWUubGVuZ3RoID4gMSkge1xuICAgICAgLy8gRm9yIG1vcmUgdGhhbiBvbmUgZmlsZSB0byBiZSB1cGxvYWRlZCB0byBhIG5vbmUgY3VzdG9tIHRhcmdldCwgd2UgbGV0IHRoZSB1c2VyIGRlY2lkZSBpZlxuICAgICAgLy8gYmF0Y2ggdXBsb2FkIHNob3VsZCBiZSB1c2VkIG9yIG5vdCAuLi5cblxuXG4gICAgICB0aGlzLnNlbGVjdGVkVXBsb2FkVGFyZ2V0ID0gdXBsb2FkVGFyZ2V0O1xuICAgIH0gZWxzZSBpZiAodXBsb2FkVGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5PQkpFQ1QpIHtcbiAgICAgIC8vIC4uLiBvdGhlcndpc2UgdXBsb2FkIGlzIHN0YXJ0ZWQgaW1tZWRpYXRlbHlcbiAgICAgIHRoaXMuc3RhcnRVcGxvYWQodXBsb2FkVGFyZ2V0LCBbbnVsbCwgdGhpcy5nZXRTdGF0ZVJvdXRlKCldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydFVwbG9hZCh1cGxvYWRUYXJnZXQsIFtudWxsLCAnL3ByZXBhcmUnXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByb2NlZWQgdXBsb2FkIHVzaW5nIHRoZSBzZWxlY3RlZCB1cGxvYWQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gdXNlQmF0Y2hVcGxvYWQgLSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gdXNlIGJhdGNoIHVwbG9hZFxuICAgKi9cbiAgcHVibGljIHByb2NlZWRXaXRoU2VsZWN0ZWRUYXJnZXQodXNlQmF0Y2hVcGxvYWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0YXJ0VXBsb2FkKHRoaXMuc2VsZWN0ZWRVcGxvYWRUYXJnZXQsIFt1c2VCYXRjaFVwbG9hZCwgJy9wcmVwYXJlJ10pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2VsZWN0ZWQgdXBsb2FkIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyByZXNldFNlbGVjdGVkVXBsb2FkVGFyZ2V0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRVcGxvYWRUYXJnZXQgPSBudWxsO1xuICB9XG5cbiAgZ2V0U3RhdGVSb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsO1xuICB9XG5cblxuICBwcml2YXRlIHN1Y2Nlc3NmdWxVcGxvYWQodGFyZ2V0LCB1cGxvYWRUYXJnZXQpIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCB1cGxvYWRUYXJnZXQucmVmZXJlbmNlT2JqZWN0KTtcbiAgICB1cGxvYWRUYXJnZXQub25VcGxvYWRTdWNjZXNzKHRhcmdldCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGFjdHVhbCB1cGxvYWQuXG4gICAqIEBwYXJhbSB1cGxvYWRUYXJnZXQgLSB0YXJnZXQgdG8gdXBsb2FkIHRoZSBmaWxlcyB0b1xuICAgKiBAcGFyYW0gdXNlQmF0Y2hVcGxvYWQgLSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gdXNlIGJhdGNoIHVwbG9hZFxuICAgKi9cbiAgcHJpdmF0ZSBzdGFydFVwbG9hZCh1cGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldCwgWy4uLmFyZ3NdKSB7XG5cbiAgICBjb25zdCBbdXNlQmF0Y2hVcGxvYWQsIHRhcmdldF0gPSBhcmdzO1xuXG4gICAgdGhpcy5pc1VwbG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy51bmJpbmRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnByZXBhcmVTZXJ2aWNlXG4gICAgICAudXBsb2FkVG9UYXJnZXQodXBsb2FkVGFyZ2V0LCB0aGlzLnF1ZXVlLCB1c2VCYXRjaFVwbG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICBpZiAodXBsb2FkVGFyZ2V0LnN1YkZvbGRlciAmJiB1cGxvYWRUYXJnZXQuc3ViRm9sZGVyLmRhdGEuZGF0YSkge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzKSkge1xuICAgICAgICAgICAgICBsZXQgb2JzID0gW107XG4gICAgICAgICAgICAgIHJlcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgICAgICAgICAgIG9icy5wdXNoKHRoaXMucHJlcGFyZVNlcnZpY2UudXBkYXRlUHJlcGFyZWRJdGVtSW5kZXhEYXRhKHIuaWQsIHVwbG9hZFRhcmdldC5zdWJGb2xkZXIuZGF0YS5kYXRhKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBvYnNlcnZhYmxlRm9ya0pvaW4ob2JzKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdWNjZXNzZnVsVXBsb2FkKHRhcmdldCwgdXBsb2FkVGFyZ2V0KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnByZXBhcmVTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLnVwZGF0ZVByZXBhcmVkSXRlbUluZGV4RGF0YShyZXMuaWQsIHVwbG9hZFRhcmdldC5zdWJGb2xkZXIuZGF0YS5kYXRhKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdWNjZXNzZnVsVXBsb2FkKHRhcmdldCwgdXBsb2FkVGFyZ2V0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3VjY2Vzc2Z1bFVwbG9hZCh0YXJnZXQsIHVwbG9hZFRhcmdldCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSwgVXRpbHMudGhyb3coKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB1cGxvYWRUYXJnZXQub25VcGxvYWRGYWlsKCk7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9LFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby51cGxvYWQuZ2xvYmFsLmVycm9yLnRpdGxlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IuZGVzY3JpcHRpb24nKSlcbiAgICAgICk7XG4gICAgdGhpcy5yZXNldFNlbGVjdGVkVXBsb2FkVGFyZ2V0KCk7XG4gIH1cblxuICBwcml2YXRlIHNldFF1ZXVlU2l6ZSgpIHtcbiAgICBsZXQgcyA9IDA7XG4gICAgZm9yIChsZXQgZiBvZiB0aGlzLnF1ZXVlKSB7XG4gICAgICBzICs9IGYuc2l6ZTtcbiAgICB9XG4gICAgdGhpcy5xdWV1ZVNpemUgPSBzO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB1cGxvYWQgb3ZlcmxheSBhbmQgcmVsZWFzZSBhbGwgYm91bmQgcmVzb3VyY2VzLlxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgLy8gdW5iaW5kIGJvdW5kIGV2ZW50IGxpc3RlbmVyLCB3aGVuIHRoZXkgYXJlIG5vdCBuZWVkZWQgYW55bW9yZVxuICAgIHRoaXMudW5iaW5kTGlzdGVuZXJzKCk7XG4gICAgLy8gY2xlYXIgdXBsb2FkIHF1ZXVlXG4gICAgdGhpcy5xdWV1ZSA9IFtdO1xuICAgIC8vIGhpZGUgdGhlIG92ZXJsYXlcbiAgICB0aGlzLnNldEZpbGVPdmVyKGZhbHNlKTtcbiAgICB0aGlzLmludmFsaWRJbnB1dCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWxlT3Zlcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlsZU92ZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnNldE92ZXJsYXlBY3RpdmUodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmJpbmRMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMuZHJhZ0xlYXZlTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuZHJhZ0xlYXZlTGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZHJhZ0xlYXZlTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5kcmFnT3Zlckxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmRyYWdPdmVyTGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZHJhZ092ZXJMaXN0ZW5lciA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLmRyb3BMaXN0ZW5lcikge1xuICAgICAgdGhpcy5kcm9wTGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZHJvcExpc3RlbmVyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZXNjS2V5TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuZXNjS2V5TGlzdGVuZXIoKTtcbiAgICAgIHRoaXMuZXNjS2V5TGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGN1cnJlbnQgZHJhZyBldmVudCBjb250YWlucyBvbmUgb3IgbW9yZSBmaWxlcy5cbiAgICogQHBhcmFtIGV2ZW50IC0gdGhlIGRyYWcgZXZlbnQgdG8gYmUgY2hlY2tlZFxuICAgKiBAcmV0dXJucyBudW1iZXIgb2YgZmlsZXNcbiAgICovXG4gICBwcml2YXRlIGRyYWdDb250YWluc0ZpbGVzKGV2ZW50OiBEcmFnRXZlbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5pdGVtcyB8fCBbXSkuZmlsdGVyKGkgPT4gaS5raW5kID09PSAnZmlsZScpLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGN1cnJlbnQgcGFzdGUgZXZlbnQgY29udGFpbnMgb25lIG9yIG1vcmUgZmlsZXMuXG4gICAqIEBwYXJhbSBldmVudCAtIHRoZSBwYXN0ZSBldmVudCB0byBiZSBjaGVja2VkXG4gICAqIEByZXR1cm5zIG51bWJlciBvZiBmaWxlc1xuICAgKi9cbiAgcHJpdmF0ZSBwYXN0ZUNvbnRhaW5zRmlsZXMoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShldmVudC5jbGlwYm9hcmREYXRhLml0ZW1zIHx8IFtdKS5maWx0ZXIoaSA9PiBpLmtpbmQgPT09ICdmaWxlJykubGVuZ3RoO1xuICB9XG5cbiAgLy8gbmdGb3IgdHJhY2tpbmcgZnVuY3Rpb24gZm9yIHVwbG9hZCB0YXJnZXRzXG4gIHRhcmdldFRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9XG5cbiAgLy8gbmdGb3IgdHJhY2tpbmcgZnVuY3Rpb24gZm9yIGZpbGUgaXRlbXNcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5kcmFnRW50ZXJMaXN0ZW5lcikge1xuICAgICAgdGhpcy5kcmFnRW50ZXJMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -252,6 +252,20 @@ export class AppSearchService {
|
|
|
252
252
|
this.querySource.next(this.query);
|
|
253
253
|
this.aggregate(filter.property);
|
|
254
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Toggles created filters and aggregates them together.
|
|
257
|
+
* @param filters - the filters to be toggled
|
|
258
|
+
*/
|
|
259
|
+
toggleQueryFilters(filters, override) {
|
|
260
|
+
let baseParam = '';
|
|
261
|
+
filters.forEach(filter => {
|
|
262
|
+
this.query.toggleFilter(filter, override);
|
|
263
|
+
this.query.__updateCause = SearchQuery.UPDATE_CAUSE.TOGGLED_FILTER;
|
|
264
|
+
baseParam += filter.property + ' ';
|
|
265
|
+
});
|
|
266
|
+
this.querySource.next(this.query);
|
|
267
|
+
this.aggregate(baseParam.trim());
|
|
268
|
+
}
|
|
255
269
|
/**
|
|
256
270
|
* Adds a filter to the query.
|
|
257
271
|
* @param filter - the filter to be added
|
|
@@ -371,4 +385,4 @@ AppSearchService.ctorParameters = () => [
|
|
|
371
385
|
{ type: EventService },
|
|
372
386
|
{ type: SystemService }
|
|
373
387
|
];
|
|
374
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmstY29yZS9zZWFyY2gvYXBwLXNlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLElBQUksY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ1MsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQ3pDLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFDM0QsTUFBTSxjQUFjLENBQUM7QUFFdEI7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUEyQjNCLFlBQW9CLGFBQTRCLEVBQ3RDLFlBQTBCLEVBQzFCLE1BQXFCO1FBRlgsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQTNCdkIsVUFBSyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFLdkMseUVBQXlFO1FBQ3pFLHFKQUFxSjtRQUNySixvR0FBb0c7UUFDNUYsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBYyxDQUFDLENBQUMsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBYyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0UseUZBQXlGO1FBQ3pGLDZGQUE2RjtRQUM3Rix1QkFBdUI7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OztPQUVHO0lBQ0ksY0FBYyxDQUFDLFNBQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMEJBQTBCLENBQUMsZUFBdUI7UUFDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsSUFBSSxLQUFLLENBQUM7UUFDVixPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDNUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLENBQUM7WUFDMUYsQ0FBQyxFQUFFLENBQUM7U0FDTDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBblpGLFVBQVU7OztZQVJHLGFBQWE7WUFBRSxZQUFZO1lBREMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnJvbSBhcyBvYnNlcnZhYmxlRnJvbSwgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Z3JvdXBCeSwgcmVkdWNlLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNlYXJjaEZpbHRlciwgU2VhcmNoUXVlcnksIFNlYXJjaFN0YXRlLCBTeXN0ZW1TZXJ2aWNlLFxuICBPYmplY3RUeXBlLCBTZWFyY2hTZXJ2aWNlLCBFdmVudFNlcnZpY2UsIEVuYWlvRXZlbnQsIFV0aWxzLCBRdWVyeVNjb3BlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbi8qKlxuICogQXBwU2VhcmNoU2VydmljZSBpcyB0aGUgYXBwcyBtYWluIGVudHJ5IHBvaW50IGZvciBzZWFyY2hpbmcgKHVzZWQgYnkgdGhlIGFwcEJhclNlYXJjaCBjb21wb25lbnQpLlxuICogSXQgcHJvdmlkZXMgYW4gYHF1ZXJ5JGAgb2JzZXJ2YWJsZSBjb21wb25lbnRzIGNhbiBzdWJzY3JpYmUgdG8sIHRvXG4gKiBzdGF5IGluIHRvdWNoIHdpdGggdXBkYXRlcyB0byB0aGUgcXVlcnkuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBTZWFyY2hTZXJ2aWNlIHtcblxuICBwcml2YXRlIHF1ZXJ5ID0gbmV3IFNlYXJjaFF1ZXJ5KCk7XG4gIHByaXZhdGUgYWdnczogYW55O1xuICBwcml2YXRlIGxhc3RRdWVyeSA9IG5ldyBTZWFyY2hRdWVyeSgpO1xuICBwcml2YXRlIHF1ZXJ5U3RhdGUgPSBuZXcgU2VhcmNoU3RhdGUoKTtcbiAgLy8gSG9sZHMgdGhlIGxhc3QgYWdncmVnYXRpb24gcHJvcGVydGllcyBzZW50IHRvIHRoZSBzZXJ2ZXJcbiAgLy8gVXNlZCBmb3IgcHJldmVudGluZyByZWR1bmRhbnQgY2FsbHNcbiAgcHJpdmF0ZSBsYXN0QWdnQ2FsbENvbXBhcmF0b3I6IHN0cmluZztcblxuICAvLyBTdWJqZWN0IGhvbGRpbmcgdGhlIGN1cnJlbnQgcXVlcnkgKGluaXRpYWwgdmFsdWUgaXMgYSBuZXcgU2VhcmNoUXVlcnkpXG4gIC8vIEBzZWU6IGh0dHA6Ly9ibG9nLmFuZ3VsYXItdW5pdmVyc2l0eS5pby9ob3ctdG8tYnVpbGQtYW5ndWxhcjItYXBwcy11c2luZy1yeGpzLW9ic2VydmFibGUtZGF0YS1zZXJ2aWNlcy1waXRmYWxscy10by1hdm9pZC8jcnhqc3N1YmplY3RhbmRob3d0b3VzZWl0XG4gIC8vIHRvZG86IG1heWJlIGFkZCBzdXBwb3J0IGZvciBob2xkaW5nIGEgcXVlcnkgaGlzdG9yeSwgc28gdGhlIHVzZXIgY2FuIHJlbG9hZCBvbGRlciBxdWVyaWVzIGFzIHdlbGxcbiAgcHJpdmF0ZSBxdWVyeVNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFNlYXJjaFF1ZXJ5PigxKTtcbiAgcHJpdmF0ZSBxdWVyeVN0YXRlU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hTdGF0ZT4odGhpcy5xdWVyeVN0YXRlKTtcblxuICAvLyBFeHBvc2UgYW4gb2JzZXJ2YWJsZSBpbnN0ZWFkIG9mIHRoZSBzdWJqZWN0IGl0c2VsZiB0byBwcmV2ZW50IHRoZSBzZXJ2aWNlIGNsaWVudHMgZnJvbVxuICAvLyB0aGVtc2VsdmVzIGVtaXR0aW5nIHN0b3JlIHZhbHVlcyBkaXJlY3RseSBpbnN0ZWFkIG9mIGNhbGxpbmcgYWN0aW9uIG1ldGhvZHMsIGFuZCB0aGVyZWZvcmVcbiAgLy8gYnlwYXNzaW5nIHRoZSBzdG9yZS5cbiAgcHVibGljIHF1ZXJ5JDogT2JzZXJ2YWJsZTxTZWFyY2hRdWVyeT4gPSB0aGlzLnF1ZXJ5U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAvLyBTZWFyY2ggc2VydmljZSBhbHNvIGV4cG9zZXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBxdWVyeS5cbiAgLy8gV2Ugc2VwYXJhdGUgdGhlIHN0YXRlIG9mIHRoZSBxdWVyeSBmcm9tIHRoZSBxdWVyeSBpdHNlbGYgYXMgb3RoZXJ3aXNlIGNoYW5naGluZyB0aGUgcXVlcmllc1xuICAvLyBzdGF0ZSB3aWxsIHRyaWdnZXIgYWxsIHN1YnNjcmliZXJzIG9mIHRoZSBxdWVyeSBvYnNlcnZhbGUgYW5kIGxlYWQgdG8gdW5kZXNpcmVkIGJlaGF2aW91clxuICBwdWJsaWMgcXVlcnlTdGF0ZSQ6IE9ic2VydmFibGU8U2VhcmNoU3RhdGU+ID0gdGhpcy5xdWVyeVN0YXRlU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgb2JqZWN0VHlwZUdyb3VwcyA9IFtdO1xuICBwdWJsaWMgdHlwZXNBbGxvd2VkVW5kZXJTeXNyb290ID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UpIHtcblxuICAgIHRoaXMuc2V0RGVmYXVsdEFnZ3MoKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5vbihFbmFpb0V2ZW50LkxPR09VVClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5yZXNldCh0cnVlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuXG4gICAgLy8gRmV0Y2ggb2JqZWN0IHR5cGVzIGFuZCBncm91cHMgdGhhdCBzZXJ2ZSBhcyBzZWFyY2ggZmlsdGVyIHBhcmFtcy5cbiAgICAvLyBUaGVzZSBncm91cHMgYXJlIHByb3ZpZGVkIHRocm91Z2ggdGhlIHNlcnZpY2VzIGBvYmplY3RUeXBlR3JvdXBzYCBwcm9wZXJ0eS5cbiAgICB0aGlzLnN5c3RlbS5zeXN0ZW0kLnN1YnNjcmliZSgoc3lzdGVtRGVmaW5pdGlvbikgPT4ge1xuXG4gICAgICB0aGlzLnR5cGVzQWxsb3dlZFVuZGVyU3lzcm9vdCA9IHN5c3RlbURlZmluaXRpb24udHlwZXMuZmlsdGVyKHR5cGUgPT4gdHlwZS5wYXJlbnR0eXBlcy5pbmNsdWRlcygnc3lzcm9vdCcpKTtcblxuICAgICAgbGV0IGdyb3VwcyA9IFtdO1xuICAgICAgb2JzZXJ2YWJsZUZyb20oc3lzdGVtRGVmaW5pdGlvbi50eXBlcylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZ3JvdXBCeSgodHlwZTogYW55KSA9PiB0eXBlLmdyb3VwIHx8ICcwJyksXG4gICAgICAgICAgbWVyZ2VNYXAoZyA9PiBnLnBpcGUocmVkdWNlKChhY2MsIGN1cnIpID0+IFsuLi5hY2MsIGN1cnJdLCBbXSkpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUob3RnID0+IHtcbiAgICAgICAgICBncm91cHMucHVzaCh7XG4gICAgICAgICAgICBsYWJlbDogb3RnWzBdLmdyb3VwIHx8ICcwJyxcbiAgICAgICAgICAgIHR5cGVzOiB0aGlzLnNvcnRPYmplY3RUeXBlR3JvdXAob3RnKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMub2JqZWN0VHlwZUdyb3VwcyA9IGdyb3Vwcy5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRBZ2dzKCkge1xuICAgIHRoaXMuc2V0RGVmYXVsdEFnZ3MoKTtcbiAgICB0aGlzLmxhc3RBZ2dDYWxsQ29tcGFyYXRvciA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRBZ2dzKCkge1xuICAgIHRoaXMuYWdncyA9IHtcbiAgICAgIHR5cGU6IHt9XG4gICAgfTtcbiAgfVxuXG4gIC8vIGhlbHBlciBtZXRob2QgZm9yIHNvcnRpbmcgdGhlIGVudHJpZXMgb2YgYW4gb2JqZWN0IHR5cGUgZ3JvdXBcbiAgcHJpdmF0ZSBzb3J0T2JqZWN0VHlwZUdyb3VwKHR5cGVzKSB7XG4gICAgcmV0dXJuIHR5cGVzLnNvcnQoKGEsIGIpID0+IHtcblxuICAgICAgaWYgKGEuaXNDb250ZXh0Rm9sZGVyICYmICFiLmlzQ29udGV4dEZvbGRlcikge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBpZiAoIWEuaXNDb250ZXh0Rm9sZGVyICYmIGIuaXNDb250ZXh0Rm9sZGVyKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgaWYgKGEuaXNGb2xkZXIgJiYgIWIuaXNGb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKCFhLmlzRm9sZGVyICYmIGIuaXNGb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBpZiAoYS5pc0ZvbGRlciAmJiBiLmlzRm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpLmNhbGwodGhpcywgYSwgYik7XG4gICAgICB9XG4gICAgICByZXR1cm4gVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKS5jYWxsKHRoaXMsIGEsIGIpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gRXh0ZW5kcyB0aGUgb2JqZWN0VHlwZXNHcm91cHMgYnkgdGhlIGVsZW1lbnRzIGZvciBlYWNoIG9iamVjdCB0eXBlXG4gIC8vIFVzZWQgaW4gZXhwZXJ0IHNlYXJjaCBtb2RlXG4gIHB1YmxpYyBidWlsZFR5cGVHcm91cFRyZWUoKSB7XG5cbiAgICBsZXQgZ1RyZWUgPSBbXTtcbiAgICBsZXQgaSA9IDA7XG4gICAgZm9yIChsZXQgZ3JvdXAgb2YgdGhpcy5vYmplY3RUeXBlR3JvdXBzKSB7XG4gICAgICBsZXQgZyA9IHtcbiAgICAgICAgaWQ6IGkrKyxcbiAgICAgICAgbGFiZWw6IGdyb3VwLmxhYmVsLFxuICAgICAgICB0cmVlOiBbXVxuICAgICAgfTtcbiAgICAgIGxldCB0eXBlcyA9IFtdO1xuICAgICAgZm9yIChsZXQgb2JqZWN0VHlwZSBvZiBncm91cC50eXBlcykge1xuXG4gICAgICAgIGxldCB0ID0ge1xuICAgICAgICAgIGlkOiBvYmplY3RUeXBlLmlkLFxuICAgICAgICAgIGxhYmVsOiBvYmplY3RUeXBlLmxhYmVsLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICB9O1xuICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWwgb2Ygb2JqZWN0VHlwZS5lbGVtZW50cykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goe1xuICAgICAgICAgICAgbGFiZWw6IGVsLmxhYmVsLFxuICAgICAgICAgICAgdHlwZTogZWwudHlwZSxcbiAgICAgICAgICAgIGRhdGE6IGVsLnFuYW1lXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc29ydCBieSBsYWJlbFxuICAgICAgICB0LmNoaWxkcmVuID0gY2hpbGRyZW4uc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICAgICAgdHlwZXMucHVzaCh0KTtcbiAgICAgIH1cbiAgICAgIGcudHJlZSA9IHR5cGVzLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSk7XG5cblxuICAgICAgZ1RyZWUucHVzaChnKTtcbiAgICB9XG4gICAgcmV0dXJuIGdUcmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBjdXJyZW50IHF1ZXJ5IGJ5IGEgZGlmZmVyZW50IG9uZS5cbiAgICogVGhpcyBjb3VsZCBiZSBkb25lIGJ5IGZvciBleGFtcGxlIGxvYWRpbmcgYSBzdG9yZWQgcXVlcnkuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeSAtIHRoZSBxdWVyeSB0aGF0IHNob3VsZCByZXBsYWNlIHRoZSBjdXJyZW50IHF1ZXJ5LCB0aGlzIG1heSBiZSBlaXRoZXIgYSBTZWFyY2hRdWVyeSBpbnN0YW5jZSxcbiAgICogYSBKU09OIHN0cmluZyBvZiBhbiBvYmplY3QgbWF0Y2hpbmcgdGhlIHNlYXJjaCBhcGlcbiAgICovXG4gIHB1YmxpYyBzZXRRdWVyeShxdWVyeTogU2VhcmNoUXVlcnkpIHtcbiAgICBpZiAodGhpcy5pc05ld1F1ZXJ5KHF1ZXJ5KSkge1xuICAgICAgdGhpcy5zZXREZWZhdWx0QWdncygpO1xuICAgICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICAgICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGN1cnJlbnQgcXVlcnkuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJRdWVyeSgpIHtcbiAgICB0aGlzLnNldFF1ZXJ5KG5ldyBTZWFyY2hRdWVyeSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOZXdRdWVyeShxdWVyeTogU2VhcmNoUXVlcnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocXVlcnkuZ2V0UXVlcnlKc29uKCkpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnF1ZXJ5LmdldFF1ZXJ5SnNvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0b2dnbGVzIHRoZSBzZWFyY2htb2RlIGZyb20gcmVndWxhciBzZWFyY2ggdG8gZXhwZXJ0IHNlYXJjaCBhbmQgdmljZSB2ZXJzYVxuICAgKi9cbiAgcHVibGljIHRvZ2dsZUV4cGVydE1vZGUoKSB7XG4gICAgaWYgKCF0aGlzLnF1ZXJ5LmV4cGVydE1vZGUpIHtcbiAgICAgIHRoaXMubGFzdFF1ZXJ5ID0gdGhpcy5xdWVyeTtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdEFnZ3MoKTtcbiAgICAgIHRoaXMucXVlcnkgPSBuZXcgU2VhcmNoUXVlcnkoKTtcbiAgICAgIHRoaXMucXVlcnkuZXhwZXJ0TW9kZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnkgPSB0aGlzLmxhc3RRdWVyeTtcbiAgICB9XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLlRPR0dMRURfRVhQRVJUTU9ERTtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoKTtcblxuICB9XG5cbiAgcHVibGljIHNldFRlcm0odGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5xdWVyeS50ZXJtID0gdGVybTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuVEVSTV9TRVQ7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnlTY29wZShzY29wZTogUXVlcnlTY29wZSkge1xuICAgIHRoaXMucXVlcnkuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoKTtcbiAgfVxuXG4gIC8vIHNldCBhZ2dyZWdhdGlvbiBwcm9wZXJ0aWVzIHRvIGJlIGFwcGxpZWQgdG8gT05MWSBhZ2dyZWdhdGUgc2VhcmNoIHF1ZXJpZXNcbiAgcHVibGljIHNldEFnZ3MoYWdnczogYW55LCBleHRlbmQgPSBmYWxzZSkge1xuICAgIHRoaXMuYWdncyA9IGV4dGVuZCA/IHsuLi50aGlzLmFnZ3MsIC4uLmFnZ3N9IDogYWdncztcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIGEgdHlwZSBmaWx0ZXIuXG4gICAqIEBwYXJhbSB0eXBlIC0gb2JqZWN0IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0b2dnbGVRdWVyeVR5cGUodHlwZTogT2JqZWN0VHlwZSkge1xuICAgIHRoaXMucXVlcnkudG9nZ2xlVHlwZSh0eXBlKTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuVE9HR0xFRF9UWVBFO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICB0aGlzLmFnZ3JlZ2F0ZShTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5UWVBFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBxdWVyaWVzIHRhcmdldCB0eXBlcy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGVzIC0gYXJyYXkgb2YgT2JqZWN0VHlwZXNcbiAgICogQHBhcmFtIHNpbGVudCBJZiBzZXQgdG8gdHJ1ZSBhZ2dyZWdhdGUgd29uJ3QgYmUgY2FsbGVkXG4gICAqL1xuICBwdWJsaWMgc2V0UXVlcnlUeXBlcyh0eXBlczogT2JqZWN0VHlwZVtdLCBzaWxlbnQ/OiBib29sZWFuKSB7XG4gICAgdGhpcy5xdWVyeS50eXBlcyA9IHR5cGVzO1xuICAgIHRoaXMuYWdncyA9IHtcbiAgICAgIHR5cGU6IHtcbiAgICAgICAgc3ViOiB7XG4gICAgICAgICAgY29udGV4dGZvbGRlcnR5cGU6IHt9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMucXVlcnkuX191cGRhdGVDYXVzZSA9IFNlYXJjaFF1ZXJ5LlVQREFURV9DQVVTRS5UWVBFU19TRVQ7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIGlmICghc2lsZW50KSB7XG4gICAgICB0aGlzLmFnZ3JlZ2F0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBxdWVyaWVzIHRhcmdldCBjb250ZXh0IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBjb250ZXh0IHR5cGUgdG8gYmUgc2V0IG9yIG51bGwgZm9yIHJlc2V0dGluZ1xuICAgKiBAcGFyYW0gc2lsZW50IElmIHNldCB0byB0cnVlIGFnZ3JlZ2F0ZSB3b24ndCBiZSBjYWxsZWRcbiAgICovXG4gIHB1YmxpYyBzZXRDb250ZXh0VHlwZSh0eXBlOiBPYmplY3RUeXBlLCBzaWxlbnQ/OiBib29sZWFuKSB7XG5cbiAgICBpZiAodGhpcy5xdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXMubGVuZ3RoICYmICF0eXBlKSB7XG4gICAgICAvLyBjbGVhciBjb250ZXh0IGZvbGRlclxuICAgICAgdGhpcy5lbWl0TmV3Q29udGV4dEZvbGRlclR5cGUobnVsbCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlcy5sZW5ndGggJiYgdHlwZS5uYW1lICE9PSB0aGlzLnF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlc1swXS5uYW1lKSB7XG4gICAgICAvLyBnb3QgYSB0eXBlIHRvIGJlIHNldCB1cCB0aGF0IGRpZmZlcnMgZnJvbSB0aGUgY3VycmVudCBvbmVcbiAgICAgIHRoaXMuZW1pdE5ld0NvbnRleHRGb2xkZXJUeXBlKHR5cGUpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMucXVlcnkuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCkge1xuICAgICAgLy8gbm90aGluZyBzZXQgdXAgc28gZmFyXG4gICAgICB0aGlzLmVtaXROZXdDb250ZXh0Rm9sZGVyVHlwZSh0eXBlKTtcbiAgICB9XG4gICAgLy8gdHJ5aW5nIHRvIHNldHVwIHRoZSBzYW1lIHR5cGUgYXMgdGhlIGN1cnJlbnQgb24gc2hvdWxkIG5vdCBlbWl0IGEgbmV3IHZhbHVlXG4gIH1cblxuICBwcml2YXRlIGVtaXROZXdDb250ZXh0Rm9sZGVyVHlwZSh0eXBlLCBzaWxlbnQ/OiBib29sZWFuKSB7XG4gICAgaWYgKCF0eXBlICYmIHRoaXMucXVlcnkuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFnZ3MgPSB7XG4gICAgICB0eXBlOiB7XG4gICAgICAgIHN1Yjoge1xuICAgICAgICAgIGNvbnRleHRmb2xkZXJ0eXBlOiB7fVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlcyA9IHR5cGUgPyBbdHlwZV0gOiBbXTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuQ09OVEVYVF9GT0xERVJfU0VUO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgdGhpcy5hZ2dyZWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBhIGNyZWF0ZWQgZmlsdGVyLlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gdGhlIGZpbHRlciB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlUXVlcnlGaWx0ZXIoZmlsdGVyOiBTZWFyY2hGaWx0ZXIsIG92ZXJyaWRlPzogYm9vbGVhbikge1xuICAgIHRoaXMucXVlcnkudG9nZ2xlRmlsdGVyKGZpbHRlciwgb3ZlcnJpZGUpO1xuICAgIHRoaXMucXVlcnkuX191cGRhdGVDYXVzZSA9IFNlYXJjaFF1ZXJ5LlVQREFURV9DQVVTRS5UT0dHTEVEX0ZJTFRFUjtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoZmlsdGVyLnByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZmlsdGVyIHRvIHRoZSBxdWVyeS5cbiAgICogQHBhcmFtIGZpbHRlciAtIHRoZSBmaWx0ZXIgdG8gYmUgYWRkZWRcbiAgICovXG4gIHB1YmxpYyBhZGRRdWVyeUZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIHRoaXMucXVlcnkuYWRkRmlsdGVyKGZpbHRlcik7XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLkFEREVEX0ZJTFRFUjtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoZmlsdGVyLnByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgZmlsdGVyIHRvIHRoZSBxdWVyeS5cbiAgICogQHBhcmFtIGZpbHRlciAtIHRoZSBmaWx0ZXIgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZVF1ZXJ5RmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyKSB7XG4gICAgdGhpcy5xdWVyeS5yZW1vdmVGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuUkVNT1ZFRF9GSUxURVI7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKGZpbHRlci5wcm9wZXJ0eSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZmlsdGVycyBmb3IgYW4gaW5kZXhkYXRhIHNlYXJjaC5cbiAgICogU2V0dGluZyB0aGVtIHdpbGwgYWxzbyByZW1vdmUgYWxsIGluZGV4ZGF0YSBmaWx0ZXJzIHNldCBiZWZvcmUuXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXJzIC0gdGhlIGZpbHRlcnMgdG8gYmUgc2V0XG4gICAqIEBwYXJhbSBzaWxlbnQgSWYgc2V0IHRvIHRydWUgYWdncmVnYXRlIHdvbid0IGJlIGNhbGxlZFxuICAgKi9cbiAgcHVibGljIHNldEluZGV4U2VhcmNoUXVlcnlGaWx0ZXJzKGZpbHRlcnM6IFNlYXJjaEZpbHRlcltdLCBzaWxlbnQ/OiBib29sZWFuKSB7XG5cbiAgICAvLyByZW1vdmUgcHJldmlvdXMgZmlsdGVycyAoYWxsIGZpbHRlcnMgdGhhdCBhcmUgbm90IGJhc2VwYXJhbSBmaWx0ZXJzKVxuICAgIHRoaXMucXVlcnkuZmlsdGVycyA9IHRoaXMucXVlcnkuZmlsdGVycy5maWx0ZXIoKGYpID0+IHRoaXMuaXNCYXNlUGFyYW1GaWx0ZXIoZikpO1xuICAgIGZvciAobGV0IGYgb2YgZmlsdGVycykge1xuICAgICAgdGhpcy5xdWVyeS5hZGRGaWx0ZXIoZik7XG4gICAgfVxuICAgIGlmICghc2lsZW50KSB7XG4gICAgICB0aGlzLmFnZ3JlZ2F0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbmRleFNlYXJjaFF1ZXJ5RmlsdGVycyhxdWVyeT86IFNlYXJjaFF1ZXJ5KTogU2VhcmNoRmlsdGVyW10ge1xuICAgIGxldCBxID0gcXVlcnkgfHwgdGhpcy5xdWVyeTtcbiAgICByZXR1cm4gcS5maWx0ZXJzLmZpbHRlcigoZikgPT4gIXRoaXMuaXNCYXNlUGFyYW1GaWx0ZXIoZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgdGhlIHByb3ZpZGVkIHNlYXJjaCBmaWx0ZXIgYmVsb25ncyB0byBhIGJhc2UgcGFyYW0uXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgLSB0aGUgZmlsdGVyIHRvIGJlIGNoZWNrZWRcbiAgICovXG4gIHB1YmxpYyBpc0Jhc2VQYXJhbUZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcik6IGJvb2xlYW4ge1xuICAgIC8vcmV0dXJuIE9iamVjdC52YWx1ZXMoU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMpLnNvbWUoKGJwKSA9PiBmaWx0ZXIucHJvcGVydHkgPT09IGJwKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMpLnNvbWUoKGJwS2V5KSA9PiBmaWx0ZXIucHJvcGVydHkgPT09IFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TW2JwS2V5XSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGN1cnJlbnQgcXVlcnkgYXMgYWdncmVnYXRlIHNlYXJjaFxuICAgKi9cbiAgcHVibGljIGFnZ3JlZ2F0ZShiYXNlUGFyYW0gPSAnJykge1xuXG4gICAgY29uc3QgYWdnUXVlcnkgPSB7YWdnczogdGhpcy5hZ2dzLCAuLi50aGlzLnF1ZXJ5LmdldFF1ZXJ5SnNvbigpfTtcbiAgICAvLyBjb21wYXJlIHRoZSBjYWxsIHRvIGJlIG1hZGUgd2l0aCBhIGZvcm1lciByZXF1ZXN0XG4gICAgaWYgKHRoaXMubGFzdEFnZ0NhbGxDb21wYXJhdG9yICE9PSBKU09OLnN0cmluZ2lmeShhZ2dRdWVyeSkpIHtcbiAgICAgIHRoaXMubGFzdEFnZ0NhbGxDb21wYXJhdG9yID0gSlNPTi5zdHJpbmdpZnkoYWdnUXVlcnkpO1xuICAgICAgdGhpcy5nZXRTZWFyY2hTdGF0ZShhZ2dRdWVyeSlcbiAgICAgICAgLnN1YnNjcmliZSgocXVlcnlTdGF0ZTogU2VhcmNoU3RhdGUpID0+IHtcbiAgICAgICAgICBxdWVyeVN0YXRlLmxhc3RDaGFuZ2UgPSBiYXNlUGFyYW07XG4gICAgICAgICAgdGhpcy5xdWVyeVN0YXRlID0gcXVlcnlTdGF0ZTtcbiAgICAgICAgICB0aGlzLnF1ZXJ5U3RhdGVTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5U3RhdGUpO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgcmVzZXQoc2lsZW50PzogYm9vbGVhbikge1xuICAgIHRoaXMucXVlcnkgPSBuZXcgU2VhcmNoUXVlcnkoKTtcbiAgICB0aGlzLnNldERlZmF1bHRBZ2dzKCk7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIGlmICghc2lsZW50KSB7XG4gICAgICB0aGlzLmFnZ3JlZ2F0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGV4aXRJbmRleGRhdGFTZWFyY2goKSB7XG4gICAgdGhpcy5zZXRJbmRleFNlYXJjaFF1ZXJ5RmlsdGVycyhbXSwgdHJ1ZSk7XG4gICAgdGhpcy5zZXRRdWVyeVR5cGVzKFtdLCB0cnVlKTtcbiAgICB0aGlzLnNldENvbnRleHRUeXBlKG51bGwsIHRydWUpO1xuICAgIHRoaXMuYWdncmVnYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGN1cnJlbnQgcXVlcnkgYXMgYWdncmVnYXRlIHNlYXJjaFxuICAgKi9cbiAgcHVibGljIGdldFNlYXJjaFN0YXRlKHF1ZXJ5SnNvbjogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5nZXRTZWFyY2hTdGF0ZShxdWVyeUpzb24pO1xuICB9XG5cbiAgcHVibGljIGF1dG9jb21wbGV0ZSh0ZXJtOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLmF1dG9jb21wbGV0ZSh0ZXJtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgb2JqZWN0IHR5cGUgZWxlbWVudCBpbnNpZGUgb2YgdGhlIHF1ZXJpZXMgdGFyZ2V0IHR5cGVzXG4gICAqIGZvciBhIGZvcm0gZWxlbWVudHMgbmFtZS4gVXNlZCBlLmcuIGZvciB0aGUgc2VhcmNoIHN1bW1hcnkgcGFuZWwuXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtRWxlbWVudE5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50XG4gICAqIEByZXR1cm4gdGhlIG9iamVjdCB0eXBlIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIGZvcm0gZWxlbWVudHMgbmFtZVxuICAgKi9cbiAgcHVibGljIGdldFRhcmdldFR5cGVFbGVtZW50QnlOYW1lKGZvcm1FbGVtZW50TmFtZTogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IG1hdGNoO1xuICAgIHdoaWxlICghbWF0Y2ggJiYgaSA8IHRoaXMucXVlcnkudHlwZXMubGVuZ3RoKSB7XG4gICAgICBtYXRjaCA9IHRoaXMucXVlcnkudHlwZXNbaV0uZWxlbWVudHMuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5xbmFtZSA9PT0gZm9ybUVsZW1lbnROYW1lKTtcbiAgICAgIGkrKztcbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoO1xuICB9XG59XG4iXX0=
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmstY29yZS9zZWFyY2gvYXBwLXNlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLElBQUksY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ1MsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQ3pDLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFDM0QsTUFBTSxjQUFjLENBQUM7QUFFdEI7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUEyQjNCLFlBQW9CLGFBQTRCLEVBQ3RDLFlBQTBCLEVBQzFCLE1BQXFCO1FBRlgsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQTNCdkIsVUFBSyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFLdkMseUVBQXlFO1FBQ3pFLHFKQUFxSjtRQUNySixvR0FBb0c7UUFDNUYsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBYyxDQUFDLENBQUMsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBYyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0UseUZBQXlGO1FBQ3pGLDZGQUE2RjtRQUM3Rix1QkFBdUI7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S0FBSyxLQUFLLGVBQWUsQ0FBQyxDQUFDO1lBQzFGLENBQUMsRUFBRSxDQUFDO1NBQ0w7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQW5hRixVQUFVOzs7WUFSRyxhQUFhO1lBQUUsWUFBWTtZQURDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Zyb20gYXMgb2JzZXJ2YWJsZUZyb20sIEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2dyb3VwQnksIHJlZHVjZSwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTZWFyY2hGaWx0ZXIsIFNlYXJjaFF1ZXJ5LCBTZWFyY2hTdGF0ZSwgU3lzdGVtU2VydmljZSxcbiAgT2JqZWN0VHlwZSwgU2VhcmNoU2VydmljZSwgRXZlbnRTZXJ2aWNlLCBFbmFpb0V2ZW50LCBVdGlscywgUXVlcnlTY29wZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG4vKipcbiAqIEFwcFNlYXJjaFNlcnZpY2UgaXMgdGhlIGFwcHMgbWFpbiBlbnRyeSBwb2ludCBmb3Igc2VhcmNoaW5nICh1c2VkIGJ5IHRoZSBhcHBCYXJTZWFyY2ggY29tcG9uZW50KS5cbiAqIEl0IHByb3ZpZGVzIGFuIGBxdWVyeSRgIG9ic2VydmFibGUgY29tcG9uZW50cyBjYW4gc3Vic2NyaWJlIHRvLCB0b1xuICogc3RheSBpbiB0b3VjaCB3aXRoIHVwZGF0ZXMgdG8gdGhlIHF1ZXJ5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBwU2VhcmNoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBxdWVyeSA9IG5ldyBTZWFyY2hRdWVyeSgpO1xuICBwcml2YXRlIGFnZ3M6IGFueTtcbiAgcHJpdmF0ZSBsYXN0UXVlcnkgPSBuZXcgU2VhcmNoUXVlcnkoKTtcbiAgcHJpdmF0ZSBxdWVyeVN0YXRlID0gbmV3IFNlYXJjaFN0YXRlKCk7XG4gIC8vIEhvbGRzIHRoZSBsYXN0IGFnZ3JlZ2F0aW9uIHByb3BlcnRpZXMgc2VudCB0byB0aGUgc2VydmVyXG4gIC8vIFVzZWQgZm9yIHByZXZlbnRpbmcgcmVkdW5kYW50IGNhbGxzXG4gIHByaXZhdGUgbGFzdEFnZ0NhbGxDb21wYXJhdG9yOiBzdHJpbmc7XG5cbiAgLy8gU3ViamVjdCBob2xkaW5nIHRoZSBjdXJyZW50IHF1ZXJ5IChpbml0aWFsIHZhbHVlIGlzIGEgbmV3IFNlYXJjaFF1ZXJ5KVxuICAvLyBAc2VlOiBodHRwOi8vYmxvZy5hbmd1bGFyLXVuaXZlcnNpdHkuaW8vaG93LXRvLWJ1aWxkLWFuZ3VsYXIyLWFwcHMtdXNpbmctcnhqcy1vYnNlcnZhYmxlLWRhdGEtc2VydmljZXMtcGl0ZmFsbHMtdG8tYXZvaWQvI3J4anNzdWJqZWN0YW5kaG93dG91c2VpdFxuICAvLyB0b2RvOiBtYXliZSBhZGQgc3VwcG9ydCBmb3IgaG9sZGluZyBhIHF1ZXJ5IGhpc3RvcnksIHNvIHRoZSB1c2VyIGNhbiByZWxvYWQgb2xkZXIgcXVlcmllcyBhcyB3ZWxsXG4gIHByaXZhdGUgcXVlcnlTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxTZWFyY2hRdWVyeT4oMSk7XG4gIHByaXZhdGUgcXVlcnlTdGF0ZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoU3RhdGU+KHRoaXMucXVlcnlTdGF0ZSk7XG5cbiAgLy8gRXhwb3NlIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiB0aGUgc3ViamVjdCBpdHNlbGYgdG8gcHJldmVudCB0aGUgc2VydmljZSBjbGllbnRzIGZyb21cbiAgLy8gdGhlbXNlbHZlcyBlbWl0dGluZyBzdG9yZSB2YWx1ZXMgZGlyZWN0bHkgaW5zdGVhZCBvZiBjYWxsaW5nIGFjdGlvbiBtZXRob2RzLCBhbmQgdGhlcmVmb3JlXG4gIC8vIGJ5cGFzc2luZyB0aGUgc3RvcmUuXG4gIHB1YmxpYyBxdWVyeSQ6IE9ic2VydmFibGU8U2VhcmNoUXVlcnk+ID0gdGhpcy5xdWVyeVNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgLy8gU2VhcmNoIHNlcnZpY2UgYWxzbyBleHBvc2VzIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgcXVlcnkuXG4gIC8vIFdlIHNlcGFyYXRlIHRoZSBzdGF0ZSBvZiB0aGUgcXVlcnkgZnJvbSB0aGUgcXVlcnkgaXRzZWxmIGFzIG90aGVyd2lzZSBjaGFuZ2hpbmcgdGhlIHF1ZXJpZXNcbiAgLy8gc3RhdGUgd2lsbCB0cmlnZ2VyIGFsbCBzdWJzY3JpYmVycyBvZiB0aGUgcXVlcnkgb2JzZXJ2YWxlIGFuZCBsZWFkIHRvIHVuZGVzaXJlZCBiZWhhdmlvdXJcbiAgcHVibGljIHF1ZXJ5U3RhdGUkOiBPYnNlcnZhYmxlPFNlYXJjaFN0YXRlPiA9IHRoaXMucXVlcnlTdGF0ZVNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIG9iamVjdFR5cGVHcm91cHMgPSBbXTtcbiAgcHVibGljIHR5cGVzQWxsb3dlZFVuZGVyU3lzcm9vdCA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnNldERlZmF1bHRBZ2dzKCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2Uub24oRW5haW9FdmVudC5MT0dPVVQpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMucmVzZXQodHJ1ZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcblxuICAgIC8vIEZldGNoIG9iamVjdCB0eXBlcyBhbmQgZ3JvdXBzIHRoYXQgc2VydmUgYXMgc2VhcmNoIGZpbHRlciBwYXJhbXMuXG4gICAgLy8gVGhlc2UgZ3JvdXBzIGFyZSBwcm92aWRlZCB0aHJvdWdoIHRoZSBzZXJ2aWNlcyBgb2JqZWN0VHlwZUdyb3Vwc2AgcHJvcGVydHkuXG4gICAgdGhpcy5zeXN0ZW0uc3lzdGVtJC5zdWJzY3JpYmUoKHN5c3RlbURlZmluaXRpb24pID0+IHtcblxuICAgICAgdGhpcy50eXBlc0FsbG93ZWRVbmRlclN5c3Jvb3QgPSBzeXN0ZW1EZWZpbml0aW9uLnR5cGVzLmZpbHRlcih0eXBlID0+IHR5cGUucGFyZW50dHlwZXMuaW5jbHVkZXMoJ3N5c3Jvb3QnKSk7XG5cbiAgICAgIGxldCBncm91cHMgPSBbXTtcbiAgICAgIG9ic2VydmFibGVGcm9tKHN5c3RlbURlZmluaXRpb24udHlwZXMpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGdyb3VwQnkoKHR5cGU6IGFueSkgPT4gdHlwZS5ncm91cCB8fCAnMCcpLFxuICAgICAgICAgIG1lcmdlTWFwKGcgPT4gZy5waXBlKHJlZHVjZSgoYWNjLCBjdXJyKSA9PiBbLi4uYWNjLCBjdXJyXSwgW10pKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKG90ZyA9PiB7XG4gICAgICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICAgICAgbGFiZWw6IG90Z1swXS5ncm91cCB8fCAnMCcsXG4gICAgICAgICAgICB0eXBlczogdGhpcy5zb3J0T2JqZWN0VHlwZUdyb3VwKG90ZylcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm9iamVjdFR5cGVHcm91cHMgPSBncm91cHMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0QWdncygpIHtcbiAgICB0aGlzLnNldERlZmF1bHRBZ2dzKCk7XG4gICAgdGhpcy5sYXN0QWdnQ2FsbENvbXBhcmF0b3IgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZWZhdWx0QWdncygpIHtcbiAgICB0aGlzLmFnZ3MgPSB7XG4gICAgICB0eXBlOiB7fVxuICAgIH07XG4gIH1cblxuICAvLyBoZWxwZXIgbWV0aG9kIGZvciBzb3J0aW5nIHRoZSBlbnRyaWVzIG9mIGFuIG9iamVjdCB0eXBlIGdyb3VwXG4gIHByaXZhdGUgc29ydE9iamVjdFR5cGVHcm91cCh0eXBlcykge1xuICAgIHJldHVybiB0eXBlcy5zb3J0KChhLCBiKSA9PiB7XG5cbiAgICAgIGlmIChhLmlzQ29udGV4dEZvbGRlciAmJiAhYi5pc0NvbnRleHRGb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKCFhLmlzQ29udGV4dEZvbGRlciAmJiBiLmlzQ29udGV4dEZvbGRlcikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmIChhLmlzRm9sZGVyICYmICFiLmlzRm9sZGVyKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGlmICghYS5pc0ZvbGRlciAmJiBiLmlzRm9sZGVyKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgaWYgKGEuaXNGb2xkZXIgJiYgYi5pc0ZvbGRlcikge1xuICAgICAgICByZXR1cm4gVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKS5jYWxsKHRoaXMsIGEsIGIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykuY2FsbCh0aGlzLCBhLCBiKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEV4dGVuZHMgdGhlIG9iamVjdFR5cGVzR3JvdXBzIGJ5IHRoZSBlbGVtZW50cyBmb3IgZWFjaCBvYmplY3QgdHlwZVxuICAvLyBVc2VkIGluIGV4cGVydCBzZWFyY2ggbW9kZVxuICBwdWJsaWMgYnVpbGRUeXBlR3JvdXBUcmVlKCkge1xuXG4gICAgbGV0IGdUcmVlID0gW107XG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAobGV0IGdyb3VwIG9mIHRoaXMub2JqZWN0VHlwZUdyb3Vwcykge1xuICAgICAgbGV0IGcgPSB7XG4gICAgICAgIGlkOiBpKyssXG4gICAgICAgIGxhYmVsOiBncm91cC5sYWJlbCxcbiAgICAgICAgdHJlZTogW11cbiAgICAgIH07XG4gICAgICBsZXQgdHlwZXMgPSBbXTtcbiAgICAgIGZvciAobGV0IG9iamVjdFR5cGUgb2YgZ3JvdXAudHlwZXMpIHtcblxuICAgICAgICBsZXQgdCA9IHtcbiAgICAgICAgICBpZDogb2JqZWN0VHlwZS5pZCxcbiAgICAgICAgICBsYWJlbDogb2JqZWN0VHlwZS5sYWJlbCxcbiAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gW107XG4gICAgICAgIGZvciAobGV0IGVsIG9mIG9iamVjdFR5cGUuZWxlbWVudHMpIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiBlbC5sYWJlbCxcbiAgICAgICAgICAgIHR5cGU6IGVsLnR5cGUsXG4gICAgICAgICAgICBkYXRhOiBlbC5xbmFtZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNvcnQgYnkgbGFiZWxcbiAgICAgICAgdC5jaGlsZHJlbiA9IGNoaWxkcmVuLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSk7XG4gICAgICAgIHR5cGVzLnB1c2godCk7XG4gICAgICB9XG4gICAgICBnLnRyZWUgPSB0eXBlcy5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuXG5cbiAgICAgIGdUcmVlLnB1c2goZyk7XG4gICAgfVxuICAgIHJldHVybiBnVHJlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgY3VycmVudCBxdWVyeSBieSBhIGRpZmZlcmVudCBvbmUuXG4gICAqIFRoaXMgY291bGQgYmUgZG9uZSBieSBmb3IgZXhhbXBsZSBsb2FkaW5nIGEgc3RvcmVkIHF1ZXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gcXVlcnkgLSB0aGUgcXVlcnkgdGhhdCBzaG91bGQgcmVwbGFjZSB0aGUgY3VycmVudCBxdWVyeSwgdGhpcyBtYXkgYmUgZWl0aGVyIGEgU2VhcmNoUXVlcnkgaW5zdGFuY2UsXG4gICAqIGEgSlNPTiBzdHJpbmcgb2YgYW4gb2JqZWN0IG1hdGNoaW5nIHRoZSBzZWFyY2ggYXBpXG4gICAqL1xuICBwdWJsaWMgc2V0UXVlcnkocXVlcnk6IFNlYXJjaFF1ZXJ5KSB7XG4gICAgaWYgKHRoaXMuaXNOZXdRdWVyeShxdWVyeSkpIHtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdEFnZ3MoKTtcbiAgICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjdXJyZW50IHF1ZXJ5LlxuICAgKi9cbiAgcHVibGljIGNsZWFyUXVlcnkoKSB7XG4gICAgdGhpcy5zZXRRdWVyeShuZXcgU2VhcmNoUXVlcnkoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzTmV3UXVlcnkocXVlcnk6IFNlYXJjaFF1ZXJ5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHF1ZXJ5LmdldFF1ZXJ5SnNvbigpKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5xdWVyeS5nZXRRdWVyeUpzb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogdG9nZ2xlcyB0aGUgc2VhcmNobW9kZSBmcm9tIHJlZ3VsYXIgc2VhcmNoIHRvIGV4cGVydCBzZWFyY2ggYW5kIHZpY2UgdmVyc2FcbiAgICovXG4gIHB1YmxpYyB0b2dnbGVFeHBlcnRNb2RlKCkge1xuICAgIGlmICghdGhpcy5xdWVyeS5leHBlcnRNb2RlKSB7XG4gICAgICB0aGlzLmxhc3RRdWVyeSA9IHRoaXMucXVlcnk7XG4gICAgICB0aGlzLnNldERlZmF1bHRBZ2dzKCk7XG4gICAgICB0aGlzLnF1ZXJ5ID0gbmV3IFNlYXJjaFF1ZXJ5KCk7XG4gICAgICB0aGlzLnF1ZXJ5LmV4cGVydE1vZGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5sYXN0UXVlcnk7XG4gICAgfVxuICAgIHRoaXMucXVlcnkuX191cGRhdGVDYXVzZSA9IFNlYXJjaFF1ZXJ5LlVQREFURV9DQVVTRS5UT0dHTEVEX0VYUEVSVE1PREU7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKCk7XG5cbiAgfVxuXG4gIHB1YmxpYyBzZXRUZXJtKHRlcm06IHN0cmluZykge1xuICAgIHRoaXMucXVlcnkudGVybSA9IHRlcm07XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLlRFUk1fU0VUO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5U2NvcGUoc2NvcGU6IFF1ZXJ5U2NvcGUpIHtcbiAgICB0aGlzLnF1ZXJ5LnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKCk7XG4gIH1cblxuICAvLyBzZXQgYWdncmVnYXRpb24gcHJvcGVydGllcyB0byBiZSBhcHBsaWVkIHRvIE9OTFkgYWdncmVnYXRlIHNlYXJjaCBxdWVyaWVzXG4gIHB1YmxpYyBzZXRBZ2dzKGFnZ3M6IGFueSwgZXh0ZW5kID0gZmFsc2UpIHtcbiAgICB0aGlzLmFnZ3MgPSBleHRlbmQgPyB7Li4udGhpcy5hZ2dzLCAuLi5hZ2dzfSA6IGFnZ3M7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBhIHR5cGUgZmlsdGVyLlxuICAgKiBAcGFyYW0gdHlwZSAtIG9iamVjdCB0eXBlXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlUXVlcnlUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICB0aGlzLnF1ZXJ5LnRvZ2dsZVR5cGUodHlwZSk7XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLlRPR0dMRURfVFlQRTtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuVFlQRSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcXVlcmllcyB0YXJnZXQgdHlwZXMuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlcyAtIGFycmF5IG9mIE9iamVjdFR5cGVzXG4gICAqIEBwYXJhbSBzaWxlbnQgSWYgc2V0IHRvIHRydWUgYWdncmVnYXRlIHdvbid0IGJlIGNhbGxlZFxuICAgKi9cbiAgcHVibGljIHNldFF1ZXJ5VHlwZXModHlwZXM6IE9iamVjdFR5cGVbXSwgc2lsZW50PzogYm9vbGVhbikge1xuICAgIHRoaXMucXVlcnkudHlwZXMgPSB0eXBlcztcbiAgICB0aGlzLmFnZ3MgPSB7XG4gICAgICB0eXBlOiB7XG4gICAgICAgIHN1Yjoge1xuICAgICAgICAgIGNvbnRleHRmb2xkZXJ0eXBlOiB7fVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuVFlQRVNfU0VUO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgdGhpcy5hZ2dyZWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcXVlcmllcyB0YXJnZXQgY29udGV4dCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSBUaGUgY29udGV4dCB0eXBlIHRvIGJlIHNldCBvciBudWxsIGZvciByZXNldHRpbmdcbiAgICogQHBhcmFtIHNpbGVudCBJZiBzZXQgdG8gdHJ1ZSBhZ2dyZWdhdGUgd29uJ3QgYmUgY2FsbGVkXG4gICAqL1xuICBwdWJsaWMgc2V0Q29udGV4dFR5cGUodHlwZTogT2JqZWN0VHlwZSwgc2lsZW50PzogYm9vbGVhbikge1xuXG4gICAgaWYgKHRoaXMucXVlcnkuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCAmJiAhdHlwZSkge1xuICAgICAgLy8gY2xlYXIgY29udGV4dCBmb2xkZXJcbiAgICAgIHRoaXMuZW1pdE5ld0NvbnRleHRGb2xkZXJUeXBlKG51bGwpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5xdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXMubGVuZ3RoICYmIHR5cGUubmFtZSAhPT0gdGhpcy5xdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXNbMF0ubmFtZSkge1xuICAgICAgLy8gZ290IGEgdHlwZSB0byBiZSBzZXQgdXAgdGhhdCBkaWZmZXJzIGZyb20gdGhlIGN1cnJlbnQgb25lXG4gICAgICB0aGlzLmVtaXROZXdDb250ZXh0Rm9sZGVyVHlwZSh0eXBlKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlcy5sZW5ndGgpIHtcbiAgICAgIC8vIG5vdGhpbmcgc2V0IHVwIHNvIGZhclxuICAgICAgdGhpcy5lbWl0TmV3Q29udGV4dEZvbGRlclR5cGUodHlwZSk7XG4gICAgfVxuICAgIC8vIHRyeWluZyB0byBzZXR1cCB0aGUgc2FtZSB0eXBlIGFzIHRoZSBjdXJyZW50IG9uIHNob3VsZCBub3QgZW1pdCBhIG5ldyB2YWx1ZVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0TmV3Q29udGV4dEZvbGRlclR5cGUodHlwZSwgc2lsZW50PzogYm9vbGVhbikge1xuICAgIGlmICghdHlwZSAmJiB0aGlzLnF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hZ2dzID0ge1xuICAgICAgdHlwZToge1xuICAgICAgICBzdWI6IHtcbiAgICAgICAgICBjb250ZXh0Zm9sZGVydHlwZToge31cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5xdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXMgPSB0eXBlID8gW3R5cGVdIDogW107XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLkNPTlRFWFRfRk9MREVSX1NFVDtcbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIHRoaXMuYWdncmVnYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgYSBjcmVhdGVkIGZpbHRlci5cbiAgICogQHBhcmFtIGZpbHRlciAtIHRoZSBmaWx0ZXIgdG8gYmUgdG9nZ2xlZFxuICAgKi9cbiAgcHVibGljIHRvZ2dsZVF1ZXJ5RmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnF1ZXJ5LnRvZ2dsZUZpbHRlcihmaWx0ZXIsIG92ZXJyaWRlKTtcbiAgICB0aGlzLnF1ZXJ5Ll9fdXBkYXRlQ2F1c2UgPSBTZWFyY2hRdWVyeS5VUERBVEVfQ0FVU0UuVE9HR0xFRF9GSUxURVI7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKGZpbHRlci5wcm9wZXJ0eSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBjcmVhdGVkIGZpbHRlcnMgYW5kIGFnZ3JlZ2F0ZXMgdGhlbSB0b2dldGhlci5cbiAgICogQHBhcmFtIGZpbHRlcnMgLSB0aGUgZmlsdGVycyB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlUXVlcnlGaWx0ZXJzKGZpbHRlcnM6IFNlYXJjaEZpbHRlcltdLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICBsZXQgYmFzZVBhcmFtID0gJyc7XG4gICAgZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiB7XG4gICAgICB0aGlzLnF1ZXJ5LnRvZ2dsZUZpbHRlcihmaWx0ZXIsIG92ZXJyaWRlKTtcbiAgICAgIHRoaXMucXVlcnkuX191cGRhdGVDYXVzZSA9IFNlYXJjaFF1ZXJ5LlVQREFURV9DQVVTRS5UT0dHTEVEX0ZJTFRFUjtcbiAgICAgIGJhc2VQYXJhbSArPSBmaWx0ZXIucHJvcGVydHkgKyAnICc7XG4gICAgfSk7XG5cbiAgICB0aGlzLnF1ZXJ5U291cmNlLm5leHQodGhpcy5xdWVyeSk7XG4gICAgdGhpcy5hZ2dyZWdhdGUoYmFzZVBhcmFtLnRyaW0oKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGZpbHRlciB0byB0aGUgcXVlcnkuXG4gICAqIEBwYXJhbSBmaWx0ZXIgLSB0aGUgZmlsdGVyIHRvIGJlIGFkZGVkXG4gICAqL1xuICBwdWJsaWMgYWRkUXVlcnlGaWx0ZXIoZmlsdGVyOiBTZWFyY2hGaWx0ZXIpIHtcbiAgICB0aGlzLnF1ZXJ5LmFkZEZpbHRlcihmaWx0ZXIpO1xuICAgIHRoaXMucXVlcnkuX191cGRhdGVDYXVzZSA9IFNlYXJjaFF1ZXJ5LlVQREFURV9DQVVTRS5BRERFRF9GSUxURVI7XG4gICAgdGhpcy5xdWVyeVNvdXJjZS5uZXh0KHRoaXMucXVlcnkpO1xuICAgIHRoaXMuYWdncmVnYXRlKGZpbHRlci5wcm9wZXJ0eSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbHRlciB0byB0aGUgcXVlcnkuXG4gICAqIEBwYXJhbSBmaWx0ZXIgLSB0aGUgZmlsdGVyIHRvIGJlIHJlbW92ZWRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVRdWVyeUZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIHRoaXMucXVlcnkucmVtb3ZlRmlsdGVyKGZpbHRlci5wcm9wZXJ0eSk7XG4gICAgdGhpcy5xdWVyeS5fX3VwZGF0ZUNhdXNlID0gU2VhcmNoUXVlcnkuVVBEQVRFX0NBVVNFLlJFTU9WRURfRklMVEVSO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICB0aGlzLmFnZ3JlZ2F0ZShmaWx0ZXIucHJvcGVydHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZpbHRlcnMgZm9yIGFuIGluZGV4ZGF0YSBzZWFyY2guXG4gICAqIFNldHRpbmcgdGhlbSB3aWxsIGFsc28gcmVtb3ZlIGFsbCBpbmRleGRhdGEgZmlsdGVycyBzZXQgYmVmb3JlLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsdGVycyAtIHRoZSBmaWx0ZXJzIHRvIGJlIHNldFxuICAgKiBAcGFyYW0gc2lsZW50IElmIHNldCB0byB0cnVlIGFnZ3JlZ2F0ZSB3b24ndCBiZSBjYWxsZWRcbiAgICovXG4gIHB1YmxpYyBzZXRJbmRleFNlYXJjaFF1ZXJ5RmlsdGVycyhmaWx0ZXJzOiBTZWFyY2hGaWx0ZXJbXSwgc2lsZW50PzogYm9vbGVhbikge1xuXG4gICAgLy8gcmVtb3ZlIHByZXZpb3VzIGZpbHRlcnMgKGFsbCBmaWx0ZXJzIHRoYXQgYXJlIG5vdCBiYXNlcGFyYW0gZmlsdGVycylcbiAgICB0aGlzLnF1ZXJ5LmZpbHRlcnMgPSB0aGlzLnF1ZXJ5LmZpbHRlcnMuZmlsdGVyKChmKSA9PiB0aGlzLmlzQmFzZVBhcmFtRmlsdGVyKGYpKTtcbiAgICBmb3IgKGxldCBmIG9mIGZpbHRlcnMpIHtcbiAgICAgIHRoaXMucXVlcnkuYWRkRmlsdGVyKGYpO1xuICAgIH1cbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgdGhpcy5hZ2dyZWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5kZXhTZWFyY2hRdWVyeUZpbHRlcnMocXVlcnk/OiBTZWFyY2hRdWVyeSk6IFNlYXJjaEZpbHRlcltdIHtcbiAgICBsZXQgcSA9IHF1ZXJ5IHx8IHRoaXMucXVlcnk7XG4gICAgcmV0dXJuIHEuZmlsdGVycy5maWx0ZXIoKGYpID0+ICF0aGlzLmlzQmFzZVBhcmFtRmlsdGVyKGYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBwcm92aWRlZCBzZWFyY2ggZmlsdGVyIGJlbG9uZ3MgdG8gYSBiYXNlIHBhcmFtLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gdGhlIGZpbHRlciB0byBiZSBjaGVja2VkXG4gICAqL1xuICBwdWJsaWMgaXNCYXNlUGFyYW1GaWx0ZXIoZmlsdGVyOiBTZWFyY2hGaWx0ZXIpOiBib29sZWFuIHtcbiAgICAvL3JldHVybiBPYmplY3QudmFsdWVzKFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TKS5zb21lKChicCkgPT4gZmlsdGVyLnByb3BlcnR5ID09PSBicCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TKS5zb21lKChicEtleSkgPT4gZmlsdGVyLnByb3BlcnR5ID09PSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNU1ticEtleV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjdXJyZW50IHF1ZXJ5IGFzIGFnZ3JlZ2F0ZSBzZWFyY2hcbiAgICovXG4gIHB1YmxpYyBhZ2dyZWdhdGUoYmFzZVBhcmFtID0gJycpIHtcblxuICAgIGNvbnN0IGFnZ1F1ZXJ5ID0ge2FnZ3M6IHRoaXMuYWdncywgLi4udGhpcy5xdWVyeS5nZXRRdWVyeUpzb24oKX07XG4gICAgLy8gY29tcGFyZSB0aGUgY2FsbCB0byBiZSBtYWRlIHdpdGggYSBmb3JtZXIgcmVxdWVzdFxuICAgIGlmICh0aGlzLmxhc3RBZ2dDYWxsQ29tcGFyYXRvciAhPT0gSlNPTi5zdHJpbmdpZnkoYWdnUXVlcnkpKSB7XG4gICAgICB0aGlzLmxhc3RBZ2dDYWxsQ29tcGFyYXRvciA9IEpTT04uc3RyaW5naWZ5KGFnZ1F1ZXJ5KTtcbiAgICAgIHRoaXMuZ2V0U2VhcmNoU3RhdGUoYWdnUXVlcnkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHF1ZXJ5U3RhdGU6IFNlYXJjaFN0YXRlKSA9PiB7XG4gICAgICAgICAgcXVlcnlTdGF0ZS5sYXN0Q2hhbmdlID0gYmFzZVBhcmFtO1xuICAgICAgICAgIHRoaXMucXVlcnlTdGF0ZSA9IHF1ZXJ5U3RhdGU7XG4gICAgICAgICAgdGhpcy5xdWVyeVN0YXRlU291cmNlLm5leHQodGhpcy5xdWVyeVN0YXRlKTtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHJlc2V0KHNpbGVudD86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnF1ZXJ5ID0gbmV3IFNlYXJjaFF1ZXJ5KCk7XG4gICAgdGhpcy5zZXREZWZhdWx0QWdncygpO1xuICAgIHRoaXMucXVlcnlTb3VyY2UubmV4dCh0aGlzLnF1ZXJ5KTtcbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgdGhpcy5hZ2dyZWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICBleGl0SW5kZXhkYXRhU2VhcmNoKCkge1xuICAgIHRoaXMuc2V0SW5kZXhTZWFyY2hRdWVyeUZpbHRlcnMoW10sIHRydWUpO1xuICAgIHRoaXMuc2V0UXVlcnlUeXBlcyhbXSwgdHJ1ZSk7XG4gICAgdGhpcy5zZXRDb250ZXh0VHlwZShudWxsLCB0cnVlKTtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjdXJyZW50IHF1ZXJ5IGFzIGFnZ3JlZ2F0ZSBzZWFyY2hcbiAgICovXG4gIHB1YmxpYyBnZXRTZWFyY2hTdGF0ZShxdWVyeUpzb246IGFueSkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoU3RhdGUocXVlcnlKc29uKTtcbiAgfVxuXG4gIHB1YmxpYyBhdXRvY29tcGxldGUodGVybTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5hdXRvY29tcGxldGUodGVybSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIG9iamVjdCB0eXBlIGVsZW1lbnQgaW5zaWRlIG9mIHRoZSBxdWVyaWVzIHRhcmdldCB0eXBlc1xuICAgKiBmb3IgYSBmb3JtIGVsZW1lbnRzIG5hbWUuIFVzZWQgZS5nLiBmb3IgdGhlIHNlYXJjaCBzdW1tYXJ5IHBhbmVsLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUVsZW1lbnROYW1lIC0gdGhlIG5hbWUgb2YgdGhlIGZvcm0gZWxlbWVudFxuICAgKiBAcmV0dXJuIHRoZSBvYmplY3QgdHlwZSBlbGVtZW50IG1hdGNoaW5nIHRoZSBmb3JtIGVsZW1lbnRzIG5hbWVcbiAgICovXG4gIHB1YmxpYyBnZXRUYXJnZXRUeXBlRWxlbWVudEJ5TmFtZShmb3JtRWxlbWVudE5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IGkgPSAwO1xuICAgIGxldCBtYXRjaDtcbiAgICB3aGlsZSAoIW1hdGNoICYmIGkgPCB0aGlzLnF1ZXJ5LnR5cGVzLmxlbmd0aCkge1xuICAgICAgbWF0Y2ggPSB0aGlzLnF1ZXJ5LnR5cGVzW2ldLmVsZW1lbnRzLmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQucW5hbWUgPT09IGZvcm1FbGVtZW50TmFtZSk7XG4gICAgICBpKys7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaDtcbiAgfVxufVxuIl19
|
package/esm2015/eo-sdk-client.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public_api';
|
|
5
|
-
export { EoClientRoutingModule as
|
|
6
|
-
export { InboxStateRoutingModule as
|
|
7
|
-
export { ObjectStateRoutingModule as
|
|
8
|
-
export { PrepareStateRoutingModule as
|
|
9
|
-
export { ProcessStateComponent as
|
|
5
|
+
export { EoClientRoutingModule as ɵcv } from './app/eo-client/eo-client-routing.module';
|
|
6
|
+
export { InboxStateRoutingModule as ɵct } from './app/eo-client/inbox-state/inbox-state-routing.module';
|
|
7
|
+
export { ObjectStateRoutingModule as ɵcs } from './app/eo-client/object-state/object-state-routing.module';
|
|
8
|
+
export { PrepareStateRoutingModule as ɵcu } from './app/eo-client/prepare-state/prepare-state-routing.module';
|
|
9
|
+
export { ProcessStateComponent as ɵcw } from './app/eo-client/process-state/process-state.component';
|
|
10
10
|
export { PendingChangesGuard as ɵa } from './app/eo-framework-core/pending-changes/pending-changes-guard.service';
|
|
11
11
|
export { PipesModule as ɵe } from './app/eo-framework-core/pipes/pipes.module';
|
|
12
12
|
export { ActionComponentAnchorDirective as ɵx } from './app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive';
|
|
@@ -33,7 +33,7 @@ export { EmailActionComponent as ɵbf } from './app/eo-framework/actions/actions
|
|
|
33
33
|
export { EmailLinkActionComponent as ɵbg } from './app/eo-framework/actions/actions/email/email-link-action';
|
|
34
34
|
export { EmailOriginalActionComponent as ɵbh } from './app/eo-framework/actions/actions/email/email-original-action';
|
|
35
35
|
export { EmailPdfActionComponent as ɵbi } from './app/eo-framework/actions/actions/email/email-pdf-action';
|
|
36
|
-
export { FavoriteActionComponent as
|
|
36
|
+
export { FavoriteActionComponent as ɵcn } from './app/eo-framework/actions/actions/favorite-action/favorite-action';
|
|
37
37
|
export { DefinalizeActionComponent as ɵcg } from './app/eo-framework/actions/actions/finalize/definalize-action';
|
|
38
38
|
export { FinalizeActionComponent as ɵce } from './app/eo-framework/actions/actions/finalize/finalize-action';
|
|
39
39
|
export { FinalizeObjectActionComponent as ɵcf } from './app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component';
|
|
@@ -45,6 +45,8 @@ export { RemoveSubscriptionActionComponent as ɵbu } from './app/eo-framework/ac
|
|
|
45
45
|
export { RestoreVersionActionComponent as ɵbq } from './app/eo-framework/actions/actions/restore-version-action/restore-version-action';
|
|
46
46
|
export { ShareObjectActionComponent as ɵcb } from './app/eo-framework/actions/actions/share-object-action/share-object-action';
|
|
47
47
|
export { ShareObjectComponent as ɵcc } from './app/eo-framework/actions/actions/share-object-action/share-object/share-object.component';
|
|
48
|
+
export { SignatureActionComponent as ɵcl } from './app/eo-framework/actions/actions/signature-action/signature-action.component';
|
|
49
|
+
export { SignatureComponent as ɵcm } from './app/eo-framework/actions/actions/signature-action/signature/signature.component';
|
|
48
50
|
export { UnlockActionComponent as ɵcj } from './app/eo-framework/actions/actions/unlock-action/unlock-action';
|
|
49
51
|
export { UpdateResubmissionActionComponent as ɵca } from './app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action';
|
|
50
52
|
export { SimpleWorkflowActionComponent as ɵck } from './app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component';
|
|
@@ -61,9 +63,9 @@ export { ReferenceFinderService as ɵq } from './app/eo-framework/form-elements/
|
|
|
61
63
|
export { PaginationComponent as ɵu } from './app/eo-framework/grid/extensions/pagination/pagination.component';
|
|
62
64
|
export { DynamicListFilterComponent as ɵs } from './app/eo-framework/grid/filters/dynamic-list-filter.component';
|
|
63
65
|
export { ListFilterComponent as ɵt } from './app/eo-framework/grid/filters/list-filter.component';
|
|
64
|
-
export { DuetimeInfoComponent as
|
|
65
|
-
export { EditIconComponent as
|
|
66
|
-
export { PrepareContentExistsInfoComponent as
|
|
66
|
+
export { DuetimeInfoComponent as ɵcq } from './app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component';
|
|
67
|
+
export { EditIconComponent as ɵcp } from './app/eo-framework/object-details/edit-icon/edit-icon.component';
|
|
68
|
+
export { PrepareContentExistsInfoComponent as ɵcr } from './app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component';
|
|
67
69
|
export { ProcessFormComponent as ɵw } from './app/eo-framework/process-form/process-form.component';
|
|
68
70
|
export { ProcessFormModule as ɵv } from './app/eo-framework/process-form/process-form.module';
|
|
69
71
|
export { TreeNodeComponent as ɵl } from './app/eo-framework/tree/tree-node/tree-node.component';
|
|
@@ -72,7 +74,7 @@ export { QueryScopeSelectComponent as ɵg } from './app/eo-framework/ui/query-sc
|
|
|
72
74
|
export { SignatureTabComponent as ɵi } from './app/eo-framework/ui/signature-tab/signature-tab.component';
|
|
73
75
|
export { UploadOverlayGuard as ɵb } from './app/eo-framework/upload-overlay/upload-overlay-guard.service';
|
|
74
76
|
export { UnsubscribeOnDestroy as ɵf } from './app/eo-framework/util';
|
|
75
|
-
export { PreventDoubleClickDirective as
|
|
77
|
+
export { PreventDoubleClickDirective as ɵco } from './app/eo-framework/util/directive/prevent-double-click.directive';
|
|
76
78
|
export { TrapFocusDirective as ɵh } from './app/eo-framework/util/directive/trap-focus.directive';
|
|
77
79
|
export { OrderByPipe as ɵk } from './app/eo-framework/util/sortable/order-by.pipe';
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tc2RrLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lby1zZGstY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDaEgsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsOEJBQThCLElBQUksRUFBRSxFQUFDLE1BQU0sa0dBQWtHLENBQUM7QUFDdEosT0FBTyxFQUFDLDhCQUE4QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3R0FBd0csQ0FBQztBQUN2SixPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdHQUF3RyxDQUFDO0FBQ3ZKLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDdkgsT0FBTyxFQUFDLGdDQUFnQyxJQUFJLEdBQUcsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQy9ILE9BQU8sRUFBQywyQkFBMkIsSUFBSSxHQUFHLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNySCxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDckcsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3pILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDNUcsT0FBTyxFQUFDLDZCQUE2QixJQUFJLEdBQUcsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDaEgsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEdBQUcsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ25JLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxrR0FBa0csQ0FBQztBQUMvSSxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFDLCtCQUErQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNGQUFzRixDQUFDO0FBQzVJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUNuSCxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxHQUFHLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFDLDZCQUE2QixJQUFJLEdBQUcsRUFBQyxNQUFNLHFHQUFxRyxDQUFDO0FBQ3pKLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDaEksT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdGQUF3RixDQUFDO0FBQ25JLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUNoSSxPQUFPLEVBQUMsaUNBQWlDLElBQUksR0FBRyxFQUFDLE1BQU0sMEZBQTBGLENBQUM7QUFDbEosT0FBTyxFQUFDLDZCQUE2QixJQUFJLEdBQUcsRUFBQyxNQUFNLGtGQUFrRixDQUFDO0FBQ3RJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDdkksT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxHQUFHLEVBQUMsTUFBTSwwRkFBMEYsQ0FBQztBQUNsSixPQUFPLEVBQUMsNkJBQTZCLElBQUksR0FBRyxFQUFDLE1BQU0scUZBQXFGLENBQUM7QUFDekksT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQzVILE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUN4SCxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDakgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sMkVBQTJFLENBQUM7QUFDbkgsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSxvRkFBb0YsQ0FBQztBQUNuSCxPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sdUdBQXVHLENBQUM7QUFDMUosT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJGQUEyRixDQUFDO0FBQ3pJLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUM1SCxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDN0csT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxHQUFHLEVBQUMsTUFBTSxzR0FBc0csQ0FBQztBQUM5SixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDbEcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsOEJBQThCLElBQUksRUFBRSxFQUFDLE1BQU0sbUdBQW1HLENBQUM7QUFDdkosT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUN4RyxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDeEcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxHQUFHLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUNwSCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtFb0NsaWVudFJvdXRpbmdNb2R1bGUgYXMgybVjdH0gZnJvbSAnLi9hcHAvZW8tY2xpZW50L2VvLWNsaWVudC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge0luYm94U3RhdGVSb3V0aW5nTW9kdWxlIGFzIMm1Y3J9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9pbmJveC1zdGF0ZS9pbmJveC1zdGF0ZS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge09iamVjdFN0YXRlUm91dGluZ01vZHVsZSBhcyDJtWNxfSBmcm9tICcuL2FwcC9lby1jbGllbnQvb2JqZWN0LXN0YXRlL29iamVjdC1zdGF0ZS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge1ByZXBhcmVTdGF0ZVJvdXRpbmdNb2R1bGUgYXMgybVjc30gZnJvbSAnLi9hcHAvZW8tY2xpZW50L3ByZXBhcmUtc3RhdGUvcHJlcGFyZS1zdGF0ZS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge1Byb2Nlc3NTdGF0ZUNvbXBvbmVudCBhcyDJtWN1fSBmcm9tICcuL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQge1BlbmRpbmdDaGFuZ2VzR3VhcmQgYXMgybVhfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0IHtQaXBlc01vZHVsZSBhcyDJtWV9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5leHBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZSBhcyDJtXh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbi1tZW51L2FjdGlvbi1jb21wb25lbnQtYW5jaG9yL2FjdGlvbi1jb21wb25lbnQtYW5jaG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmV4cG9ydCB7QWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGFzIMm1Ynp9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0FkZFN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJzfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uJztcbmV4cG9ydCB7QWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1YnR9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0NsaXBib2FyZEFjdGlvbkNvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtYWN0aW9uJztcbmV4cG9ydCB7Q2xpcGJvYXJkTGlua0FjdGlvbkNvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtbGluay1hY3Rpb24nO1xuZXhwb3J0IHtDbGlwYm9hcmRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtb3JpZ2luYWwtYWN0aW9uJztcbmV4cG9ydCB7Q2xpcGJvYXJkUGRmQWN0aW9uQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1wZGYtYWN0aW9uJztcbmV4cG9ydCB7Q29weUFjdGlvbkNvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuZXhwb3J0IHtDdXN0b21BY3Rpb25zQ29tcG9uZW50IGFzIMm1Ynh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY3VzdG9tLWFjdGlvbnMvY3VzdG9tLWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7Q3V0QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2R9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY3V0LWFjdGlvbi9jdXQtYWN0aW9uJztcbmV4cG9ydCB7RGVsZXRlQWN0aW9uQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUtYWN0aW9uJztcbmV4cG9ydCB7RGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnQgYXMgybVicn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1wcmVwYXJlZC1hY3Rpb24nO1xuZXhwb3J0IHtEZWxldGVDb21wb25lbnQgYXMgybVib30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7RGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCBhcyDJtWNpfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC1hY3Rpb24nO1xuZXhwb3J0IHtEZWxldGVDb250ZW50Q29tcG9uZW50IGFzIMm1Y2h9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWNvbnRlbnQtYWN0aW9uL2RlbGV0ZS1jb250ZW50L2RlbGV0ZS1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQge0Rvd25sb2FkQWN0aW9uQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZG93bmxvYWQtYWN0aW9uL2Rvd25sb2FkLWFjdGlvbic7XG5leHBvcnQge0Rvd25sb2FkT3JpZ2luYWxBY3Rpb25Db21wb25lbnQgYXMgybViY30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kb3dubG9hZC1vcmlnaW5hbC1hY3Rpb24vZG93bmxvYWQtb3JpZ2luYWwtYWN0aW9uJztcbmV4cG9ydCB7RG93bmxvYWRQZGZBY3Rpb25Db21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kb3dubG9hZC1wZGYtYWN0aW9uL2Rvd25sb2FkLXBkZi1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbEFjdGlvbkNvbXBvbmVudCBhcyDJtWJmfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2VtYWlsL2VtYWlsLWFjdGlvbic7XG5leHBvcnQge0VtYWlsTGlua0FjdGlvbkNvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2VtYWlsL2VtYWlsLWxpbmstYWN0aW9uJztcbmV4cG9ydCB7RW1haWxPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCBhcyDJtWJofSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2VtYWlsL2VtYWlsLW9yaWdpbmFsLWFjdGlvbic7XG5leHBvcnQge0VtYWlsUGRmQWN0aW9uQ29tcG9uZW50IGFzIMm1Yml9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZW1haWwvZW1haWwtcGRmLWFjdGlvbic7XG5leHBvcnQge0Zhdm9yaXRlQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2x9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZmF2b3JpdGUtYWN0aW9uL2Zhdm9yaXRlLWFjdGlvbic7XG5leHBvcnQge0RlZmluYWxpemVBY3Rpb25Db21wb25lbnQgYXMgybVjZ30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9maW5hbGl6ZS9kZWZpbmFsaXplLWFjdGlvbic7XG5leHBvcnQge0ZpbmFsaXplQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZmluYWxpemUvZmluYWxpemUtYWN0aW9uJztcbmV4cG9ydCB7RmluYWxpemVPYmplY3RBY3Rpb25Db21wb25lbnQgYXMgybVjZn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9maW5hbGl6ZS9maW5hbGl6ZS1vYmplY3QtYWN0aW9uL2ZpbmFsaXplLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7T3BlbkNvbnRleHRBY3Rpb25Db21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWNvbnRleHQtYWN0aW9uL29wZW4tY29udGV4dC1hY3Rpb24nO1xuZXhwb3J0IHtPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbic7XG5leHBvcnQge09wZW5Eb2N1bWVudENvbXBvbmVudCBhcyDJtXl9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi1kb2N1bWVudC1hY3Rpb24vb3Blbi1kb2N1bWVudC1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7T3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50IGFzIMm1YnB9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi12ZXJzaW9ucy1hY3Rpb24vb3Blbi12ZXJzaW9ucy1hY3Rpb24nO1xuZXhwb3J0IHtSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQgYXMgybVidX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbi9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5leHBvcnQge1Jlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvcmVzdG9yZS12ZXJzaW9uLWFjdGlvbi9yZXN0b3JlLXZlcnNpb24tYWN0aW9uJztcbmV4cG9ydCB7U2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnQgYXMgybVjYn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC1hY3Rpb24nO1xuZXhwb3J0IHtTaGFyZU9iamVjdENvbXBvbmVudCBhcyDJtWNjfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0L3NoYXJlLW9iamVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtVbmxvY2tBY3Rpb25Db21wb25lbnQgYXMgybVjan0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy91bmxvY2stYWN0aW9uL3VubG9jay1hY3Rpb24nO1xuZXhwb3J0IHtVcGRhdGVSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy91cGRhdGUtcmVzdWJtaXNzaW9uLWFjdGlvbi91cGRhdGUtcmVzdWJtaXNzaW9uLWFjdGlvbic7XG5leHBvcnQge1NpbXBsZVdvcmtmbG93QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2t9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3NpbXBsZS13b3JrZmxvdy1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7V29ya2Zsb3dBY3Rpb25Db21wb25lbnQgYXMgybVidn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1dvcmtmbG93Q29tcG9uZW50IGFzIMm1Ynd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcFByb2Nlc3NDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYXBwLXNoZWxsL2FwcC1iYXIvYXBwLXByb2Nlc3MvYXBwLXByb2Nlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwU2hlbGxSb3V0aW5nTW9kdWxlIGFzIMm1Y30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtc2hlbGwtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtEYXRlcGlja2VyU2VydmljZSBhcyDJtW19IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lL2RhdGVwaWNrZXIvc2VydmljZS9kYXRlcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtZZWFyUmFuZ2VEaXJlY3RpdmUgYXMgybVufSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS95ZWFyLXJhbmdlL3llYXItcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7ZmFkZUluT3V0IGFzIMm1cH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2FuaW1hdGlvbi9yZWZlcmVuY2UtZmluZGVyLmFuaW1hdGlvbic7XG5leHBvcnQge1JlZmVyZW5jZUZpbmRlckVudHJ5Q29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3JlZmVyZW5jZS1maW5kZXItZW50cnkvcmVmZXJlbmNlLWZpbmRlci1lbnRyeS5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2UvcmVmZXJlbmNlLWZpbmRlci9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZmVyZW5jZUZpbmRlclNlcnZpY2UgYXMgybVxfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2Uvc2VydmljZS9yZWZlcmVuY2UtZmluZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtQYWdpbmF0aW9uQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9maWx0ZXJzL2R5bmFtaWMtbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEZpbHRlckNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9ncmlkL2ZpbHRlcnMvbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RHVldGltZUluZm9Db21wb25lbnQgYXMgybVjb30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2luYm94LWRldGFpbHMvZHVldGltZUluZm8vZHVldGltZUluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RWRpdEljb25Db21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL2VkaXQtaWNvbi9lZGl0LWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJlcGFyZUNvbnRlbnRFeGlzdHNJbmZvQ29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcmVwYXJlLWRldGFpbHMvcHJlcGFyZS1jb250ZW50LWV4aXN0cy1pbmZvL3ByZXBhcmUtY29udGVudC1leGlzdHMtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9jZXNzRm9ybUNvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2Nlc3NGb3JtTW9kdWxlIGFzIMm1dn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3Byb2Nlc3MtZm9ybS9wcm9jZXNzLWZvcm0ubW9kdWxlJztcbmV4cG9ydCB7VHJlZU5vZGVDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdHJlZS90cmVlLW5vZGUvdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5leHBvcnQge0luZGV4ZGF0YVN1bW1hcnlFbnRyeUNvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91aS9pbmRleGRhdGEtc3VtbWFyeS9pbmRleGRhdGEtc3VtbWFyeS1lbnRyeS9pbmRleGRhdGEtc3VtbWFyeS1lbnRyeS5jb21wb25lbnQnO1xuZXhwb3J0IHtRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3VpL3F1ZXJ5LXNjb3BlLXNlbGVjdC9xdWVyeS1zY29wZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7U2lnbmF0dXJlVGFiQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3VpL3NpZ25hdHVyZS10YWIvc2lnbmF0dXJlLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtVcGxvYWRPdmVybGF5R3VhcmQgYXMgybVifSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXBsb2FkLW92ZXJsYXkvdXBsb2FkLW92ZXJsYXktZ3VhcmQuc2VydmljZSc7XG5leHBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95IGFzIMm1Zn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3V0aWwnO1xuZXhwb3J0IHtQcmV2ZW50RG91YmxlQ2xpY2tEaXJlY3RpdmUgYXMgybVjbX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3V0aWwvZGlyZWN0aXZlL3ByZXZlbnQtZG91YmxlLWNsaWNrLmRpcmVjdGl2ZSc7XG5leHBvcnQge1RyYXBGb2N1c0RpcmVjdGl2ZSBhcyDJtWh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge09yZGVyQnlQaXBlIGFzIMm1a30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3V0aWwvc29ydGFibGUvb3JkZXItYnkucGlwZSc7Il19
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tc2RrLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lby1zZGstY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDaEgsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsOEJBQThCLElBQUksRUFBRSxFQUFDLE1BQU0sa0dBQWtHLENBQUM7QUFDdEosT0FBTyxFQUFDLDhCQUE4QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3R0FBd0csQ0FBQztBQUN2SixPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdHQUF3RyxDQUFDO0FBQ3ZKLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FB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QU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFDLGlDQUFpQyxJQUFJLEdBQUcsRUFBQyxNQUFNLHNHQUFzRyxDQUFDO0FBQzlKLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNsRyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtR0FBbUcsQ0FBQztBQUN2SixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN4RyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLDJCQUEyQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ3BILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0VvQ2xpZW50Um91dGluZ01vZHVsZSBhcyDJtWN2fSBmcm9tICcuL2FwcC9lby1jbGllbnQvZW8tY2xpZW50LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7SW5ib3hTdGF0ZVJvdXRpbmdNb2R1bGUgYXMgybVjdH0gZnJvbSAnLi9hcHAvZW8tY2xpZW50L2luYm94LXN0YXRlL2luYm94LXN0YXRlLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7T2JqZWN0U3RhdGVSb3V0aW5nTW9kdWxlIGFzIMm1Y3N9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9vYmplY3Qtc3RhdGUvb2JqZWN0LXN0YXRlLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7UHJlcGFyZVN0YXRlUm91dGluZ01vZHVsZSBhcyDJtWN1fSBmcm9tICcuL2FwcC9lby1jbGllbnQvcHJlcGFyZS1zdGF0ZS9wcmVwYXJlLXN0YXRlLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7UHJvY2Vzc1N0YXRlQ29tcG9uZW50IGFzIMm1Y3d9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7UGVuZGluZ0NoYW5nZXNHdWFyZCBhcyDJtWF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMtZ3VhcmQuc2VydmljZSc7XG5leHBvcnQge1BpcGVzTW9kdWxlIGFzIMm1ZX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrLWNvcmUvcGlwZXMvcGlwZXMubW9kdWxlJztcbmV4cG9ydCB7QWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlIGFzIMm1eH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9uLW1lbnUvYWN0aW9uLWNvbXBvbmVudC1hbmNob3IvYWN0aW9uLWNvbXBvbmVudC1hbmNob3IuZGlyZWN0aXZlJztcbmV4cG9ydCB7QWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1Ynl9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuZXhwb3J0IHtBZGRSZXN1Ym1pc3Npb25Db21wb25lbnQgYXMgybVien0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50JztcbmV4cG9ydCB7QWRkU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24nO1xuZXhwb3J0IHtBZGRTdWJzY3JpcHRpb25Db21wb25lbnQgYXMgybVidH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7Q2xpcGJvYXJkQWN0aW9uQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1hY3Rpb24nO1xuZXhwb3J0IHtDbGlwYm9hcmRMaW5rQWN0aW9uQ29tcG9uZW50IGFzIMm1Ymt9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1saW5rLWFjdGlvbic7XG5leHBvcnQge0NsaXBib2FyZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1vcmlnaW5hbC1hY3Rpb24nO1xuZXhwb3J0IHtDbGlwYm9hcmRQZGZBY3Rpb25Db21wb25lbnQgYXMgybVibX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLXBkZi1hY3Rpb24nO1xuZXhwb3J0IHtDb3B5QWN0aW9uQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jb3B5LWFjdGlvbi9jb3B5LWFjdGlvbic7XG5leHBvcnQge0N1c3RvbUFjdGlvbnNDb21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jdXN0b20tYWN0aW9ucy9jdXN0b20tYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHtDdXRBY3Rpb25Db21wb25lbnQgYXMgybVjZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jdXQtYWN0aW9uL2N1dC1hY3Rpb24nO1xuZXhwb3J0IHtEZWxldGVBY3Rpb25Db21wb25lbnQgYXMgybVibn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1hY3Rpb24nO1xuZXhwb3J0IHtEZWxldGVQcmVwYXJlZEFjdGlvbkNvbXBvbmVudCBhcyDJtWJyfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlLXByZXBhcmVkLWFjdGlvbic7XG5leHBvcnQge0RlbGV0ZUNvbXBvbmVudCBhcyDJtWJvfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtEZWxldGVDb250ZW50QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2l9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWNvbnRlbnQtYWN0aW9uL2RlbGV0ZS1jb250ZW50LWFjdGlvbic7XG5leHBvcnQge0RlbGV0ZUNvbnRlbnRDb21wb25lbnQgYXMgybVjaH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQvZGVsZXRlLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCB7RG93bmxvYWRBY3Rpb25Db21wb25lbnQgYXMgybViYn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kb3dubG9hZC1hY3Rpb24vZG93bmxvYWQtYWN0aW9uJztcbmV4cG9ydCB7RG93bmxvYWRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCBhcyDJtWJjfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Rvd25sb2FkLW9yaWdpbmFsLWFjdGlvbi9kb3dubG9hZC1vcmlnaW5hbC1hY3Rpb24nO1xuZXhwb3J0IHtEb3dubG9hZFBkZkFjdGlvbkNvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Rvd25sb2FkLXBkZi1hY3Rpb24vZG93bmxvYWQtcGRmLWFjdGlvbic7XG5leHBvcnQge0VtYWlsQWN0aW9uQ29tcG9uZW50IGFzIMm1YmZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZW1haWwvZW1haWwtYWN0aW9uJztcbmV4cG9ydCB7RW1haWxMaW5rQWN0aW9uQ29tcG9uZW50IGFzIMm1Ymd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZW1haWwvZW1haWwtbGluay1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50IGFzIMm1Ymh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZW1haWwvZW1haWwtb3JpZ2luYWwtYWN0aW9uJztcbmV4cG9ydCB7RW1haWxQZGZBY3Rpb25Db21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1wZGYtYWN0aW9uJztcbmV4cG9ydCB7RmF2b3JpdGVBY3Rpb25Db21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9mYXZvcml0ZS1hY3Rpb24vZmF2b3JpdGUtYWN0aW9uJztcbmV4cG9ydCB7RGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2ZpbmFsaXplL2RlZmluYWxpemUtYWN0aW9uJztcbmV4cG9ydCB7RmluYWxpemVBY3Rpb25Db21wb25lbnQgYXMgybVjZX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9maW5hbGl6ZS9maW5hbGl6ZS1hY3Rpb24nO1xuZXhwb3J0IHtGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2ZpbmFsaXplL2ZpbmFsaXplLW9iamVjdC1hY3Rpb24vZmluYWxpemUtb2JqZWN0LWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCBhcyDJtWJhfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL29wZW4tY29udGV4dC1hY3Rpb24vb3Blbi1jb250ZXh0LWFjdGlvbic7XG5leHBvcnQge09wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudCBhcyDJtWJlfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uJztcbmV4cG9ydCB7T3BlbkRvY3VtZW50Q29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtPcGVuVmVyc2lvbnNBY3Rpb25Db21wb25lbnQgYXMgybVicH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLXZlcnNpb25zLWFjdGlvbi9vcGVuLXZlcnNpb25zLWFjdGlvbic7XG5leHBvcnQge1JlbW92ZVN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJ1fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uJztcbmV4cG9ydCB7UmVzdG9yZVZlcnNpb25BY3Rpb25Db21wb25lbnQgYXMgybVicX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9yZXN0b3JlLXZlcnNpb24tYWN0aW9uL3Jlc3RvcmUtdmVyc2lvbi1hY3Rpb24nO1xuZXhwb3J0IHtTaGFyZU9iamVjdEFjdGlvbkNvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0LWFjdGlvbic7XG5leHBvcnQge1NoYXJlT2JqZWN0Q29tcG9uZW50IGFzIMm1Y2N9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvc2hhcmUtb2JqZWN0LWFjdGlvbi9zaGFyZS1vYmplY3Qvc2hhcmUtb2JqZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1NpZ25hdHVyZUFjdGlvbkNvbXBvbmVudCBhcyDJtWNsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlLWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtTaWduYXR1cmVDb21wb25lbnQgYXMgybVjbX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50JztcbmV4cG9ydCB7VW5sb2NrQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2p9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvdW5sb2NrLWFjdGlvbi91bmxvY2stYWN0aW9uJztcbmV4cG9ydCB7VXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2F9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24vdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuZXhwb3J0IHtTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCBhcyDJtWNrfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi9zaW1wbGUtd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1dvcmtmbG93QWN0aW9uQ29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtXb3JrZmxvd0NvbXBvbmVudCBhcyDJtWJ3fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBQcm9jZXNzQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtYmFyL2FwcC1wcm9jZXNzL2FwcC1wcm9jZXNzLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcFNoZWxsUm91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hcHAtc2hlbGwvYXBwLXNoZWxsLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7RGF0ZXBpY2tlclNlcnZpY2UgYXMgybVtfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS9kYXRlcGlja2VyL3NlcnZpY2UvZGF0ZXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCB7WWVhclJhbmdlRGlyZWN0aXZlIGFzIMm1bn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZGF0ZXRpbWUveWVhci1yYW5nZS95ZWFyLXJhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQge2ZhZGVJbk91dCBhcyDJtXB9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9hbmltYXRpb24vcmVmZXJlbmNlLWZpbmRlci5hbmltYXRpb24nO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJFbnRyeUNvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9yZWZlcmVuY2UtZmluZGVyLWVudHJ5L3JlZmVyZW5jZS1maW5kZXItZW50cnkuY29tcG9uZW50JztcbmV4cG9ydCB7UmVmZXJlbmNlRmluZGVyQ29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3JlZmVyZW5jZS1maW5kZXIvcmVmZXJlbmNlLWZpbmRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJTZXJ2aWNlIGFzIMm1cX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3NlcnZpY2UvcmVmZXJlbmNlLWZpbmRlci5zZXJ2aWNlJztcbmV4cG9ydCB7UGFnaW5hdGlvbkNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0R5bmFtaWNMaXN0RmlsdGVyQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZmlsdGVycy9keW5hbWljLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0xpc3RGaWx0ZXJDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9maWx0ZXJzL2xpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0R1ZXRpbWVJbmZvQ29tcG9uZW50IGFzIMm1Y3F9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9pbmJveC1kZXRhaWxzL2R1ZXRpbWVJbmZvL2R1ZXRpbWVJbmZvLmNvbXBvbmVudCc7XG5leHBvcnQge0VkaXRJY29uQ29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9vYmplY3QtZGV0YWlscy9lZGl0LWljb24vZWRpdC1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQge1ByZXBhcmVDb250ZW50RXhpc3RzSW5mb0NvbXBvbmVudCBhcyDJtWNyfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvcHJlcGFyZS1kZXRhaWxzL3ByZXBhcmUtY29udGVudC1leGlzdHMtaW5mby9wcmVwYXJlLWNvbnRlbnQtZXhpc3RzLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7UHJvY2Vzc0Zvcm1Db21wb25lbnQgYXMgybV3fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvcHJvY2Vzcy1mb3JtL3Byb2Nlc3MtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9jZXNzRm9ybU1vZHVsZSBhcyDJtXZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLm1vZHVsZSc7XG5leHBvcnQge1RyZWVOb2RlQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3RyZWUvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnQnO1xuZXhwb3J0IHtJbmRleGRhdGFTdW1tYXJ5RW50cnlDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdWkvaW5kZXhkYXRhLXN1bW1hcnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkuY29tcG9uZW50JztcbmV4cG9ydCB7UXVlcnlTY29wZVNlbGVjdENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91aS9xdWVyeS1zY29wZS1zZWxlY3QvcXVlcnktc2NvcGUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1NpZ25hdHVyZVRhYkNvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91aS9zaWduYXR1cmUtdGFiL3NpZ25hdHVyZS10YWIuY29tcG9uZW50JztcbmV4cG9ydCB7VXBsb2FkT3ZlcmxheUd1YXJkIGFzIMm1Yn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3VwbG9hZC1vdmVybGF5L3VwbG9hZC1vdmVybGF5LWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0IHtVbnN1YnNjcmliZU9uRGVzdHJveSBhcyDJtWZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsJztcbmV4cG9ydCB7UHJldmVudERvdWJsZUNsaWNrRGlyZWN0aXZlIGFzIMm1Y299IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS9wcmV2ZW50LWRvdWJsZS1jbGljay5kaXJlY3RpdmUnO1xuZXhwb3J0IHtUcmFwRm9jdXNEaXJlY3RpdmUgYXMgybVofSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXRpbC9kaXJlY3RpdmUvdHJhcC1mb2N1cy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtPcmRlckJ5UGlwZSBhcyDJtWt9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsL3NvcnRhYmxlL29yZGVyLWJ5LnBpcGUnOyJdfQ==
|
|
@@ -33,6 +33,7 @@ import { SystemStatusService } from './service/system-status/system-status.servi
|
|
|
33
33
|
import { AuthInterceptor } from './service/auth/auth-interceptor';
|
|
34
34
|
import { EnvironmentService } from './service/environment/environment.service';
|
|
35
35
|
import { CUSTOM_CONFIG, CORE_CONFIG } from './config/core-init.tokens';
|
|
36
|
+
import { SigningService } from './service/signing/signing.service';
|
|
36
37
|
/**
|
|
37
38
|
* Main module for connecting an app to an yuuvis<sup>®</sup> RAD backend. To use it just import int in your app module:
|
|
38
39
|
*
|
|
@@ -108,6 +109,7 @@ EoCoreModule.decorators = [
|
|
|
108
109
|
SystemService,
|
|
109
110
|
AppCacheService,
|
|
110
111
|
DmsService,
|
|
112
|
+
SigningService,
|
|
111
113
|
Config,
|
|
112
114
|
PrepareService,
|
|
113
115
|
InboxService,
|
|
@@ -136,4 +138,4 @@ EoCoreModule.decorators = [
|
|
|
136
138
|
EoCoreModule.ctorParameters = () => [
|
|
137
139
|
{ type: EoCoreModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
138
140
|
];
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL2VvLWNvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtC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O29CQUNOLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsVUFBVTtvQkFDVixNQUFNO29CQUNOLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixVQUFVO29CQUNWLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixrQkFBa0I7b0JBQ2xCO3dCQUNFOzsyQkFFRzt3QkFDSCxPQUFPLEVBQUUsTUFBTTt3QkFDZixRQUFRLEVBQUUsaUJBQWlCO3FCQUM1QjtvQkFDRCxtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUMxQjs7O1lBeUJtRCxZQUFZLHVCQUFqRCxRQUFRLFlBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29yZUNvbmZpZ30gZnJvbSAnLi9jb25maWcvY29yZS1jb25maWcnO1xuaW1wb3J0IHtpbml0X21vZHVsZX0gZnJvbSAnLi9jb25maWcvaW5pdGlhbGl6ZS1tb2R1bGUnO1xuaW1wb3J0IHtFb3hNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyfSBmcm9tICcuL2NvbmZpZy9taXNzaW5nLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xuaW1wb3J0IHtFb3hUcmFuc2xhdGVKc29uTG9hZGVyfSBmcm9tICcuL2NvbmZpZy90cmFuc2xhdGUtanNvbi1sb2FkZXInO1xuaW1wb3J0IHtDb3JlSW5pdH0gZnJvbSAnLi9jb25maWcvY29yZS1pbml0LnNlcnZpY2UnO1xuaW1wb3J0IHtBdXRoU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuL3NlcnZpY2UvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtCcG1TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvYnBtL2JwbS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FwYWJpbGl0aWVzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4vc2VydmljZS9sb2dnZXIvbG9nZ2VyJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvZXZlbnRzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtJbmJveFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7UHJlcGFyZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcmVwYXJlL3ByZXBhcmUuc2VydmljZSc7XG5pbXBvcnQge1VwbG9hZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS91cGxvYWQvdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4vc2VydmljZS91c2VyL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1RvYXN0ck1vZHVsZX0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQge0Rtc1NlcnZpY2V9IGZyb20gJy4vc2VydmljZS9kbXMvZG1zLnNlcnZpY2UnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3N0b3JlZC1xdWVyaWVzL3N0b3JlZC1xdWVyaWVzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7Q2xpcGJvYXJkU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2NsaXBib2FyZC9jbGlwYm9hcmQuc2VydmljZSc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnNTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25zb2xlTG9nU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2xvZ2dlci9jb25zb2xlLWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7VXBsb2FkUmVnaXN0cnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvdXBsb2FkLXJlZ2lzdHJ5L3VwbG9hZC1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFb1NoYXJlZE1vZHVsZX0gZnJvbSAnLi9lby1jb3JlLXNoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtTeXN0ZW1TdGF0dXNTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc3lzdGVtLXN0YXR1cy9zeXN0ZW0tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHtBdXRoSW50ZXJjZXB0b3J9IGZyb20gJy4vc2VydmljZS9hdXRoL2F1dGgtaW50ZXJjZXB0b3InO1xuaW1wb3J0IHtFbnZpcm9ubWVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7Q1VTVE9NX0NPTkZJRywgQ09SRV9DT05GSUd9IGZyb20gJy4vY29uZmlnL2NvcmUtaW5pdC50b2tlbnMnO1xuXG4vKipcbiAqIE1haW4gbW9kdWxlIGZvciBjb25uZWN0aW5nIGFuIGFwcCB0byBhbiB5dXV2aXM8c3VwPiZyZWc7PC9zdXA+IFJBRCBiYWNrZW5kLiBUbyB1c2UgaXQganVzdCBpbXBvcnQgaW50IGluIHlvdXIgYXBwIG1vZHVsZTpcbiAqXG4gKiBgYGBqYXZhc2NyaXB0XG4gKiBATmdNb2R1bGUoe1xuICogICBpbXBvcnRzOiBbXG4gKiAgICAgRW9Db3JlTW9kdWxlLmZvclJvb3QoPGNvbmZpZz4pXG4gKiAgIF0sIC4uLn0pXG4gKiBgYGBcbiAqXG4gKiBhZGQgdGhlIHN0eWxlcyB0byB5b3VyIENMSSBwcm9qZWN0IGJ5IGFkZGluZyBgbm9kZV9tb2R1bGVzL0BlbmFpby1zZGsvY29yZS9tYWluLmNzc2AgdG8gdGhlIHN0eWxlcyBzZWN0aW9uIG9mIHlvdXIgYGFuZ3VsYXIuanNvbmAgb3JcbiAqIHVzZSBgQGltcG9ydCAnfkBlby1zZGsvY29yZS9tYWluLmNzcyc7YCBpbiB0aGUgbWFpbiBzdHlsZXMuc2Nzcy5cbiAqXG4gKiAjIyBjb25maWdcbiAqIGBFb0NvcmVNb2R1bGVgIGNhbiBiZSBpbml0aWFsaXplZCB3aXRoIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb246IElmIGl0J3Mgbm90IHNldCwgZGVmYXVsdHMgYXBwbHkuXG4gKlxuICogYGBganNvblxuICogIHtcbiAqICAgIG1haW46IEVuYWlvQ29uZmlnIHwgc3RyaW5nW10sICAgICAvLyBtYWluIGNvbmZpZyBvYmplY3Qgb3IgcGF0aHMgdG8gdGhlIGNvbmZpZyBmaWxlcyAoZGVmYXVsdHMgdG86IFsnYXNzZXRzL19kZWZhdWx0L2NvbmZpZy9tYWluLmpzb24nXSlcbiAqICAgIHRyYW5zbGF0aW9uczogc3RyaW5nW10gICAgICAgICAgICAvLyBwYXRocyB0byBmb2xkZXJzIHdoZXJlIHRoZSB0cmFuc2xhdGlvbnMgcmVzaWRlIChkZWZhdWx0cyB0bzogWydhc3NldHMvX2RlZmF1bHQvaTE4bi8nXSlcbiAqICB9XG4gKiBgYGBcbiAqXG4gKiBgRW9Db3JlTW9kdWxlYCByZS1leHBvcnRzIEVvU2hhcmVkTW9kdWxlLCBzbyB5b3UgY2FuIHVzZSBzaGFyZWQgbW9kdWxlcyAoZm9yIGV4YW1wbGUgdHJhbnNsYXRpb25zKSBpbnNpZGUgb2YgeW91ciBhcHAuXG4gKiBJZiB5b3UgY3JlYXRlIHlvdXIgb3duIG1vZHVsZXMgdGhhdCBnZXQgaW1wb3J0ZWQgaW4geW91ciBhcHAgbW9kdWxlLCB5b3UgbmVlZCB0byBpbXBvcnQgRW9TaGFyZWRNb2R1bGUgdGhlcmUgb24geW91ciBvd24uXG4gKiBKdXN0IGFkZCBgaW1wb3J0IHtFb1NoYXJlZE1vZHVsZX0gZnJvbSAnQGVvLXNkay9jb3JlJztgIGFuZCB5b3UgYXJlIHJlYWR5IHRvIGdvLiBFdmVyeXRoaW5nIGVsc2UgaXNcbiAqIGhhbmRsZWQgYnkgYEVvQ29yZU1vZHVsZWAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KCksXG4gICAgLyoqXG4gICAgICogW3RvIHVzZSB0b2FzdHIgd2l0aG91dCBkZXBlbmRlbmN5IG9mIEBhbmd1bGFyL2FuaW1hdGlvbnNde0BsaW5rIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25neC10b2FzdHJ9XG4gICAgICovXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBdXRoU2VydmljZSxcbiAgICBCYWNrZW5kU2VydmljZSxcbiAgICBMb2dnZXIsXG4gICAgVXNlclNlcnZpY2UsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTeXN0ZW1TZXJ2aWNlLFxuICAgIEFwcENhY2hlU2VydmljZSxcbiAgICBEbXNTZXJ2aWNlLFxuICAgIENvbmZpZyxcbiAgICBQcmVwYXJlU2VydmljZSxcbiAgICBJbmJveFNlcnZpY2UsXG4gICAgQnBtU2VydmljZSxcbiAgICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIENsaXBib2FyZFNlcnZpY2UsXG4gICAgVXBsb2FkU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICAgIEV2ZW50U2VydmljZSxcbiAgICBVcGxvYWRSZWdpc3RyeVNlcnZpY2UsXG4gICAgRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHtcbiAgICAgIC8qKlxuICAgICAgICogcHJvdmlkZSBhIGxvZ2dpbmcgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtXG4gICAgICAgKi9cbiAgICAgIHByb3ZpZGU6IExvZ2dlcixcbiAgICAgIHVzZUNsYXNzOiBDb25zb2xlTG9nU2VydmljZVxuICAgIH0sXG4gICAgU3lzdGVtU3RhdHVzU2VydmljZVxuICBdLFxuICBleHBvcnRzOiBbRW9TaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVvQ29yZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IENvcmVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVvQ29yZU1vZHVsZT4ge1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBFb0NvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ29yZUluaXQsXG4gICAgICAgIHtwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEF1dGhJbnRlcmNlcHRvciwgbXVsdGk6IHRydWV9LFxuICAgICAgICB7cHJvdmlkZTogQ1VTVE9NX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZ30sXG4gICAgICAgIHtwcm92aWRlOiBDT1JFX0NPTkZJRywgdXNlQ2xhc3M6IENvcmVDb25maWcsIGRlcHM6IFtDVVNUT01fQ09ORklHXX0sXG4gICAgICAgIHtwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IGluaXRfbW9kdWxlLCBkZXBzOiBbQ29yZUluaXRdLCBtdWx0aTogdHJ1ZX0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBvdmVycmlkaW5nIHRyYW5zbGF0ZSBtb2R1bGVzIGRlZmF1bHRzXG4gICAgICAgICAqIHRoaXMgd29ya3MgYmVjYXVzZSBwcm92aWRlcnMgYXJlIHNpbmdsZXRvbnNcbiAgICAgICAgICovXG4gICAgICAgIHtwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsIHVzZUNsYXNzOiBFb3hUcmFuc2xhdGVKc29uTG9hZGVyLCBkZXBzOiBbSHR0cENsaWVudCwgQ09SRV9DT05GSUddfSxcbiAgICAgICAge3Byb3ZpZGU6IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIHVzZUNsYXNzOiBFb3hNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBFb0NvcmVNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFb0NvcmVNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL2VvLWNvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtC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LFNBQVMsRUFBRTtvQkFDVCxXQUFXO29CQUNYLGNBQWM7b0JBQ2QsTUFBTTtvQkFDTixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO29CQUNmLFVBQVU7b0JBQ1YsY0FBYztvQkFDZCxNQUFNO29CQUNOLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixVQUFVO29CQUNWLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixrQkFBa0I7b0JBQ2xCO3dCQUNFOzsyQkFFRzt3QkFDSCxPQUFPLEVBQUUsTUFBTTt3QkFDZixRQUFRLEVBQUUsaUJBQWlCO3FCQUM1QjtvQkFDRCxtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUMxQjs7O1lBeUJtRCxZQUFZLHVCQUFqRCxRQUFRLFlBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29yZUNvbmZpZ30gZnJvbSAnLi9jb25maWcvY29yZS1jb25maWcnO1xuaW1wb3J0IHtpbml0X21vZHVsZX0gZnJvbSAnLi9jb25maWcvaW5pdGlhbGl6ZS1tb2R1bGUnO1xuaW1wb3J0IHtFb3hNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyfSBmcm9tICcuL2NvbmZpZy9taXNzaW5nLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xuaW1wb3J0IHtFb3hUcmFuc2xhdGVKc29uTG9hZGVyfSBmcm9tICcuL2NvbmZpZy90cmFuc2xhdGUtanNvbi1sb2FkZXInO1xuaW1wb3J0IHtDb3JlSW5pdH0gZnJvbSAnLi9jb25maWcvY29yZS1pbml0LnNlcnZpY2UnO1xuaW1wb3J0IHtBdXRoU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuL3NlcnZpY2UvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHtCcG1TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvYnBtL2JwbS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FwYWJpbGl0aWVzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4vc2VydmljZS9sb2dnZXIvbG9nZ2VyJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvZXZlbnRzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtJbmJveFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7UHJlcGFyZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcmVwYXJlL3ByZXBhcmUuc2VydmljZSc7XG5pbXBvcnQge1VwbG9hZFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS91cGxvYWQvdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4vc2VydmljZS91c2VyL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1RvYXN0ck1vZHVsZX0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQge0Rtc1NlcnZpY2V9IGZyb20gJy4vc2VydmljZS9kbXMvZG1zLnNlcnZpY2UnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3N0b3JlZC1xdWVyaWVzL3N0b3JlZC1xdWVyaWVzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7Q2xpcGJvYXJkU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2NsaXBib2FyZC9jbGlwYm9hcmQuc2VydmljZSc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnNTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25zb2xlTG9nU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2xvZ2dlci9jb25zb2xlLWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7VXBsb2FkUmVnaXN0cnlTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvdXBsb2FkLXJlZ2lzdHJ5L3VwbG9hZC1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFb1NoYXJlZE1vZHVsZX0gZnJvbSAnLi9lby1jb3JlLXNoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtTeXN0ZW1TdGF0dXNTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2Uvc3lzdGVtLXN0YXR1cy9zeXN0ZW0tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHtBdXRoSW50ZXJjZXB0b3J9IGZyb20gJy4vc2VydmljZS9hdXRoL2F1dGgtaW50ZXJjZXB0b3InO1xuaW1wb3J0IHtFbnZpcm9ubWVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7Q1VTVE9NX0NPTkZJRywgQ09SRV9DT05GSUd9IGZyb20gJy4vY29uZmlnL2NvcmUtaW5pdC50b2tlbnMnO1xuaW1wb3J0IHtTaWduaW5nU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NpZ25pbmcvc2lnbmluZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBNYWluIG1vZHVsZSBmb3IgY29ubmVjdGluZyBhbiBhcHAgdG8gYW4geXV1dmlzPHN1cD4mcmVnOzwvc3VwPiBSQUQgYmFja2VuZC4gVG8gdXNlIGl0IGp1c3QgaW1wb3J0IGludCBpbiB5b3VyIGFwcCBtb2R1bGU6XG4gKlxuICogYGBgamF2YXNjcmlwdFxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIEVvQ29yZU1vZHVsZS5mb3JSb290KDxjb25maWc+KVxuICogICBdLCAuLi59KVxuICogYGBgXG4gKlxuICogYWRkIHRoZSBzdHlsZXMgdG8geW91ciBDTEkgcHJvamVjdCBieSBhZGRpbmcgYG5vZGVfbW9kdWxlcy9AZW5haW8tc2RrL2NvcmUvbWFpbi5jc3NgIHRvIHRoZSBzdHlsZXMgc2VjdGlvbiBvZiB5b3VyIGBhbmd1bGFyLmpzb25gIG9yXG4gKiB1c2UgYEBpbXBvcnQgJ35AZW8tc2RrL2NvcmUvbWFpbi5jc3MnO2AgaW4gdGhlIG1haW4gc3R5bGVzLnNjc3MuXG4gKlxuICogIyMgY29uZmlnXG4gKiBgRW9Db3JlTW9kdWxlYCBjYW4gYmUgaW5pdGlhbGl6ZWQgd2l0aCBhIGN1c3RvbSBjb25maWd1cmF0aW9uOiBJZiBpdCdzIG5vdCBzZXQsIGRlZmF1bHRzIGFwcGx5LlxuICpcbiAqIGBgYGpzb25cbiAqICB7XG4gKiAgICBtYWluOiBFbmFpb0NvbmZpZyB8IHN0cmluZ1tdLCAgICAgLy8gbWFpbiBjb25maWcgb2JqZWN0IG9yIHBhdGhzIHRvIHRoZSBjb25maWcgZmlsZXMgKGRlZmF1bHRzIHRvOiBbJ2Fzc2V0cy9fZGVmYXVsdC9jb25maWcvbWFpbi5qc29uJ10pXG4gKiAgICB0cmFuc2xhdGlvbnM6IHN0cmluZ1tdICAgICAgICAgICAgLy8gcGF0aHMgdG8gZm9sZGVycyB3aGVyZSB0aGUgdHJhbnNsYXRpb25zIHJlc2lkZSAoZGVmYXVsdHMgdG86IFsnYXNzZXRzL19kZWZhdWx0L2kxOG4vJ10pXG4gKiAgfVxuICogYGBgXG4gKlxuICogYEVvQ29yZU1vZHVsZWAgcmUtZXhwb3J0cyBFb1NoYXJlZE1vZHVsZSwgc28geW91IGNhbiB1c2Ugc2hhcmVkIG1vZHVsZXMgKGZvciBleGFtcGxlIHRyYW5zbGF0aW9ucykgaW5zaWRlIG9mIHlvdXIgYXBwLlxuICogSWYgeW91IGNyZWF0ZSB5b3VyIG93biBtb2R1bGVzIHRoYXQgZ2V0IGltcG9ydGVkIGluIHlvdXIgYXBwIG1vZHVsZSwgeW91IG5lZWQgdG8gaW1wb3J0IEVvU2hhcmVkTW9kdWxlIHRoZXJlIG9uIHlvdXIgb3duLlxuICogSnVzdCBhZGQgYGltcG9ydCB7RW9TaGFyZWRNb2R1bGV9IGZyb20gJ0Blby1zZGsvY29yZSc7YCBhbmQgeW91IGFyZSByZWFkeSB0byBnby4gRXZlcnl0aGluZyBlbHNlIGlzXG4gKiBoYW5kbGVkIGJ5IGBFb0NvcmVNb2R1bGVgLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIC8qKlxuICAgICAqIFt0byB1c2UgdG9hc3RyIHdpdGhvdXQgZGVwZW5kZW5jeSBvZiBAYW5ndWxhci9hbmltYXRpb25zXXtAbGluayBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9uZ3gtdG9hc3RyfVxuICAgICAqL1xuICAgIFRvYXN0ck1vZHVsZS5mb3JSb290KClcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQXV0aFNlcnZpY2UsXG4gICAgQmFja2VuZFNlcnZpY2UsXG4gICAgTG9nZ2VyLFxuICAgIFVzZXJTZXJ2aWNlLFxuICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgU3lzdGVtU2VydmljZSxcbiAgICBBcHBDYWNoZVNlcnZpY2UsXG4gICAgRG1zU2VydmljZSxcbiAgICBTaWduaW5nU2VydmljZSxcbiAgICBDb25maWcsXG4gICAgUHJlcGFyZVNlcnZpY2UsXG4gICAgSW5ib3hTZXJ2aWNlLFxuICAgIEJwbVNlcnZpY2UsXG4gICAgQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBDbGlwYm9hcmRTZXJ2aWNlLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICBTdG9yZWRRdWVyaWVzU2VydmljZSxcbiAgICBFdmVudFNlcnZpY2UsXG4gICAgVXBsb2FkUmVnaXN0cnlTZXJ2aWNlLFxuICAgIEVudmlyb25tZW50U2VydmljZSxcbiAgICB7XG4gICAgICAvKipcbiAgICAgICAqIHByb3ZpZGUgYSBsb2dnaW5nIGltcGxlbWVudGF0aW9uIGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybVxuICAgICAgICovXG4gICAgICBwcm92aWRlOiBMb2dnZXIsXG4gICAgICB1c2VDbGFzczogQ29uc29sZUxvZ1NlcnZpY2VcbiAgICB9LFxuICAgIFN5c3RlbVN0YXR1c1NlcnZpY2VcbiAgXSxcbiAgZXhwb3J0czogW0VvU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFb0NvcmVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBDb3JlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFb0NvcmVNb2R1bGU+IHtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRW9Db3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvcmVJbml0LFxuICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcbiAgICAgICAge3Byb3ZpZGU6IENVU1RPTV9DT05GSUcsIHVzZVZhbHVlOiBjb25maWd9LFxuICAgICAgICB7cHJvdmlkZTogQ09SRV9DT05GSUcsIHVzZUNsYXNzOiBDb3JlQ29uZmlnLCBkZXBzOiBbQ1VTVE9NX0NPTkZJR119LFxuICAgICAgICB7cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBpbml0X21vZHVsZSwgZGVwczogW0NvcmVJbml0XSwgbXVsdGk6IHRydWV9LFxuICAgICAgICAvKipcbiAgICAgICAgICogb3ZlcnJpZGluZyB0cmFuc2xhdGUgbW9kdWxlcyBkZWZhdWx0c1xuICAgICAgICAgKiB0aGlzIHdvcmtzIGJlY2F1c2UgcHJvdmlkZXJzIGFyZSBzaW5nbGV0b25zXG4gICAgICAgICAqL1xuICAgICAgICB7cHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLCB1c2VDbGFzczogRW94VHJhbnNsYXRlSnNvbkxvYWRlciwgZGVwczogW0h0dHBDbGllbnQsIENPUkVfQ09ORklHXX0sXG4gICAgICAgIHtwcm92aWRlOiBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLCB1c2VDbGFzczogRW94TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcn1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogRW9Db3JlTW9kdWxlKSB7XG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRW9Db3JlTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|