@schneideress/dashboardframework 0.0.45 → 0.0.46
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/bundles/schneideress-dashboardframework.umd.js +49 -1064
- package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
- package/esm2015/gridster/index.js +1 -1
- package/esm2015/gridster/lib/gridster.component.js +1 -1
- package/esm2015/gridster/lib/gridster.interface.js +1 -1
- package/esm2015/gridster/lib/gridster.module.js +1 -1
- package/esm2015/gridster/lib/gridsterCompact.service.js +1 -1
- package/esm2015/gridster/lib/gridsterConfig.constant.js +1 -1
- package/esm2015/gridster/lib/gridsterConfig.interface.js +1 -1
- package/esm2015/gridster/lib/gridsterConfigS.interface.js +1 -1
- package/esm2015/gridster/lib/gridsterDraggable.service.js +1 -1
- package/esm2015/gridster/lib/gridsterEmptyCell.service.js +1 -1
- package/esm2015/gridster/lib/gridsterItem.component.js +1 -1
- package/esm2015/gridster/lib/gridsterItem.interface.js +1 -1
- package/esm2015/gridster/lib/gridsterItemComponent.interface.js +1 -1
- package/esm2015/gridster/lib/gridsterPreview.component.js +1 -1
- package/esm2015/gridster/lib/gridsterPush.service.js +1 -1
- package/esm2015/gridster/lib/gridsterPushResize.service.js +1 -1
- package/esm2015/gridster/lib/gridsterRenderer.service.js +1 -1
- package/esm2015/gridster/lib/gridsterResizable.service.js +1 -1
- package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +1 -1
- package/esm2015/gridster/lib/gridsterScroll.service.js +1 -1
- package/esm2015/gridster/lib/gridsterSwap.service.js +1 -1
- package/esm2015/gridster/lib/gridsterUtils.service.js +1 -1
- package/esm2015/lib/custom.notifier.options.js +1 -1
- package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +1 -1
- package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +7 -9
- package/esm2015/lib/ra.base.dashboard.filter.js +1 -1
- package/esm2015/lib/ra.base.dashboard.template.js +1 -1
- package/esm2015/lib/ra.dashbard.event.bus.js +1 -1
- package/esm2015/lib/ra.dashboard.module.js +1 -1
- package/esm2015/lib/ra.dashboard.service.js +1 -1
- package/esm2015/lib/ra.event.enum.js +1 -1
- package/esm2015/lib/ra.gridster.config.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/schneideress-dashboardframework.js +1 -1
- package/esm5/gridster/index.js +1 -1
- package/esm5/gridster/lib/gridster.component.js +1 -1
- package/esm5/gridster/lib/gridster.interface.js +1 -1
- package/esm5/gridster/lib/gridster.module.js +1 -1
- package/esm5/gridster/lib/gridsterCompact.service.js +1 -1
- package/esm5/gridster/lib/gridsterConfig.constant.js +1 -1
- package/esm5/gridster/lib/gridsterConfig.interface.js +1 -1
- package/esm5/gridster/lib/gridsterConfigS.interface.js +1 -1
- package/esm5/gridster/lib/gridsterDraggable.service.js +1 -1
- package/esm5/gridster/lib/gridsterEmptyCell.service.js +1 -1
- package/esm5/gridster/lib/gridsterItem.component.js +1 -1
- package/esm5/gridster/lib/gridsterItem.interface.js +1 -1
- package/esm5/gridster/lib/gridsterItemComponent.interface.js +1 -1
- package/esm5/gridster/lib/gridsterPreview.component.js +1 -1
- package/esm5/gridster/lib/gridsterPush.service.js +1 -1
- package/esm5/gridster/lib/gridsterPushResize.service.js +1 -1
- package/esm5/gridster/lib/gridsterRenderer.service.js +1 -1
- package/esm5/gridster/lib/gridsterResizable.service.js +1 -1
- package/esm5/gridster/lib/gridsterResizeEventType.interface.js +1 -1
- package/esm5/gridster/lib/gridsterScroll.service.js +1 -1
- package/esm5/gridster/lib/gridsterSwap.service.js +1 -1
- package/esm5/gridster/lib/gridsterUtils.service.js +1 -1
- package/esm5/lib/custom.notifier.options.js +1 -1
- package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +1 -1
- package/esm5/lib/ra-widget-container/ra.widget.container.component.js +3 -5
- package/esm5/lib/ra.base.dashboard.filter.js +1 -1
- package/esm5/lib/ra.base.dashboard.template.js +1 -1
- package/esm5/lib/ra.dashbard.event.bus.js +1 -1
- package/esm5/lib/ra.dashboard.module.js +1 -1
- package/esm5/lib/ra.dashboard.service.js +1 -1
- package/esm5/lib/ra.event.enum.js +1 -1
- package/esm5/lib/ra.gridster.config.js +1 -1
- package/esm5/public-api.js +1 -1
- package/esm5/schneideress-dashboardframework.js +1 -1
- package/fesm2015/schneideress-dashboardframework.js +51 -956
- package/fesm2015/schneideress-dashboardframework.js.map +1 -1
- package/fesm5/schneideress-dashboardframework.js +50 -955
- package/fesm5/schneideress-dashboardframework.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/*
|
|
6
6
|
* Public API Surface of gridster
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { ChangeDetectorRef, Component, ElementRef, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterConfigService } from './gridsterConfig.constant';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @abstract
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import { NgModule } from '@angular/core';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterComponentInterface } from './gridster.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { CompactType, DisplayGrid, GridType } from './gridsterConfig.interface';
|
|
6
6
|
/** @type {?} */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/** @enum {string} */
|
|
6
6
|
const GridType = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable, NgZone } from '@angular/core';
|
|
6
6
|
import { GridsterSwap } from './gridsterSwap.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterUtils } from './gridsterUtils.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Component, ElementRef, Host, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterDraggable } from './gridsterDraggable.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @abstract
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Component, ElementRef, Host, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterComponent } from './gridster.component';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterComponentInterface } from './gridster.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable, NgZone } from '@angular/core';
|
|
6
6
|
import { cancelScroll, scroll } from './gridsterScroll.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/** @type {?} */
|
|
6
6
|
let scrollSensitivity;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
export class GridsterUtils {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/** @type {?} */
|
|
6
6
|
export const customNotifierOptions = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Input, Component, NgZone } from '@angular/core';
|
|
6
6
|
import { RaDashboardService } from '../ra.dashboard.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Component, Input, ViewChild, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';
|
|
@@ -54,9 +54,7 @@ export class RAWidgetContainer {
|
|
|
54
54
|
}
|
|
55
55
|
if (changes.width && changes.width.currentValue != changes.width.previousValue ||
|
|
56
56
|
(changes.height && changes.height.currentValue != changes.height.previousValue)) {
|
|
57
|
-
this.
|
|
58
|
-
this.refreshWidget(this.data.widgetInfo);
|
|
59
|
-
this.data.widgetInfo.isDimensionUpdate = false;
|
|
57
|
+
this.widgetElement.widgetResized(this.height, this.width);
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
@@ -137,7 +135,7 @@ export class RAWidgetContainer {
|
|
|
137
135
|
* @return {?}
|
|
138
136
|
*/
|
|
139
137
|
loadWidget(widgetInfo) {
|
|
140
|
-
return tslib_1.__awaiter(this, void 0, void 0,
|
|
138
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
141
139
|
/** @type {?} */
|
|
142
140
|
let widgetConfigFilter = (/** @type {?} */ ({
|
|
143
141
|
config: widgetInfo.widgetConfigInfo.config,
|
|
@@ -154,7 +152,7 @@ export class RAWidgetContainer {
|
|
|
154
152
|
document.body.addEventListener('widgetinitiated' + widgetInfo.widgetInstanceId, (/**
|
|
155
153
|
* @return {?}
|
|
156
154
|
*/
|
|
157
|
-
() => tslib_1.__awaiter(this, void 0, void 0,
|
|
155
|
+
() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
158
156
|
console.log('widget initiated' + widgetInfo.widgetInstanceId);
|
|
159
157
|
widgetContainer.isWidgetLoaded = true;
|
|
160
158
|
widgetConfigFilter.appConfig = this.appConfig;
|
|
@@ -173,7 +171,7 @@ export class RAWidgetContainer {
|
|
|
173
171
|
* @return {?}
|
|
174
172
|
*/
|
|
175
173
|
refreshWidget(widgetInfo) {
|
|
176
|
-
return tslib_1.__awaiter(this, void 0, void 0,
|
|
174
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
177
175
|
/** @type {?} */
|
|
178
176
|
let widgetContainerContext = this;
|
|
179
177
|
/** @type {?} */
|
|
@@ -195,7 +193,7 @@ export class RAWidgetContainer {
|
|
|
195
193
|
* @return {?}
|
|
196
194
|
*/
|
|
197
195
|
setLock(config) {
|
|
198
|
-
return tslib_1.__awaiter(this, void 0, void 0,
|
|
196
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
199
197
|
this.lockStatus = yield this.widgetElement.loadLockStatus(config);
|
|
200
198
|
if (this.lockStatus) {
|
|
201
199
|
switch (this.lockStatus) {
|
|
@@ -317,4 +315,4 @@ if (false) {
|
|
|
317
315
|
*/
|
|
318
316
|
RAWidgetContainer.prototype.notifier;
|
|
319
317
|
}
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmEud2lkZ2V0LmNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2NobmVpZGVyZXNzL2Rhc2hib2FyZGZyYW1ld29yay8iLCJzb3VyY2VzIjpbImxpYi9yYS13aWRnZXQtY29udGFpbmVyL3JhLndpZGdldC5jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFvRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEwsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTFELE1BQU0sT0FBTyxpQkFBaUI7Ozs7Ozs7O0lBdUI1QixZQUFvQixnQkFBb0MsRUFDOUMsVUFBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxRQUF5QjtRQUpmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUF6QjNCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBR2hDLGVBQVUsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNB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TUFBTSxFQUFFLEtBQUssRUFBRTsrQkFFeEMsS0FBSyxTQUFDLG9CQUFvQjsyQkFDMUIsS0FBSyxTQUFDLGVBQWU7bUJBQ3JCLEtBQUssU0FBQyxNQUFNO2tDQUNaLEtBQUssU0FBQyxXQUFXO3dCQUNqQixLQUFLLFNBQUMsWUFBWTtvQkFDbEIsS0FBSyxTQUFDLGNBQWM7cUJBQ3BCLEtBQUssU0FBQyxlQUFlOzRCQUVyQixNQUFNOzs7Ozs7O0lBbEJQLDJDQUF3Qzs7Ozs7SUFDeEMsMENBQTJCOzs7OztJQUMzQiwwQ0FBMkI7Ozs7O0lBQzNCLHVDQUFpRjs7SUFDakYseUNBQTRCOztJQUM1QixzQ0FBc0M7O0lBQ3RDLHVDQUFxQzs7SUFFckMsc0NBQWlFOztJQUVqRSw2Q0FBc0Q7O0lBQ3RELHlDQUEwQzs7SUFDMUMsaUNBQXlCOztJQUN6QixnREFBNkQ7O0lBQzdELHNDQUEyQzs7SUFDM0Msa0NBQXFDOztJQUNyQyxtQ0FBdUM7O0lBRXZDLDBDQUFxRDs7Ozs7SUFHekMsNkNBQTRDOzs7OztJQUN0RCx1Q0FBc0M7Ozs7O0lBQ3RDLDZDQUEwQzs7Ozs7SUFDMUMsbUNBQXNCOzs7OztJQUN0QixxQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgU2ltcGxlQ2hhbmdlLCBPbkRlc3Ryb3ksIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLy4uL3JhLmRhc2hib2FyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUkFEYXNoYm9hcmRFdmVudEJ1cyB9IGZyb20gJy4uL3JhLmRhc2hiYXJkLmV2ZW50LmJ1cyc7XHJcbmltcG9ydCB7IFJBRXZlbnQsIFJBRXZlbnRLZXkgfSBmcm9tICcuLi9yYS5ldmVudC5lbnVtJztcclxuaW1wb3J0IHsgSUFwcENvbmZpZywgSVdpZGdldENvbmZpZ0ZpbHRlciwgSVdpZGdldEluZm8gfSBmcm9tICdAc2NobmVpZGVyZXNzL3dpZGdldGZyYW1ld29yayc7XHJcbmltcG9ydCB7IE5neFVpTG9hZGVyU2VydmljZSB9IGZyb20gJ25neC11aS1sb2FkZXInO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW5vdGlmaWVyJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAc2NobmVpZGVyZXNzL2Vzcy1iYXNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JhLXdpZGdldC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYS53aWRnZXQuY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yYS53aWRnZXQuY29udGFpbmVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUkFXaWRnZXRDb250YWluZXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgaXNXaWRnZXRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHdpZGdldEVsZW1lbnQ6IGFueTtcclxuICBwcml2YXRlIGNvbmZpZ0NoYW5nZWQ6IGFueTtcclxuICBwcml2YXRlIGlzSUVPckVkZ2UgPSAvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICBwdWJsaWMgd2lkZ2V0SGVpZ2h0OiBudW1iZXI7XHJcbiAgcHVibGljIGxvY2tDbGFzczogc3RyaW5nID0gXCJ1bmxvY2tlZFwiO1xyXG4gIHB1YmxpYyBsb2NrU3RhdHVzOiBzdHJpbmcgPSBcInVubG9ja1wiO1xyXG5cclxuICBAVmlld0NoaWxkKCdjdGxXaWRnZXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgY3RsV2lkZ2V0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoJ3dpZGdldC1pbnN0YW5jZS1pZCcpIHdpZGdldEluc3RhbmNlSWQ6IG51bWJlcjtcclxuICBASW5wdXQoJ2dsb2JhbC1maWx0ZXInKSBnbG9iYWxGaWx0ZXI6IGFueTtcclxuICBASW5wdXQoJ2RhdGEnKSBkYXRhOiBhbnk7XHJcbiAgQElucHV0KCdldmVudC1idXMnKSByYURhc2hib2FyZEV2ZW50QnVzOiBSQURhc2hib2FyZEV2ZW50QnVzO1xyXG4gIEBJbnB1dCgnYXBwLWNvbmZpZycpIGFwcENvbmZpZzogSUFwcENvbmZpZztcclxuICBASW5wdXQoJ3dpZGdldC13aWR0aCcpIHdpZHRoOiBudW1iZXI7XHJcbiAgQElucHV0KCd3aWRnZXQtaGVpZ2h0JykgaGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSB3aWRnZXREZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhc2hib2FyZFNlcnZpY2U6IFJhRGFzaGJvYXJkU2VydmljZSxcclxuICAgIHByaXZhdGUgbmd4U2VydmljZTogTmd4VWlMb2FkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgbm90aWZpZXI6IE5vdGlmaWVyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMucmFEYXNoYm9hcmRFdmVudEJ1cyAmJiBjaGFuZ2VzLnJhRGFzaGJvYXJkRXZlbnRCdXMuY3VycmVudFZhbHVlICE9IGNoYW5nZXMucmFEYXNoYm9hcmRFdmVudEJ1cy5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnQ2hhbmdlZCA9IHRoaXMucmFEYXNoYm9hcmRFdmVudEJ1cy5zdWJzY3JpYmVXaXRoS2V5KFJBRXZlbnQuQ29uZmlnQ2hhbmdlZCwgUkFFdmVudEtleS5XaWRnZXRJbnN0YW5jZUlkLCB0aGlzLmRhdGEud2lkZ2V0SW5mby53aWRnZXRJbnN0YW5jZUlkLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZUV2ZW50SGFuZGxlcihlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMud2lkZ2V0RWxlbWVudCAmJiBjaGFuZ2VzLmdsb2JhbEZpbHRlciAmJiBjaGFuZ2VzLmdsb2JhbEZpbHRlci5jdXJyZW50VmFsdWUgIT0gY2hhbmdlcy5nbG9iYWxGaWx0ZXIucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLnJlZnJlc2hXaWRnZXQodGhpcy5kYXRhLndpZGdldEluZm8pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLndpZHRoICYmIGNoYW5nZXMud2lkdGguY3VycmVudFZhbHVlICE9IGNoYW5nZXMud2lkdGgucHJldmlvdXNWYWx1ZSB8fFxyXG4gICAgICAoY2hhbmdlcy5oZWlnaHQgJiYgY2hhbmdlcy5oZWlnaHQuY3VycmVudFZhbHVlICE9IGNoYW5nZXMuaGVpZ2h0LnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuZGF0YS53aWRnZXRJbmZvLmlzRGltZW5zaW9uVXBkYXRlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoV2lkZ2V0KHRoaXMuZGF0YS53aWRnZXRJbmZvKTtcclxuICAgICAgdGhpcy5kYXRhLndpZGdldEluZm8uaXNEaW1lbnNpb25VcGRhdGUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5sb2FkV2lkZ2V0KHRoaXMuZGF0YS53aWRnZXRJbmZvKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWdDaGFuZ2VkKVxyXG4gICAgICB0aGlzLmNvbmZpZ0NoYW5nZWQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKiogVG8gRWRpdCBjdXJyZW50IHdpZGdldCBjb25maWd1cmF0aW9uKi9cclxuICBwdWJsaWMgZWRpdFdpZGdldCgpIHtcclxuICAgIHRoaXMucmFEYXNoYm9hcmRFdmVudEJ1cy5wdWJsaXNoKFJBRXZlbnQuV2lkZ2V0RWRpdENsaWNrZWQsIHRoaXMuZGF0YS53aWRnZXRJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKiBUbyBEZWxldGUgY3VycmVudCB3aWRnZXQgZnJvbSBET00qL1xyXG4gIHB1YmxpYyBkZWxldGVXaWRnZXQoKSB7XHJcbiAgICBsZXQgd2lkZ2V0Q29udGFpbmVyQ29udGV4dCA9IHRoaXM7XHJcbiAgICB3aWRnZXRDb250YWluZXJDb250ZXh0Lm5neFNlcnZpY2Uuc3RhcnQoKTtcclxuICAgIHdpZGdldENvbnRhaW5lckNvbnRleHQuZGFzaGJvYXJkU2VydmljZS5kZWxldGVXaWRnZXQodGhpcy5kYXRhLndpZGdldEluZm8sIHRoaXMuYXBwQ29uZmlnKS5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgd2lkZ2V0Q29udGFpbmVyQ29udGV4dC5uZ3hTZXJ2aWNlLnN0b3AoKTtcclxuICAgICAgaWYgKHN0YXR1cykge1xyXG4gICAgICAgIHdpZGdldENvbnRhaW5lckNvbnRleHQud2lkZ2V0RGVsZXRlZC5lbWl0KHRoaXMuZGF0YS53aWRnZXRJbmZvLndpZGdldEluc3RhbmNlSWQpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHdpZGdldENvbnRhaW5lckNvbnRleHQubm90aWZpZXIubm90aWZ5KCdlcnJvcicsIFwiIFwiICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZSgnRmFpbGVkVG9SZW1vdmVXaWRnZXQnKSArIFwiICAoXCIgKyB0aGlzLmRhdGEud2lkZ2V0SW5mby53aWRnZXRUaXRsZSArIFwiKSFcIik7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBUbyBNb3ZlIG9yIGNoYW5nZSBwb3NpdGlvbiBpZiBjdXJyZW50IHdpZGdldCBjb250YWluZXIqL1xyXG4gIHB1YmxpYyBtb3ZlV2lkZ2V0KCkge1xyXG4gICAgdGhpcy5yYURhc2hib2FyZEV2ZW50QnVzLnB1Ymxpc2goUkFFdmVudC5Nb3ZlV2lkZ2V0LCB0aGlzLmRhdGEud2lkZ2V0SW5mbyk7XHJcbiAgICAvLyB0aGlzLmRhc2hib2FyZFNlcnZpY2UubW92ZVdpZGdldCh3aWRnZXRJbmZvKTtcclxuICB9XHJcblxyXG4gIC8qKiBUbyBDb3B5IEN1cnJlbnQgd2lkZ2V0IHdpdGggc2FtZSBjb25maWd1cmF0aW9uKi9cclxuICBwdWJsaWMgY29weVdpZGdldCgpIHtcclxuICAgIHRoaXMucmFEYXNoYm9hcmRFdmVudEJ1cy5wdWJsaXNoKFJBRXZlbnQuQ29weVdpZGdldCwgdGhpcy5kYXRhLndpZGdldEluZm8pO1xyXG4gICAgLy90aGlzLmRhc2hib2FyZFNlcnZpY2UuY29weVdpZGdldCh3aWRnZXRJbmZvKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb25maWdDaGFuZ2VFdmVudEhhbmRsZXIod2lkZ2V0SW5mbykge1xyXG4gICAgdGhpcy5kYXRhLndpZGdldEluZm8gPSB3aWRnZXRJbmZvO1xyXG4gICAgdGhpcy5yZWZyZXNoV2lkZ2V0KHRoaXMuZGF0YS53aWRnZXRJbmZvKTtcclxuICAgIC8vIHRoaXMudXBkYXRlV2lkZ2V0KHdpZGdldEluZm8pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKiAgVG8gbG9hZCBleHRlcm5hbCBjdXN0b20gZWxlbWVudCB0byB0aGUgd2lkZ2V0IGNvbnRhaW5lciovXHJcbiAgYXN5bmMgbG9hZFdpZGdldCh3aWRnZXRJbmZvOiBhbnkpIHtcclxuICAgIGxldCB3aWRnZXRDb25maWdGaWx0ZXIgPSA8SVdpZGdldENvbmZpZ0ZpbHRlcj57XHJcbiAgICAgIGNvbmZpZzogd2lkZ2V0SW5mby53aWRnZXRDb25maWdJbmZvLmNvbmZpZyxcclxuICAgICAgZ2xvYmFsRmlsdGVyOiB0aGlzLmdsb2JhbEZpbHRlclxyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWRnZXRDb250YWluZXIgPSB0aGlzO1xyXG4gICAgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmxvYWRFeHRlcm5hbFNjcmlwdCh3aWRnZXRJbmZvLnNjcmlwdFVybCwgKCkgPT4ge1xyXG4gICAgICB3aWRnZXRDb250YWluZXIud2lkZ2V0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQod2lkZ2V0SW5mby5jdXN0b21UYWcpO1xyXG4gICAgICB3aWRnZXRDb250YWluZXIud2lkZ2V0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ3aWRnZXQtaW5zdGFuY2UtaWRcIiwgd2lkZ2V0SW5mby53aWRnZXRJbnN0YW5jZUlkKTtcclxuXHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignd2lkZ2V0aW5pdGlhdGVkJyArIHdpZGdldEluZm8ud2lkZ2V0SW5zdGFuY2VJZCwgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCd3aWRnZXQgaW5pdGlhdGVkJyArIHdpZGdldEluZm8ud2lkZ2V0SW5zdGFuY2VJZCk7XHJcblxyXG4gICAgICAgIHdpZGdldENvbnRhaW5lci5pc1dpZGdldExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgd2lkZ2V0Q29uZmlnRmlsdGVyLmFwcENvbmZpZyA9IHRoaXMuYXBwQ29uZmlnO1xyXG4gICAgICAgIHdpZGdldENvbmZpZ0ZpbHRlci53aWRnZXRJbmZvID0gPElXaWRnZXRJbmZvPnt9O1xyXG4gICAgICAgIHdpZGdldENvbmZpZ0ZpbHRlci53aWRnZXRJbmZvLndpZGdldE5hbWUgPSB3aWRnZXRJbmZvLndpZGdldE5hbWU7XHJcbiAgICAgICAgd2lkZ2V0Q29udGFpbmVyLndpZGdldEVsZW1lbnQubG9hZENvbnRlbnQod2lkZ2V0Q29uZmlnRmlsdGVyKTtcclxuICAgICAgICBhd2FpdCB3aWRnZXRDb250YWluZXIuc2V0TG9jayh3aWRnZXRDb25maWdGaWx0ZXIuY29uZmlnKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmN0bFdpZGdldC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMud2lkZ2V0RWxlbWVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBUbyByZWZyZXNoIHdpZGdldCBvbiBpbnB1dCBjb25maWcgY2hhbmdlcyAqL1xyXG4gIGFzeW5jIHJlZnJlc2hXaWRnZXQod2lkZ2V0SW5mbzogSVdpZGdldEluZm8pIHtcclxuICAgIGxldCB3aWRnZXRDb250YWluZXJDb250ZXh0ID0gdGhpcztcclxuICAgIGxldCB3aWRnZXRDb25maWdGaWx0ZXIgPSA8SVdpZGdldENvbmZpZ0ZpbHRlcj57XHJcbiAgICAgIGNvbmZpZzogd2lkZ2V0SW5mby53aWRnZXRDb25maWdJbmZvLmNvbmZpZyxcclxuICAgICAgZ2xvYmFsRmlsdGVyOiB0aGlzLmdsb2JhbEZpbHRlcixcclxuICAgICAgYXBwQ29uZmlnOiB0aGlzLmFwcENvbmZpZyxcclxuICAgICAgd2lkZ2V0SW5mbzogd2lkZ2V0SW5mb1xyXG4gICAgfVxyXG4gICAgaWYgKHdpZGdldENvbnRhaW5lckNvbnRleHQuaXNXaWRnZXRMb2FkZWQpIHtcclxuICAgICAgd2lkZ2V0Q29udGFpbmVyQ29udGV4dC53aWRnZXRFbGVtZW50LmxvYWRDb250ZW50KHdpZGdldENvbmZpZ0ZpbHRlcik7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2V0TG9jayh3aWRnZXRDb25maWdGaWx0ZXIuY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2V0TG9jayhjb25maWc6IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2NrU3RhdHVzID0gYXdhaXQgdGhpcy53aWRnZXRFbGVtZW50LmxvYWRMb2NrU3RhdHVzKGNvbmZpZyk7XHJcbiAgICBpZiAodGhpcy5sb2NrU3RhdHVzKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5sb2NrU3RhdHVzKSB7XHJcbiAgICAgICAgY2FzZSBcImxvY2tcIjoge1xyXG4gICAgICAgICAgdGhpcy5sb2NrQ2xhc3MgPSBcImZhIGZhLWxvY2sgbG9ja2VkXCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBcInVubG9ja1wiOiB7XHJcbiAgICAgICAgICB0aGlzLmxvY2tDbGFzcyA9IFwidW5sb2NrZWRcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIFwicGFydGlhbGxvY2tcIjoge1xyXG4gICAgICAgICAgdGhpcy5sb2NrQ2xhc3MgPSBcImZhIGZhLWxvY2sgcGFydGlhbGxvY2tlZFwiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICAgIHRoaXMubG9ja0NsYXNzID0gXCJ1bmxvY2tlZFwiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmEud2lkZ2V0LmNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2NobmVpZGVyZXNzL2Rhc2hib2FyZGZyYW1ld29yay8iLCJzb3VyY2VzIjpbImxpYi9yYS13aWRnZXQtY29udGFpbmVyL3JhLndpZGdldC5jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFvRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEwsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTFELE1BQU0sT0FBTyxpQkFBaUI7Ozs7Ozs7O0lBdUI1QixZQUFvQixnQkFBb0MsRUFDOUMsVUFBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxRQUF5QjtRQUpmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUF6QjNCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBR2hDLGVBQVUsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNB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QUssU0FBQyxXQUFXO3dCQUNqQixLQUFLLFNBQUMsWUFBWTtvQkFDbEIsS0FBSyxTQUFDLGNBQWM7cUJBQ3BCLEtBQUssU0FBQyxlQUFlOzRCQUVyQixNQUFNOzs7Ozs7O0lBbEJQLDJDQUF3Qzs7Ozs7SUFDeEMsMENBQTJCOzs7OztJQUMzQiwwQ0FBMkI7Ozs7O0lBQzNCLHVDQUFpRjs7SUFDakYseUNBQTRCOztJQUM1QixzQ0FBc0M7O0lBQ3RDLHVDQUFxQzs7SUFFckMsc0NBQWlFOztJQUVqRSw2Q0FBc0Q7O0lBQ3RELHlDQUEwQzs7SUFDMUMsaUNBQXlCOztJQUN6QixnREFBNkQ7O0lBQzdELHNDQUEyQzs7SUFDM0Msa0NBQXFDOztJQUNyQyxtQ0FBdUM7O0lBRXZDLDBDQUFxRDs7Ozs7SUFHekMsNkNBQTRDOzs7OztJQUN0RCx1Q0FBc0M7Ozs7O0lBQ3RDLDZDQUEwQzs7Ozs7SUFDMUMsbUNBQXNCOzs7OztJQUN0QixxQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgU2ltcGxlQ2hhbmdlLCBPbkRlc3Ryb3ksIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLy4uL3JhLmRhc2hib2FyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUkFEYXNoYm9hcmRFdmVudEJ1cyB9IGZyb20gJy4uL3JhLmRhc2hiYXJkLmV2ZW50LmJ1cyc7XHJcbmltcG9ydCB7IFJBRXZlbnQsIFJBRXZlbnRLZXkgfSBmcm9tICcuLi9yYS5ldmVudC5lbnVtJztcclxuaW1wb3J0IHsgSUFwcENvbmZpZywgSVdpZGdldENvbmZpZ0ZpbHRlciwgSVdpZGdldEluZm8gfSBmcm9tICdAc2NobmVpZGVyZXNzL3dpZGdldGZyYW1ld29yayc7XHJcbmltcG9ydCB7IE5neFVpTG9hZGVyU2VydmljZSB9IGZyb20gJ25neC11aS1sb2FkZXInO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW5vdGlmaWVyJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAc2NobmVpZGVyZXNzL2Vzcy1iYXNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JhLXdpZGdldC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYS53aWRnZXQuY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yYS53aWRnZXQuY29udGFpbmVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUkFXaWRnZXRDb250YWluZXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgaXNXaWRnZXRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHdpZGdldEVsZW1lbnQ6IGFueTtcclxuICBwcml2YXRlIGNvbmZpZ0NoYW5nZWQ6IGFueTtcclxuICBwcml2YXRlIGlzSUVPckVkZ2UgPSAvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICBwdWJsaWMgd2lkZ2V0SGVpZ2h0OiBudW1iZXI7XHJcbiAgcHVibGljIGxvY2tDbGFzczogc3RyaW5nID0gXCJ1bmxvY2tlZFwiO1xyXG4gIHB1YmxpYyBsb2NrU3RhdHVzOiBzdHJpbmcgPSBcInVubG9ja1wiO1xyXG5cclxuICBAVmlld0NoaWxkKCdjdGxXaWRnZXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgY3RsV2lkZ2V0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoJ3dpZGdldC1pbnN0YW5jZS1pZCcpIHdpZGdldEluc3RhbmNlSWQ6IG51bWJlcjtcclxuICBASW5wdXQoJ2dsb2JhbC1maWx0ZXInKSBnbG9iYWxGaWx0ZXI6IGFueTtcclxuICBASW5wdXQoJ2RhdGEnKSBkYXRhOiBhbnk7XHJcbiAgQElucHV0KCdldmVudC1idXMnKSByYURhc2hib2FyZEV2ZW50QnVzOiBSQURhc2hib2FyZEV2ZW50QnVzO1xyXG4gIEBJbnB1dCgnYXBwLWNvbmZpZycpIGFwcENvbmZpZzogSUFwcENvbmZpZztcclxuICBASW5wdXQoJ3dpZGdldC13aWR0aCcpIHdpZHRoOiBudW1iZXI7XHJcbiAgQElucHV0KCd3aWRnZXQtaGVpZ2h0JykgaGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKSB3aWRnZXREZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhc2hib2FyZFNlcnZpY2U6IFJhRGFzaGJvYXJkU2VydmljZSxcclxuICAgIHByaXZhdGUgbmd4U2VydmljZTogTmd4VWlMb2FkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgbm90aWZpZXI6IE5vdGlmaWVyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMucmFEYXNoYm9hcmRFdmVudEJ1cyAmJiBjaGFuZ2VzLnJhRGFzaGJvYXJkRXZlbnRCdXMuY3VycmVudFZhbHVlICE9IGNoYW5nZXMucmFEYXNoYm9hcmRFdmVudEJ1cy5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnQ2hhbmdlZCA9IHRoaXMucmFEYXNoYm9hcmRFdmVudEJ1cy5zdWJzY3JpYmVXaXRoS2V5KFJBRXZlbnQuQ29uZmlnQ2hhbmdlZCwgUkFFdmVudEtleS5XaWRnZXRJbnN0YW5jZUlkLCB0aGlzLmRhdGEud2lkZ2V0SW5mby53aWRnZXRJbnN0YW5jZUlkLnRvU3RyaW5nKCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZUV2ZW50SGFuZGxlcihlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMud2lkZ2V0RWxlbWVudCAmJiBjaGFuZ2VzLmdsb2JhbEZpbHRlciAmJiBjaGFuZ2VzLmdsb2JhbEZpbHRlci5jdXJyZW50VmFsdWUgIT0gY2hhbmdlcy5nbG9iYWxGaWx0ZXIucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLnJlZnJlc2hXaWRnZXQodGhpcy5kYXRhLndpZGdldEluZm8pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLndpZHRoICYmIGNoYW5nZXMud2lkdGguY3VycmVudFZhbHVlICE9IGNoYW5nZXMud2lkdGgucHJldmlvdXNWYWx1ZSB8fFxyXG4gICAgICAoY2hhbmdlcy5oZWlnaHQgJiYgY2hhbmdlcy5oZWlnaHQuY3VycmVudFZhbHVlICE9IGNoYW5nZXMuaGVpZ2h0LnByZXZpb3VzVmFsdWUpKSB7XHJcblxyXG4gICAgICB0aGlzLndpZGdldEVsZW1lbnQud2lkZ2V0UmVzaXplZCh0aGlzLmhlaWdodCwgdGhpcy53aWR0aCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZFdpZGdldCh0aGlzLmRhdGEud2lkZ2V0SW5mbyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnQ2hhbmdlZClcclxuICAgICAgdGhpcy5jb25maWdDaGFuZ2VkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqIFRvIEVkaXQgY3VycmVudCB3aWRnZXQgY29uZmlndXJhdGlvbiovXHJcbiAgcHVibGljIGVkaXRXaWRnZXQoKSB7XHJcbiAgICB0aGlzLnJhRGFzaGJvYXJkRXZlbnRCdXMucHVibGlzaChSQUV2ZW50LldpZGdldEVkaXRDbGlja2VkLCB0aGlzLmRhdGEud2lkZ2V0SW5mbyk7XHJcbiAgfVxyXG5cclxuICAvKiogVG8gRGVsZXRlIGN1cnJlbnQgd2lkZ2V0IGZyb20gRE9NKi9cclxuICBwdWJsaWMgZGVsZXRlV2lkZ2V0KCkge1xyXG4gICAgbGV0IHdpZGdldENvbnRhaW5lckNvbnRleHQgPSB0aGlzO1xyXG4gICAgd2lkZ2V0Q29udGFpbmVyQ29udGV4dC5uZ3hTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgICB3aWRnZXRDb250YWluZXJDb250ZXh0LmRhc2hib2FyZFNlcnZpY2UuZGVsZXRlV2lkZ2V0KHRoaXMuZGF0YS53aWRnZXRJbmZvLCB0aGlzLmFwcENvbmZpZykuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XHJcbiAgICAgIHdpZGdldENvbnRhaW5lckNvbnRleHQubmd4U2VydmljZS5zdG9wKCk7XHJcbiAgICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgICB3aWRnZXRDb250YWluZXJDb250ZXh0LndpZGdldERlbGV0ZWQuZW1pdCh0aGlzLmRhdGEud2lkZ2V0SW5mby53aWRnZXRJbnN0YW5jZUlkKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB3aWRnZXRDb250YWluZXJDb250ZXh0Lm5vdGlmaWVyLm5vdGlmeSgnZXJyb3InLCBcIiBcIiArIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUoJ0ZhaWxlZFRvUmVtb3ZlV2lkZ2V0JykgKyBcIiAgKFwiICsgdGhpcy5kYXRhLndpZGdldEluZm8ud2lkZ2V0VGl0bGUgKyBcIikhXCIpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogVG8gTW92ZSBvciBjaGFuZ2UgcG9zaXRpb24gaWYgY3VycmVudCB3aWRnZXQgY29udGFpbmVyKi9cclxuICBwdWJsaWMgbW92ZVdpZGdldCgpIHtcclxuICAgIHRoaXMucmFEYXNoYm9hcmRFdmVudEJ1cy5wdWJsaXNoKFJBRXZlbnQuTW92ZVdpZGdldCwgdGhpcy5kYXRhLndpZGdldEluZm8pO1xyXG4gICAgLy8gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLm1vdmVXaWRnZXQod2lkZ2V0SW5mbyk7XHJcbiAgfVxyXG5cclxuICAvKiogVG8gQ29weSBDdXJyZW50IHdpZGdldCB3aXRoIHNhbWUgY29uZmlndXJhdGlvbiovXHJcbiAgcHVibGljIGNvcHlXaWRnZXQoKSB7XHJcbiAgICB0aGlzLnJhRGFzaGJvYXJkRXZlbnRCdXMucHVibGlzaChSQUV2ZW50LkNvcHlXaWRnZXQsIHRoaXMuZGF0YS53aWRnZXRJbmZvKTtcclxuICAgIC8vdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmNvcHlXaWRnZXQod2lkZ2V0SW5mbyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29uZmlnQ2hhbmdlRXZlbnRIYW5kbGVyKHdpZGdldEluZm8pIHtcclxuICAgIHRoaXMuZGF0YS53aWRnZXRJbmZvID0gd2lkZ2V0SW5mbztcclxuICAgIHRoaXMucmVmcmVzaFdpZGdldCh0aGlzLmRhdGEud2lkZ2V0SW5mbyk7XHJcbiAgICAvLyB0aGlzLnVwZGF0ZVdpZGdldCh3aWRnZXRJbmZvKTtcclxuICB9XHJcblxyXG5cclxuICAvKiogIFRvIGxvYWQgZXh0ZXJuYWwgY3VzdG9tIGVsZW1lbnQgdG8gdGhlIHdpZGdldCBjb250YWluZXIqL1xyXG4gIGFzeW5jIGxvYWRXaWRnZXQod2lkZ2V0SW5mbzogYW55KSB7XHJcbiAgICBsZXQgd2lkZ2V0Q29uZmlnRmlsdGVyID0gPElXaWRnZXRDb25maWdGaWx0ZXI+e1xyXG4gICAgICBjb25maWc6IHdpZGdldEluZm8ud2lkZ2V0Q29uZmlnSW5mby5jb25maWcsXHJcbiAgICAgIGdsb2JhbEZpbHRlcjogdGhpcy5nbG9iYWxGaWx0ZXJcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0Q29udGFpbmVyID0gdGhpcztcclxuICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5sb2FkRXh0ZXJuYWxTY3JpcHQod2lkZ2V0SW5mby5zY3JpcHRVcmwsICgpID0+IHtcclxuICAgICAgd2lkZ2V0Q29udGFpbmVyLndpZGdldEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHdpZGdldEluZm8uY3VzdG9tVGFnKTtcclxuICAgICAgd2lkZ2V0Q29udGFpbmVyLndpZGdldEVsZW1lbnQuc2V0QXR0cmlidXRlKFwid2lkZ2V0LWluc3RhbmNlLWlkXCIsIHdpZGdldEluZm8ud2lkZ2V0SW5zdGFuY2VJZCk7XHJcblxyXG4gICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ3dpZGdldGluaXRpYXRlZCcgKyB3aWRnZXRJbmZvLndpZGdldEluc3RhbmNlSWQsIGFzeW5jICgpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnd2lkZ2V0IGluaXRpYXRlZCcgKyB3aWRnZXRJbmZvLndpZGdldEluc3RhbmNlSWQpO1xyXG5cclxuICAgICAgICB3aWRnZXRDb250YWluZXIuaXNXaWRnZXRMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIHdpZGdldENvbmZpZ0ZpbHRlci5hcHBDb25maWcgPSB0aGlzLmFwcENvbmZpZztcclxuICAgICAgICB3aWRnZXRDb25maWdGaWx0ZXIud2lkZ2V0SW5mbyA9IDxJV2lkZ2V0SW5mbz57fTtcclxuICAgICAgICB3aWRnZXRDb25maWdGaWx0ZXIud2lkZ2V0SW5mby53aWRnZXROYW1lID0gd2lkZ2V0SW5mby53aWRnZXROYW1lO1xyXG4gICAgICAgIHdpZGdldENvbnRhaW5lci53aWRnZXRFbGVtZW50LmxvYWRDb250ZW50KHdpZGdldENvbmZpZ0ZpbHRlcik7XHJcbiAgICAgICAgYXdhaXQgd2lkZ2V0Q29udGFpbmVyLnNldExvY2sod2lkZ2V0Q29uZmlnRmlsdGVyLmNvbmZpZyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5jdGxXaWRnZXQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndpZGdldEVsZW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogVG8gcmVmcmVzaCB3aWRnZXQgb24gaW5wdXQgY29uZmlnIGNoYW5nZXMgKi9cclxuICBhc3luYyByZWZyZXNoV2lkZ2V0KHdpZGdldEluZm86IElXaWRnZXRJbmZvKSB7XHJcbiAgICBsZXQgd2lkZ2V0Q29udGFpbmVyQ29udGV4dCA9IHRoaXM7XHJcbiAgICBsZXQgd2lkZ2V0Q29uZmlnRmlsdGVyID0gPElXaWRnZXRDb25maWdGaWx0ZXI+e1xyXG4gICAgICBjb25maWc6IHdpZGdldEluZm8ud2lkZ2V0Q29uZmlnSW5mby5jb25maWcsXHJcbiAgICAgIGdsb2JhbEZpbHRlcjogdGhpcy5nbG9iYWxGaWx0ZXIsXHJcbiAgICAgIGFwcENvbmZpZzogdGhpcy5hcHBDb25maWcsXHJcbiAgICAgIHdpZGdldEluZm86IHdpZGdldEluZm9cclxuICAgIH1cclxuICAgIGlmICh3aWRnZXRDb250YWluZXJDb250ZXh0LmlzV2lkZ2V0TG9hZGVkKSB7XHJcbiAgICAgIHdpZGdldENvbnRhaW5lckNvbnRleHQud2lkZ2V0RWxlbWVudC5sb2FkQ29udGVudCh3aWRnZXRDb25maWdGaWx0ZXIpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNldExvY2sod2lkZ2V0Q29uZmlnRmlsdGVyLmNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHNldExvY2soY29uZmlnOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9ja1N0YXR1cyA9IGF3YWl0IHRoaXMud2lkZ2V0RWxlbWVudC5sb2FkTG9ja1N0YXR1cyhjb25maWcpO1xyXG4gICAgaWYgKHRoaXMubG9ja1N0YXR1cykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMubG9ja1N0YXR1cykge1xyXG4gICAgICAgIGNhc2UgXCJsb2NrXCI6IHtcclxuICAgICAgICAgIHRoaXMubG9ja0NsYXNzID0gXCJmYSBmYS1sb2NrIGxvY2tlZFwiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgXCJ1bmxvY2tcIjoge1xyXG4gICAgICAgICAgdGhpcy5sb2NrQ2xhc3MgPSBcInVubG9ja2VkXCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBcInBhcnRpYWxsb2NrXCI6IHtcclxuICAgICAgICAgIHRoaXMubG9ja0NsYXNzID0gXCJmYSBmYS1sb2NrIHBhcnRpYWxsb2NrZWRcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICB0aGlzLmxvY2tDbGFzcyA9IFwidW5sb2NrZWRcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Input } from '@angular/core';
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Input } from '@angular/core';
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { BrowserModule } from '@angular/platform-browser';
|
|
6
6
|
import { NgModule } from '@angular/core';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable, Injector } from '@angular/core';
|
|
6
6
|
import { of } from 'rxjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/** @enum {string} */
|
|
6
6
|
const RAEvent = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { CompactType, DisplayGrid, GridType } from './../gridster/lib/gridsterConfig.interface';
|
|
6
6
|
/** @type {?} */
|
package/esm2015/public-api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/*
|
|
6
6
|
* Public API Surface of ra-dashboard-framework
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Generated bundle index. Do not edit.
|
package/esm5/gridster/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/*
|
|
6
6
|
* Public API Surface of gridster
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { ChangeDetectorRef, Component, ElementRef, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterConfigService } from './gridsterConfig.constant';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @abstract
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import { NgModule } from '@angular/core';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterComponentInterface } from './gridster.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { CompactType, DisplayGrid, GridType } from './gridsterConfig.interface';
|
|
6
6
|
/** @type {?} */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/** @enum {string} */
|
|
6
6
|
var GridType = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable, NgZone } from '@angular/core';
|
|
6
6
|
import { GridsterSwap } from './gridsterSwap.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterUtils } from './gridsterUtils.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Component, ElementRef, Host, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterDraggable } from './gridsterDraggable.service';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @abstract
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Component, ElementRef, Host, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
6
6
|
import { GridsterComponent } from './gridster.component';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable, NgZone } from '@angular/core';
|
|
6
6
|
import { cancelScroll, scroll } from './gridsterScroll.service';
|