@smartbit4all/ng-client 4.5.0 → 4.5.2

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.
Files changed (26) hide show
  1. package/esm2022/lib/session/projects.mjs +3 -1
  2. package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +2 -0
  3. package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +91 -0
  4. package/esm2022/lib/session/smart-session.service.mjs +1 -3
  5. package/esm2022/lib/smart-client/projects.mjs +1 -2
  6. package/esm2022/lib/smart-client/smart-component-api-client.mjs +10 -10
  7. package/esm2022/lib/smart-client/smart.component.mjs +4 -7
  8. package/esm2022/lib/smart-client/smart.service.mjs +4 -8
  9. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +2 -1
  10. package/esm2022/lib/smart-grid/smart-grid.component.mjs +2 -2
  11. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +5 -3
  12. package/fesm2022/smartbit4all-ng-client.mjs +108 -44
  13. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  14. package/lib/session/projects.d.ts +2 -0
  15. package/lib/session/smart-backend-bootstrap.config.d.ts +16 -0
  16. package/lib/session/smart-backend-bootstrap.service.d.ts +22 -0
  17. package/lib/session/smart-session.service.d.ts +0 -1
  18. package/lib/smart-client/projects.d.ts +0 -1
  19. package/lib/smart-client/smart-component-api-client.d.ts +4 -4
  20. package/lib/smart-client/smart.component.d.ts +1 -2
  21. package/lib/smart-client/smart.service.d.ts +1 -2
  22. package/package.json +1 -1
  23. package/smartbit4all-ng-client-4.5.2.tgz +0 -0
  24. package/esm2022/lib/smart-client/smart-authentication.service.mjs +0 -21
  25. package/lib/smart-client/smart-authentication.service.d.ts +0 -15
  26. package/smartbit4all-ng-client-4.5.0.tgz +0 -0
@@ -108,8 +108,10 @@ export class UiActionDescriptorService {
108
108
  if (!client.confirmDialog) {
109
109
  client.confirmDialog = server.confirmDialog;
110
110
  }
111
- this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
112
- client.confirmDialog = server.confirmDialog;
111
+ else {
112
+ this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
113
+ }
114
+ // client.confirmDialog = server.confirmDialog;
113
115
  }
114
116
  if (server.feedbackType) {
115
117
  client.feedbackType = server.feedbackType;
@@ -180,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
180
182
  providedIn: 'root',
181
183
  }]
182
184
  }], ctorParameters: () => [{ type: i1.SmartViewContextService }] });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUE4S2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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QyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUU1RCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7K0dBaExVLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnhCLE1BQU07OzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5pbXBvcnQge1xuICBVaUFjdGlvbixcbiAgSWNvblBvc2l0aW9uLFxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxuICBVaUFjdGlvbkZlZWRiYWNrVHlwZSxcbn0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBsYW5ndWFnZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAga2V5c1RvVHJhbnNsYXRlOiBzdHJpbmdbXSA9IFsndGl0bGUnLCAndGV4dCcsICdwbGFjZWhvbGRlcicsICdjYXB0aW9uJywgJ2ZlZWRiYWNrVGV4dCddO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlKSB7XG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAudHJhbnNsYXRlU2VydmljZSEub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5uZXh0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uOiBVaUFjdGlvbik6IFByb21pc2U8VWlBY3Rpb25EZXNjcmlwdG9yPiB7XG4gICAgbGV0IGNvZGUgPSB1aUFjdGlvbi5jb2RlITtcbiAgICBsZXQgaXNVbmtvd24gPSBmYWxzZTtcblxuICAgIGxldCBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1aUFjdGlvbi5kZXNjcmlwdG9yO1xuICAgIGxldCBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMgPSB0aGlzLnZpZXdDb250ZXh0LmdldEFjdGlvbkRlc2NyaXB0b3JzKCk/LmdldChjb2RlKTtcbiAgICBpZiAoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykge1xuICAgICAgY2xpZW50ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzKSk7XG4gICAgfVxuXG4gICAgbGV0IGFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGw7XG4gICAgaWYgKCFjbGllbnQpIHtcbiAgICAgIC8vIHNlcnZlciBvbmx5XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gc2VydmVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjbGllbnQgZXhpc3RzXG4gICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgIC8vIHNlcnZlciAmIGNsaWVudCAtPiBtZXJnZSBpbnRvIGNsaWVudCB3aGF0J3MgZmlsbGVkIGZyb20gc2VydmVyXG4gICAgICAgIHRoaXMubWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIsIGNsaWVudCk7XG4gICAgICB9XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gY2xpZW50O1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgaXNVbmtvd24gPSB0cnVlO1xuICAgICAgbGV0IHVua293bkFjdGlvbkRlc2NyaXB0b3IgPSB0aGlzLmJhc2ljQWN0aW9uRGVzY3JpcHRvcnMuZ2V0KCdVTktPV04nKTtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSB7IC4uLnVua293bkFjdGlvbkRlc2NyaXB0b3IhIH07XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yIS50aXRsZSA9IGNvZGU7XG4gICAgfVxuXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5kaWFsb2cpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSB0aGlzLnNldFVwVW5rb3duRGlhbG9nRGVzY3JpcHRvcihjb2RlLCBhY3Rpb25EZXNjcmlwdG9yISwgJ2RpYWxvZycpO1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvciEuZmVlZGJhY2tUeXBlICYmIHVpQWN0aW9uLnN1Ym1pdCkge1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciEuZmVlZGJhY2tUeXBlID0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVI7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSAmJiAhaXNVbmtvd24gJiYgIXNlcnZlcikge1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMudHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKGFjdGlvbkRlc2NyaXB0b3IpO1xuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25EZXNjcmlwdG9yITtcbiAgfVxuXG4gIHB1YmxpYyBtZXJnZUFjdGlvbkRlc2NyaXB0b3JJbnRvQ2xpZW50KFxuICAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXJ2ZXIudGl0bGUpIHtcbiAgICAgIGNsaWVudC50aXRsZSA9IHNlcnZlci50aXRsZTtcbiAgICB9XG4gICAgaWYgKHNlcnZlci5pY29uKSB7XG4gICAgICBjbGllbnQuaWNvbiA9IHNlcnZlci5pY29uO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmNvbG9yKSB7XG4gICAgICBjbGllbnQuY29sb3IgPSBzZXJ2ZXIuY29sb3I7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXIuY29uZmlybURpYWxvZykge1xuICAgICAgaWYgKCFjbGllbnQuY29uZmlybURpYWxvZykge1xuICAgICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xuICAgICAgfVxuICAgICAgdGhpcy5tZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KHNlcnZlci5jb25maXJtRGlhbG9nLCBjbGllbnQuY29uZmlybURpYWxvZyk7XG4gICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVHlwZSkge1xuICAgICAgY2xpZW50LmZlZWRiYWNrVHlwZSA9IHNlcnZlci5mZWVkYmFja1R5cGU7XG4gICAgfVxuXG4gICAgaWYgKHNlcnZlci5mZWVkYmFja1RleHQpIHtcbiAgICAgIGNsaWVudC5mZWVkYmFja1RleHQgPSBzZXJ2ZXIuZmVlZGJhY2tUZXh0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRPRE8gdXNlIHByb3AgbmFtZSB0byBoYW5kbGUgYWxsIGRpYWxvZ3NcbiAgLy8gcHJpdmF0ZSBtZXJnZUFjdGlvbkRlc2NyaXB0b3JEaWFsb2coXG4gIC8vICAgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIC8vICAgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIC8vICAgcHJvcDogc3RyaW5nXG4gIC8vICk6IHZvaWQge1xuICAvLyAgIC8vbGV0IHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yID0gc2VydmVyW3Byb3BdIGFzIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcbiAgLy8gICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcbiAgLy8gICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcbiAgLy8gICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgLy8gICAgIH1cbiAgLy8gICAgIHRoaXMubWVyZ2VBY3Rpb25EaWFsb2dEZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIuY29uZmlybURpYWxvZywgY2xpZW50LmNvbmZpcm1EaWFsb2cpO1xuICAvLyAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgLy8gICB9XG4gIC8vIH1cblxuICBwcml2YXRlIG1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoXG4gICAgc2VydmVyRGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3IsXG4gICAgY2xpZW50RGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JcbiAgKTogdm9pZCB7XG4gICAgaWYgKHNlcnZlckRpYWxvZy50aXRsZSkge1xuICAgICAgY2xpZW50RGlhbG9nLnRpdGxlID0gc2VydmVyRGlhbG9nLnRpdGxlO1xuICAgIH1cbiAgICBpZiAoc2VydmVyRGlhbG9nLnBsYWNlaG9sZGVyKSB7XG4gICAgICBjbGllbnREaWFsb2cucGxhY2Vob2xkZXIgPSBzZXJ2ZXJEaWFsb2cucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGV4dCkge1xuICAgICAgY2xpZW50RGlhbG9nLnRleHQgPSBzZXJ2ZXJEaWFsb2cudGV4dDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyYW5zbGF0ZVVpQWN0aW9uRGVzY3JpcHRvcihcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvclxuICApOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZSh1aUFjdGlvbkRlc2NyaXB0b3IpO1xuXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVlcFRyYW5zbGF0ZShfbW9kZWw6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgbGV0IG1vZGVsID0geyAuLi5fbW9kZWwgfTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5rZXlzKG1vZGVsKS5tYXAoYXN5bmMgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICBtb2RlbFtrZXldLmxlbmd0aCAmJlxuICAgICAgICAgIHRoaXMua2V5c1RvVHJhbnNsYXRlLmluY2x1ZGVzKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZSEuZ2V0KG1vZGVsW2tleV0pLnRvUHJvbWlzZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKG1vZGVsW2tleV0gIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKG1vZGVsW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlbDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKFxuICAgIGNvZGU6IHN0cmluZyxcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3I6IFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgICBkaWFsb2dUeXBlOiAnZGlhbG9nJyB8ICdjb25maXJtRGlhbG9nJyB8ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xuICApOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xuICAgIGxldCB1bmtvd25EZXNjcmlwdG9yID0gdGhpcy5iYXNpY0FjdGlvbkRlc2NyaXB0b3JzLmdldCgnVU5LT1dOJyk7XG5cbiAgICB1aUFjdGlvbkRlc2NyaXB0b3JbZGlhbG9nVHlwZV0gPSB1bmtvd25EZXNjcmlwdG9yIS5kaWFsb2c7XG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS50aXRsZSA9IGNvZGU7XG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24uY2FwdGlvbiA9IGNvZGU7XG5cbiAgICByZXR1cm4gdWlBY3Rpb25EZXNjcmlwdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBiYXNpY0FjdGlvbkRlc2NyaXB0b3JzOiBNYXA8c3RyaW5nLCBVaUFjdGlvbkRlc2NyaXB0b3I+ID0gbmV3IE1hcChbXG4gICAgW1xuICAgICAgJ1VOS09XTicsXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTCxcbiAgICAgICAgY29sb3I6ICdhY2NlbnQnLFxuICAgICAgICBpY29uOiAnUXVlc3Rpb24nLFxuICAgICAgICBpY29uQ29sb3I6IGB0ZXh0LXByaW1hcnlgLFxuICAgICAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QT1NULFxuICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdwbGFjZWhvbGRlcicsXG4gICAgICAgICAgYWN0aW9uQnV0dG9uOiB7XG4gICAgICAgICAgICBjYXB0aW9uOiAnJyxcbiAgICAgICAgICAgIGNvbG9yOiAnYWNjZW50JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNhbmNlbEJ1dHRvbjoge1xuICAgICAgICAgICAgY2FwdGlvbjogJ03DqWdzZScsXG4gICAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUErS2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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LE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFNUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDOytHQWpMVSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xuaW1wb3J0IHtcbiAgVWlBY3Rpb24sXG4gIEljb25Qb3NpdGlvbixcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25GZWVkYmFja1R5cGUsXG59IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgbGFuZ3VhZ2VDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gIGtleXNUb1RyYW5zbGF0ZTogc3RyaW5nW10gPSBbJ3RpdGxlJywgJ3RleHQnLCAncGxhY2Vob2xkZXInLCAnY2FwdGlvbicsICdmZWVkYmFja1RleHQnXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZSkge1xuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Q29udGV4dFxuICAgICAgLnRyYW5zbGF0ZVNlcnZpY2UhLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNoYW5nZWQubmV4dCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aW9uRGVzY3JpcHRvcih1aUFjdGlvbjogVWlBY3Rpb24pOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xuICAgIGxldCBjb2RlID0gdWlBY3Rpb24uY29kZSE7XG4gICAgbGV0IGlzVW5rb3duID0gZmFsc2U7XG5cbiAgICBsZXQgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gdWlBY3Rpb24uZGVzY3JpcHRvcjtcbiAgICBsZXQgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzID0gdGhpcy52aWV3Q29udGV4dC5nZXRBY3Rpb25EZXNjcmlwdG9ycygpPy5nZXQoY29kZSk7XG4gICAgaWYgKGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMpIHtcbiAgICAgIGNsaWVudCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykpO1xuICAgIH1cblxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsO1xuICAgIGlmICghY2xpZW50KSB7XG4gICAgICAvLyBzZXJ2ZXIgb25seVxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IHNlcnZlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2xpZW50IGV4aXN0c1xuICAgICAgaWYgKHNlcnZlcikge1xuICAgICAgICAvLyBzZXJ2ZXIgJiBjbGllbnQgLT4gbWVyZ2UgaW50byBjbGllbnQgd2hhdCdzIGZpbGxlZCBmcm9tIHNlcnZlclxuICAgICAgICB0aGlzLm1lcmdlQWN0aW9uRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLCBjbGllbnQpO1xuICAgICAgfVxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGNsaWVudDtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgIGlzVW5rb3duID0gdHJ1ZTtcbiAgICAgIGxldCB1bmtvd25BY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5iYXNpY0FjdGlvbkRlc2NyaXB0b3JzLmdldCgnVU5LT1dOJyk7XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0geyAuLi51bmtvd25BY3Rpb25EZXNjcmlwdG9yISB9O1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciEudGl0bGUgPSBjb2RlO1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvciEuZGlhbG9nKSB7XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5zZXRVcFVua293bkRpYWxvZ0Rlc2NyaXB0b3IoY29kZSwgYWN0aW9uRGVzY3JpcHRvciEsICdkaWFsb2cnKTtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSAmJiB1aUFjdGlvbi5zdWJtaXQpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSA9IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UgJiYgIWlzVW5rb3duICYmICFzZXJ2ZXIpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVVpQWN0aW9uRGVzY3JpcHRvcihhY3Rpb25EZXNjcmlwdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9uRGVzY3JpcHRvciE7XG4gIH1cblxuICBwdWJsaWMgbWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChcbiAgICBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgICBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvclxuICApOiB2b2lkIHtcbiAgICBpZiAoc2VydmVyLnRpdGxlKSB7XG4gICAgICBjbGllbnQudGl0bGUgPSBzZXJ2ZXIudGl0bGU7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXIuaWNvbikge1xuICAgICAgY2xpZW50Lmljb24gPSBzZXJ2ZXIuaWNvbjtcbiAgICB9XG4gICAgaWYgKHNlcnZlci5jb2xvcikge1xuICAgICAgY2xpZW50LmNvbG9yID0gc2VydmVyLmNvbG9yO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcbiAgICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcbiAgICAgIH1cbiAgICAvLyAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgICB9XG4gICAgaWYgKHNlcnZlci5mZWVkYmFja1R5cGUpIHtcbiAgICAgIGNsaWVudC5mZWVkYmFja1R5cGUgPSBzZXJ2ZXIuZmVlZGJhY2tUeXBlO1xuICAgIH1cblxuICAgIGlmIChzZXJ2ZXIuZmVlZGJhY2tUZXh0KSB7XG4gICAgICBjbGllbnQuZmVlZGJhY2tUZXh0ID0gc2VydmVyLmZlZWRiYWNrVGV4dDtcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPIHVzZSBwcm9wIG5hbWUgdG8gaGFuZGxlIGFsbCBkaWFsb2dzXG4gIC8vIHByaXZhdGUgbWVyZ2VBY3Rpb25EZXNjcmlwdG9yRGlhbG9nKFxuICAvLyAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAvLyAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAvLyAgIHByb3A6IHN0cmluZ1xuICAvLyApOiB2b2lkIHtcbiAgLy8gICAvL2xldCBzZXJ2ZXJEaWFsb2c6IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvciA9IHNlcnZlcltwcm9wXSBhcyBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3I7XG4gIC8vICAgaWYgKHNlcnZlci5jb25maXJtRGlhbG9nKSB7XG4gIC8vICAgICBpZiAoIWNsaWVudC5jb25maXJtRGlhbG9nKSB7XG4gIC8vICAgICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XG4gIC8vICAgICB9XG4gIC8vICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcbiAgLy8gICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgcHJpdmF0ZSBtZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KFxuICAgIHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxuICAgIGNsaWVudERpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGl0bGUpIHtcbiAgICAgIGNsaWVudERpYWxvZy50aXRsZSA9IHNlcnZlckRpYWxvZy50aXRsZTtcbiAgICB9XG4gICAgaWYgKHNlcnZlckRpYWxvZy5wbGFjZWhvbGRlcikge1xuICAgICAgY2xpZW50RGlhbG9nLnBsYWNlaG9sZGVyID0gc2VydmVyRGlhbG9nLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBpZiAoc2VydmVyRGlhbG9nLnRleHQpIHtcbiAgICAgIGNsaWVudERpYWxvZy50ZXh0ID0gc2VydmVyRGlhbG9nLnRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGVVaUFjdGlvbkRlc2NyaXB0b3IoXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3JcbiAgKTogUHJvbWlzZTxVaUFjdGlvbkRlc2NyaXB0b3I+IHtcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLmRlZXBUcmFuc2xhdGUodWlBY3Rpb25EZXNjcmlwdG9yKTtcblxuICAgIHJldHVybiB1aUFjdGlvbkRlc2NyaXB0b3I7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlZXBUcmFuc2xhdGUoX21vZGVsOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBtb2RlbCA9IHsgLi4uX21vZGVsIH07XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3Qua2V5cyhtb2RlbCkubWFwKGFzeW5jIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbW9kZWxba2V5XSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgbW9kZWxba2V5XS5sZW5ndGggJiZcbiAgICAgICAgICB0aGlzLmtleXNUb1RyYW5zbGF0ZS5pbmNsdWRlcyhrZXkpXG4gICAgICAgICkge1xuICAgICAgICAgIG1vZGVsW2tleV0gPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UhLmdldChtb2RlbFtrZXldKS50b1Byb21pc2UoKTtcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZShtb2RlbFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIHNldFVwVW5rb3duRGlhbG9nRGVzY3JpcHRvcihcbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gICAgZGlhbG9nVHlwZTogJ2RpYWxvZycgfCAnY29uZmlybURpYWxvZycgfCAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZydcbiAgKTogVWlBY3Rpb25EZXNjcmlwdG9yIHtcbiAgICBsZXQgdW5rb3duRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xuXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdID0gdW5rb3duRGVzY3JpcHRvciEuZGlhbG9nO1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEudGl0bGUgPSBjb2RlO1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEuYWN0aW9uQnV0dG9uLmNhcHRpb24gPSBjb2RlO1xuXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgfVxuXG4gIHByaXZhdGUgYmFzaWNBY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiA9IG5ldyBNYXAoW1xuICAgIFtcbiAgICAgICdVTktPV04nLFxuICAgICAge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUwsXG4gICAgICAgIGNvbG9yOiAnYWNjZW50JyxcbiAgICAgICAgaWNvbjogJ1F1ZXN0aW9uJyxcbiAgICAgICAgaWNvbkNvbG9yOiBgdGV4dC1wcmltYXJ5YCxcbiAgICAgICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUE9TVCxcbiAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAgIGFjdGlvbkJ1dHRvbjoge1xuICAgICAgICAgICAgY2FwdGlvbjogJycsXG4gICAgICAgICAgICBjb2xvcjogJ2FjY2VudCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjYW5jZWxCdXR0b246IHtcbiAgICAgICAgICAgIGNhcHRpb246ICdNw6lnc2UnLFxuICAgICAgICAgICAgY29sb3I6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufVxuIl19
