@alfresco/aca-content 4.3.0-6233573726 → 4.3.0-6233580034

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.
@@ -21,7 +21,7 @@
21
21
  * You should have received a copy of the GNU Lesser General Public License
22
22
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
23
  */
24
- import { DownloadNodesAction, EditOfflineAction, SnackbarErrorAction, getAppSelection } from '@alfresco/aca-shared/store';
24
+ import { DownloadNodesAction, EditOfflineAction, SetSelectedNodesAction, SnackbarErrorAction, getAppSelection } from '@alfresco/aca-shared/store';
25
25
  import { NodesApi } from '@alfresco/js-api';
26
26
  import { Component, ViewEncapsulation } from '@angular/core';
27
27
  import { Store } from '@ngrx/store';
@@ -34,10 +34,9 @@ import { MatIconModule } from '@angular/material/icon';
34
34
  import * as i0 from "@angular/core";
35
35
  import * as i1 from "@ngrx/store";
36
36
  import * as i2 from "@alfresco/adf-core";
37
- import * as i3 from "@angular/common";
38
- import * as i4 from "@ngx-translate/core";
39
- import * as i5 from "@angular/material/menu";
40
- import * as i6 from "@angular/material/icon";
37
+ import * as i3 from "@ngx-translate/core";
38
+ import * as i4 from "@angular/material/menu";
39
+ import * as i5 from "@angular/material/icon";
41
40
  export class ToggleEditOfflineComponent {
42
41
  constructor(store, alfrescoApiService) {
43
42
  this.store = store;
@@ -63,6 +62,7 @@ export class ToggleEditOfflineComponent {
63
62
  const response = await this.unlockNode(id);
64
63
  this.update(response?.entry);
65
64
  this.store.dispatch(new EditOfflineAction(this.selection));
65
+ this.store.dispatch(new SetSelectedNodesAction([this.selection]));
66
66
  }
67
67
  catch {
68
68
  this.onUnlockError();
@@ -74,6 +74,7 @@ export class ToggleEditOfflineComponent {
74
74
  this.update(response?.entry);
75
75
  this.store.dispatch(new DownloadNodesAction([this.selection]));
76
76
  this.store.dispatch(new EditOfflineAction(this.selection));
77
+ this.store.dispatch(new SetSelectedNodesAction([this.selection]));
77
78
  }
78
79
  catch {
79
80
  this.onLockError();
@@ -100,7 +101,7 @@ export class ToggleEditOfflineComponent {
100
101
  return this.nodesApi.unlockNode(nodeId);
101
102
  }
102
103
  update(data) {
103
- if (data && data.properties) {
104
+ if (data?.properties) {
104
105
  const properties = this.selection.entry.properties || {};
105
106
  properties['cm:lockLifetime'] = data.properties['cm:lockLifetime'];
106
107
  properties['cm:lockOwner'] = data.properties['cm:lockOwner'];
@@ -112,17 +113,10 @@ export class ToggleEditOfflineComponent {
112
113
  ToggleEditOfflineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToggleEditOfflineComponent, deps: [{ token: i1.Store }, { token: i2.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Component });
113
114
  ToggleEditOfflineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ToggleEditOfflineComponent, isStandalone: true, selector: "app-toggle-edit-offline", host: { classAttribute: "app-toggle-edit-offline" }, ngImport: i0, template: `
114
115
  <button mat-menu-item [attr.title]="nodeTitle | translate" (click)="onClick()">
115
- <ng-container *ngIf="isNodeLocked">
116
- <mat-icon>cancel</mat-icon>
117
- <span>{{ 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' | translate }}</span>
118
- </ng-container>
119
-
120
- <ng-container *ngIf="!isNodeLocked">
121
- <mat-icon>edit</mat-icon>
122
- <span>{{ 'APP.ACTIONS.EDIT_OFFLINE' | translate }}</span>
123
- </ng-container>
116
+ <mat-icon>{{ isNodeLocked ? 'cancel' : 'edit' }}</mat-icon>
117
+ <span>{{ (isNodeLocked ? 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' : 'APP.ACTIONS.EDIT_OFFLINE') | translate }}</span>
124
118
  </button>
125
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
119
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
126
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ToggleEditOfflineComponent, decorators: [{
127
121
  type: Component,
128
122
  args: [{
@@ -131,19 +125,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
131
125
  selector: 'app-toggle-edit-offline',
132
126
  template: `
133
127
  <button mat-menu-item [attr.title]="nodeTitle | translate" (click)="onClick()">
134
- <ng-container *ngIf="isNodeLocked">
135
- <mat-icon>cancel</mat-icon>
136
- <span>{{ 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' | translate }}</span>
137
- </ng-container>
138
-
139
- <ng-container *ngIf="!isNodeLocked">
140
- <mat-icon>edit</mat-icon>
141
- <span>{{ 'APP.ACTIONS.EDIT_OFFLINE' | translate }}</span>
142
- </ng-container>
128
+ <mat-icon>{{ isNodeLocked ? 'cancel' : 'edit' }}</mat-icon>
129
+ <span>{{ (isNodeLocked ? 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' : 'APP.ACTIONS.EDIT_OFFLINE') | translate }}</span>
143
130
  </button>
144
131
  `,
145
132
  encapsulation: ViewEncapsulation.None,
146
133
  host: { class: 'app-toggle-edit-offline' }
147
134
  }]
148
135
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AlfrescoApiService }]; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWVkaXQtb2ZmbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90b2dnbGUtZWRpdC1vZmZsaW5lL3RvZ2dsZS1lZGl0LW9mZmxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFZLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BJLE9BQU8sRUFBb0MsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBc0J2RCxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQW9CLEtBQXNCLEVBQVUsa0JBQXNDO1FBQXRFLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUgxRixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsaUJBQVksR0FB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QUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFVO1FBQ3ZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUV6RCxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbkUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0QsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztTQUM5QztJQUNILENBQUM7O3VIQXBGVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix3SUFoQjNCOzs7Ozs7Ozs7Ozs7R0FZVCwyREFkUyxZQUFZLGtJQUFFLGVBQWUsMkZBQUUsYUFBYSxrTEFBRSxhQUFhOzJGQWtCMUQsMEJBQTBCO2tCQXBCdEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO29CQUN0RSxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUU7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFwcFN0b3JlLCBEb3dubG9hZE5vZGVzQWN0aW9uLCBFZGl0T2ZmbGluZUFjdGlvbiwgU25hY2tiYXJFcnJvckFjdGlvbiwgZ2V0QXBwU2VsZWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgTm9kZUVudHJ5LCBTaGFyZWRMaW5rRW50cnksIE5vZGUsIE5vZGVzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgaXNMb2NrZWQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhcHAtdG9nZ2xlLWVkaXQtb2ZmbGluZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLnRpdGxlXT1cIm5vZGVUaXRsZSB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc05vZGVMb2NrZWRcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdBUFAuQUNUSU9OUy5FRElUX09GRkxJTkVfQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTm9kZUxvY2tlZFwiPlxuICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPnt7ICdBUFAuQUNUSU9OUy5FRElUX09GRkxJTkUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtdG9nZ2xlLWVkaXQtb2ZmbGluZScgfVxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVFZGl0T2ZmbGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbm9kZXNBcGk6IE5vZGVzQXBpO1xuICBzZWxlY3Rpb246IE5vZGVFbnRyeTtcbiAgbm9kZVRpdGxlID0gJyc7XG4gIGlzTm9kZUxvY2tlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPiwgcHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSkge1xuICAgIHRoaXMubm9kZXNBcGkgPSBuZXcgTm9kZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcHBTZWxlY3Rpb24pLnN1YnNjcmliZSgoeyBmaWxlIH0pID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gZmlsZTtcbiAgICAgIHRoaXMuaXNOb2RlTG9ja2VkID0gdGhpcy5zZWxlY3Rpb24gJiYgaXNMb2NrZWQodGhpcy5zZWxlY3Rpb24pO1xuICAgICAgdGhpcy5ub2RlVGl0bGUgPSB0aGlzLmlzTm9kZUxvY2tlZCA/ICdBUFAuQUNUSU9OUy5FRElUX09GRkxJTkVfQ0FOQ0VMJyA6ICdBUFAuQUNUSU9OUy5FRElUX09GRkxJTkUnO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgb25DbGljaygpIHtcbiAgICBhd2FpdCB0aGlzLnRvZ2dsZUxvY2sodGhpcy5zZWxlY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0b2dnbGVMb2NrKG5vZGU6IE5vZGVFbnRyeSB8IFNoYXJlZExpbmtFbnRyeSkge1xuICAgIGNvbnN0IGlkID0gKG5vZGUgYXMgU2hhcmVkTGlua0VudHJ5KS5lbnRyeS5ub2RlSWQgfHwgbm9kZS5lbnRyeS5pZDtcblxuICAgIGlmIChpc0xvY2tlZCh0aGlzLnNlbGVjdGlvbikpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51bmxvY2tOb2RlKGlkKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZShyZXNwb25zZT8uZW50cnkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBFZGl0T2ZmbGluZUFjdGlvbih0aGlzLnNlbGVjdGlvbikpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRoaXMub25VbmxvY2tFcnJvcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMubG9ja05vZGUoaWQpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlKHJlc3BvbnNlPy5lbnRyeSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERvd25sb2FkTm9kZXNBY3Rpb24oW3RoaXMuc2VsZWN0aW9uXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBFZGl0T2ZmbGluZUFjdGlvbih0aGlzLnNlbGVjdGlvbikpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRoaXMub25Mb2NrRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkxvY2tFcnJvcigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24oJ0FQUC5NRVNTQUdFUy5FUlJPUlMuTE9DS19OT0RFJywge1xuICAgICAgICBmaWxlTmFtZTogdGhpcy5zZWxlY3Rpb24uZW50cnkubmFtZVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25VbmxvY2tFcnJvcigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24oJ0FQUC5NRVNTQUdFUy5FUlJPUlMuVU5MT0NLX05PREUnLCB7XG4gICAgICAgIGZpbGVOYW1lOiB0aGlzLnNlbGVjdGlvbi5lbnRyeS5uYW1lXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBsb2NrTm9kZShub2RlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm5vZGVzQXBpLmxvY2tOb2RlKG5vZGVJZCwge1xuICAgICAgdHlwZTogJ0FMTE9XX09XTkVSX0NIQU5HRVMnLFxuICAgICAgbGlmZXRpbWU6ICdQRVJTSVNURU5UJ1xuICAgIH0pO1xuICB9XG5cbiAgdW5sb2NrTm9kZShub2RlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm5vZGVzQXBpLnVubG9ja05vZGUobm9kZUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKGRhdGE6IE5vZGUpIHtcbiAgICBpZiAoZGF0YSAmJiBkYXRhLnByb3BlcnRpZXMpIHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLnNlbGVjdGlvbi5lbnRyeS5wcm9wZXJ0aWVzIHx8IHt9O1xuXG4gICAgICBwcm9wZXJ0aWVzWydjbTpsb2NrTGlmZXRpbWUnXSA9IGRhdGEucHJvcGVydGllc1snY206bG9ja0xpZmV0aW1lJ107XG4gICAgICBwcm9wZXJ0aWVzWydjbTpsb2NrT3duZXInXSA9IGRhdGEucHJvcGVydGllc1snY206bG9ja093bmVyJ107XG4gICAgICBwcm9wZXJ0aWVzWydjbTpsb2NrVHlwZSddID0gZGF0YS5wcm9wZXJ0aWVzWydjbTpsb2NrVHlwZSddO1xuXG4gICAgICB0aGlzLnNlbGVjdGlvbi5lbnRyeS5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWVkaXQtb2ZmbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90b2dnbGUtZWRpdC1vZmZsaW5lL3RvZ2dsZS1lZGl0LW9mZmxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFvQyxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWV2RCxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQW9CLEtBQXNCLEVBQVUsa0JBQXNDO1FBQXRFLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUgxRixjQUFTLEdBQUcsRUFBRSxDQUFD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QUNuQyxRQUFRLEVBQUU7Ozs7O0dBS1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBwU3RvcmUsXG4gIERvd25sb2FkTm9kZXNBY3Rpb24sXG4gIEVkaXRPZmZsaW5lQWN0aW9uLFxuICBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uLFxuICBTbmFja2JhckVycm9yQWN0aW9uLFxuICBnZXRBcHBTZWxlY3Rpb25cbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgTm9kZUVudHJ5LCBTaGFyZWRMaW5rRW50cnksIE5vZGUsIE5vZGVzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgaXNMb2NrZWQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhcHAtdG9nZ2xlLWVkaXQtb2ZmbGluZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLnRpdGxlXT1cIm5vZGVUaXRsZSB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBpc05vZGVMb2NrZWQgPyAnY2FuY2VsJyA6ICdlZGl0JyB9fTwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57eyAoaXNOb2RlTG9ja2VkID8gJ0FQUC5BQ1RJT05TLkVESVRfT0ZGTElORV9DQU5DRUwnIDogJ0FQUC5BQ1RJT05TLkVESVRfT0ZGTElORScpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXBwLXRvZ2dsZS1lZGl0LW9mZmxpbmUnIH1cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlRWRpdE9mZmxpbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIG5vZGVzQXBpOiBOb2Rlc0FwaTtcbiAgc2VsZWN0aW9uOiBOb2RlRW50cnk7XG4gIG5vZGVUaXRsZSA9ICcnO1xuICBpc05vZGVMb2NrZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sIHByaXZhdGUgYWxmcmVzY29BcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UpIHtcbiAgICB0aGlzLm5vZGVzQXBpID0gbmV3IE5vZGVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBwU2VsZWN0aW9uKS5zdWJzY3JpYmUoKHsgZmlsZSB9KSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IGZpbGU7XG4gICAgICB0aGlzLmlzTm9kZUxvY2tlZCA9IHRoaXMuc2VsZWN0aW9uICYmIGlzTG9ja2VkKHRoaXMuc2VsZWN0aW9uKTtcbiAgICAgIHRoaXMubm9kZVRpdGxlID0gdGhpcy5pc05vZGVMb2NrZWQgPyAnQVBQLkFDVElPTlMuRURJVF9PRkZMSU5FX0NBTkNFTCcgOiAnQVBQLkFDVElPTlMuRURJVF9PRkZMSU5FJztcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2xpY2soKSB7XG4gICAgYXdhaXQgdGhpcy50b2dnbGVMb2NrKHRoaXMuc2VsZWN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdG9nZ2xlTG9jayhub2RlOiBOb2RlRW50cnkgfCBTaGFyZWRMaW5rRW50cnkpIHtcbiAgICBjb25zdCBpZCA9IChub2RlIGFzIFNoYXJlZExpbmtFbnRyeSkuZW50cnkubm9kZUlkIHx8IG5vZGUuZW50cnkuaWQ7XG5cbiAgICBpZiAoaXNMb2NrZWQodGhpcy5zZWxlY3Rpb24pKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMudW5sb2NrTm9kZShpZCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGUocmVzcG9uc2U/LmVudHJ5KTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRWRpdE9mZmxpbmVBY3Rpb24odGhpcy5zZWxlY3Rpb24pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U2VsZWN0ZWROb2Rlc0FjdGlvbihbdGhpcy5zZWxlY3Rpb25dKSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgdGhpcy5vblVubG9ja0Vycm9yKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5sb2NrTm9kZShpZCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGUocmVzcG9uc2U/LmVudHJ5KTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRG93bmxvYWROb2Rlc0FjdGlvbihbdGhpcy5zZWxlY3Rpb25dKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVkaXRPZmZsaW5lQWN0aW9uKHRoaXMuc2VsZWN0aW9uKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFNlbGVjdGVkTm9kZXNBY3Rpb24oW3RoaXMuc2VsZWN0aW9uXSkpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRoaXMub25Mb2NrRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkxvY2tFcnJvcigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24oJ0FQUC5NRVNTQUdFUy5FUlJPUlMuTE9DS19OT0RFJywge1xuICAgICAgICBmaWxlTmFtZTogdGhpcy5zZWxlY3Rpb24uZW50cnkubmFtZVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25VbmxvY2tFcnJvcigpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgbmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24oJ0FQUC5NRVNTQUdFUy5FUlJPUlMuVU5MT0NLX05PREUnLCB7XG4gICAgICAgIGZpbGVOYW1lOiB0aGlzLnNlbGVjdGlvbi5lbnRyeS5uYW1lXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBsb2NrTm9kZShub2RlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm5vZGVzQXBpLmxvY2tOb2RlKG5vZGVJZCwge1xuICAgICAgdHlwZTogJ0FMTE9XX09XTkVSX0NIQU5HRVMnLFxuICAgICAgbGlmZXRpbWU6ICdQRVJTSVNURU5UJ1xuICAgIH0pO1xuICB9XG5cbiAgdW5sb2NrTm9kZShub2RlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm5vZGVzQXBpLnVubG9ja05vZGUobm9kZUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKGRhdGE6IE5vZGUpIHtcbiAgICBpZiAoZGF0YT8ucHJvcGVydGllcykge1xuICAgICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuc2VsZWN0aW9uLmVudHJ5LnByb3BlcnRpZXMgfHwge307XG5cbiAgICAgIHByb3BlcnRpZXNbJ2NtOmxvY2tMaWZldGltZSddID0gZGF0YS5wcm9wZXJ0aWVzWydjbTpsb2NrTGlmZXRpbWUnXTtcbiAgICAgIHByb3BlcnRpZXNbJ2NtOmxvY2tPd25lciddID0gZGF0YS5wcm9wZXJ0aWVzWydjbTpsb2NrT3duZXInXTtcbiAgICAgIHByb3BlcnRpZXNbJ2NtOmxvY2tUeXBlJ10gPSBkYXRhLnByb3BlcnRpZXNbJ2NtOmxvY2tUeXBlJ107XG5cbiAgICAgIHRoaXMuc2VsZWN0aW9uLmVudHJ5LnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuIl19