@smartbit4all/ng-client 6.0.27 → 6.0.28
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/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +2 -6
- package/fesm2022/smartbit4all-ng-client.mjs +1 -5
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-6.0.28.tgz +0 -0
- package/smartbit4all-ng-client-6.0.27.tgz +0 -0
package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs
CHANGED
|
@@ -34,13 +34,11 @@ export class UiActionButtonComponent {
|
|
|
34
34
|
this.componentLibrary = ComponentLibrary;
|
|
35
35
|
this.pressedButtonActive = true;
|
|
36
36
|
this.menuOpened = false;
|
|
37
|
-
// Merges caller-supplied descriptor with defaults. Was done by mutating this.descriptor
|
|
38
|
-
// in ngOnInit; descriptor is now a read-only input, so it's derived instead.
|
|
39
37
|
this.effectiveDescriptor = computed(() => {
|
|
40
38
|
const descriptor = this.descriptor();
|
|
41
39
|
const code = this.code();
|
|
42
40
|
const defaults = {
|
|
43
|
-
title:
|
|
41
|
+
title: '',
|
|
44
42
|
color: 'primary',
|
|
45
43
|
type: UiActionButtonType.NORMAL,
|
|
46
44
|
};
|
|
@@ -52,8 +50,6 @@ export class UiActionButtonComponent {
|
|
|
52
50
|
type: descriptor?.type ?? defaults.type,
|
|
53
51
|
};
|
|
54
52
|
});
|
|
55
|
-
// Was built once in ngOnInit / rebuilt in ngOnChanges; now recomputed whenever any
|
|
56
|
-
// dependency signal changes.
|
|
57
53
|
this.mainActionModel = computed(() => ({
|
|
58
54
|
descriptor: this.effectiveDescriptor(),
|
|
59
55
|
uiAction: {
|
|
@@ -264,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
264
260
|
}], actionDoubleClick: [{
|
|
265
261
|
type: Output
|
|
266
262
|
}] } });
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1QjtJQXFFbEMsWUFDUyxjQUFpQyxFQUNELE9BQTBCO1FBRDFELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQXJFbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELDJDQUEyQztRQUMzQyxhQUFRLEdBQUcs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b250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBjb21wdXRlZCxcclxuICBpbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcclxuaW1wb3J0IHsgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL2ljb25Qb3NpdGlvbic7XHJcbmltcG9ydCB7IFN0eWxlLCBVaUFjdGlvbiwgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRTdHlsZVV0aWxpdHkgfSBmcm9tICcuLi8uLi91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5pbXBvcnQgeyBCdXR0b25JY29uUGxhY2Vob2xkZXIgfSBmcm9tICcuL2J1dHRvbi1pY29uLXBsYWNlaG9sZGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWN0aW9uLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgLy8gLS0tIFNpZ25hbCBpbnB1dHMgKHJlcGxhY2UgQElucHV0KCkpIC0tLVxyXG4gIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuICBkZXNjcmlwdG9yID0gaW5wdXQucmVxdWlyZWQ8VWlBY3Rpb25EZXNjcmlwdG9yPigpO1xyXG4gIGNvZGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgLyoqXHJcbiAgICogU2VydmVyLWNvbXB1dGVkIHRocmVlLXN0YXRlIHZpZXctYWN0aXZhdGlvbiBmbGFnIChudWxsID0gbm90IGFuIG9wZW5lciwgZmFsc2UgPSBpbmFjdGl2ZSwgdHJ1ZSA9XHJcbiAgICogYWN0aXZlKSwgbWFwcGVkIHRvIHNiNC12aWV3LW9wZW5lci8tYWN0aXZhdGVkLy1ub3QtYWN0aXZhdGVkIGNsYXNzZXMuIENsaWVudCBuZXZlciB3cml0ZXMgaXQuXHJcbiAgICovXHJcbiAgdmlld0FjdGl2YXRlZCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPigpO1xyXG4gIGFkZGVkQ3NzQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgYWRkQmFzaWNDbGFzc2VzID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaWNvblBsYWNlaG9sZGVyID0gaW5wdXQ8QnV0dG9uSWNvblBsYWNlaG9sZGVyPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGV2ZW50OiBNb3VzZUV2ZW50O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgICB1aUFjdGlvbj86IFVpQWN0aW9uO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkRvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudDogYW55O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuXHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgY29tcExpYjogQ29tcG9uZW50TGlicmFyeTtcclxuXHJcbiAgcHJlc3NlZEJ1dHRvbkFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbWVudU9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBNZXJnZXMgY2FsbGVyLXN1cHBsaWVkIGRlc2NyaXB0b3Igd2l0aCBkZWZhdWx0cy4gV2FzIGRvbmUgYnkgbXV0YXRpbmcgdGhpcy5kZXNjcmlwdG9yXHJcbiAgLy8gaW4gbmdPbkluaXQ7IGRlc2NyaXB0b3IgaXMgbm93IGEgcmVhZC1vbmx5IGlucHV0LCBzbyBpdCdzIGRlcml2ZWQgaW5zdGVhZC5cclxuICBlZmZlY3RpdmVEZXNjcmlwdG9yID0gY29tcHV0ZWQ8VWlBY3Rpb25EZXNjcmlwdG9yPigoKSA9PiB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yKCk7XHJcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlKCk7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdHM6IFBhcnRpYWw8VWlBY3Rpb25EZXNjcmlwdG9yPiA9IHtcclxuICAgICAgdGl0bGU6IGNvZGUgPz8gJ1VOREVGSU5FRF9CVVRUT04nLFxyXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5kZWZhdWx0cyxcclxuICAgICAgLi4uZGVzY3JpcHRvcixcclxuICAgICAgdGl0bGU6IGRlc2NyaXB0b3I/LnRpdGxlID8/IGRlZmF1bHRzLnRpdGxlLFxyXG4gICAgICBjb2xvcjogZGVzY3JpcHRvcj8uY29sb3IgPz8gZGVmYXVsdHMuY29sb3IsXHJcbiAgICAgIHR5cGU6IGRlc2NyaXB0b3I/LnR5cGUgPz8gZGVmYXVsdHMudHlwZSxcclxuICAgIH0gYXMgVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gIH0pO1xyXG5cclxuICAvLyBXYXMgYnVpbHQgb25jZSBpbiBuZ09uSW5pdCAvIHJlYnVpbHQgaW4gbmdPbkNoYW5nZXM7IG5vdyByZWNvbXB1dGVkIHdoZW5ldmVyIGFueVxyXG4gIC8vIGRlcGVuZGVuY3kgc2lnbmFsIGNoYW5nZXMuXHJcbiAgbWFpbkFjdGlvbk1vZGVsID0gY29tcHV0ZWQ8VWlBY3Rpb25Nb2RlbD4oXHJcbiAgICAoKSA9PlxyXG4gICAgICAoe1xyXG4gICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLFxyXG4gICAgICAgIHVpQWN0aW9uOiB7XHJcbiAgICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcclxuICAgICAgICAgIGNvZGU6IHRoaXMuY29kZSgpLFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSA/PyBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KSBhcyBVaUFjdGlvbk1vZGVsXHJcbiAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHtcclxuICAgIHRoaXMuY29tcExpYiA9IGNvbXBMaWIgPz8gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50LCBtb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtcclxuICAgICAgZXZlbnQsXHJcbiAgICAgIGNvZGU6IG1vZGVsLnVpQWN0aW9uLmNvZGUsXHJcbiAgICAgIGRlc2NyaXB0b3I6IG1vZGVsLmRlc2NyaXB0b3IhLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3Rpb25Eb3VibGVDbGljay5lbWl0KHtcclxuICAgICAgZXZlbnQsXHJcbiAgICAgIGNvZGU6IHRoaXMuY29kZSgpLFxyXG4gICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0eXBlID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk/LnR5cGU7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxyXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUIgfHxcclxuICAgICAgdHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldGJ0bkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKCkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3I7XHJcbiAgICBpZiAoY29sb3IpIHtcclxuICAgICAgcmV0dXJuICdwLWJ1dHRvbi0nICsgY29sb3IgKyAnIHNiNC0nICsgY29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKCkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LW5vcm1hbCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1mbGF0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1zdHJva2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtbWluaWZhYic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1mYWInOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWljb24nOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWJhc2ljJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoICh0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKS50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWJ1dHRvbiBzYjQtbm9ybWFsJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZsYXQtYnV0dG9uIHNiNC1mbGF0JztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbiBzYjQtcmFpc2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uIHNiNC1zdHJva2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uIHNiNC1pY29uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1taW5pLWZhYiBzYjQtbWluaWZhYic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYiBzYjQtZmFiJztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uIHNiNC1iYXNpY2A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGNTdHlsZShzdHlsZT86IFN0eWxlKTogYW55IHtcclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyhzdHlsZSk7XHJcbiAgfVxyXG4gIGNhbGNDbGFzc2VzKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3NlcyhzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21iaW5lZENsYXNzZXMoKTogYW55IHtcclxuICAgIGNvbnN0IHR5cGVDbGFzc2VzID0gdGhpcy5nZXRUeXBlKCk7XHJcbiAgICBjb25zdCBzdHlsZUNsYXNzZXMgPSB0aGlzLmNhbGNDbGFzc2VzKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKTtcclxuXHJcbiAgICAvLyBOb3JtYWxpemUgdHlwZUNsYXNzZXMgdG8gb2JqZWN0XHJcbiAgICBjb25zdCB0eXBlT2JqID1cclxuICAgICAgdHlwZW9mIHR5cGVDbGFzc2VzID09PSAnc3RyaW5nJ1xyXG4gICAgICAgID8gdHlwZUNsYXNzZXMuc3BsaXQoJyAnKS5yZWR1Y2UoKGFjYywgY2xzKSA9PiAoeyAuLi5hY2MsIFtjbHNdOiB0cnVlIH0pLCB7fSlcclxuICAgICAgICA6IHR5cGVDbGFzc2VzO1xyXG5cclxuICAgIC8vIFZpZXctYWN0aXZhdGlvbiBjbGFzc2VzLCBvcnRob2dvbmFsIHRvIHRoZSBkZXNjcmlwdG9yLnR5cGUgbG9vayBjbGFzc2VzIGFib3ZlLlxyXG4gICAgY29uc3Qgdmlld0FjdGl2YXRlZCA9IHRoaXMudmlld0FjdGl2YXRlZCgpO1xyXG4gICAgY29uc3QgaXNPcGVuZXIgPSB2aWV3QWN0aXZhdGVkICE9PSBudWxsICYmIHZpZXdBY3RpdmF0ZWQgIT09IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGFjdGl2YXRpb25DbGFzc2VzID0ge1xyXG4gICAgICAnc2I0LXZpZXctb3BlbmVyJzogaXNPcGVuZXIsXHJcbiAgICAgICdzYjQtdmlldy1hY3RpdmF0ZWQnOiB2aWV3QWN0aXZhdGVkID09PSB0cnVlLFxyXG4gICAgICAnc2I0LXZpZXctbm90LWFjdGl2YXRlZCc6IHZpZXdBY3RpdmF0ZWQgPT09IGZhbHNlLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4geyAuLi50eXBlT2JqLCAuLi5zdHlsZUNsYXNzZXMsIC4uLmFjdGl2YXRpb25DbGFzc2VzIH07XHJcbiAgfVxyXG5cclxuICByZW5kZXJQcmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gSWNvblBvc2l0aW9uLlBSRSAmJlxyXG4gICAgICAoZGVzY3JpcHRvci5pY29uICE9IG51bGwgfHwgZGVzY3JpcHRvci5pY29uUmVzb3VyY2UgIT0gbnVsbClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJQb3N0KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QT1NUICYmXHJcbiAgICAgIChkZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCBkZXNjcmlwdG9yLmljb25SZXNvdXJjZSAhPSBudWxsKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk/LmNvbG9yIHx8ICd0ZXh0JztcclxuICB9XHJcblxyXG4gIHJlbmRlclBsYWNlaG9sZGVyUHJlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSB8fFxyXG4gICAgICBpY29uUGxhY2Vob2xkZXIgPT09IEJ1dHRvbkljb25QbGFjZWhvbGRlci5CT1RIXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUGxhY2Vob2xkZXJQb3N0KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QgfHxcclxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuQk9USFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEp1c3RpZnlDb250ZW50KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIGlmICghaWNvblBsYWNlaG9sZGVyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEgpIHtcclxuICAgICAgcmV0dXJuICdjZW50ZXInO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSkge1xyXG4gICAgICByZXR1cm4gJ2ZsZXgtc3RhcnQnO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QpIHtcclxuICAgICAgcmV0dXJuICdmbGV4LWVuZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldFNlcGFyYXRvckNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ3JnYihmcm9tIHZhcigtLScgKyB0aGlzLmdldENvbG9yKCkgKyAnLWNvbG9yKSByIGcgYiAvIDAuOCknO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50eXBlID09PSAnU0VQQVJBVE9SJykge1xyXG4gIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cclxuICAgIEBpZiAoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnRpdGxlKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yLWxhYmVsXCIgW3N0eWxlLmNvbG9yXT1cImdldFNlcGFyYXRvckNvbG9yKClcIj5cclxuICAgICAgICB7eyBlZmZlY3RpdmVEZXNjcmlwdG9yKCkudGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIiBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCJnZXRTZXBhcmF0b3JDb2xvcigpXCIgLz5cclxuICA8L2Rpdj5cclxufSBAZWxzZSB7XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbldpdGhCYWRnZVwiPjwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvbldpdGhCYWRnZT5cclxuICBAaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKSAmJiBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuYmFkZ2UpIHtcclxuICAgIDx1aS1iYWRnZSBbZGVzY3JpcHRvcl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuYmFkZ2VcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L3VpLWJhZGdlPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25UZW1wbGF0ZT5cclxuICBAaWYgKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBwQnV0dG9uXHJcbiAgICAgIHBSaXBwbGVcclxuICAgICAgW3NtYXJ0VG9vbHRpcF09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkudG9vbHRpcFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkKClcIlxyXG4gICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgbWFpbkFjdGlvbk1vZGVsKCkpXCJcclxuICAgICAgKGRibGNsaWNrKT1cIm9uQWN0aW9uRG91YmxlQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgW2F1dG9mb2N1c109XCJmYWxzZVwiXHJcbiAgICAgIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShlZmZlY3RpdmVEZXNjcmlwdG9yKCkuc3R5bGUpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q29tYmluZWRDbGFzc2VzKClcIlxyXG4gICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cImdldEp1c3RpZnlDb250ZW50KClcIlxyXG4gICAgICBjbGFzcz1cInt7IGdldGJ0bkNsYXNzKCkgfX0ge3sgYWRkZWRDc3NDbGFzcygpIH19XCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImNvZGUoKSA/PyBudWxsXCJcclxuICAgID5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzT25seUljb24oKTsgdGhlbiBidXR0b25JY29uOyBlbHNlIHRleHRcIj48L2Rpdj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIFtzbWFydFRvb2x0aXBdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLnRvb2x0aXBcIlxyXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWQoKVwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwoKSlcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImdldENvbWJpbmVkQ2xhc3NlcygpXCJcclxuICAgICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJnZXRKdXN0aWZ5Q29udGVudCgpXCJcclxuICAgICAgY2xhc3M9XCJ7eyBnZXRidG5DbGFzcygpIH19IHt7IGFkZGVkQ3NzQ2xhc3MoKSB9fVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlKCkgPz8gbnVsbFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RleHQ+XHJcbiAgQGlmIChyZW5kZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclByZSgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG4gIHt7IGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50aXRsZSB9fVxyXG4gIEBpZiAocmVuZGVyUG9zdCgpIHx8IHJlbmRlclBsYWNlaG9sZGVyUG9zdCgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25JY29uPlxyXG4gIEBpZiAocmVuZGVyUGxhY2Vob2xkZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclBvc3QoKSkge1xyXG4gICAgPHNtYXJ0LWljb24+PC9zbWFydC1pY29uPlxyXG4gIH0gQGVsc2UgaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uUmVzb3VyY2UpIHtcclxuICAgIDxzbWFydC1pY29uXHJcbiAgICAgIFtpbWFnZVJlc291cmNlXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uUmVzb3VyY2VcIlxyXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmljb25Db2xvciB8fCBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3JcIlxyXG4gICAgPjwvc21hcnQtaWNvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxzbWFydC1pY29uXHJcbiAgICAgIFtpY29uXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uXCJcclxuICAgICAgW2NvbG9yXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uQ29sb3IgfHwgZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgID48L3NtYXJ0LWljb24+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1QjtJQWlFbEMsWUFDUyxjQUFpQyxFQUNELE9BQTBCO1FBRDFELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQWpFbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELDJDQUEyQztRQUMzQyxhQUFRLEdBQUcs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QztJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FDTCxlQUFlLEtBQUsscUJBQXFCLENBQUMsSUFBSTtZQUM5QyxlQUFlLEtBQUsscUJBQXFCLENBQUMsSUFBSSxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxlQUFlLEtBQUsscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELElBQUksZUFBZSxLQUFLLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLGVBQWUsS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsc0JBQXNCLENBQUM7SUFDdEUsQ0FBQzsrR0E3UlUsdUJBQXVCLG1EQW1FeEIsaUJBQWlCO21HQW5FaEIsdUJBQXVCLDZsQ0N6QnBDLHNyR0F1RkE7OzRGRDlEYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkF1RXpCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBRyxRQUFRO3lDQW5ENUIsV0FBVztzQkFBcEIsTUFBTTtnQkFNRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL3VpQWN0aW9uQnV0dG9uVHlwZSc7XHJcbmltcG9ydCB7IEljb25Qb3NpdGlvbiB9IGZyb20gJy4uLy4uL2FwaS9tb2RlbC9pY29uUG9zaXRpb24nO1xyXG5pbXBvcnQgeyBTdHlsZSwgVWlBY3Rpb24sIFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2FwaSc7XHJcbmltcG9ydCB7IFNtYXJ0U3R5bGVVdGlsaXR5IH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9zbWFydC1zdHlsZS11dGlsaXR5JztcclxuaW1wb3J0IHsgQnV0dG9uSWNvblBsYWNlaG9sZGVyIH0gZnJvbSAnLi9idXR0b24taWNvbi1wbGFjZWhvbGRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWFjdGlvbi1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8vIC0tLSBTaWduYWwgaW5wdXRzIChyZXBsYWNlIEBJbnB1dCgpKSAtLS1cclxuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KCk7XHJcbiAgZGVzY3JpcHRvciA9IGlucHV0LnJlcXVpcmVkPFVpQWN0aW9uRGVzY3JpcHRvcj4oKTtcclxuICBjb2RlID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIC8qKlxyXG4gICAqIFNlcnZlci1jb21wdXRlZCB0aHJlZS1zdGF0ZSB2aWV3LWFjdGl2YXRpb24gZmxhZyAobnVsbCA9IG5vdCBhbiBvcGVuZXIsIGZhbHNlID0gaW5hY3RpdmUsIHRydWUgPVxyXG4gICAqIGFjdGl2ZSksIG1hcHBlZCB0byBzYjQtdmlldy1vcGVuZXIvLWFjdGl2YXRlZC8tbm90LWFjdGl2YXRlZCBjbGFzc2VzLiBDbGllbnQgbmV2ZXIgd3JpdGVzIGl0LlxyXG4gICAqL1xyXG4gIHZpZXdBY3RpdmF0ZWQgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4oKTtcclxuICBhZGRlZENzc0NsYXNzID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIGFkZEJhc2ljQ2xhc3NlcyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGljb25QbGFjZWhvbGRlciA9IGlucHV0PEJ1dHRvbkljb25QbGFjZWhvbGRlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudDogTW91c2VFdmVudDtcclxuICAgIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgICBjb2RlPzogc3RyaW5nO1xyXG4gICAgdWlBY3Rpb24/OiBVaUFjdGlvbjtcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25Eb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZXZlbnQ6IGFueTtcclxuICAgIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgICBjb2RlPzogc3RyaW5nO1xyXG4gIH0+KCk7XHJcblxyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnk7XHJcblxyXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZWZmZWN0aXZlRGVzY3JpcHRvciA9IGNvbXB1dGVkPFVpQWN0aW9uRGVzY3JpcHRvcj4oKCkgPT4ge1xyXG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuZGVzY3JpcHRvcigpO1xyXG4gICAgY29uc3QgY29kZSA9IHRoaXMuY29kZSgpO1xyXG5cclxuICAgIGNvbnN0IGRlZmF1bHRzOiBQYXJ0aWFsPFVpQWN0aW9uRGVzY3JpcHRvcj4gPSB7XHJcbiAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgY29sb3I6ICdwcmltYXJ5JyxcclxuICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTCxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uZGVmYXVsdHMsXHJcbiAgICAgIC4uLmRlc2NyaXB0b3IsXHJcbiAgICAgIHRpdGxlOiBkZXNjcmlwdG9yPy50aXRsZSA/PyBkZWZhdWx0cy50aXRsZSxcclxuICAgICAgY29sb3I6IGRlc2NyaXB0b3I/LmNvbG9yID8/IGRlZmF1bHRzLmNvbG9yLFxyXG4gICAgICB0eXBlOiBkZXNjcmlwdG9yPy50eXBlID8/IGRlZmF1bHRzLnR5cGUsXHJcbiAgICB9IGFzIFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICB9KTtcclxuXHJcbiAgbWFpbkFjdGlvbk1vZGVsID0gY29tcHV0ZWQ8VWlBY3Rpb25Nb2RlbD4oXHJcbiAgICAoKSA9PlxyXG4gICAgICAoe1xyXG4gICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLFxyXG4gICAgICAgIHVpQWN0aW9uOiB7XHJcbiAgICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcclxuICAgICAgICAgIGNvZGU6IHRoaXMuY29kZSgpLFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSA/PyBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KSBhcyBVaUFjdGlvbk1vZGVsXHJcbiAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHtcclxuICAgIHRoaXMuY29tcExpYiA9IGNvbXBMaWIgPz8gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50LCBtb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtcclxuICAgICAgZXZlbnQsXHJcbiAgICAgIGNvZGU6IG1vZGVsLnVpQWN0aW9uLmNvZGUsXHJcbiAgICAgIGRlc2NyaXB0b3I6IG1vZGVsLmRlc2NyaXB0b3IhLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3Rpb25Eb3VibGVDbGljay5lbWl0KHtcclxuICAgICAgZXZlbnQsXHJcbiAgICAgIGNvZGU6IHRoaXMuY29kZSgpLFxyXG4gICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBJY29uUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGlzT25seUljb24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB0eXBlID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk/LnR5cGU7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxyXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUIgfHxcclxuICAgICAgdHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldGJ0bkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKCkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3I7XHJcbiAgICBpZiAoY29sb3IpIHtcclxuICAgICAgcmV0dXJuICdwLWJ1dHRvbi0nICsgY29sb3IgKyAnIHNiNC0nICsgY29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IGFueSB7XHJcbiAgICBpZiAoIXRoaXMuYWRkQmFzaWNDbGFzc2VzKCkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LW5vcm1hbCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1mbGF0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1zdHJva2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtbWluaWZhYic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1mYWInOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWljb24nOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWJhc2ljJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoICh0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKS50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWJ1dHRvbiBzYjQtbm9ybWFsJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZsYXQtYnV0dG9uIHNiNC1mbGF0JztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbiBzYjQtcmFpc2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uIHNiNC1zdHJva2VkJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uIHNiNC1pY29uJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1taW5pLWZhYiBzYjQtbWluaWZhYic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYiBzYjQtZmFiJztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uIHNiNC1iYXNpY2A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGNTdHlsZShzdHlsZT86IFN0eWxlKTogYW55IHtcclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyhzdHlsZSk7XHJcbiAgfVxyXG4gIGNhbGNDbGFzc2VzKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3NlcyhzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21iaW5lZENsYXNzZXMoKTogYW55IHtcclxuICAgIGNvbnN0IHR5cGVDbGFzc2VzID0gdGhpcy5nZXRUeXBlKCk7XHJcbiAgICBjb25zdCBzdHlsZUNsYXNzZXMgPSB0aGlzLmNhbGNDbGFzc2VzKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKTtcclxuXHJcbiAgICAvLyBOb3JtYWxpemUgdHlwZUNsYXNzZXMgdG8gb2JqZWN0XHJcbiAgICBjb25zdCB0eXBlT2JqID1cclxuICAgICAgdHlwZW9mIHR5cGVDbGFzc2VzID09PSAnc3RyaW5nJ1xyXG4gICAgICAgID8gdHlwZUNsYXNzZXMuc3BsaXQoJyAnKS5yZWR1Y2UoKGFjYywgY2xzKSA9PiAoeyAuLi5hY2MsIFtjbHNdOiB0cnVlIH0pLCB7fSlcclxuICAgICAgICA6IHR5cGVDbGFzc2VzO1xyXG5cclxuICAgIC8vIFZpZXctYWN0aXZhdGlvbiBjbGFzc2VzLCBvcnRob2dvbmFsIHRvIHRoZSBkZXNjcmlwdG9yLnR5cGUgbG9vayBjbGFzc2VzIGFib3ZlLlxyXG4gICAgY29uc3Qgdmlld0FjdGl2YXRlZCA9IHRoaXMudmlld0FjdGl2YXRlZCgpO1xyXG4gICAgY29uc3QgaXNPcGVuZXIgPSB2aWV3QWN0aXZhdGVkICE9PSBudWxsICYmIHZpZXdBY3RpdmF0ZWQgIT09IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGFjdGl2YXRpb25DbGFzc2VzID0ge1xyXG4gICAgICAnc2I0LXZpZXctb3BlbmVyJzogaXNPcGVuZXIsXHJcbiAgICAgICdzYjQtdmlldy1hY3RpdmF0ZWQnOiB2aWV3QWN0aXZhdGVkID09PSB0cnVlLFxyXG4gICAgICAnc2I0LXZpZXctbm90LWFjdGl2YXRlZCc6IHZpZXdBY3RpdmF0ZWQgPT09IGZhbHNlLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4geyAuLi50eXBlT2JqLCAuLi5zdHlsZUNsYXNzZXMsIC4uLmFjdGl2YXRpb25DbGFzc2VzIH07XHJcbiAgfVxyXG5cclxuICByZW5kZXJQcmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gSWNvblBvc2l0aW9uLlBSRSAmJlxyXG4gICAgICAoZGVzY3JpcHRvci5pY29uICE9IG51bGwgfHwgZGVzY3JpcHRvci5pY29uUmVzb3VyY2UgIT0gbnVsbClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJQb3N0KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QT1NUICYmXHJcbiAgICAgIChkZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCBkZXNjcmlwdG9yLmljb25SZXNvdXJjZSAhPSBudWxsKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk/LmNvbG9yIHx8ICd0ZXh0JztcclxuICB9XHJcblxyXG4gIHJlbmRlclBsYWNlaG9sZGVyUHJlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSB8fFxyXG4gICAgICBpY29uUGxhY2Vob2xkZXIgPT09IEJ1dHRvbkljb25QbGFjZWhvbGRlci5CT1RIXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUGxhY2Vob2xkZXJQb3N0KCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QgfHxcclxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuQk9USFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEp1c3RpZnlDb250ZW50KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcclxuICAgIGlmICghaWNvblBsYWNlaG9sZGVyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEgpIHtcclxuICAgICAgcmV0dXJuICdjZW50ZXInO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSkge1xyXG4gICAgICByZXR1cm4gJ2ZsZXgtc3RhcnQnO1xyXG4gICAgfVxyXG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QpIHtcclxuICAgICAgcmV0dXJuICdmbGV4LWVuZCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldFNlcGFyYXRvckNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ3JnYihmcm9tIHZhcigtLScgKyB0aGlzLmdldENvbG9yKCkgKyAnLWNvbG9yKSByIGcgYiAvIDAuOCknO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50eXBlID09PSAnU0VQQVJBVE9SJykge1xyXG4gIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cclxuICAgIEBpZiAoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnRpdGxlKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yLWxhYmVsXCIgW3N0eWxlLmNvbG9yXT1cImdldFNlcGFyYXRvckNvbG9yKClcIj5cclxuICAgICAgICB7eyBlZmZlY3RpdmVEZXNjcmlwdG9yKCkudGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIiBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCJnZXRTZXBhcmF0b3JDb2xvcigpXCIgLz5cclxuICA8L2Rpdj5cclxufSBAZWxzZSB7XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbldpdGhCYWRnZVwiPjwvbmctY29udGFpbmVyPlxyXG59XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvbldpdGhCYWRnZT5cclxuICBAaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKSAmJiBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuYmFkZ2UpIHtcclxuICAgIDx1aS1iYWRnZSBbZGVzY3JpcHRvcl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuYmFkZ2VcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L3VpLWJhZGdlPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25UZW1wbGF0ZT5cclxuICBAaWYgKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBwQnV0dG9uXHJcbiAgICAgIHBSaXBwbGVcclxuICAgICAgW3NtYXJ0VG9vbHRpcF09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkudG9vbHRpcFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkKClcIlxyXG4gICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgbWFpbkFjdGlvbk1vZGVsKCkpXCJcclxuICAgICAgKGRibGNsaWNrKT1cIm9uQWN0aW9uRG91YmxlQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgW2F1dG9mb2N1c109XCJmYWxzZVwiXHJcbiAgICAgIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShlZmZlY3RpdmVEZXNjcmlwdG9yKCkuc3R5bGUpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q29tYmluZWRDbGFzc2VzKClcIlxyXG4gICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cImdldEp1c3RpZnlDb250ZW50KClcIlxyXG4gICAgICBjbGFzcz1cInt7IGdldGJ0bkNsYXNzKCkgfX0ge3sgYWRkZWRDc3NDbGFzcygpIH19XCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImNvZGUoKSA/PyBudWxsXCJcclxuICAgID5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzT25seUljb24oKTsgdGhlbiBidXR0b25JY29uOyBlbHNlIHRleHRcIj48L2Rpdj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIFtzbWFydFRvb2x0aXBdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLnRvb2x0aXBcIlxyXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWQoKVwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwoKSlcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImdldENvbWJpbmVkQ2xhc3NlcygpXCJcclxuICAgICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJnZXRKdXN0aWZ5Q29udGVudCgpXCJcclxuICAgICAgY2xhc3M9XCJ7eyBnZXRidG5DbGFzcygpIH19IHt7IGFkZGVkQ3NzQ2xhc3MoKSB9fVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlKCkgPz8gbnVsbFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RleHQ+XHJcbiAgQGlmIChyZW5kZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclByZSgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG4gIHt7IGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50aXRsZSB9fVxyXG4gIEBpZiAocmVuZGVyUG9zdCgpIHx8IHJlbmRlclBsYWNlaG9sZGVyUG9zdCgpKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uSWNvblwiIC8+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25JY29uPlxyXG4gIEBpZiAocmVuZGVyUGxhY2Vob2xkZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclBvc3QoKSkge1xyXG4gICAgPHNtYXJ0LWljb24+PC9zbWFydC1pY29uPlxyXG4gIH0gQGVsc2UgaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uUmVzb3VyY2UpIHtcclxuICAgIDxzbWFydC1pY29uXHJcbiAgICAgIFtpbWFnZVJlc291cmNlXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uUmVzb3VyY2VcIlxyXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmljb25Db2xvciB8fCBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3JcIlxyXG4gICAgPjwvc21hcnQtaWNvbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxzbWFydC1pY29uXHJcbiAgICAgIFtpY29uXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uXCJcclxuICAgICAgW2NvbG9yXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uQ29sb3IgfHwgZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgID48L3NtYXJ0LWljb24+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -3392,13 +3392,11 @@ class UiActionButtonComponent {
|
|
|
3392
3392
|
this.componentLibrary = ComponentLibrary;
|
|
3393
3393
|
this.pressedButtonActive = true;
|
|
3394
3394
|
this.menuOpened = false;
|
|
3395
|
-
// Merges caller-supplied descriptor with defaults. Was done by mutating this.descriptor
|
|
3396
|
-
// in ngOnInit; descriptor is now a read-only input, so it's derived instead.
|
|
3397
3395
|
this.effectiveDescriptor = computed(() => {
|
|
3398
3396
|
const descriptor = this.descriptor();
|
|
3399
3397
|
const code = this.code();
|
|
3400
3398
|
const defaults = {
|
|
3401
|
-
title:
|
|
3399
|
+
title: '',
|
|
3402
3400
|
color: 'primary',
|
|
3403
3401
|
type: UiActionButtonType.NORMAL,
|
|
3404
3402
|
};
|
|
@@ -3410,8 +3408,6 @@ class UiActionButtonComponent {
|
|
|
3410
3408
|
type: descriptor?.type ?? defaults.type,
|
|
3411
3409
|
};
|
|
3412
3410
|
});
|
|
3413
|
-
// Was built once in ngOnInit / rebuilt in ngOnChanges; now recomputed whenever any
|
|
3414
|
-
// dependency signal changes.
|
|
3415
3411
|
this.mainActionModel = computed(() => ({
|
|
3416
3412
|
descriptor: this.effectiveDescriptor(),
|
|
3417
3413
|
uiAction: {
|