@@ -881,7 +881,6 @@ class SmartSessionService {
881
881
  this.isAuthenticated = false;
882
882
  this.authenticationStateChanged = new SmartSubject(this._destroy$);
883
883
  this.headerParams = new Array();
884
- this.headersUpdated = new SmartSubject(this._destroy$);
885
884
  // Locale
886
885
  this.localStorageLocaleName = 'locale';
887
886
  this.localeChanged = new SmartSubject(this._destroy$);
@@ -908,7 +907,6 @@ class SmartSessionService {
908
907
  else {
909
908
  this.headerParams.push(headerParam);
910
909
  }
911
- this.headersUpdated.next();
912
910
  }
913
911
  setUpTokenForSessionService() {
914
912
  this.addHeaderParam({
@@ -5897,8 +5895,10 @@ class UiActionDescriptorService {
5897
5895
  if (!client.confirmDialog) {
5898
5896
  client.confirmDialog = server.confirmDialog;
5899
5897
  }
5900
- this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
5901
- client.confirmDialog = server.confirmDialog;
5898
+ else {
5899
+ this.mergeActionDialogDescriptorIntoClient(server.confirmDialog, client.confirmDialog);
5900
+ }
5901
+ // client.confirmDialog = server.confirmDialog;
5902
5902
  }
5903
5903
  if (server.feedbackType) {
5904
5904
  client.feedbackType = server.feedbackType;
@@ -12921,6 +12921,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
12921
12921
  args: [{ selector: 'smart-session-timer', providers: [SmartSessionTimerService], template: "<div class=\"smart-session-timer-container\">\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\n {{ formatTime(timeInSeconds!) }}\n </span>\n</div>\n" }]
12922
12922
  }], ctorParameters: () => [{ type: SmartSessionTimerService }] });
12923
12923
 
12924
+ class SmartBackendBootstrapService {
12925
+ constructor(session, viewContext) {
12926
+ this.session = session;
12927
+ this.viewContext = viewContext;
12928
+ this.lastInitFailed = false;
12929
+ }
12930
+ configure(config) {
12931
+ if (this.config) {
12932
+ console.warn('SmartBackendBootstrapService already configured; ignoring duplicate configure() call.');
12933
+ return;
12934
+ }
12935
+ this.config = config;
12936
+ this.session.setUrl(config.url);
12937
+ this.session.setCookieName(config.cookieName);
12938
+ this.session.setSessionHandlerService(this);
12939
+ this.viewContext.setViewHandlers(config.viewHandlers);
12940
+ this.viewContext.setMessageDialogName(config.messageDialogName);
12941
+ this.viewContext.setActionDescriptors(config.actionDescriptors);
12942
+ this.viewContext.openSmartLink.subscribe((channel) => {
12943
+ this.handleSmartLink(channel);
12944
+ });
12945
+ }
12946
+ async handleSmartLink(channel) {
12947
+ if (this.config?.onSmartLink) {
12948
+ await this.config.onSmartLink(channel);
12949
+ return;
12950
+ }
12951
+ await this.viewContext.initialize();
12952
+ this.viewContext.openSmartLink.complete();
12953
+ }
12954
+ start() {
12955
+ if (!this.config) {
12956
+ return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before start().'));
12957
+ }
12958
+ if (this.runningInit && !this.lastInitFailed) {
12959
+ return this.runningInit;
12960
+ }
12961
+ this.lastInitFailed = false;
12962
+ this.runningInit = this.runInit();
12963
+ return this.runningInit;
12964
+ }
12965
+ whenReady() {
12966
+ if (!this.runningInit) {
12967
+ return Promise.reject(new Error('BootstrapNotStarted'));
12968
+ }
12969
+ return this.runningInit;
12970
+ }
12971
+ async reset() {
12972
+ this.runningInit = undefined;
12973
+ this.lastInitFailed = false;
12974
+ return this.start();
12975
+ }
12976
+ async runInit() {
12977
+ try {
12978
+ await this.session.initialize();
12979
+ await this.viewContext.initViewContext();
12980
+ }
12981
+ catch (err) {
12982
+ this.lastInitFailed = true;
12983
+ if (this.config?.onStartError) {
12984
+ try {
12985
+ await this.config.onStartError(err);
12986
+ }
12987
+ catch (callbackErr) {
12988
+ console.error('SmartBackendBootstrapService.onStartError callback threw', callbackErr);
12989
+ }
12990
+ }
12991
+ throw err;
12992
+ }
12993
+ }
12994
+ async handleSessionError(err) {
12995
+ if (this.config?.onSessionError) {
12996
+ await this.config.onSessionError(err);
12997
+ return;
12998
+ }
12999
+ // Default: clear the session and let the backend rebuild via RESTART_VIEWCONTEXT.
13000
+ // No router navigation here — the new viewcontext drives navigation server-side.
13001
+ await this.session.clearAndStartNewSession();
13002
+ }
13003
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartBackendBootstrapService, deps: [{ token: SmartSessionService }, { token: SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13004
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartBackendBootstrapService, providedIn: 'root' }); }
13005
+ }
13006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartBackendBootstrapService, decorators: [{
13007
+ type: Injectable,
13008
+ args: [{ providedIn: 'root' }]
13009
+ }], ctorParameters: () => [{ type: SmartSessionService }, { type: SmartViewContextService }] });
13010
+
12924
13011
  /*
12925
13012
  * Public API Surface of smart-session
12926
13013
  */
