@skyux/ag-grid 7.10.0 → 7.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/sky-ag-grid.css +6 -7
- package/documentation.json +328 -308
- package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +13 -9
- package/fesm2015/skyux-ag-grid.mjs +12 -8
- package/fesm2015/skyux-ag-grid.mjs.map +1 -1
- package/fesm2020/skyux-ag-grid.mjs +12 -8
- package/fesm2020/skyux-ag-grid.mjs.map +1 -1
- package/package.json +12 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _SkyAgGridRowDeleteDirective_instances, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, _SkyAgGridRowDeleteDirective_ngUnsubscribe, _SkyAgGridRowDeleteDirective_rowDeleteComponent, _SkyAgGridRowDeleteDirective_rowDeleteContents, _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal, _SkyAgGridRowDeleteDirective_affixService, _SkyAgGridRowDeleteDirective_changeDetector, _SkyAgGridRowDeleteDirective_elementRef, _SkyAgGridRowDeleteDirective_overlayService, _SkyAgGridRowDeleteDirective_viewContainerRef, _SkyAgGridRowDeleteDirective_scrollableHostService, _SkyAgGridRowDeleteDirective_clipPath, _SkyAgGridRowDeleteDirective_zIndex, _SkyAgGridRowDeleteDirective_affixToRow, _SkyAgGridRowDeleteDirective_destroyRowDelete, _SkyAgGridRowDeleteDirective_updateRowDeleteStates;
|
|
1
|
+
var _SkyAgGridRowDeleteDirective_instances, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, _SkyAgGridRowDeleteDirective_ngUnsubscribe, _SkyAgGridRowDeleteDirective_rowDeleteComponent, _SkyAgGridRowDeleteDirective_rowDeleteContents, _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal, _SkyAgGridRowDeleteDirective_affixService, _SkyAgGridRowDeleteDirective_changeDetector, _SkyAgGridRowDeleteDirective_elementRef, _SkyAgGridRowDeleteDirective_overlayService, _SkyAgGridRowDeleteDirective_viewContainerRef, _SkyAgGridRowDeleteDirective_scrollableHostService, _SkyAgGridRowDeleteDirective_clipPath, _SkyAgGridRowDeleteDirective_zIndex, _SkyAgGridRowDeleteDirective_hasStackingContext, _SkyAgGridRowDeleteDirective_affixToRow, _SkyAgGridRowDeleteDirective_destroyRowDelete, _SkyAgGridRowDeleteDirective_updateRowDeleteStates;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { ContentChild, Directive, EventEmitter, Inject, Input, Optional, Output, } from '@angular/core';
|
|
4
4
|
import { SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, } from '@skyux/core';
|
|
@@ -36,12 +36,14 @@ export class SkyAgGridRowDeleteDirective {
|
|
|
36
36
|
_SkyAgGridRowDeleteDirective_scrollableHostService.set(this, void 0);
|
|
37
37
|
_SkyAgGridRowDeleteDirective_clipPath.set(this, new BehaviorSubject(undefined));
|
|
38
38
|
_SkyAgGridRowDeleteDirective_zIndex.set(this, new BehaviorSubject(998));
|
|
39
|
+
_SkyAgGridRowDeleteDirective_hasStackingContext.set(this, void 0);
|
|
39
40
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_affixService, affixService, "f");
|
|
40
41
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_changeDetector, changeDetector, "f");
|
|
41
42
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_elementRef, elementRef, "f");
|
|
42
43
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_overlayService, overlayService, "f");
|
|
43
44
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_viewContainerRef, viewContainerRef, "f");
|
|
44
45
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_scrollableHostService, scrollableHostService, "f");
|
|
46
|
+
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_hasStackingContext, !!stackingContext, "f");
|
|
45
47
|
if (stackingContext) {
|
|
46
48
|
stackingContext.zIndex
|
|
47
49
|
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f")))
|
|
@@ -149,12 +151,14 @@ export class SkyAgGridRowDeleteDirective {
|
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
ngAfterViewInit() {
|
|
152
|
-
__classPrivateFieldGet(this,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
if (__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_hasStackingContext, "f")) {
|
|
155
|
+
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_scrollableHostService, "f")
|
|
156
|
+
.watchScrollableHostClipPathChanges(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_elementRef, "f"))
|
|
157
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f")))
|
|
158
|
+
.subscribe((clipPath) => {
|
|
159
|
+
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_clipPath, "f").next(clipPath);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
158
162
|
}
|
|
159
163
|
ngOnDestroy() {
|
|
160
164
|
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f").next();
|
|
@@ -183,7 +187,7 @@ export class SkyAgGridRowDeleteDirective {
|
|
|
183
187
|
return __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, "f").find((rowDelete) => rowDelete.id === row.id);
|
|
184
188
|
}
|
|
185
189
|
}
|
|
186
|
-
_SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDeleteDirective_ngUnsubscribe = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteComponent = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteContents = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal = new WeakMap(), _SkyAgGridRowDeleteDirective_affixService = new WeakMap(), _SkyAgGridRowDeleteDirective_changeDetector = new WeakMap(), _SkyAgGridRowDeleteDirective_elementRef = new WeakMap(), _SkyAgGridRowDeleteDirective_overlayService = new WeakMap(), _SkyAgGridRowDeleteDirective_viewContainerRef = new WeakMap(), _SkyAgGridRowDeleteDirective_scrollableHostService = new WeakMap(), _SkyAgGridRowDeleteDirective_clipPath = new WeakMap(), _SkyAgGridRowDeleteDirective_zIndex = new WeakMap(), _SkyAgGridRowDeleteDirective_instances = new WeakSet(), _SkyAgGridRowDeleteDirective_affixToRow = function _SkyAgGridRowDeleteDirective_affixToRow(affixer, id) {
|
|
190
|
+
_SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDeleteDirective_ngUnsubscribe = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteComponent = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteContents = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal = new WeakMap(), _SkyAgGridRowDeleteDirective_affixService = new WeakMap(), _SkyAgGridRowDeleteDirective_changeDetector = new WeakMap(), _SkyAgGridRowDeleteDirective_elementRef = new WeakMap(), _SkyAgGridRowDeleteDirective_overlayService = new WeakMap(), _SkyAgGridRowDeleteDirective_viewContainerRef = new WeakMap(), _SkyAgGridRowDeleteDirective_scrollableHostService = new WeakMap(), _SkyAgGridRowDeleteDirective_clipPath = new WeakMap(), _SkyAgGridRowDeleteDirective_zIndex = new WeakMap(), _SkyAgGridRowDeleteDirective_hasStackingContext = new WeakMap(), _SkyAgGridRowDeleteDirective_instances = new WeakSet(), _SkyAgGridRowDeleteDirective_affixToRow = function _SkyAgGridRowDeleteDirective_affixToRow(affixer, id) {
|
|
187
191
|
let rowElement = __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_elementRef, "f").nativeElement.querySelector(`
|
|
188
192
|
[row-id="${id}"] div[aria-colindex="1"],
|
|
189
193
|
.ag-row.sky-ag-grid-row-${id} div[aria-colindex="1"]
|
|
@@ -257,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
257
261
|
type: ContentChild,
|
|
258
262
|
args: [AgGridAngular]
|
|
259
263
|
}] } });
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBTXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVM3RSxNQUFNLE9BQU8sMkJBQTJCO0lBNEl0QyxZQUNFLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLGNBQWlDLEVBQ2pDLGdCQUFrQyxFQUNsQyxxQkFBK0MsRUFHL0MsZUFBb0M7O1FBOUN0Qzs7V0FFRztRQUVJLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFFMUU7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUU1RTs7V0FFRztRQUVJLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFekQsd0RBQWdELEVBQUUsRUFBQztRQUtuRCxxREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyxrRUFBNkQ7UUFDN0QseURBQW1F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LE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQU1BLE1BQU07c0JBRFosWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlLFxuICBTa3lTdGFja2luZ0NvbnRleHQsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBSb3dOb2RlIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlnJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlybS1hcmdzJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29udGVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkUm93RGVsZXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyB3aGVyZSB0aGUgaW5saW5lIGRlbGV0ZSBhcHBlYXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3dEZWxldGVJZHModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IGlkXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nQ29uZmlnKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZmlnLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ICYmIHRoaXMuYWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIHBlbmRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdmVybGF5ID0gdGhpcy4jb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUoXG4gICAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hZ0dyaWQuYXBpLmdldFJvd05vZGUoaWQpLFxuICAgICAgICAgICAgICB0YWJsZVdpZHRoOiAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWFnLWdyaWQnKVxuICAgICAgICAgICAgICAgICAgLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgICAgY2FuY2VsUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNhbmNlbFJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgICAgICBjb25maXJtUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNvbmZpcm1Sb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGFyZSBtYW51YWxseSBzZXR0aW5nIHRoZSB6LWluZGV4IGhlcmUgYmVjYXVzZSBvdmVybGF5cyB3aWxsIGFsd2F5cyBiZSBvbiB0b3Agb2ZcbiAgICAgICAgICogdGhlIG9tbmliYXIuIFRoZSBkZWZhdWx0IG1hbnVhbCBzZXR0aW5nIGlzIDIgbGVzcyB0aGFuIHRoZSBvbW5pYmFyJ3Mgei1pbmRleCBvZiAxMDAwIGFuZCBvbmUgbGVzcyB0aGFuXG4gICAgICAgICAqIHRoZSBoZWFkZXIgcm93J3Mgdmlld2tlZXBlciB3aGljaCBpcyA5OTkuIFdlIGRpc2N1c3NlZCBjaGFuZ2luZyB0aGUgb3ZlcmxheSBzZXJ2aWNlIHRvIGFsbG93IGZvciB0aGlzXG4gICAgICAgICAqIGJ1dCBkZWNpZGVkIGFnYWluc3QgdGhhdCBjaGFuZ2UgYXQgdGhpcyB0aW1lIGR1ZSB0byBpdHMgbmljaGUgbmF0dXJlLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy4jekluZGV4XG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHpJbmRleCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheS5jb21wb25lbnRSZWYuaW5zdGFuY2UuekluZGV4ID0gekluZGV4LnRvU3RyaW5nKDEwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY2xpcFBhdGhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoY2xpcFBhdGgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXkuY29tcG9uZW50UmVmLmluc3RhbmNlLnVwZGF0ZUNsaXBQYXRoKGNsaXBQYXRoKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVEZWxldGVSZWYgPSB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQ/LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKGVsUmVmKSA9PiBlbFJlZi5uYXRpdmVFbGVtZW50LmlkID09PSAncm93LWRlbGV0ZS1yZWYtJyArIGlkXG4gICAgICAgICAgICApIGFzIEVsZW1lbnRSZWY7XG4gICAgICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLiNhZmZpeFRvUm93KGFmZml4ZXIsIGlkKTtcblxuICAgICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXSA9IHtcbiAgICAgICAgICAgIGFmZml4ZXI6IGFmZml4ZXIsXG4gICAgICAgICAgICBvdmVybGF5OiBvdmVybGF5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dEZWxldGVJZHMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY2FuY2VsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY29uZmlybWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgbGlzdCBvZiBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgd2hlcmUgaW5saW5lIGRlbGV0ZXMgYXJlIHNob3duIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUlkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgI3Jvd0RlbGV0ZUNvbmZpZ3M6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZ1tdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChBZ0dyaWRBbmd1bGFyKVxuICBwdWJsaWMgYWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3Jvd0RlbGV0ZUNvbXBvbmVudDogU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjcm93RGVsZXRlQ29udGVudHM6IHsgW2lkOiBzdHJpbmddOiBTa3lBZ0dyaWRSb3dEZWxldGVDb250ZW50cyB9ID0ge307XG5cbiAgI3Jvd0RlbGV0ZUlkc0ludGVybmFsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgI3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICNzY3JvbGxhYmxlSG9zdFNlcnZpY2U6IFNreVNjcm9sbGFibGVIb3N0U2VydmljZTtcbiAgI2NsaXBQYXRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICN6SW5kZXggPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDk5OCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc2Nyb2xsYWJsZUhvc3RTZXJ2aWNlOiBTa3lTY3JvbGxhYmxlSG9zdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNLWV9TVEFDS0lOR19DT05URVhUKVxuICAgIHN0YWNraW5nQ29udGV4dD86IFNreVN0YWNraW5nQ29udGV4dFxuICApIHtcbiAgICB0aGlzLiNhZmZpeFNlcnZpY2UgPSBhZmZpeFNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNvdmVybGF5U2VydmljZSA9IG92ZXJsYXlTZXJ2aWNlO1xuICAgIHRoaXMuI3ZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udGFpbmVyUmVmO1xuICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0U2VydmljZSA9IHNjcm9sbGFibGVIb3N0U2VydmljZTtcbiAgICBpZiAoc3RhY2tpbmdDb250ZXh0KSB7XG4gICAgICBzdGFja2luZ0NvbnRleHQuekluZGV4XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy4jekluZGV4Lm5leHQoekluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQgPSB0aGlzLiN2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudFxuICAgICkuaW5zdGFuY2U7XG5cbiAgICBpZiAodGhpcy5hZ0dyaWQpIHtcbiAgICAgIHRoaXMuYWdHcmlkLnJvd0RhdGFVcGRhdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlUm93RGVsZXRlU3RhdGVzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFnR3JpZC5zb3J0Q2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuZmlsdGVyQ2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0U2VydmljZVxuICAgICAgLndhdGNoU2Nyb2xsYWJsZUhvc3RDbGlwUGF0aENoYW5nZXModGhpcy4jZWxlbWVudFJlZilcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNsaXBQYXRoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NsaXBQYXRoLm5leHQoY2xpcFBhdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgT2JqZWN0LmtleXModGhpcy4jcm93RGVsZXRlQ29udGVudHMpLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICB0aGlzLiNkZXN0cm95Um93RGVsZXRlKGlkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxSb3dEZWxldGUocm93OiBSb3dOb2RlKTogdm9pZCB7XG4gICAgaWYgKHJvdy5pZCkge1xuICAgICAgdGhpcy4jcm93RGVsZXRlQ29uZmlncyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmlsdGVyKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgIT09IHJvdy5pZFxuICAgICAgKTtcbiAgICAgIHRoaXMucm93RGVsZXRlQ2FuY2VsLmVtaXQoeyBpZDogcm93LmlkIH0pO1xuXG4gICAgICB0aGlzLiNkZXN0cm95Um93RGVsZXRlKHJvdy5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNvbmZpcm1Sb3dEZWxldGUocm93OiBSb3dOb2RlKTogdm9pZCB7XG4gICAgaWYgKHJvdy5pZCkge1xuICAgICAgY29uc3Qgcm93Q29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IHJvdy5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKHJvd0NvbmZpZykge1xuICAgICAgICByb3dDb25maWcucGVuZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMucm93RGVsZXRlQ29uZmlybS5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Um93RGVsZXRlSXRlbShyb3c6IFJvd05vZGUpOiBTa3lBZ0dyaWRSb3dEZWxldGVDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbmQoKHJvd0RlbGV0ZSkgPT4gcm93RGVsZXRlLmlkID09PSByb3cuaWQpO1xuICB9XG5cbiAgI2FmZml4VG9Sb3coYWZmaXhlcjogU2t5QWZmaXhlciwgaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCByb3dFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBcbiAgICAgIFtyb3ctaWQ9XCIke2lkfVwiXSBkaXZbYXJpYS1jb2xpbmRleD1cIjFcIl0sXG4gICAgICAuYWctcm93LnNreS1hZy1ncmlkLXJvdy0ke2lkfSBkaXZbYXJpYS1jb2xpbmRleD1cIjFcIl1cbiAgICBgKTtcblxuICAgIC8vIFRoaXMgY292ZXJzIGNhc2VzIHdoZXJlIEFHIEdyaWQgcGxhY2VzIHRoZSBjb2x1bW4gaW5kZXggb24gYW4gaW5uZXIgZWxlbWVudCAoc3VjaCBhcyB3aXRoIHRoZSBgZW5hYmxlQ2VsbFRleHRTZWxlY3Rpb25gIG9wdGlvbilcbiAgICAvLyBUaGlzIGFwcGVhcnMgdG8gaGF2ZSBiZWVuIGZpeGVkIGJ5IEFHIEdyaWQgaW4gdmVyc2lvbiAyNCBhbmQgc28gaXQgaXMgbm90IHRlc3RhYmxlIGFmdGVyIHRoYXQgdmVyc2lvbi5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXJvd0VsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ1tyb3ctaWQ9XCInICsgaWQgKyAnXCJdID4gZGl2J1xuICAgICAgKTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjb2x1bW5zW2ldLnF1ZXJ5U2VsZWN0b3IoJ1thcmlhLWNvbGluZGV4PVwiMVwiXScpKSB7XG4gICAgICAgICAgcm93RWxlbWVudCA9IGNvbHVtbnNbaV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhZmZpeGVyLmFmZml4VG8ocm93RWxlbWVudCwge1xuICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgIHBsYWNlbWVudDogJ2Fib3ZlJyxcbiAgICAgIHZlcnRpY2FsQWxpZ25tZW50OiAndG9wJyxcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6ICdsZWZ0JyxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgI2Rlc3Ryb3lSb3dEZWxldGUoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJvd0RlbGV0ZUNvbnRlbnRzID0gdGhpcy4jcm93RGVsZXRlQ29udGVudHNbaWRdO1xuXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocm93RGVsZXRlQ29udGVudHMpIHtcbiAgICAgIHJvd0RlbGV0ZUNvbnRlbnRzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UuY2xvc2Uocm93RGVsZXRlQ29udGVudHMub3ZlcmxheSk7XG4gICAgICBkZWxldGUgdGhpcy4jcm93RGVsZXRlQ29udGVudHNbaWRdO1xuICAgICAgdGhpcy4jcm93RGVsZXRlQ29uZmlncyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmlsdGVyKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgIT09IGlkXG4gICAgICApO1xuICAgICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB0aGlzLnJvd0RlbGV0ZUlkcz8uZmlsdGVyKFxuICAgICAgICAoYXJyYXlJZCkgPT4gYXJyYXlJZCAhPT0gaWRcbiAgICAgICk7XG4gICAgICB0aGlzLnJvd0RlbGV0ZUlkc0NoYW5nZS5lbWl0KHRoaXMuI3Jvd0RlbGV0ZUlkc0ludGVybmFsKTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlUm93RGVsZXRlU3RhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZm9yRWFjaCgoY29uZmlnOiBTa3lBZ0dyaWRSb3dEZWxldGVDb25maWcpID0+IHtcbiAgICAgIGlmICghdGhpcy5hZ0dyaWQ/LmFwaS5nZXRSb3dOb2RlKGNvbmZpZy5pZCkpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgbXVzdCByZWFmZml4IHRoaW5ncyB3aGVuIHRoZSBkYXRhIGNoYW5nZXMgYmVjYXVzZSB0aGUgcm93cyByZXJlbmRlciBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgdGhhdCB0aGUgZGVsZXRlIHdhcyBhZmZpeGVkXG4gICAgICAgIC8vIHRvIGlzIGRlc3Ryb3llZC5cbiAgICAgICAgdGhpcy4jYWZmaXhUb1Jvdyh0aGlzLiNyb3dEZWxldGVDb250ZW50c1tjb25maWcuaWRdLmFmZml4ZXIsIGNvbmZpZy5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBTXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVM3RSxNQUFNLE9BQU8sMkJBQTJCO0lBNkl0QyxZQUNFLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ3RCLGNBQWlDLEVBQ2pDLGdCQUFrQyxFQUNsQyxxQkFBK0MsRUFHL0MsZUFBb0M7O1FBL0N0Qzs7V0FFRztRQUVJLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFFMUU7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUU1RTs7V0FFRztRQUVJLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFekQsd0RBQWdELEVBQUUsRUFBQztRQUtuRCxxREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyxrRUFBNkQ7UUFDN0QseURBQW1F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MEJBcUpJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9COzRDQTlJbkIsWUFBWTtzQkFEdEIsS0FBSztnQkFxR0MsZUFBZTtzQkFEckIsTUFBTTtnQkFPQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBT0Esa0JBQWtCO3NCQUR4QixNQUFNO2dCQU1BLE1BQU07c0JBRFosWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlLFxuICBTa3lTdGFja2luZ0NvbnRleHQsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBSb3dOb2RlIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlnJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlybS1hcmdzJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29udGVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkUm93RGVsZXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyB3aGVyZSB0aGUgaW5saW5lIGRlbGV0ZSBhcHBlYXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3dEZWxldGVJZHModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IGlkXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nQ29uZmlnKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZmlnLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ICYmIHRoaXMuYWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIHBlbmRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdmVybGF5ID0gdGhpcy4jb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUoXG4gICAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hZ0dyaWQuYXBpLmdldFJvd05vZGUoaWQpLFxuICAgICAgICAgICAgICB0YWJsZVdpZHRoOiAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWFnLWdyaWQnKVxuICAgICAgICAgICAgICAgICAgLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgICAgY2FuY2VsUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNhbmNlbFJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgICAgICBjb25maXJtUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNvbmZpcm1Sb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGFyZSBtYW51YWxseSBzZXR0aW5nIHRoZSB6LWluZGV4IGhlcmUgYmVjYXVzZSBvdmVybGF5cyB3aWxsIGFsd2F5cyBiZSBvbiB0b3Agb2ZcbiAgICAgICAgICogdGhlIG9tbmliYXIuIFRoZSBkZWZhdWx0IG1hbnVhbCBzZXR0aW5nIGlzIDIgbGVzcyB0aGFuIHRoZSBvbW5pYmFyJ3Mgei1pbmRleCBvZiAxMDAwIGFuZCBvbmUgbGVzcyB0aGFuXG4gICAgICAgICAqIHRoZSBoZWFkZXIgcm93J3Mgdmlld2tlZXBlciB3aGljaCBpcyA5OTkuIFdlIGRpc2N1c3NlZCBjaGFuZ2luZyB0aGUgb3ZlcmxheSBzZXJ2aWNlIHRvIGFsbG93IGZvciB0aGlzXG4gICAgICAgICAqIGJ1dCBkZWNpZGVkIGFnYWluc3QgdGhhdCBjaGFuZ2UgYXQgdGhpcyB0aW1lIGR1ZSB0byBpdHMgbmljaGUgbmF0dXJlLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy4jekluZGV4XG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHpJbmRleCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheS5jb21wb25lbnRSZWYuaW5zdGFuY2UuekluZGV4ID0gekluZGV4LnRvU3RyaW5nKDEwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY2xpcFBhdGhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoY2xpcFBhdGgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXkuY29tcG9uZW50UmVmLmluc3RhbmNlLnVwZGF0ZUNsaXBQYXRoKGNsaXBQYXRoKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVEZWxldGVSZWYgPSB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQ/LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKGVsUmVmKSA9PiBlbFJlZi5uYXRpdmVFbGVtZW50LmlkID09PSAncm93LWRlbGV0ZS1yZWYtJyArIGlkXG4gICAgICAgICAgICApIGFzIEVsZW1lbnRSZWY7XG4gICAgICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLiNhZmZpeFRvUm93KGFmZml4ZXIsIGlkKTtcblxuICAgICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXSA9IHtcbiAgICAgICAgICAgIGFmZml4ZXI6IGFmZml4ZXIsXG4gICAgICAgICAgICBvdmVybGF5OiBvdmVybGF5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dEZWxldGVJZHMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY2FuY2VsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY29uZmlybWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgbGlzdCBvZiBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgd2hlcmUgaW5saW5lIGRlbGV0ZXMgYXJlIHNob3duIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUlkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgI3Jvd0RlbGV0ZUNvbmZpZ3M6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZ1tdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChBZ0dyaWRBbmd1bGFyKVxuICBwdWJsaWMgYWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3Jvd0RlbGV0ZUNvbXBvbmVudDogU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjcm93RGVsZXRlQ29udGVudHM6IHsgW2lkOiBzdHJpbmddOiBTa3lBZ0dyaWRSb3dEZWxldGVDb250ZW50cyB9ID0ge307XG5cbiAgI3Jvd0RlbGV0ZUlkc0ludGVybmFsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgI3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICNzY3JvbGxhYmxlSG9zdFNlcnZpY2U6IFNreVNjcm9sbGFibGVIb3N0U2VydmljZTtcbiAgI2NsaXBQYXRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICN6SW5kZXggPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDk5OCk7XG4gICNoYXNTdGFja2luZ0NvbnRleHQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc2Nyb2xsYWJsZUhvc3RTZXJ2aWNlOiBTa3lTY3JvbGxhYmxlSG9zdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNLWV9TVEFDS0lOR19DT05URVhUKVxuICAgIHN0YWNraW5nQ29udGV4dD86IFNreVN0YWNraW5nQ29udGV4dFxuICApIHtcbiAgICB0aGlzLiNhZmZpeFNlcnZpY2UgPSBhZmZpeFNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNvdmVybGF5U2VydmljZSA9IG92ZXJsYXlTZXJ2aWNlO1xuICAgIHRoaXMuI3ZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udGFpbmVyUmVmO1xuICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0U2VydmljZSA9IHNjcm9sbGFibGVIb3N0U2VydmljZTtcbiAgICB0aGlzLiNoYXNTdGFja2luZ0NvbnRleHQgPSAhIXN0YWNraW5nQ29udGV4dDtcbiAgICBpZiAoc3RhY2tpbmdDb250ZXh0KSB7XG4gICAgICBzdGFja2luZ0NvbnRleHQuekluZGV4XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy4jekluZGV4Lm5leHQoekluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQgPSB0aGlzLiN2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudFxuICAgICkuaW5zdGFuY2U7XG5cbiAgICBpZiAodGhpcy5hZ0dyaWQpIHtcbiAgICAgIHRoaXMuYWdHcmlkLnJvd0RhdGFVcGRhdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlUm93RGVsZXRlU3RhdGVzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFnR3JpZC5zb3J0Q2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuZmlsdGVyQ2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNoYXNTdGFja2luZ0NvbnRleHQpIHtcbiAgICAgIHRoaXMuI3Njcm9sbGFibGVIb3N0U2VydmljZVxuICAgICAgICAud2F0Y2hTY3JvbGxhYmxlSG9zdENsaXBQYXRoQ2hhbmdlcyh0aGlzLiNlbGVtZW50UmVmKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNsaXBQYXRoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jY2xpcFBhdGgubmV4dChjbGlwUGF0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLiNyb3dEZWxldGVDb250ZW50cykuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoaWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbFJvd0RlbGV0ZShyb3c6IFJvd05vZGUpOiB2b2lkIHtcbiAgICBpZiAocm93LmlkKSB7XG4gICAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maWx0ZXIoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gcm93LmlkXG4gICAgICApO1xuICAgICAgdGhpcy5yb3dEZWxldGVDYW5jZWwuZW1pdCh7IGlkOiByb3cuaWQgfSk7XG5cbiAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUocm93LmlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29uZmlybVJvd0RlbGV0ZShyb3c6IFJvd05vZGUpOiB2b2lkIHtcbiAgICBpZiAocm93LmlkKSB7XG4gICAgICBjb25zdCByb3dDb25maWcgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbmQoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCA9PT0gcm93LmlkXG4gICAgICApO1xuXG4gICAgICBpZiAocm93Q29uZmlnKSB7XG4gICAgICAgIHJvd0NvbmZpZy5wZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yb3dEZWxldGVDb25maXJtLmVtaXQoeyBpZDogcm93LmlkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dEZWxldGVJdGVtKHJvdzogUm93Tm9kZSk6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZCgocm93RGVsZXRlKSA9PiByb3dEZWxldGUuaWQgPT09IHJvdy5pZCk7XG4gIH1cblxuICAjYWZmaXhUb1JvdyhhZmZpeGVyOiBTa3lBZmZpeGVyLCBpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHJvd0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFxuICAgICAgW3Jvdy1pZD1cIiR7aWR9XCJdIGRpdlthcmlhLWNvbGluZGV4PVwiMVwiXSxcbiAgICAgIC5hZy1yb3cuc2t5LWFnLWdyaWQtcm93LSR7aWR9IGRpdlthcmlhLWNvbGluZGV4PVwiMVwiXVxuICAgIGApO1xuXG4gICAgLy8gVGhpcyBjb3ZlcnMgY2FzZXMgd2hlcmUgQUcgR3JpZCBwbGFjZXMgdGhlIGNvbHVtbiBpbmRleCBvbiBhbiBpbm5lciBlbGVtZW50IChzdWNoIGFzIHdpdGggdGhlIGBlbmFibGVDZWxsVGV4dFNlbGVjdGlvbmAgb3B0aW9uKVxuICAgIC8vIFRoaXMgYXBwZWFycyB0byBoYXZlIGJlZW4gZml4ZWQgYnkgQUcgR3JpZCBpbiB2ZXJzaW9uIDI0IGFuZCBzbyBpdCBpcyBub3QgdGVzdGFibGUgYWZ0ZXIgdGhhdCB2ZXJzaW9uLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghcm93RWxlbWVudCkge1xuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnW3Jvdy1pZD1cIicgKyBpZCArICdcIl0gPiBkaXYnXG4gICAgICApO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGNvbHVtbnNbaV0ucXVlcnlTZWxlY3RvcignW2FyaWEtY29saW5kZXg9XCIxXCJdJykpIHtcbiAgICAgICAgICByb3dFbGVtZW50ID0gY29sdW1uc1tpXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGFmZml4ZXIuYWZmaXhUbyhyb3dFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgcGxhY2VtZW50OiAnYWJvdmUnLFxuICAgICAgdmVydGljYWxBbGlnbm1lbnQ6ICd0b3AnLFxuICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogJ2xlZnQnLFxuICAgICAgZW5hYmxlQXV0b0ZpdDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAjZGVzdHJveVJvd0RlbGV0ZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgcm93RGVsZXRlQ29udGVudHMgPSB0aGlzLiNyb3dEZWxldGVDb250ZW50c1tpZF07XG5cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyb3dEZWxldGVDb250ZW50cykge1xuICAgICAgcm93RGVsZXRlQ29udGVudHMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZShyb3dEZWxldGVDb250ZW50cy5vdmVybGF5KTtcbiAgICAgIGRlbGV0ZSB0aGlzLiNyb3dEZWxldGVDb250ZW50c1tpZF07XG4gICAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maWx0ZXIoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gaWRcbiAgICAgICk7XG4gICAgICB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbCA9IHRoaXMucm93RGVsZXRlSWRzPy5maWx0ZXIoXG4gICAgICAgIChhcnJheUlkKSA9PiBhcnJheUlkICE9PSBpZFxuICAgICAgKTtcbiAgICAgIHRoaXMucm93RGVsZXRlSWRzQ2hhbmdlLmVtaXQodGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwpO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy4jcm93RGVsZXRlQ29uZmlncy5mb3JFYWNoKChjb25maWc6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFnR3JpZD8uYXBpLmdldFJvd05vZGUoY29uZmlnLmlkKSkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Um93RGVsZXRlKGNvbmZpZy5pZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBtdXN0IHJlYWZmaXggdGhpbmdzIHdoZW4gdGhlIGRhdGEgY2hhbmdlcyBiZWNhdXNlIHRoZSByb3dzIHJlcmVuZGVyIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCB0aGF0IHRoZSBkZWxldGUgd2FzIGFmZml4ZWRcbiAgICAgICAgLy8gdG8gaXMgZGVzdHJveWVkLlxuICAgICAgICB0aGlzLiNhZmZpeFRvUm93KHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2NvbmZpZy5pZF0uYWZmaXhlciwgY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -2257,7 +2257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
2257
2257
|
args: ['inlineDeleteTemplateRef', { read: TemplateRef }]
|
|
2258
2258
|
}] } });
|
|
2259
2259
|
|
|
2260
|
-
var _SkyAgGridRowDeleteDirective_instances, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, _SkyAgGridRowDeleteDirective_ngUnsubscribe, _SkyAgGridRowDeleteDirective_rowDeleteComponent, _SkyAgGridRowDeleteDirective_rowDeleteContents, _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal, _SkyAgGridRowDeleteDirective_affixService, _SkyAgGridRowDeleteDirective_changeDetector, _SkyAgGridRowDeleteDirective_elementRef, _SkyAgGridRowDeleteDirective_overlayService, _SkyAgGridRowDeleteDirective_viewContainerRef, _SkyAgGridRowDeleteDirective_scrollableHostService, _SkyAgGridRowDeleteDirective_clipPath, _SkyAgGridRowDeleteDirective_zIndex, _SkyAgGridRowDeleteDirective_affixToRow, _SkyAgGridRowDeleteDirective_destroyRowDelete, _SkyAgGridRowDeleteDirective_updateRowDeleteStates;
|
|
2260
|
+
var _SkyAgGridRowDeleteDirective_instances, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, _SkyAgGridRowDeleteDirective_ngUnsubscribe, _SkyAgGridRowDeleteDirective_rowDeleteComponent, _SkyAgGridRowDeleteDirective_rowDeleteContents, _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal, _SkyAgGridRowDeleteDirective_affixService, _SkyAgGridRowDeleteDirective_changeDetector, _SkyAgGridRowDeleteDirective_elementRef, _SkyAgGridRowDeleteDirective_overlayService, _SkyAgGridRowDeleteDirective_viewContainerRef, _SkyAgGridRowDeleteDirective_scrollableHostService, _SkyAgGridRowDeleteDirective_clipPath, _SkyAgGridRowDeleteDirective_zIndex, _SkyAgGridRowDeleteDirective_hasStackingContext, _SkyAgGridRowDeleteDirective_affixToRow, _SkyAgGridRowDeleteDirective_destroyRowDelete, _SkyAgGridRowDeleteDirective_updateRowDeleteStates;
|
|
2261
2261
|
class SkyAgGridRowDeleteDirective {
|
|
2262
2262
|
constructor(affixService, changeDetector, elementRef, overlayService, viewContainerRef, scrollableHostService, stackingContext) {
|
|
2263
2263
|
_SkyAgGridRowDeleteDirective_instances.add(this);
|
|
@@ -2286,12 +2286,14 @@ class SkyAgGridRowDeleteDirective {
|
|
|
2286
2286
|
_SkyAgGridRowDeleteDirective_scrollableHostService.set(this, void 0);
|
|
2287
2287
|
_SkyAgGridRowDeleteDirective_clipPath.set(this, new BehaviorSubject(undefined));
|
|
2288
2288
|
_SkyAgGridRowDeleteDirective_zIndex.set(this, new BehaviorSubject(998));
|
|
2289
|
+
_SkyAgGridRowDeleteDirective_hasStackingContext.set(this, void 0);
|
|
2289
2290
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_affixService, affixService, "f");
|
|
2290
2291
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_changeDetector, changeDetector, "f");
|
|
2291
2292
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_elementRef, elementRef, "f");
|
|
2292
2293
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_overlayService, overlayService, "f");
|
|
2293
2294
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_viewContainerRef, viewContainerRef, "f");
|
|
2294
2295
|
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_scrollableHostService, scrollableHostService, "f");
|
|
2296
|
+
__classPrivateFieldSet(this, _SkyAgGridRowDeleteDirective_hasStackingContext, !!stackingContext, "f");
|
|
2295
2297
|
if (stackingContext) {
|
|
2296
2298
|
stackingContext.zIndex
|
|
2297
2299
|
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f")))
|
|
@@ -2398,12 +2400,14 @@ class SkyAgGridRowDeleteDirective {
|
|
|
2398
2400
|
}
|
|
2399
2401
|
}
|
|
2400
2402
|
ngAfterViewInit() {
|
|
2401
|
-
__classPrivateFieldGet(this,
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2403
|
+
if (__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_hasStackingContext, "f")) {
|
|
2404
|
+
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_scrollableHostService, "f")
|
|
2405
|
+
.watchScrollableHostClipPathChanges(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_elementRef, "f"))
|
|
2406
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f")))
|
|
2407
|
+
.subscribe((clipPath) => {
|
|
2408
|
+
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_clipPath, "f").next(clipPath);
|
|
2409
|
+
});
|
|
2410
|
+
}
|
|
2407
2411
|
}
|
|
2408
2412
|
ngOnDestroy() {
|
|
2409
2413
|
__classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_ngUnsubscribe, "f").next();
|
|
@@ -2432,7 +2436,7 @@ class SkyAgGridRowDeleteDirective {
|
|
|
2432
2436
|
return __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, "f").find((rowDelete) => rowDelete.id === row.id);
|
|
2433
2437
|
}
|
|
2434
2438
|
}
|
|
2435
|
-
_SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDeleteDirective_ngUnsubscribe = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteComponent = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteContents = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal = new WeakMap(), _SkyAgGridRowDeleteDirective_affixService = new WeakMap(), _SkyAgGridRowDeleteDirective_changeDetector = new WeakMap(), _SkyAgGridRowDeleteDirective_elementRef = new WeakMap(), _SkyAgGridRowDeleteDirective_overlayService = new WeakMap(), _SkyAgGridRowDeleteDirective_viewContainerRef = new WeakMap(), _SkyAgGridRowDeleteDirective_scrollableHostService = new WeakMap(), _SkyAgGridRowDeleteDirective_clipPath = new WeakMap(), _SkyAgGridRowDeleteDirective_zIndex = new WeakMap(), _SkyAgGridRowDeleteDirective_instances = new WeakSet(), _SkyAgGridRowDeleteDirective_affixToRow = function _SkyAgGridRowDeleteDirective_affixToRow(affixer, id) {
|
|
2439
|
+
_SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDeleteDirective_ngUnsubscribe = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteComponent = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteContents = new WeakMap(), _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal = new WeakMap(), _SkyAgGridRowDeleteDirective_affixService = new WeakMap(), _SkyAgGridRowDeleteDirective_changeDetector = new WeakMap(), _SkyAgGridRowDeleteDirective_elementRef = new WeakMap(), _SkyAgGridRowDeleteDirective_overlayService = new WeakMap(), _SkyAgGridRowDeleteDirective_viewContainerRef = new WeakMap(), _SkyAgGridRowDeleteDirective_scrollableHostService = new WeakMap(), _SkyAgGridRowDeleteDirective_clipPath = new WeakMap(), _SkyAgGridRowDeleteDirective_zIndex = new WeakMap(), _SkyAgGridRowDeleteDirective_hasStackingContext = new WeakMap(), _SkyAgGridRowDeleteDirective_instances = new WeakSet(), _SkyAgGridRowDeleteDirective_affixToRow = function _SkyAgGridRowDeleteDirective_affixToRow(affixer, id) {
|
|
2436
2440
|
let rowElement = __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_elementRef, "f").nativeElement.querySelector(`
|
|
2437
2441
|
[row-id="${id}"] div[aria-colindex="1"],
|
|
2438
2442
|
.ag-row.sky-ag-grid-row-${id} div[aria-colindex="1"]
|