@syncfusion/ej2-angular-schedule 31.1.21-ngcc → 31.1.21
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/CHANGELOG.md +482 -9
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/index.mjs +12 -0
- package/esm2020/src/recurrence-editor/recurrenceeditor-all.module.mjs +23 -0
- package/esm2020/src/recurrence-editor/recurrenceeditor.component.mjs +59 -0
- package/esm2020/src/recurrence-editor/recurrenceeditor.module.mjs +25 -0
- package/esm2020/src/schedule/headerrows.directive.mjs +66 -0
- package/esm2020/src/schedule/resources.directive.mjs +58 -0
- package/esm2020/src/schedule/schedule-all.module.mjs +74 -0
- package/esm2020/src/schedule/schedule.component.mjs +306 -0
- package/esm2020/src/schedule/schedule.module.mjs +61 -0
- package/esm2020/src/schedule/toolbaritems.directive.mjs +67 -0
- package/esm2020/src/schedule/views.directive.mjs +132 -0
- package/esm2020/syncfusion-ej2-angular-schedule.mjs +5 -0
- package/fesm2015/syncfusion-ej2-angular-schedule.mjs +829 -0
- package/fesm2015/syncfusion-ej2-angular-schedule.mjs.map +1 -0
- package/fesm2020/syncfusion-ej2-angular-schedule.mjs +829 -0
- package/fesm2020/syncfusion-ej2-angular-schedule.mjs.map +1 -0
- package/package.json +28 -46
- package/src/recurrence-editor/recurrenceeditor-all.module.d.ts +6 -0
- package/src/recurrence-editor/recurrenceeditor.component.d.ts +5 -0
- package/src/recurrence-editor/recurrenceeditor.module.d.ts +6 -0
- package/src/schedule/headerrows.directive.d.ts +5 -0
- package/src/schedule/resources.directive.d.ts +5 -0
- package/src/schedule/schedule-all.module.d.ts +6 -0
- package/src/schedule/schedule.component.d.ts +7 -0
- package/src/schedule/schedule.module.d.ts +10 -0
- package/src/schedule/toolbaritems.directive.d.ts +5 -0
- package/src/schedule/views.directive.d.ts +31 -0
- package/styles/bds-lite.css +1 -0
- package/styles/bds-lite.scss +1 -0
- package/styles/bds.css +1 -0
- package/styles/bds.scss +2 -0
- package/styles/bootstrap-dark-lite.css +1 -0
- package/styles/bootstrap-dark-lite.scss +1 -0
- package/styles/bootstrap-lite.css +1 -0
- package/styles/bootstrap-lite.scss +1 -0
- package/styles/bootstrap4-lite.css +1 -0
- package/styles/bootstrap4-lite.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +1 -0
- package/styles/bootstrap5-dark-lite.scss +1 -0
- package/styles/bootstrap5-lite.css +1 -0
- package/styles/bootstrap5-lite.scss +1 -0
- package/styles/bootstrap5.3-lite.css +1 -0
- package/styles/bootstrap5.3-lite.scss +1 -0
- package/styles/bootstrap5.3.css +1 -0
- package/styles/bootstrap5.3.scss +2 -0
- package/styles/fabric-dark-lite.css +1 -0
- package/styles/fabric-dark-lite.scss +1 -0
- package/styles/fabric-lite.css +1 -0
- package/styles/fabric-lite.scss +1 -0
- package/styles/fluent-dark-lite.css +1 -0
- package/styles/fluent-dark-lite.scss +1 -0
- package/styles/fluent-lite.css +1 -0
- package/styles/fluent-lite.scss +1 -0
- package/styles/fluent2-lite.css +1 -0
- package/styles/fluent2-lite.scss +1 -0
- package/styles/fluent2.css +1 -0
- package/styles/fluent2.scss +2 -0
- package/styles/highcontrast-light-lite.css +1 -0
- package/styles/highcontrast-light-lite.scss +1 -0
- package/styles/highcontrast-lite.css +1 -0
- package/styles/highcontrast-lite.scss +1 -0
- package/styles/material-dark-lite.css +1 -0
- package/styles/material-dark-lite.scss +1 -0
- package/styles/material-lite.css +1 -0
- package/styles/material-lite.scss +1 -0
- package/styles/material3-dark-lite.css +1 -0
- package/styles/material3-dark-lite.scss +1 -0
- package/styles/material3-lite.css +1 -0
- package/styles/material3-lite.scss +1 -0
- package/styles/recurrence-editor/bds.css +1 -0
- package/styles/recurrence-editor/bds.scss +1 -0
- package/styles/recurrence-editor/bootstrap5.3.css +1 -0
- package/styles/recurrence-editor/bootstrap5.3.scss +1 -0
- package/styles/recurrence-editor/fluent2.css +1 -0
- package/styles/recurrence-editor/fluent2.scss +1 -0
- package/styles/recurrence-editor/tailwind3.css +1 -0
- package/styles/recurrence-editor/tailwind3.scss +1 -0
- package/styles/schedule/bds.css +1 -0
- package/styles/schedule/bds.scss +1 -0
- package/styles/schedule/bootstrap5.3.css +1 -0
- package/styles/schedule/bootstrap5.3.scss +1 -0
- package/styles/schedule/fluent2.css +1 -0
- package/styles/schedule/fluent2.scss +1 -0
- package/styles/schedule/tailwind3.css +1 -0
- package/styles/schedule/tailwind3.scss +1 -0
- package/styles/tailwind-dark-lite.css +1 -0
- package/styles/tailwind-dark-lite.scss +1 -0
- package/styles/tailwind-lite.css +1 -0
- package/styles/tailwind-lite.scss +1 -0
- package/styles/tailwind3-lite.css +1 -0
- package/styles/tailwind3-lite.scss +1 -0
- package/styles/tailwind3.css +1 -0
- package/styles/tailwind3.scss +2 -0
- package/syncfusion-ej2-angular-schedule.d.ts +5 -0
- package/@syncfusion/ej2-angular-schedule.es5.js +0 -955
- package/@syncfusion/ej2-angular-schedule.es5.js.map +0 -1
- package/@syncfusion/ej2-angular-schedule.js +0 -894
- package/@syncfusion/ej2-angular-schedule.js.map +0 -1
- package/dist/ej2-angular-schedule.umd.js +0 -1105
- package/dist/ej2-angular-schedule.umd.js.map +0 -1
- package/dist/ej2-angular-schedule.umd.min.js +0 -11
- package/dist/ej2-angular-schedule.umd.min.js.map +0 -1
- package/ej2-angular-schedule.d.ts +0 -6
- package/ej2-angular-schedule.metadata.json +0 -1
- package/license +0 -10
- package/postinstall/tagchange.js +0 -18
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ViewDirective, ViewsDirective } from './views.directive';
|
|
4
|
+
import { ResourceDirective, ResourcesDirective } from './resources.directive';
|
|
5
|
+
import { HeaderRowDirective, HeaderRowsDirective } from './headerrows.directive';
|
|
6
|
+
import { ToolbarItemDirective, ToolbarItemsDirective } from './toolbaritems.directive';
|
|
7
|
+
import { ScheduleComponent } from './schedule.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* NgModule definition for the Schedule component.
|
|
11
|
+
*/
|
|
12
|
+
export class ScheduleModule {
|
|
13
|
+
}
|
|
14
|
+
ScheduleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
ScheduleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, declarations: [ScheduleComponent,
|
|
16
|
+
ViewDirective,
|
|
17
|
+
ViewsDirective,
|
|
18
|
+
ResourceDirective,
|
|
19
|
+
ResourcesDirective,
|
|
20
|
+
HeaderRowDirective,
|
|
21
|
+
HeaderRowsDirective,
|
|
22
|
+
ToolbarItemDirective,
|
|
23
|
+
ToolbarItemsDirective], imports: [CommonModule], exports: [ScheduleComponent,
|
|
24
|
+
ViewDirective,
|
|
25
|
+
ViewsDirective,
|
|
26
|
+
ResourceDirective,
|
|
27
|
+
ResourcesDirective,
|
|
28
|
+
HeaderRowDirective,
|
|
29
|
+
HeaderRowsDirective,
|
|
30
|
+
ToolbarItemDirective,
|
|
31
|
+
ToolbarItemsDirective] });
|
|
32
|
+
ScheduleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, imports: [[CommonModule]] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
imports: [CommonModule],
|
|
37
|
+
declarations: [
|
|
38
|
+
ScheduleComponent,
|
|
39
|
+
ViewDirective,
|
|
40
|
+
ViewsDirective,
|
|
41
|
+
ResourceDirective,
|
|
42
|
+
ResourcesDirective,
|
|
43
|
+
HeaderRowDirective,
|
|
44
|
+
HeaderRowsDirective,
|
|
45
|
+
ToolbarItemDirective,
|
|
46
|
+
ToolbarItemsDirective
|
|
47
|
+
],
|
|
48
|
+
exports: [
|
|
49
|
+
ScheduleComponent,
|
|
50
|
+
ViewDirective,
|
|
51
|
+
ViewsDirective,
|
|
52
|
+
ResourceDirective,
|
|
53
|
+
ResourcesDirective,
|
|
54
|
+
HeaderRowDirective,
|
|
55
|
+
HeaderRowsDirective,
|
|
56
|
+
ToolbarItemDirective,
|
|
57
|
+
ToolbarItemsDirective
|
|
58
|
+
]
|
|
59
|
+
}]
|
|
60
|
+
}] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RDs7R0FFRztBQTBCSCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQXRCbkIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixxQkFBcUIsYUFWZixZQUFZLGFBYWxCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIscUJBQXFCOzRHQUdoQixjQUFjLFlBeEJkLENBQUMsWUFBWSxDQUFDOzJGQXdCZCxjQUFjO2tCQXpCMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDVixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDeEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZpZXdEaXJlY3RpdmUsIFZpZXdzRGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmVzb3VyY2VEaXJlY3RpdmUsIFJlc291cmNlc0RpcmVjdGl2ZSB9IGZyb20gJy4vcmVzb3VyY2VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIZWFkZXJSb3dEaXJlY3RpdmUsIEhlYWRlclJvd3NEaXJlY3RpdmUgfSBmcm9tICcuL2hlYWRlcnJvd3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtRGlyZWN0aXZlLCBUb29sYmFySXRlbXNEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXJpdGVtcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuL3NjaGVkdWxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIFNjaGVkdWxlIGNvbXBvbmVudC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmUsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFySXRlbXNEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmUsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFySXRlbXNEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlTW9kdWxlIHsgfSJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
3
|
+
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
+
import { Template } from '@syncfusion/ej2-angular-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let input = ['align', 'cssClass', 'disabled', 'htmlAttributes', 'id', 'name', 'overflow', 'prefixIcon', 'showAlwaysInPopup', 'showTextOn', 'suffixIcon', 'tabIndex', 'template', 'text', 'tooltipText', 'type', 'visible', 'width'];
|
|
7
|
+
let outputs = ['click'];
|
|
8
|
+
/**
|
|
9
|
+
* `e-toolbaritems` directive represent a custom toolbar items of the Schedule.
|
|
10
|
+
* It must be contained in a Schedule component(`ejs-schedule`).
|
|
11
|
+
* ```html
|
|
12
|
+
* <ejs-schedule>
|
|
13
|
+
* <e-toolbaritems>
|
|
14
|
+
* <e-toolbaritem name='Today'></<e-toolbaritem>
|
|
15
|
+
* <e-toolbaritem name='DateRangeText'></e-toolbaritem>
|
|
16
|
+
* <e-toolbaritem prefixIcon='e-icons e-cut' text='Cut'></e-toolbaritem>
|
|
17
|
+
* <e-toolbaritems>
|
|
18
|
+
* </ejs-schedule>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export class ToolbarItemDirective extends ComplexBase {
|
|
22
|
+
constructor(viewContainerRef) {
|
|
23
|
+
super();
|
|
24
|
+
this.viewContainerRef = viewContainerRef;
|
|
25
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
26
|
+
this.registerEvents(outputs);
|
|
27
|
+
this.directivePropList = input;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ToolbarItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
+
ToolbarItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ToolbarItemDirective, selector: "e-toolbaritems>e-toolbaritem", inputs: { align: "align", cssClass: "cssClass", disabled: "disabled", htmlAttributes: "htmlAttributes", id: "id", name: "name", overflow: "overflow", prefixIcon: "prefixIcon", showAlwaysInPopup: "showAlwaysInPopup", showTextOn: "showTextOn", suffixIcon: "suffixIcon", tabIndex: "tabIndex", template: "template", text: "text", tooltipText: "tooltipText", type: "type", visible: "visible", width: "width" }, outputs: { click: "click" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
32
|
+
__decorate([
|
|
33
|
+
Template()
|
|
34
|
+
], ToolbarItemDirective.prototype, "template", void 0);
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: 'e-toolbaritems>e-toolbaritem',
|
|
39
|
+
inputs: input,
|
|
40
|
+
outputs: outputs,
|
|
41
|
+
queries: {}
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { template: [{
|
|
44
|
+
type: ContentChild,
|
|
45
|
+
args: ['template']
|
|
46
|
+
}] } });
|
|
47
|
+
/**
|
|
48
|
+
* ToolbarItem Array Directive
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
export class ToolbarItemsDirective extends ArrayBase {
|
|
52
|
+
constructor() {
|
|
53
|
+
super('toolbaritems');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
ToolbarItemsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
57
|
+
ToolbarItemsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ToolbarItemsDirective, selector: "ejs-schedule>e-toolbaritems", queries: [{ propertyName: "children", predicate: ToolbarItemDirective }], usesInheritance: true, ngImport: i0 });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemsDirective, decorators: [{
|
|
59
|
+
type: Directive,
|
|
60
|
+
args: [{
|
|
61
|
+
selector: 'ejs-schedule>e-toolbaritems',
|
|
62
|
+
queries: {
|
|
63
|
+
children: new ContentChildren(ToolbarItemDirective)
|
|
64
|
+
},
|
|
65
|
+
}]
|
|
66
|
+
}], ctorParameters: function () { return []; } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhcml0ZW1zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zY2hlZHVsZS90b29sYmFyaXRlbXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEQsSUFBSSxLQUFLLEdBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5TyxJQUFJLE9BQU8sR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDOzs7Ozs7Ozs7Ozs7R0FZRztBQVNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFpQztJQXdKdkUsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOztpSEE3SlEsb0JBQW9CO3FHQUFwQixvQkFBb0I7QUFzSjdCO0lBREMsUUFBUSxFQUFFO3NEQUNVOzJGQXRKWixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQXVKVSxRQUFRO3NCQUZkLFlBQVk7dUJBQUMsVUFBVTs7QUFZNUI7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQWdDO0lBQ3ZFO1FBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2tIQUhRLHFCQUFxQjtzR0FBckIscUJBQXFCLDRGQUhJLG9CQUFvQjsyRkFHN0MscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWxpZ24nLCAnY3NzQ2xhc3MnLCAnZGlzYWJsZWQnLCAnaHRtbEF0dHJpYnV0ZXMnLCAnaWQnLCAnbmFtZScsICdvdmVyZmxvdycsICdwcmVmaXhJY29uJywgJ3Nob3dBbHdheXNJblBvcHVwJywgJ3Nob3dUZXh0T24nLCAnc3VmZml4SWNvbicsICd0YWJJbmRleCcsICd0ZW1wbGF0ZScsICd0ZXh0JywgJ3Rvb2x0aXBUZXh0JywgJ3R5cGUnLCAndmlzaWJsZScsICd3aWR0aCddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gWydjbGljayddO1xuLyoqXG4gKiBgZS10b29sYmFyaXRlbXNgIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBjdXN0b20gdG9vbGJhciBpdGVtcyBvZiB0aGUgU2NoZWR1bGUuIFxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBTY2hlZHVsZSBjb21wb25lbnQoYGVqcy1zY2hlZHVsZWApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtc2NoZWR1bGU+XG4gKiAgIDxlLXRvb2xiYXJpdGVtcz5cbiAqICAgIDxlLXRvb2xiYXJpdGVtIG5hbWU9J1RvZGF5Jz48LzxlLXRvb2xiYXJpdGVtPlxuICogICAgPGUtdG9vbGJhcml0ZW0gbmFtZT0nRGF0ZVJhbmdlVGV4dCc+PC9lLXRvb2xiYXJpdGVtPlxuICogICAgPGUtdG9vbGJhcml0ZW0gcHJlZml4SWNvbj0nZS1pY29ucyBlLWN1dCcgdGV4dD0nQ3V0Jz48L2UtdG9vbGJhcml0ZW0+XG4gKiAgIDxlLXRvb2xiYXJpdGVtcz5cbiAqIDwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS10b29sYmFyaXRlbXM+ZS10b29sYmFyaXRlbScsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJJdGVtRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8VG9vbGJhckl0ZW1EaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0cHVibGljIGNsaWNrOiBhbnk7XG5cblxuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHR5cGVzIG9mIGNvbW1hbmQgdG8gYmUgcmVuZGVyZWQgaW4gdGhlIFRvb2xiYXIuIFxuICAgICAqIFN1cHBvcnRlZCB0eXBlcyBhcmU6IFxuICAgICAqICogYEJ1dHRvbmA6IENyZWF0ZXMgdGhlIEJ1dHRvbiBjb250cm9sIHdpdGggaXRzIGdpdmVuIHByb3BlcnRpZXMgbGlrZSB0ZXh0LCBwcmVmaXhJY29uLCBldGMuIFxuICAgICAqICogYFNlcGFyYXRvcmA6IEFkZHMgYSBob3Jpem9udGFsIGxpbmUgdGhhdCBzZXBhcmF0ZXMgdGhlIFRvb2xiYXIgY29tbWFuZHMuIFxuICAgICAqICogYElucHV0YDogQ3JlYXRlcyBhbiBpbnB1dCBlbGVtZW50IHRoYXQgaXMgYXBwbGljYWJsZSB0byB0ZW1wbGF0ZSByZW5kZXJpbmcgd2l0aCBTeW5jZnVzaW9uIGNvbnRyb2xzIGxpa2UgRHJvcERvd25MaXN0LCBcbiAgICAgKiBBdXRvQ29tcGxldGUsIGV0Yy5cbiAgICAgKiBAZGVmYXVsdCAnQnV0dG9uJ1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWUgU3luY2Z1c2lvbi5FSjIuTmF2aWdhdGlvbnMuSXRlbVR5cGUuQnV0dG9uXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1UeXBlXG4gICAgICovXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBmb3IgYWxpZ25pbmcgVG9vbGJhciBpdGVtcyBvbiB0aGUgVG9vbGJhci4gRWFjaCBjb21tYW5kIHdpbGwgYmUgYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIGBhbGlnbmAgcHJvcGVydHkuIFxuICAgICAqIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoaXMgcHJvcGVydHkgYXMgZm9sbG93cyBcbiAgICAgKiAqIGBMZWZ0YDogVG8gYWxpZ24gY29tbWFuZHMgdG8gdGhlIGxlZnQgc2lkZSBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogKiBgQ2VudGVyYDogVG8gYWxpZ24gY29tbWFuZHMgYXQgdGhlIGNlbnRlciBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogKiBgUmlnaHRgOiBUbyBhbGlnbiBjb21tYW5kcyB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgVG9vbGJhci5cbiAgICAgKiBAZGVmYXVsdCAnTGVmdCdcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1BbGlnbi5MZWZ0XG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1BbGlnblxuICAgICAqL1xuICAgIHB1YmxpYyBhbGlnbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHNpbmdsZS9tdWx0aXBsZSBjbGFzc2VzIChzZXBhcmF0ZWQgYnkgc3BhY2UpIHRvIGJlIHVzZWQgZm9yIGN1c3RvbWl6YXRpb24gb2YgY29tbWFuZHMuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBjc3NDbGFzczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciBhbiBpdGVtIHNob3VsZCBiZSBkaXNhYmxlZCBvciBub3QuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBodG1sQXR0cmlidXRlcyB1c2VkIHRvIGFkZCBjdXN0b20gYXR0cmlidXRlcyB0byBUb29sYmFyIGNvbW1hbmQuIFxuICAgICAqIFN1cHBvcnRzIEhUTUwgYXR0cmlidXRlcyBzdWNoIGFzIHN0eWxlLCBjbGFzcywgZXRjLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgaHRtbEF0dHJpYnV0ZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB1bmlxdWUgSUQgdG8gYmUgdXNlZCB3aXRoIGJ1dHRvbiBvciBpbnB1dCBlbGVtZW50IG9mIFRvb2xiYXIgaXRlbXMuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHVuaXF1ZSBuYW1lIGZvciBlYWNoIHRvb2xiYXIgaXRlbSByZW5kZXJlZCBpbiBTY2hlZHVsZS4gVGhpcyBuYW1lIGlzIHVzZWQgdG8gbWFwIHRoZSB0b29sYmFyIGl0ZW1zIGluIHRoZSBTY2hlZHVsZSBjb21wb25lbnQuXG4gICAgICogXG4gICAgICogVG8gYWNjZXNzIHRoZSBkZWZhdWx0IHRvb2xiYXIgaXRlbXMsIHByb3ZpZGUgdGhlIG5hbWUgYmVsb3csXG4gICAgICpcbiAgICAgKiogYEN1c3RvbWA6IFNjaGVkdWxlIGNvbXBvbmVudCByZW5kZXIgdGhlIGN1c3RvbSB0b29sYmFyIGl0ZW0uXG4gICAgICoqIGBQcmV2aW91c2A6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIHByZXZpb3VzIGRhdGUgZnJvbSB0aGUgY3VycmVudCBkYXRlLlxuICAgICAqKiBgTmV4dGA6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIG5leHQgZGF0ZSBmcm9tIHRoZSBjdXJyZW50IGRhdGUuXG4gICAgICoqIGBUb2RheWA6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIGN1cnJlbnQgZGF0ZSBmcm9tIGFueSBkYXRlLlxuICAgICAqKiBgVmlld3NgOiBTY2hlZHVsZSBjb21wb25lbnQgcmVuZGVyIHRoZSBkZWZpbmVkIHZpZXcgb3B0aW9ucyBpbiB0aGUgdG9vbGJhci4gSWYgdmlldyBvcHRpb24gaXMgbm90IGRlZmluZWQsIHRoZW4gaXQgd2lsbCByZW5kZXIgZGVmYXVsdCB2aWV3IG9wdGlvbnMgaW4gdGhlIFNjaGVkdWxlLlxuICAgICAqKiBgRGF0ZVJhbmdlVGV4dGA6IFNjaGVkdWxlIGNvbXBvbmVudCBkaXNwbGF5cyB0aGUgY3VycmVudCBkYXRlIHRleHQgcmFuZ2UuXG4gICAgICoqIGBOZXdFdmVudGA6IFNjaGVkdWxlIGNvbXBvbmVudCByZW5kZXIgdGhlIGljb24gdG8gYWRkIGEgbmV3IGV2ZW50LlxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCAnQ3VzdG9tJ1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWUgQ3VzdG9tXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFRvb2xiYXJOYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBUb29sYmFyIGNvbW1hbmQgZGlzcGxheSBhcmVhIHdoZW4gYW4gZWxlbWVudCdzIGNvbnRlbnQgaXMgdG9vIGxhcmdlIHRvIGZpdCBhdmFpbGFibGUgc3BhY2UuIFxuICAgICAqIFRoaXMgaXMgYXBwbGljYWJsZSBvbmx5IHRvIGBwb3B1cGAgbW9kZS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBwcm9wZXJ0eSBhcyBmb2xsb3dzIFxuICAgICAqICogYFNob3dgOiAgQWx3YXlzIHNob3dzIHRoZSBpdGVtIGFzIHRoZSBwcmltYXJ5IHByaW9yaXR5IG9uIHRoZSAqVG9vbGJhciouIFxuICAgICAqICogYEhpZGVgOiBBbHdheXMgc2hvd3MgdGhlIGl0ZW0gYXMgdGhlIHNlY29uZGFyeSBwcmlvcml0eSBvbiB0aGUgKnBvcHVwKi4gXG4gICAgICogKiBgTm9uZWA6IE5vIHByaW9yaXR5IGZvciBkaXNwbGF5LCBhbmQgYXMgcGVyIG5vcm1hbCBvcmRlciBtb3ZlcyB0byBwb3B1cCB3aGVuIGNvbnRlbnQgZXhjZWVkcy5cbiAgICAgKiBAZGVmYXVsdCAnTm9uZSdcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLk92ZXJmbG93T3B0aW9uLk5vbmVcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuTmF2aWdhdGlvbnMuT3ZlcmZsb3dPcHRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcmZsb3c6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBzaW5nbGUvbXVsdGlwbGUgY2xhc3NlcyBzZXBhcmF0ZWQgYnkgc3BhY2UgdXNlZCB0byBzcGVjaWZ5IGFuIGljb24gZm9yIHRoZSBidXR0b24uIFxuICAgICAqIFRoZSBpY29uIHdpbGwgYmUgcG9zaXRpb25lZCBiZWZvcmUgdGhlIHRleHQgY29udGVudCBpZiB0ZXh0IGlzIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHRoZSBpY29uIGFsb25lIHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBwcmVmaXhJY29uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHByaW9yaXR5IG9mIGl0ZW1zIHRvIGRpc3BsYXkgaXQgaW4gcG9wdXAgYWx3YXlzLiBcbiAgICAgKiBJdCBhbGxvd3MgdG8gbWFpbnRhaW4gdG9vbGJhciBpdGVtIG9uIHBvcHVwIGFsd2F5cyBidXQgaXQgZG9lcyBub3Qgd29yayBmb3IgdG9vbGJhciBwcmlvcml0eSBpdGVtcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QWx3YXlzSW5Qb3B1cDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hlcmUgdGhlIGJ1dHRvbiB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIG9uICpwb3B1cCBtb2RlKiBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBwcm9wZXJ0eSBhcyBmb2xsb3dzIFxuICAgICAqICogYFRvb2xiYXJgOiAgVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBvbiAqVG9vbGJhciogb25seS4gXG4gICAgICogKiBgT3ZlcmZsb3dgOiBUZXh0IHdpbGwgYmUgZGlzcGxheWVkIG9ubHkgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0byAqcG9wdXAqLiBcbiAgICAgKiAqIGBCb3RoYDogVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBvbiAqcG9wdXAqIGFuZCAqVG9vbGJhciouXG4gICAgICogQGRlZmF1bHQgJ0JvdGgnXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZSBTeW5jZnVzaW9uLkVKMi5OYXZpZ2F0aW9ucy5EaXNwbGF5TW9kZS5Cb3RoXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgcHVibGljIHNob3dUZXh0T246IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBzaW5nbGUvbXVsdGlwbGUgY2xhc3NlcyBzZXBhcmF0ZWQgYnkgc3BhY2UgdXNlZCB0byBzcGVjaWZ5IGFuIGljb24gZm9yIHRoZSBidXR0b24uIFxuICAgICAqIFRoZSBpY29uIHdpbGwgYmUgcG9zaXRpb25lZCBhZnRlciB0aGUgdGV4dCBjb250ZW50IGlmIHRleHQgaXMgYXZhaWxhYmxlLlxuICAgICAqIEBkZWZhdWx0IFwiXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgc3VmZml4SWNvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRhYiBvcmRlciBvZiB0aGUgVG9vbGJhciBpdGVtcy4gV2hlbiBwb3NpdGl2ZSB2YWx1ZXMgYXNzaWduZWQsIGl0IGFsbG93cyB0byBzd2l0Y2ggZm9jdXMgdG8gdGhlIG5leHQvcHJldmlvdXMgdG9vbGJhciBpdGVtcyB3aXRoIFRhYi9TaGlmdFRhYiBrZXlzLiBcbiAgICAgKiBCeSBkZWZhdWx0LCB1c2VyIGNhbiBhYmxlIHRvIHN3aXRjaCBiZXR3ZWVuIGl0ZW1zIG9ubHkgdmlhIGFycm93IGtleXMuIFxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMCBmb3IgYWxsIHRvb2wgYmFyIGl0ZW1zLCB0aGVuIHRhYiBzd2l0Y2hlcyBiYXNlZCBvbiBlbGVtZW50IG9yZGVyLlxuICAgICAqIEBkZWZhdWx0IC0xXG4gICAgICovXG4gICAgcHVibGljIHRhYkluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdGV4dCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIFRvb2xiYXIgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0IFwiXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgdGV4dDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gYmUgZGlzcGxheWVkIG9uIGhvdmVyaW5nIHRoZSBUb29sYmFyIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCBcIlwiXG4gICAgICovXG4gICAgcHVibGljIHRvb2x0aXBUZXh0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIGFuIGl0ZW0gc2hvdWxkIGJlIGhpZGRlbiBvciBub3QuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIFRvb2xiYXIgYnV0dG9uIGNvbW1hbmRzLlxuICAgICAqIEBkZWZhdWx0ICdhdXRvJ1xuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIEhUTUwgZWxlbWVudC9lbGVtZW50IElEIGFzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIGFkZGVkIGFzIGEgVG9vbGJhciBjb21tYW5kLiBcbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCBcIlwiXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBUb29sYmFySXRlbSBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlPmUtdG9vbGJhcml0ZW1zJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKFRvb2xiYXJJdGVtRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJJdGVtc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxUb29sYmFySXRlbXNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3Rvb2xiYXJpdGVtcycpO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
3
|
+
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
+
import { Template } from '@syncfusion/ej2-angular-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let input = ['allowOverlap', 'allowVirtualScrolling', 'cellHeaderTemplate', 'cellTemplate', 'dateFormat', 'dateHeaderTemplate', 'dateRangeTemplate', 'dayHeaderTemplate', 'displayDate', 'displayName', 'enableLazyLoading', 'endHour', 'eventTemplate', 'firstDayOfWeek', 'firstMonthOfYear', 'group', 'headerIndentTemplate', 'headerRows', 'interval', 'isSelected', 'maxEventsPerRow', 'monthHeaderTemplate', 'monthsCount', 'numberOfWeeks', 'option', 'orientation', 'overscanCount', 'readonly', 'resourceHeaderTemplate', 'showWeekNumber', 'showWeekend', 'startHour', 'timeFormat', 'timeScale', 'workDays'];
|
|
7
|
+
let outputs = [];
|
|
8
|
+
/**
|
|
9
|
+
* `e-views` directive represent a view of the Angular Schedule.
|
|
10
|
+
* It must be contained in a Schedule component(`ejs-schedule`).
|
|
11
|
+
* ```html
|
|
12
|
+
* <ejs-schedule>
|
|
13
|
+
* <e-views>
|
|
14
|
+
* <e-view option='day' dateFormat='dd MMM'></e-view>
|
|
15
|
+
* <e-view option='week'></e-view>
|
|
16
|
+
* </e-views>
|
|
17
|
+
* </ejs-schedule>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export class ViewDirective extends ComplexBase {
|
|
21
|
+
constructor(viewContainerRef) {
|
|
22
|
+
super();
|
|
23
|
+
this.viewContainerRef = viewContainerRef;
|
|
24
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
25
|
+
this.registerEvents(outputs);
|
|
26
|
+
this.directivePropList = input;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
ViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
ViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ViewDirective, selector: "e-views>e-view", inputs: { allowOverlap: "allowOverlap", allowVirtualScrolling: "allowVirtualScrolling", cellHeaderTemplate: "cellHeaderTemplate", cellTemplate: "cellTemplate", dateFormat: "dateFormat", dateHeaderTemplate: "dateHeaderTemplate", dateRangeTemplate: "dateRangeTemplate", dayHeaderTemplate: "dayHeaderTemplate", displayDate: "displayDate", displayName: "displayName", enableLazyLoading: "enableLazyLoading", endHour: "endHour", eventTemplate: "eventTemplate", firstDayOfWeek: "firstDayOfWeek", firstMonthOfYear: "firstMonthOfYear", group: "group", headerIndentTemplate: "headerIndentTemplate", headerRows: "headerRows", interval: "interval", isSelected: "isSelected", maxEventsPerRow: "maxEventsPerRow", monthHeaderTemplate: "monthHeaderTemplate", monthsCount: "monthsCount", numberOfWeeks: "numberOfWeeks", option: "option", orientation: "orientation", overscanCount: "overscanCount", readonly: "readonly", resourceHeaderTemplate: "resourceHeaderTemplate", showWeekNumber: "showWeekNumber", showWeekend: "showWeekend", startHour: "startHour", timeFormat: "timeFormat", timeScale: "timeScale", workDays: "workDays" }, queries: [{ propertyName: "dateHeaderTemplate", first: true, predicate: ["dateHeaderTemplate"], descendants: true }, { propertyName: "dateRangeTemplate", first: true, predicate: ["dateRangeTemplate"], descendants: true }, { propertyName: "dayHeaderTemplate", first: true, predicate: ["dayHeaderTemplate"], descendants: true }, { propertyName: "cellHeaderTemplate", first: true, predicate: ["cellHeaderTemplate"], descendants: true }, { propertyName: "cellTemplate", first: true, predicate: ["cellTemplate"], descendants: true }, { propertyName: "eventTemplate", first: true, predicate: ["eventTemplate"], descendants: true }, { propertyName: "monthHeaderTemplate", first: true, predicate: ["monthHeaderTemplate"], descendants: true }, { propertyName: "resourceHeaderTemplate", first: true, predicate: ["resourceHeaderTemplate"], descendants: true }, { propertyName: "headerIndentTemplate", first: true, predicate: ["headerIndentTemplate"], descendants: true }, { propertyName: "timeScale_minorSlotTemplate", first: true, predicate: ["timeScaleMinorSlotTemplate"], descendants: true }, { propertyName: "timeScale_majorSlotTemplate", first: true, predicate: ["timeScaleMajorSlotTemplate"], descendants: true }, { propertyName: "group_headerTooltipTemplate", first: true, predicate: ["groupHeaderTooltipTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
31
|
+
__decorate([
|
|
32
|
+
Template()
|
|
33
|
+
], ViewDirective.prototype, "dateHeaderTemplate", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
Template()
|
|
36
|
+
], ViewDirective.prototype, "dateRangeTemplate", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
Template()
|
|
39
|
+
], ViewDirective.prototype, "dayHeaderTemplate", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Template()
|
|
42
|
+
], ViewDirective.prototype, "cellHeaderTemplate", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
Template()
|
|
45
|
+
], ViewDirective.prototype, "cellTemplate", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
Template()
|
|
48
|
+
], ViewDirective.prototype, "eventTemplate", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Template()
|
|
51
|
+
], ViewDirective.prototype, "monthHeaderTemplate", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
Template()
|
|
54
|
+
], ViewDirective.prototype, "resourceHeaderTemplate", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
Template()
|
|
57
|
+
], ViewDirective.prototype, "headerIndentTemplate", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
Template()
|
|
60
|
+
], ViewDirective.prototype, "timeScale_minorSlotTemplate", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
Template()
|
|
63
|
+
], ViewDirective.prototype, "timeScale_majorSlotTemplate", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
Template()
|
|
66
|
+
], ViewDirective.prototype, "group_headerTooltipTemplate", void 0);
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewDirective, decorators: [{
|
|
68
|
+
type: Directive,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: 'e-views>e-view',
|
|
71
|
+
inputs: input,
|
|
72
|
+
outputs: outputs,
|
|
73
|
+
queries: {}
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { dateHeaderTemplate: [{
|
|
76
|
+
type: ContentChild,
|
|
77
|
+
args: ['dateHeaderTemplate']
|
|
78
|
+
}], dateRangeTemplate: [{
|
|
79
|
+
type: ContentChild,
|
|
80
|
+
args: ['dateRangeTemplate']
|
|
81
|
+
}], dayHeaderTemplate: [{
|
|
82
|
+
type: ContentChild,
|
|
83
|
+
args: ['dayHeaderTemplate']
|
|
84
|
+
}], cellHeaderTemplate: [{
|
|
85
|
+
type: ContentChild,
|
|
86
|
+
args: ['cellHeaderTemplate']
|
|
87
|
+
}], cellTemplate: [{
|
|
88
|
+
type: ContentChild,
|
|
89
|
+
args: ['cellTemplate']
|
|
90
|
+
}], eventTemplate: [{
|
|
91
|
+
type: ContentChild,
|
|
92
|
+
args: ['eventTemplate']
|
|
93
|
+
}], monthHeaderTemplate: [{
|
|
94
|
+
type: ContentChild,
|
|
95
|
+
args: ['monthHeaderTemplate']
|
|
96
|
+
}], resourceHeaderTemplate: [{
|
|
97
|
+
type: ContentChild,
|
|
98
|
+
args: ['resourceHeaderTemplate']
|
|
99
|
+
}], headerIndentTemplate: [{
|
|
100
|
+
type: ContentChild,
|
|
101
|
+
args: ['headerIndentTemplate']
|
|
102
|
+
}], timeScale_minorSlotTemplate: [{
|
|
103
|
+
type: ContentChild,
|
|
104
|
+
args: ['timeScaleMinorSlotTemplate']
|
|
105
|
+
}], timeScale_majorSlotTemplate: [{
|
|
106
|
+
type: ContentChild,
|
|
107
|
+
args: ['timeScaleMajorSlotTemplate']
|
|
108
|
+
}], group_headerTooltipTemplate: [{
|
|
109
|
+
type: ContentChild,
|
|
110
|
+
args: ['groupHeaderTooltipTemplate']
|
|
111
|
+
}] } });
|
|
112
|
+
/**
|
|
113
|
+
* View Array Directive
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
export class ViewsDirective extends ArrayBase {
|
|
117
|
+
constructor() {
|
|
118
|
+
super('views');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
ViewsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
122
|
+
ViewsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ViewsDirective, selector: "ejs-schedule>e-views", queries: [{ propertyName: "children", predicate: ViewDirective }], usesInheritance: true, ngImport: i0 });
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ViewsDirective, decorators: [{
|
|
124
|
+
type: Directive,
|
|
125
|
+
args: [{
|
|
126
|
+
selector: 'ejs-schedule>e-views',
|
|
127
|
+
queries: {
|
|
128
|
+
children: new ContentChildren(ViewDirective)
|
|
129
|
+
},
|
|
130
|
+
}]
|
|
131
|
+
}], ctorParameters: function () { return []; } });
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3ZpZXdzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsY0FBYyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDam1CLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7Ozs7R0FXRztBQVNILE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBMEI7SUFtVXpELFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFakQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7MEdBeFVRLGFBQWE7OEZBQWIsYUFBYTtBQWdOdEI7SUFEQyxRQUFRLEVBQUU7eURBQ29CO0FBVy9CO0lBREMsUUFBUSxFQUFFO3dEQUNtQjtBQWE5QjtJQURDLFFBQVEsRUFBRTt3REFDbUI7QUFhOUI7SUFEQyxRQUFRLEVBQUU7eURBQ29CO0FBYS9CO0lBREMsUUFBUSxFQUFFO21EQUNjO0FBY3pCO0lBREMsUUFBUSxFQUFFO29EQUNlO0FBYTFCO0lBREMsUUFBUSxFQUFFOzBEQUNxQjtBQWNoQztJQURDLFFBQVEsRUFBRTs2REFDd0I7QUFhbkM7SUFEQyxRQUFRLEVBQUU7MkRBQ3NCO0FBR2pDO0lBREMsUUFBUSxFQUFFO2tFQUM2QjtBQUd4QztJQURDLFFBQVEsRUFBRTtrRUFDNkI7QUFHeEM7SUFEQyxRQUFRLEVBQUU7a0VBQzZCOzJGQWpVL0IsYUFBYTtrQkFSekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLEVBRVI7aUJBQ0o7dUdBaU5VLGtCQUFrQjtzQkFGeEIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBYTNCLGlCQUFpQjtzQkFGdkIsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBZTFCLGlCQUFpQjtzQkFGdkIsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBZTFCLGtCQUFrQjtzQkFGeEIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBZTNCLFlBQVk7c0JBRmxCLFlBQVk7dUJBQUMsY0FBYztnQkFnQnJCLGFBQWE7c0JBRm5CLFlBQVk7dUJBQUMsZUFBZTtnQkFldEIsbUJBQW1CO3NCQUZ6QixZQUFZO3VCQUFDLHFCQUFxQjtnQkFnQjVCLHNCQUFzQjtzQkFGNUIsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBZS9CLG9CQUFvQjtzQkFGMUIsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBSzdCLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBS25DLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBS25DLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7O0FBWTlDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBeUI7SUFDekQ7UUFDSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7MkdBSFEsY0FBYzsrRkFBZCxjQUFjLHFGQUhXLGFBQWE7MkZBR3RDLGNBQWM7a0JBTjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUM7cUJBQy9DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWxsb3dPdmVybGFwJywgJ2FsbG93VmlydHVhbFNjcm9sbGluZycsICdjZWxsSGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2RhdGVGb3JtYXQnLCAnZGF0ZUhlYWRlclRlbXBsYXRlJywgJ2RhdGVSYW5nZVRlbXBsYXRlJywgJ2RheUhlYWRlclRlbXBsYXRlJywgJ2Rpc3BsYXlEYXRlJywgJ2Rpc3BsYXlOYW1lJywgJ2VuYWJsZUxhenlMb2FkaW5nJywgJ2VuZEhvdXInLCAnZXZlbnRUZW1wbGF0ZScsICdmaXJzdERheU9mV2VlaycsICdmaXJzdE1vbnRoT2ZZZWFyJywgJ2dyb3VwJywgJ2hlYWRlckluZGVudFRlbXBsYXRlJywgJ2hlYWRlclJvd3MnLCAnaW50ZXJ2YWwnLCAnaXNTZWxlY3RlZCcsICdtYXhFdmVudHNQZXJSb3cnLCAnbW9udGhIZWFkZXJUZW1wbGF0ZScsICdtb250aHNDb3VudCcsICdudW1iZXJPZldlZWtzJywgJ29wdGlvbicsICdvcmllbnRhdGlvbicsICdvdmVyc2NhbkNvdW50JywgJ3JlYWRvbmx5JywgJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnLCAnc2hvd1dlZWtOdW1iZXInLCAnc2hvd1dlZWtlbmQnLCAnc3RhcnRIb3VyJywgJ3RpbWVGb3JtYXQnLCAndGltZVNjYWxlJywgJ3dvcmtEYXlzJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogYGUtdmlld3NgIGRpcmVjdGl2ZSByZXByZXNlbnQgYSB2aWV3IG9mIHRoZSBBbmd1bGFyIFNjaGVkdWxlLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgU2NoZWR1bGUgY29tcG9uZW50KGBlanMtc2NoZWR1bGVgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPlxuICogICA8ZS12aWV3cz5cbiAqICAgIDxlLXZpZXcgb3B0aW9uPSdkYXknIGRhdGVGb3JtYXQ9J2RkIE1NTSc+PC9lLXZpZXc+XG4gKiAgICA8ZS12aWV3IG9wdGlvbj0nd2Vlayc+PC9lLXZpZXc+XG4gKiAgIDwvZS12aWV3cz5cbiAqIDwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS12aWV3cz5lLXZpZXcnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8Vmlld0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIG92ZXJsYXBwaW5nIGFwcG9pbnRtZW50cyBhcmUgYWxsb3dlZCB3aXRoaW4gdGhlIHNhbWUgdGltZSBzbG90IGluIHRoZSBTY2hlZHVsZXIuXG4gICAgICogQHJlbWFya3MgV2hlbiBzZXQgdG8gYGZhbHNlYCwgdGhlIFNjaGVkdWxlciBlbmZvcmNlcyByZXN0cmljdGlvbnMgdG8gcHJldmVudCBjcmVhdGluZyBvciBkaXNwbGF5aW5nIG92ZXJsYXBwaW5nIGFwcG9pbnRtZW50cyB3aXRoaW4gdGhlIHNhbWUgdGltZSBkdXJhdGlvbi5cblRoaXMgc2V0dGluZyBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOlxuXG4tICoqSW5pdGlhbCBMb2FkaW5nKio6IFRoZSBhbGVydCBmb3Igb3ZlcmxhcHBpbmcgYXBwb2ludG1lbnRzIHdpbGwgbm90IGRpc3BsYXkgZHVyaW5nIHRoZSBpbml0aWFsIGxvYWQuIE92ZXJsYXBwaW5nIGV2ZW50cyB3aWxsIGJlIGlnbm9yZWQgaW4gcmVuZGVyaW5nLCBpbmNsdWRpbmcgb2NjdXJyZW5jZXMuXG5cbi0gKipEeW5hbWljIEFkZC9FZGl0Kio6IFdoZW4gYWRkaW5nIG9yIGVkaXRpbmcgZXZlbnRzIGR5bmFtaWNhbGx5LCBvdmVybGFwcGluZyB2YWxpZGF0aW9uIGlzIHBlcmZvcm1lZC4gSWYgYW4gb3ZlcmxhcCBpcyBkZXRlY3RlZCBmb3IgYSBzaW5nbGUgZXZlbnQsIGFuIGFsZXJ0IHdpbGwgYmUgc2hvd24sIGFuZCB0aGUgZXZlbnQgd2lsbCBub3QgYmUgc2F2ZWQuXG5cbkZvciByZWN1cnJpbmcgZXZlbnRzLCBhbiBhbGVydCB3aWxsIGJlIGRpc3BsYXllZCwgYW5kIHRoZSBldmVudCB3aWxsIG5vdCBiZSBzYXZlZC4gVG8gc2F2ZSByZWN1cnJpbmcgZXZlbnRzIHdoaWxlIGlnbm9yaW5nIG92ZXJsYXBwaW5nIG9jY3VycmVuY2VzLCB0cmlnZ2VyIHRoZSBgUG9wdXBPcGVuYCBldmVudC4gVGhlIGBEYXRhYCBmaWVsZCB3aWxsIGNvbnRhaW4gdGhlIHBhcmVudCByZWN1cnJlbmNlIGRhdGEsIGFuZCB0aGUgYG92ZXJsYXBFdmVudHNgIGZpZWxkIHdpbGwgY29udGFpbiB0aGUgb3ZlcmxhcCBldmVudHMuIFVzaW5nIHRoZXNlIGRldGFpbHMsIHVzZXJzIGNhbiBpbmNsdWRlIGV4Y2VwdGlvbnMgaW4gdGhlIHJlY3VycmVuY2UgZXZlbnRzIGFuZCBzYXZlIHRoZW0gd2l0aCB0aGUgYGFkZEV2ZW50YCBtZXRob2QuXG5cbi0gKipPdXQtb2YtRGF0ZS1SYW5nZSBFdmVudHMqKjogVGhlIGBhbGxvd092ZXJsYXBgIHNldHRpbmcgb25seSBwcmV2ZW50cyBvdmVybGFwcyBmb3IgZXZlbnRzIHdpdGhpbiB0aGUgY3VycmVudCB2aWV3IGRhdGUgcmFuZ2UuIFRvIHZhbGlkYXRlIG92ZXJsYXAgZXZlbnRzIG91dHNpZGUgdGhlIGN1cnJlbnQgZGF0ZSByYW5nZSwgdXNlIHRoZSBgYWN0aW9uQmVnaW5gIGV2ZW50IHRvIHNlbmQgYSByZXF1ZXN0IHRvIHRoZSBzZXJ2ZXIgZm9yIHZhbGlkYXRpb24gYW5kIHJldHVybiBhIHByb21pc2UtYmFzZWQgcmVzcG9uc2UuIEFzc2lnbiB0aGlzIHByb21pc2UgcmVzcG9uc2UgdG8gdGhlIGBwcm9taXNlYCBmaWVsZCBpbiBgQWN0aW9uRXZlbnRBcmdzYCB0byBoYW5kbGUgYXN5bmNocm9ub3VzIHNlcnZlciB2YWxpZGF0aW9uLlxuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd092ZXJsYXA6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgaXMgdXNlZCB0byBhbGxvdyBvciBkaXNhbGxvdyB0aGUgdmlydHVhbCBzY3JvbGxpbmcgZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd1ZpcnR1YWxTY3JvbGxpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogQnkgZGVmYXVsdCwgU2NoZWR1bGUgZm9sbG93cyB0aGUgZGF0ZS1mb3JtYXQgYXMgcGVyIHRoZSBkZWZhdWx0IGN1bHR1cmUgYXNzaWduZWQgdG8gaXQuIEl0IGlzIGFsc28gcG9zc2libGUgdG8gbWFudWFsbHkgc2V0IFxuICAgICAqICBzcGVjaWZpYyBkYXRlIGZvcm1hdCBieSB1c2luZyB0aGUgYGRhdGVGb3JtYXRgIHByb3BlcnR5LiBUaGUgZm9ybWF0IG9mIHRoZSBkYXRlIHJhbmdlIGxhYmVsIGluIHRoZSBoZWFkZXIgYmFyIGRlcGVuZHMgb24gXG4gICAgICogIHRoZSBgZGF0ZUZvcm1hdGAgdmFsdWUgb3IgZWxzZSBiYXNlZCBvbiB0aGUgbG9jYWxlIGFzc2lnbmVkIHRvIHRoZSBTY2hlZHVsZS4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyB3ZWVrIGRhdGUgYXQgYW4gaW5pdGlhbCByZW5kZXJpbmcgb2YgbW9udGggdmlldy4gVGhpcyBwcm9wZXJ0eSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIG1vbnRoIHZpZXcuIFxuICAgICAqICBJZiB0aGlzIHByb3BlcnR5IHZhbHVlIGlzIG5vdCBzZXQsIHRoZW4gdGhlIG1vbnRoIHZpZXcgd2lsbCBiZSByZW5kZXJlZCBmcm9tIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSBtb250aC4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZGlzcGxheURhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5RGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHRoZSBzYW1lIHZpZXcgaXMgY3VzdG9taXplZCB3aXRoIGRpZmZlcmVudCBpbnRlcnZhbHMsIHRoaXMgcHJvcGVydHkgYWxsb3dzIHRoZSB1c2VyIHRvIHNldCBkaWZmZXJlbnQgZGlzcGxheSBuYW1lIFxuICAgICAqICBmb3IgdGhvc2Ugdmlld3MuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5TmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBFbmFibGVzIHRoZSBsYXp5IGxvYWRpbmcgb2YgZXZlbnRzIGZvciBzY3JvbGxpbmcgYWN0aW9ucyBvbmx5IHdoZW4gdGhlIHJlc291cmNlcyBncm91cGluZyBwcm9wZXJ0eSBpcyBlbmFibGVkLiBcbiAgICAgKiBMYXp5IGxvYWRpbmcgYWxsb3dzIHRoZSBzY2hlZHVsZXIgdG8gZmV0Y2ggdGhlIGFwcG9pbnRtZW50cyBkeW5hbWljYWxseSBkdXJpbmcgc2Nyb2xsIGFjdGlvbnMgZm9yIHRoZSBjdXJyZW50bHkgcmVuZGVyZWQgcmVzb3VyY2UgY29sbGVjdGlvbi4gXG4gICAgICogTmV3IGV2ZW50IGRhdGEgaXMgZmV0Y2hlZCBvbi1kZW1hbmQgYXMgdGhlIHVzZXIgc2Nyb2xscyB0aHJvdWdoIHRoZSBzY2hlZHVsZSBjb250ZW50LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZUxhenlMb2FkaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZW5kIGhvdXIsIGF0IHdoaWNoIHRoZSBTY2hlZHVsZSBlbmRzLiBJdCB0b28gYWNjZXB0cyB0aGUgdGltZSBzdHJpbmcgaW4gYSBzaG9ydCBza2VsZXRvbiBmb3JtYXQuXG4gICAgICogQGRlZmF1bHQgJzI0OjAwJ1xuICAgICAqL1xuICAgIHB1YmxpYyBlbmRIb3VyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0aGUgdXNlciB0byBzZXQgdGhlIGZpcnN0IGRheSBvZiBhIHdlZWsgb24gU2NoZWR1bGUuIEl0IHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgbG9jYWxlIHNldCB0byBpdCBhbmQgZWFjaCBjdWx0dXJlIFxuICAgICAqICBkZWZpbmVzIGl0cyBvd24gZmlyc3QgZGF5IG9mIHdlZWsgdmFsdWVzLiBJZiBuZWVkZWQsIHRoZSB1c2VyIGNhbiBzZXQgaXQgbWFudWFsbHkgb24gaGlzIG93biBieSBkZWZpbmluZyB0aGUgdmFsdWUgdGhyb3VnaCBcbiAgICAgKiAgdGhpcyBwcm9wZXJ0eS4gSXQgdXN1YWxseSBhY2NlcHRzIHRoZSBpbnRlZ2VyIHZhbHVlcywgd2hlcmVieSAwIGlzIGFsd2F5cyBkZW5vdGVkIGFzIFN1bmRheSwgMSBhcyBNb25kYXkgYW5kIHNvIG9uLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgZmlyc3REYXlPZldlZWs6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBoZWxwcyByZW5kZXIgdGhlIHllYXIgdmlldyBjdXN0b21pemVkIG1vbnRocy4gXG4gICAgICogQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGAwYC5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGZpcnN0TW9udGhPZlllYXI6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRvIHNldCBkaWZmZXJlbnQgcmVzb3VyY2UgZ3JvdXBpbmcgb3B0aW9ucyBvbiBhbGwgYXZhaWxhYmxlIHNjaGVkdWxlIHZpZXcgbW9kZXMuXG4gICAgICogQGRlZmF1bHQgeyBieURhdGU6IGZhbHNlLCBieUdyb3VwSUQ6IHRydWUsIGFsbG93R3JvdXBFZGl0OiBmYWxzZSwgcmVzb3VyY2VzOltdLCBoaWRlTm9uV29ya2luZ0RheXM6IGZhbHNlIH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ3JvdXA6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGRlZmluaW5nIHRoZSBjb2xsZWN0aW9uIG9mIGN1c3RvbSBoZWFkZXIgcm93cyB0byBkaXNwbGF5IHRoZSB5ZWFyLCBtb250aCwgd2VlaywgZGF0ZSBhbmQgaG91ciBsYWJlbCBhcyBhbiBpbmRpdmlkdWFsIHJvdyBcbiAgICAgKiAgb24gdGhlIHRpbWVsaW5lIHZpZXcgb2YgdGhlIHNjaGVkdWxlci5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJSb3dzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgdGhlIG51bWJlciB2YWx1ZSBkZW5vdGluZyB0byBpbmNsdWRlIHRoZSBudW1iZXIgb2YgZGF5cywgd2Vla3MsIHdvcmt3ZWVrcyBvciBtb250aHMgb24gdGhlIGRlZmluZWQgdmlldyB0eXBlLlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJ2YWw6IGFueTtcbiAgICAvKiogXG4gICAgICogVG8gZGVub3RlIHdoZXRoZXIgdGhlIHZpZXcgbmFtZSBnaXZlbiBvbiB0aGUgYG9wdGlvbmAgaXMgYWN0aXZlIG9yIG5vdC4gXG4gICAgICogSXQgYWN0cyBzaW1pbGFyIHRvIHRoZSBbYGN1cnJlbnRWaWV3YF0oLi4vLi4vc2NoZWR1bGUvI2N1cnJlbnQtdmlldy8pIFxuICAgICAqIHByb3BlcnR5IGFuZCBkZWZpbmVzIHRoZSBhY3RpdmUgdmlldyBvZiBTY2hlZHVsZS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NlbGVjdGVkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZXZlbnRzIHRvIGJlIGRpc3BsYXllZCBpbiBhIHNpbmdsZSByb3cuIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaXMgYXBwbGljYWJsZSB3aGVuIHRoZSAncm93QXV0b0hlaWdodCcgcHJvcGVydHkgaXMgZGlzYWJsZWQuIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaXMgb25seSBhcHBsaWNhYmxlIGZvciB0aGUgbW9udGggdmlldywgdGltZWxpbmUgdmlld3MsIGFuZCB0aW1lbGluZSB5ZWFyIHZpZXcuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBtYXhFdmVudHNQZXJSb3c6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBvcHRpb24gYWxsb3dzIHRoZSB1c2VyIHRvIHNldCB0aGUgbnVtYmVyIG9mIG1vbnRocyBjb3VudCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIFNjaGVkdWxlLiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9tb250aHNDb3VudC9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCAxMlxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBtb250aHNDb3VudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGN1c3RvbWl6ZXMgdGhlIG51bWJlciBvZiB3ZWVrcyB0aGF0IGFyZSBzaG93biBpbiBtb250aCB2aWV3LiBCeSBkZWZhdWx0LCBpdCBzaG93cyBhbGwgd2Vla3MgaW4gdGhlIGN1cnJlbnQgbW9udGguIFxuICAgICAqICBVc2UgZGlzcGxheURhdGUgcHJvcGVydHkgdG8gY3VzdG9taXplIHRoZSBzdGFydGluZyB3ZWVrIG9mIG1vbnRoLiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9udW1iZXJPZldlZWtzL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbnVtYmVyT2ZXZWVrczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIHRoZSBzY2hlZHVsZSB2aWV3IG5hbWUsIGJhc2VkIG9uIHdoaWNoIHdlIGNhbiBkZWZpbmUgd2l0aCBpdHMgcmVsYXRlZCBwcm9wZXJ0aWVzIGluIGEgc2luZ2xlIG9iamVjdC4gXG4gICAgICogVGhlIGFwcGxpY2FibGUgdmlldyBuYW1lcyBhcmUsIFxuICAgICAqICogRGF5IC0gRGVub3RlcyBEYXkgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFdlZWsgLSBEZW5vdGVzIFdlZWsgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFdvcmtXZWVrIC0gRGVub3RlcyBXb3JrIFdlZWsgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIE1vbnRoIC0gRGVub3RlcyBNb250aCB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogWWVhciAtIERlbm90ZXMgWWVhciB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogQWdlbmRhIC0gRGVub3RlcyBBZ2VuZGEgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIE1vbnRoQWdlbmRhIC0gRGVub3RlcyBNb250aCBBZ2VuZGEgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lRGF5IC0gRGVub3RlcyBUaW1lbGluZSBEYXkgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lV2VlayAtIERlbm90ZXMgVGltZWxpbmUgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVXb3JrV2VlayAtIERlbm90ZXMgVGltZWxpbmUgV29yayBXZWVrIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZU1vbnRoIC0gRGVub3RlcyBUaW1lbGluZSBNb250aCB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVZZWFyIC0gRGVub3RlcyBUaW1lbGluZSBZZWFyIHZpZXcgb2YgdGhlIHNjaGVkdWxlci5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIG9wdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIHllYXIgdmlldyByZW5kZXJpbmcgb3JpZW50YXRpb24gb24gdGhlIHNjaGVkdWxlLiBcbiAgICAgKiBUaGUgYXBwbGljYWJsZSBvcmllbnRhdGlvbiB2YWx1ZXMgYXJlLCBcbiAgICAgKiAqIEhvcml6b250YWwgLSBEZW5vdGVzIHRoZSBob3Jpem9udGFsIG9yaWVudGF0aW9uIG9mIFRpbWVsaW5lIFllYXIgdmlldy4gXG4gICAgICogKiBWZXJ0aWNhbCAtIERlbm90ZXMgdGhlIHZlcnRpY2FsIG9yaWVudGF0aW9uIG9mIFRpbWVsaW5lIFllYXIgdmlldy5cbiAgICAgKiBAZGVmYXVsdCAnSG9yaXpvbnRhbCdcbiAgICAgKi9cbiAgICBwdWJsaWMgb3JpZW50YXRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgYWRkaXRpb25hbCByb3dzIG9yIGNvbHVtbnMgdG8gcmVuZGVyIG91dHNpZGUgdGhlIHZpc2libGUgYXJlYSBkdXJpbmcgdmlydHVhbCBzY3JvbGxpbmcuIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaGVscHMgaW4gYWNoaWV2aW5nIHNtb290aGVyIHNjcm9sbGluZyBieSBwcmUtbG9hZGluZyBkYXRhIGp1c3Qgb3V0c2lkZSB0aGUgdmlzaWJsZSByZWdpb24uXG4gICAgICogQHJlbWFya3MgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMy4gSW5jcmVhc2luZyB0aGlzIHZhbHVlIGNhbiByZXN1bHQgaW4gc21vb3RoZXIgc2Nyb2xsaW5nIGJ1dCBtYXkgaW1wYWN0IHBlcmZvcm1hbmNlXG53aXRoIGxhcmdlciBkYXRhc2V0cy4gRGVjcmVhc2luZyBpdCBjYW4gaW1wcm92ZSBwZXJmb3JtYW5jZSBidXQgbWF5IGNhdXNlIG1vcmUgZnJlcXVlbnQgZGF0YSBmZXRjaGVzIGR1cmluZyBzY3JvbGxpbmcuXG5UaGlzIHByb3BlcnR5IG9ubHkgdGFrZXMgZWZmZWN0IHdoZW4gYGFsbG93VmlydHVhbFNjcm9sbGluZ2AgaXMgZW5hYmxlZCBmb3IgdGhlIGN1cnJlbnQgdmlldy5cblxuICAgICAqIEBkZWZhdWx0IDNcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnNjYW5Db3VudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIGEgcXVpY2sgcG9wdXAgd2l0aCBjZWxsIG9yIGV2ZW50IGRldGFpbHMgb24gc2luZ2xlIGNsaWNraW5nIG92ZXIgdGhlIGNlbGxzIG9yIG9uIGV2ZW50cy4gXG4gICAgICogIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBgdHJ1ZWAuIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgY3VycmVudCB2aWV3IGRhdGUgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1dlZWtOdW1iZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiBzZXQgdG8gYGZhbHNlYCwgaXQgaGlkZXMgdGhlIHdlZWtlbmQgZGF5cyBvZiBhIHdlZWsgZnJvbSB0aGUgU2NoZWR1bGUuIFxuICAgICAqIFRoZSBkYXlzIHdoaWNoIGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgd29ya2luZyBkYXlzIGNvbGxlY3Rpb24gYXJlIHVzdWFsbHkgdHJlYXRlZCBhcyB3ZWVrZW5kIGRheXMuIFxuICAgICAqIE5vdGU6IEJ5IGRlZmF1bHQsIHRoaXMgb3B0aW9uIGlzIG5vdCBhcHBsaWNhYmxlIG9uIGBXb3JrIFdlZWtgIHZpZXcuIFxuICAgICAqIEZvciBleGFtcGxlLCBpZiB0aGUgd29ya2luZyBkYXlzIGFyZSBkZWZpbmVkIGFzIFsxLCAyLCAzLCA0XSwgdGhlbiB0aGUgcmVtYWluaW5nIGRheXMgb2YgdGhhdCB3ZWVrIHdpbGwgYmUgY29uc2lkZXJlZCBhcyB0aGUgXG4gICAgICogIHdlZWtlbmQgZGF5cyBhbmQgd2lsbCBiZSBoaWRkZW4gb24gYWxsIHRoZSB2aWV3cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dXZWVrZW5kOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc3RhcnRpbmcgaG91ciwgZnJvbSB3aGljaCB0aGUgU2NoZWR1bGUgc3RhcnRzIHRvIGRpc3BsYXkuIFxuICAgICAqICBJdCBhY2NlcHRzIHRoZSB0aW1lIHN0cmluZyBpbiBhIHNob3J0IHNrZWxldG9uIGZvcm1hdCBhbmQgYWxzbywgaGlkZXMgdGhlIHRpbWUgYmV5b25kIHRoZSBzcGVjaWZpZWQgc3RhcnQgdGltZS5cbiAgICAgKiBAZGVmYXVsdCAnMDA6MDAnXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0SG91cjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBCeSBkZWZhdWx0LCBTY2hlZHVsZSBmb2xsb3dzIHRoZSB0aW1lLWZvcm1hdCBhcyBwZXIgdGhlIGRlZmF1bHQgY3VsdHVyZSBhc3NpZ25lZCB0byBpdC4gXG4gICAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBtYW51YWxseSBzZXQgc3BlY2lmaWMgdGltZSBmb3JtYXQgYnkgdXNpbmcgdGhlIGB0aW1lRm9ybWF0YCBwcm9wZXJ0eS4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvdGltZUZvcm1hdC9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHRpbWVGb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRvIHNldCBkaWZmZXJlbnQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gb24gZWFjaCBhcHBsaWNhYmxlIHZpZXcgbW9kZXMgc3VjaCBhcyBkYXksIHdlZWsgYW5kIHdvcmsgd2Vlay5cbiAgICAgKiBAZGVmYXVsdCB7IGVuYWJsZTogdHJ1ZSwgaW50ZXJ2YWw6IDYwLCBzbG90Q291bnQ6IDIsIG1ham9yU2xvdFRlbXBsYXRlOiBudWxsLCBtaW5vclNsb3RUZW1wbGF0ZTogbnVsbCB9XG4gICAgICovXG4gICAgcHVibGljIHRpbWVTY2FsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNldCB0aGUgd29ya2luZyBkYXlzIG9uIHNjaGVkdWxlLiBUaGUgb25seSBkYXlzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhpcyBjb2xsZWN0aW9uIHdpbGwgYmUgcmVuZGVyZWQgb24gdGhlIFxuICAgICAqICBgd29ya1dlZWtgIHZpZXcgd2hlcmVhcyBvbiBvdGhlciB2aWV3cywgaXQgd2lsbCBkaXNwbGF5IGFsbCB0aGUgdXN1YWwgZGF5cyBhbmQgc2ltcGx5IGhpZ2hsaWdodHMgdGhlIHdvcmtpbmcgZGF5cyB3aXRoIGRpZmZlcmVudCBcbiAgICAgKiAgc2hhZGUuXG4gICAgICogQGRlZmF1bHQgJ1sxLCAyLCAzLCA0LCA1XSdcbiAgICAgKiBAYXNwdHlwZSBpbnRbXVxuICAgICAqL1xuICAgIHB1YmxpYyB3b3JrRGF5czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIFxuICAgICAqICBkYXRlIGhlYWRlciBjZWxscy4gVGhlIGZpZWxkIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBoZWFkZXIgZGF0ZSByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZVJhbmdlVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVSYW5nZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIFllYXIgdmlldyBkYXkgY2VsbCBoZWFkZXIuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgeWVhciB2aWV3IGhlYWRlciBjZWxscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF5SGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRheUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIG1vbnRoIGRhdGUgY2VsbHMuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgbW9udGggdmlldyBkYXkgY2VsbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgd29yayBjZWxscyBvbiB0aGUgU2NoZWR1bGUuIEhlcmUsIHRoZSBcbiAgICAgKiAgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHdvcmsgY2VsbHMuIFxuICAgICAqICBUaGUgZmllbGQgYWNjZXNzaWJsZSB2aWEgdGVtcGxhdGUgaXMgYGRhdGVgLiBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiAgdGhlIGV2ZW50IGJhY2tncm91bmQuIEFsbCB0aGUgZXZlbnQgZmllbGRzIG1hcHBlZCB0byBTY2hlZHVsZSBmcm9tIGRhdGFTb3VyY2UgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBpcyBzaW1pbGFyIHRvIHRoYXQgb2YgdGhlIGB0ZW1wbGF0ZWAgb3B0aW9uIGF2YWlsYWJsZSB3aXRoaW4gdGhlIGBldmVudFNldHRpbmdzYCBwcm9wZXJ0eSwgXG4gICAgICogIHdoZXJlYXMgaXQgd2lsbCBnZXQgYXBwbGllZCBvbmx5IG9uIHRoZSBldmVudHMgb2YgdGhlIHZpZXcgdG8gd2hpY2ggaXQgaXMgY3VycmVudGx5IGJlaW5nIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V2ZW50VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50VGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBcbiAgICAgKiAgWWVhciB2aWV3IGRheSBjZWxsIGhlYWRlci4gXG4gICAgICogIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb250aEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBtb250aEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgaGVhZGVyIGNlbGxzIG9uIHRoZSBzY2hlZHVsZS4gSGVyZSwgdGhlIFxuICAgICAqICB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgaGVhZGVyIGNlbGxzLiBcbiAgICAgKiAgQWxsIHRoZSByZXNvdXJjZSBmaWVsZHMgbWFwcGVkIHdpdGhpbiByZXNvdXJjZXMgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHJlc291cmNlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBoZWFkZXIgaW5kZW50IGNlbGwgb24gdGhlIHNjaGVkdWxlLiBIZXJlLCB0aGUgXG4gICAgICogIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgaW5kZW50IGNlbGwuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckluZGVudFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBoZWFkZXJJbmRlbnRUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1pbm9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWlub3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0aW1lU2NhbGVNYWpvclNsb3RUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGltZVNjYWxlX21ham9yU2xvdFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZ3JvdXBIZWFkZXJUb29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGdyb3VwX2hlYWRlclRvb2x0aXBUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogVmlldyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlPmUtdmlld3MnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oVmlld0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3c0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxWaWV3c0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigndmlld3MnKTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2Z1c2lvbi1lajItYW5ndWxhci1zY2hlZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N5bmNmdXNpb24tZWoyLWFuZ3VsYXItc2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|