@@ -14188,6 +14275,7 @@ class TableLayoutDefinerComponent {
14188
14275
  return updatedOrderedColumns;
14189
14276
  }
14190
14277
  mapOrderedColumnsToObject() {
14278
+ this.orderedColumnsAsObject = {};
14191
14279
  this.view?.orderedColumnNames.map((value, index) => {
14192
14280
  this.orderedColumnsAsObject[index] = value;
14193
14281
  });
@@ -15433,7 +15521,7 @@ class SmartGridComponent {
15433
15521
  type: UiActionButtonType.NORMAL,
15434
15522
  };
15435
15523
  }
15436
- this.uiActionDescriptors.set(uiAction.code, descriptor);
15524
+ this.uiActionDescriptors.set(uiAction.code, structuredClone(descriptor));
15437
15525
  }));
15438
15526
  }
15439
15527
  }));
@@ -21769,23 +21857,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
21769
21857
  }]
21770
21858
  }] });
21771
21859
 
21772
- class SmartAuthService {
21773
- constructor() {
21774
- this.bffApisHaveBeenSetUp = false;
21775
- this._destroy$ = new Subject();
21776
- this.headersUpdated = new SmartSubject(this._destroy$);
21777
- }
21778
- ngOnDestroy() {
21779
- this._destroy$.next();
21780
- this._destroy$.complete();
21781
- }
21782
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21783
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartAuthService }); }
21784
- }
21785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartAuthService, decorators: [{
21786
- type: Injectable
21787
- }] });
21788
-
21789
21860
  class SmartComponentLayoutUtility {
21790
21861
  static getForms(comp) {
21791
21862
  let result = [];
@@ -22394,9 +22465,8 @@ class SmartComponentApiClient {
22394
22465
  }
22395
22466
  this._useQueryLists = true;
22396
22467
  }
22397
- constructor(inject, auth, pageName, _componentName, element, renderer) {
22468
+ constructor(inject, pageName, _componentName, element, renderer) {
22398
22469
  this.inject = inject;
22399
- this.auth = auth;
22400
22470
  this.pageName = pageName;
22401
22471
  this._componentName = _componentName;
22402
22472
  this.element = element;
@@ -22420,6 +22490,7 @@ class SmartComponentApiClient {
22420
22490
  throw new Error('pageName or componentName must be specified!');
22421
22491
  }
22422
22492
  this.viewContext = inject.get(SmartViewContextService);
22493
+ this.bootstrap = inject.get(SmartBackendBootstrapService);
22423
22494
  if (this._componentName) {
22424
22495
  let pageNameForComponent = this.viewContext.getPageNameOfComponent(this._componentName);
22425
22496
  if (!this.pageName) {
@@ -22731,14 +22802,13 @@ class SmartComponentApiClient {
22731
22802
  });
22732
22803
  await Promise.all(setupPromises);
22733
22804
  }
22734
- run() {
22735
- if (this.auth.bffApisHaveBeenSetUp) {
22736
- this.load();
22805
+ async run() {
22806
+ try {
22807
+ await this.bootstrap.whenReady();
22808
+ await this.load();
22737
22809
  }
22738
- else {
22739
- this.auth.headersUpdated.subscribe(() => {
22740
- this.load();
22741
- });
22810
+ catch (err) {
22811
+ console.error('SmartBackendBootstrapService is not ready; skipping load.', err);
22742
22812
  }
22743
22813
  }
22744
22814
  async load() {
@@ -23202,8 +23272,8 @@ class SmartComponentApiClient {
23202
23272
  }
23203
23273
 
23204
23274
  class SmartComponent extends SmartComponentApiClient {
23205
- constructor(inject, auth, pageName, _componentName, element, renderer) {
23206
- super(inject, auth, pageName, _componentName, element, renderer);
23275
+ constructor(inject, pageName, _componentName, element, renderer) {
23276
+ super(inject, pageName, _componentName, element, renderer);
23207
23277
  }
23208
23278
  ngOnInit() {
23209
23279
  this._ngOnInit();
@@ -23238,7 +23308,7 @@ class SmartComponent extends SmartComponentApiClient {
23238
23308
  getSmartDiagramQL() {
23239
23309
  return this.smartDiagramQL;
23240
23310
  }
23241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponent, deps: [{ token: i0.Injector }, { token: 'SmartAuthService' }, { token: 'pageName' }, { token: 'componentName' }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
23311
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponent, deps: [{ token: i0.Injector }, { token: 'pageName' }, { token: 'componentName' }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
23242
23312
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartComponent, selector: "ng-component", viewQueries: [{ propertyName: "smartFormsQL", predicate: SmartformComponent, descendants: true }, { propertyName: "smartGridsQL", predicate: SmartGridComponent, descendants: true }, { propertyName: "smartTreesQL", predicate: SmartTreeComponent, descendants: true }, { propertyName: "smartComponentLayoutsQL", predicate: SmartComponentLayoutComponent, descendants: true }, { propertyName: "smartFilterEditorContentComponentsQL", predicate: SmartFilterEditorContentComponent, descendants: true }, { propertyName: "smartUiActionToolbarsQL", predicate: UiActionToolbarComponent, descendants: true }, { propertyName: "smartMapQL", predicate: SmartMapComponent, descendants: true }, { propertyName: "smartDiagramQL", predicate: SmartDiagramComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
23243
23313
  }
23244
23314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponent, decorators: [{
@@ -23247,9 +23317,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23247
23317
  template: '',
23248
23318
  }]
23249
23319
  }], ctorParameters: () => [{ type: i0.Injector }, { type: undefined, decorators: [{
23250
- type: Inject,
23251
- args: ['SmartAuthService']
23252
- }] }, { type: undefined, decorators: [{
23253
23320
  type: Inject,
23254
23321
  args: ['pageName']
23255
23322
  }] }, { type: undefined, decorators: [{
@@ -23282,8 +23349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23282
23349
  }] } });
23283
23350
 
23284
23351
  class SmartService extends SmartComponentApiClient {
23285
- constructor(inject, auth, pageName) {
23286
- super(inject, auth, pageName);
23352
+ constructor(inject, pageName) {
23353
+ super(inject, pageName);
23287
23354
  }
23288
23355
  ngOnInit() {
23289
23356
  this._ngOnInit();
@@ -23312,7 +23379,7 @@ class SmartService extends SmartComponentApiClient {
23312
23379
  getSmartUiActionToolbarsQL() {
23313
23380
  return this.smartUiActionToolbarsQL;
23314
23381
  }
23315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartService, deps: [{ token: i0.Injector }, { token: SmartAuthService }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Injectable }); }
23382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartService, deps: [{ token: i0.Injector }, { token: 'pageName' }], target: i0.ɵɵFactoryTarget.Injectable }); }
23316
23383
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartService, providedIn: 'root' }); }
23317
23384
  }
23318
23385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartService, decorators: [{
@@ -23321,9 +23388,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23321
23388
  providedIn: 'root',
23322
23389
  }]
23323
23390
  }], ctorParameters: () => [{ type: i0.Injector }, { type: undefined, decorators: [{
23324
- type: Inject,
23325
- args: [SmartAuthService]
23326
- }] }, { type: undefined, decorators: [{
23327
23391
  type: Inject,
23328
23392
  args: ['pageName']
23329
23393
  }] }], propDecorators: { smartFormsQL: [{
@@ -23407,5 +23471,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23407
23471
  * Generated bundle index. Do not edit.
23408
23472
  */
23409
23473
 
23410
- export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, ToolbarDirection, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
23474
+ export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartBackendBootstrapService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, ToolbarDirection, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
23411
23475
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map