mmhglobal-dynamicform 1.2.3 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -2
- package/esm2020/lib/directives/fieldelement.directive.mjs +16 -0
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +43 -0
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +464 -0
- package/esm2020/lib/services/main.service.mjs +752 -0
- package/esm2020/lib/services/zcomponent.debug.service.mjs +621 -0
- package/esm2020/lib/services/zcomponent.service.mjs +81 -0
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +265 -0
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +67 -0
- package/esm2020/lib/uicontent/uicontent.component.mjs +41 -0
- package/esm2020/lib/uiheader/uiheader.component.mjs +66 -0
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +35 -0
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +37 -0
- package/{esm2015/lib/uipage/uipage.component.js → esm2020/lib/uipage/uipage.component.mjs} +12 -13
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +41 -0
- package/esm2020/lib/zbullet/zbullet.component.mjs +74 -0
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +171 -0
- package/esm2020/lib/zcard/zcard.component.mjs +72 -0
- package/esm2020/lib/zchart/zchart.component.mjs +201 -0
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +166 -0
- package/esm2020/lib/zchip/zchip.component.mjs +121 -0
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +169 -0
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +60 -0
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +70 -0
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +30 -0
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +285 -0
- package/esm2020/lib/zdiv/zdiv.component.mjs +50 -0
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +31 -0
- package/esm2020/lib/zform/zform.component.mjs +147 -0
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +49 -0
- package/esm2020/lib/zgauge/zgauge.component.mjs +148 -0
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +135 -0
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +490 -0
- package/esm2020/lib/zgrid/zgrid.component.mjs +847 -0
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +17 -0
- package/esm2020/lib/zimg/zimg.component.mjs +121 -0
- package/esm2020/lib/zkcard/zkcard.component.mjs +367 -0
- package/esm2020/lib/zlabel/zlabel.component.mjs +62 -0
- package/esm2020/lib/zmfb/zmfb.component.mjs +215 -0
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +120 -0
- package/esm2020/lib/zmodal/zmodal.component.mjs +125 -0
- package/esm2020/lib/znumeric/znumeric.component.mjs +119 -0
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +352 -0
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +204 -0
- package/esm2020/lib/zreport/zreport.component.mjs +105 -0
- package/esm2020/lib/zreport/zreport.config.mjs +117 -0
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +267 -0
- package/{esm2015/lib/zscheduler/zscheduler.toolbar.component.js → esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs} +55 -19
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +577 -0
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +35 -0
- package/esm2020/lib/ztab/ztab.component.mjs +187 -0
- package/esm2020/lib/ztab/ztab.pipe.mjs +26 -0
- package/esm2020/lib/ztext/ztext.component.mjs +297 -0
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +109 -0
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +57 -0
- package/esm2020/lib/ztree/ztree.component.mjs +380 -0
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +544 -0
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +92 -0
- package/esm2020/lib/zudf/zudf.component.mjs +205 -0
- package/esm2020/lib/zunknown/zunknown.component.mjs +20 -0
- package/esm2020/lib/zupload/zupload.component.mjs +359 -0
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +216 -0
- package/esm2020/mmhglobal-dynamicform.mjs +5 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/mmhglobal-dynamicform.mjs +10790 -0
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -0
- package/fesm2020/mmhglobal-dynamicform.mjs +10779 -0
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -0
- package/lib/directives/fieldelement.directive.d.ts +3 -0
- package/lib/directives/scrollbar.theme.directive.d.ts +3 -0
- package/lib/mmhglobal-dynamicform.module.d.ts +92 -0
- package/lib/services/main.service.d.ts +3 -0
- package/lib/services/zcomponent.debug.service.d.ts +8 -5
- package/lib/services/zcomponent.service.d.ts +7 -2
- package/lib/uiactionbutton/uiactionbutton.component.d.ts +3 -0
- package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +3 -0
- package/lib/uicontent/uicontent.component.d.ts +3 -0
- package/lib/uiheader/uiheader.component.d.ts +3 -0
- package/lib/uimenubutton/uimenubutton.component.d.ts +3 -0
- package/lib/uimenucontent/uimenucontent.component.d.ts +3 -0
- package/lib/uipage/uipage.component.d.ts +3 -0
- package/lib/uivalidationmessage/uivalidationmessage.component.d.ts +3 -0
- package/lib/zbullet/zbullet.component.d.ts +3 -0
- package/lib/zbuttons/zbuttons.component.d.ts +3 -0
- package/lib/zcard/zcard.component.d.ts +3 -0
- package/lib/zchart/zchart.component.d.ts +3 -0
- package/lib/zcheckbox/zcheckbox.component.d.ts +3 -0
- package/lib/zchip/zchip.component.d.ts +3 -0
- package/lib/zcodeeditor/zcodeeditor.component.d.ts +3 -0
- package/lib/zcodeeditor/zcodeeditor.pipe.d.ts +3 -0
- package/lib/zdaterange/zdaterange.component.d.ts +3 -0
- package/lib/zdatetime/dateParser.pipe.d.ts +3 -0
- package/lib/zdatetime/zdatetime.component.d.ts +3 -0
- package/lib/zdiv/zdiv.component.d.ts +3 -0
- package/lib/zdiv/zdiv.pipe.d.ts +3 -0
- package/lib/zform/zform.component.d.ts +3 -0
- package/lib/zformcontrol/zformcontrol.component.d.ts +3 -0
- package/lib/zgauge/zgauge.component.d.ts +3 -0
- package/lib/zgrid/date-range-cell-filter.component.d.ts +3 -0
- package/lib/zgrid/zgrid.binding.directive.d.ts +3 -0
- package/lib/zgrid/zgrid.component.d.ts +4 -1
- package/lib/zgrid/zgrid.popup.anchor-target.directive.d.ts +3 -0
- package/lib/zimg/zimg.component.d.ts +3 -0
- package/lib/zkcard/zkcard.component.d.ts +3 -0
- package/lib/zlabel/zlabel.component.d.ts +3 -0
- package/lib/zmfb/zmfb.component.d.ts +3 -0
- package/lib/zmodal/zmodal-mobile.component.d.ts +3 -0
- package/lib/zmodal/zmodal.component.d.ts +3 -0
- package/lib/znumeric/znumeric.component.d.ts +3 -0
- package/lib/zpostselectinput/zpostselectinput.component.d.ts +3 -0
- package/lib/zquerybuilder/zquerybuilder.component.d.ts +3 -0
- package/lib/zreport/zreport.component.d.ts +3 -0
- package/lib/zreport/zreport.config.d.ts +3 -0
- package/lib/zscheduler/zscheduler.component.d.ts +3 -0
- package/lib/zscheduler/zscheduler.toolbar.component.d.ts +3 -0
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +3 -0
- package/lib/zselectmultiple/zselectmultiple.directive.d.ts +3 -0
- package/lib/ztab/ztab.component.d.ts +3 -0
- package/lib/ztab/ztab.pipe.d.ts +3 -0
- package/lib/ztext/ztext.component.d.ts +3 -0
- package/lib/ztextarea/ztextarea.component.d.ts +3 -0
- package/lib/ztexteditor/ztexteditor.component.d.ts +3 -0
- package/lib/ztree/ztree.component.d.ts +3 -0
- package/lib/ztreelist/ztreelist.component.d.ts +3 -0
- package/lib/ztrendcard/ztrendcard.component.d.ts +3 -0
- package/lib/zudf/zudf.component.d.ts +3 -0
- package/lib/zunknown/zunknown.component.d.ts +3 -0
- package/lib/zupload/zupload.component.d.ts +3 -0
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +3 -0
- package/mmhglobal-dynamicform.d.ts +1 -2
- package/package.json +20 -11
- package/bundles/mmhglobal-dynamicform.umd.js +0 -11360
- package/bundles/mmhglobal-dynamicform.umd.js.map +0 -1
- package/bundles/mmhglobal-dynamicform.umd.min.js +0 -16
- package/bundles/mmhglobal-dynamicform.umd.min.js.map +0 -1
- package/esm2015/lib/directives/fieldelement.directive.js +0 -15
- package/esm2015/lib/directives/scrollbar.theme.directive.js +0 -42
- package/esm2015/lib/mmhglobal-dynamicform.module.js +0 -314
- package/esm2015/lib/services/main.service.js +0 -766
- package/esm2015/lib/services/zcomponent.debug.service.js +0 -626
- package/esm2015/lib/services/zcomponent.service.js +0 -167
- package/esm2015/lib/uiactionbutton/uiactionbutton.component.js +0 -271
- package/esm2015/lib/uiappmenucontent/uiappmenucontent.component.js +0 -69
- package/esm2015/lib/uicontent/uicontent.component.js +0 -41
- package/esm2015/lib/uiheader/uiheader.component.js +0 -65
- package/esm2015/lib/uimenubutton/uimenubutton.component.js +0 -40
- package/esm2015/lib/uimenucontent/uimenucontent.component.js +0 -34
- package/esm2015/lib/uivalidationmessage/uivalidationmessage.component.js +0 -39
- package/esm2015/lib/zbullet/zbullet.component.js +0 -71
- package/esm2015/lib/zbuttons/zbuttons.component.js +0 -168
- package/esm2015/lib/zcard/zcard.component.js +0 -68
- package/esm2015/lib/zchart/zchart.component.js +0 -199
- package/esm2015/lib/zcheckbox/zcheckbox.component.js +0 -158
- package/esm2015/lib/zchip/zchip.component.js +0 -117
- package/esm2015/lib/zcodeeditor/zcodeeditor.component.js +0 -163
- package/esm2015/lib/zcodeeditor/zcodeeditor.pipe.js +0 -56
- package/esm2015/lib/zdaterange/zdaterange.component.js +0 -63
- package/esm2015/lib/zdatetime/dateParser.pipe.js +0 -26
- package/esm2015/lib/zdatetime/zdatetime.component.js +0 -279
- package/esm2015/lib/zdiv/zdiv.component.js +0 -48
- package/esm2015/lib/zdiv/zdiv.pipe.js +0 -27
- package/esm2015/lib/zform/zform.component.js +0 -148
- package/esm2015/lib/zformcontrol/zformcontrol.component.js +0 -49
- package/esm2015/lib/zgauge/zgauge.component.js +0 -146
- package/esm2015/lib/zgrid/date-range-cell-filter.component.js +0 -102
- package/esm2015/lib/zgrid/zgrid.binding.directive.js +0 -493
- package/esm2015/lib/zgrid/zgrid.component.js +0 -834
- package/esm2015/lib/zgrid/zgrid.popup.anchor-target.directive.js +0 -16
- package/esm2015/lib/zimg/zimg.component.js +0 -123
- package/esm2015/lib/zkcard/zkcard.component.js +0 -372
- package/esm2015/lib/zlabel/zlabel.component.js +0 -59
- package/esm2015/lib/zmfb/zmfb.component.js +0 -215
- package/esm2015/lib/zmodal/zmodal-mobile.component.js +0 -119
- package/esm2015/lib/zmodal/zmodal.component.js +0 -130
- package/esm2015/lib/znumeric/znumeric.component.js +0 -114
- package/esm2015/lib/zpostselectinput/zpostselectinput.component.js +0 -345
- package/esm2015/lib/zquerybuilder/zquerybuilder.component.js +0 -196
- package/esm2015/lib/zreport/zreport.component.js +0 -104
- package/esm2015/lib/zreport/zreport.config.js +0 -115
- package/esm2015/lib/zscheduler/zscheduler.component.js +0 -268
- package/esm2015/lib/zselectmultiple/zselectmultiple.component.js +0 -565
- package/esm2015/lib/zselectmultiple/zselectmultiple.directive.js +0 -28
- package/esm2015/lib/ztab/ztab.component.js +0 -180
- package/esm2015/lib/ztab/ztab.pipe.js +0 -22
- package/esm2015/lib/ztext/ztext.component.js +0 -286
- package/esm2015/lib/ztextarea/ztextarea.component.js +0 -104
- package/esm2015/lib/ztexteditor/ztexteditor.component.js +0 -52
- package/esm2015/lib/ztree/ztree.component.js +0 -374
- package/esm2015/lib/ztreelist/ztreelist.component.js +0 -539
- package/esm2015/lib/ztrendcard/ztrendcard.component.js +0 -89
- package/esm2015/lib/zudf/zudf.component.js +0 -206
- package/esm2015/lib/zunknown/zunknown.component.js +0 -20
- package/esm2015/lib/zupload/zupload.component.js +0 -358
- package/esm2015/lib/zworkflowbuttons/zworkflowbuttons.component.js +0 -215
- package/esm2015/mmhglobal-dynamicform.js +0 -7
- package/fesm2015/mmhglobal-dynamicform.js +0 -10729
- package/fesm2015/mmhglobal-dynamicform.js.map +0 -1
- package/mmhglobal-dynamicform.metadata.json +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseFilterCellComponent } from "@progress/kendo-angular-grid";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@progress/kendo-angular-grid";
|
|
5
|
+
import * as i2 from "@progress/kendo-angular-dateinputs";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
export class DateRangeFilterCellComponent extends BaseFilterCellComponent {
|
|
8
|
+
constructor(filterService) {
|
|
9
|
+
super(filterService);
|
|
10
|
+
}
|
|
11
|
+
get start() {
|
|
12
|
+
const first = this.findByOperator("gte");
|
|
13
|
+
return (first || {}).value;
|
|
14
|
+
}
|
|
15
|
+
get end() {
|
|
16
|
+
const end = this.findByOperator("lte");
|
|
17
|
+
return (end || {}).value;
|
|
18
|
+
}
|
|
19
|
+
get hasFilter() {
|
|
20
|
+
return this.filtersByField(this.field).length > 0;
|
|
21
|
+
}
|
|
22
|
+
clearFilter() {
|
|
23
|
+
this.filterService.filter(this.removeFilter(this.field));
|
|
24
|
+
}
|
|
25
|
+
filterRange(start, end) {
|
|
26
|
+
this.filter = this.removeFilter(this.field);
|
|
27
|
+
const filters = [];
|
|
28
|
+
if (start) {
|
|
29
|
+
filters.push({
|
|
30
|
+
field: this.field,
|
|
31
|
+
operator: "gte",
|
|
32
|
+
value: start
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (end) {
|
|
36
|
+
filters.push({
|
|
37
|
+
field: this.field,
|
|
38
|
+
operator: "lte",
|
|
39
|
+
value: end
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const root = this.filter || {
|
|
43
|
+
logic: "and",
|
|
44
|
+
filters: []
|
|
45
|
+
};
|
|
46
|
+
if (filters.length) {
|
|
47
|
+
root.filters.push(...filters);
|
|
48
|
+
}
|
|
49
|
+
this.filterService.filter(root);
|
|
50
|
+
}
|
|
51
|
+
findByOperator(op) {
|
|
52
|
+
return this.filtersByField(this.field)
|
|
53
|
+
.filter(({ operator }) => operator === op)[0];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
DateRangeFilterCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: DateRangeFilterCellComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
DateRangeFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: DateRangeFilterCellComponent, selector: "date-range-filter-cell", inputs: { filter: "filter", field: "field" }, usesInheritance: true, ngImport: i0, template: `
|
|
58
|
+
<kendo-daterange >
|
|
59
|
+
<kendo-dateinput
|
|
60
|
+
class="range-filter"
|
|
61
|
+
kendoDateRangeStartInput
|
|
62
|
+
[format]="'dd-MM-yyyy'"
|
|
63
|
+
placeholder="dd-MM-yyyy"
|
|
64
|
+
[value]="start"
|
|
65
|
+
(valueChange)="filterRange($event, end)"
|
|
66
|
+
style="width:84px">
|
|
67
|
+
</kendo-dateinput>
|
|
68
|
+
-
|
|
69
|
+
<kendo-dateinput
|
|
70
|
+
class="range-filter"
|
|
71
|
+
kendoDateRangeEndInput
|
|
72
|
+
[format]="'dd-MM-yyyy'"
|
|
73
|
+
placeholder="dd-MM-yyyy"
|
|
74
|
+
[value]="end"
|
|
75
|
+
(valueChange)="filterRange(start, $event)"
|
|
76
|
+
style="width:85px">
|
|
77
|
+
</kendo-dateinput>
|
|
78
|
+
</kendo-daterange>
|
|
79
|
+
<button
|
|
80
|
+
*ngIf="hasFilter"
|
|
81
|
+
class="k-button k-button-icon"
|
|
82
|
+
title="Clear"
|
|
83
|
+
(click)="clearFilter()">
|
|
84
|
+
<span class="k-icon k-i-filter-clear" style="width:15px"></span>
|
|
85
|
+
</button>
|
|
86
|
+
`, isInline: true, styles: ["kendo-daterange>kendo-dateinput.range-filter{display:inline-block}.k-button{margin-left:4px}\n"], components: [{ type: i2.DateRangeComponent, selector: "kendo-daterange" }, { type: i2.DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "format", "placeholder", "steps", "rangeValidation", "autoCorrect", "incompleteDateValidation", "twoDigitYearMax", "spinners", "isPopupOpen", "hasPopup", "tabIndex", "value", "size", "rounded", "fillMode", "formatPlaceholder", "max", "min"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }], directives: [{ type: i2.DateRangeStartInputDirective, selector: "[kendoDateRangeStartInput]", inputs: ["navigateCalendarOnFocus", "autoCorrectOn"] }, { type: i2.DateRangeEndInputDirective, selector: "[kendoDateRangeEndInput]", inputs: ["navigateCalendarOnFocus", "autoCorrectOn"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: DateRangeFilterCellComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{
|
|
90
|
+
selector: 'date-range-filter-cell',
|
|
91
|
+
styles: [`
|
|
92
|
+
kendo-daterange > kendo-dateinput.range-filter {
|
|
93
|
+
display: inline-block;
|
|
94
|
+
}
|
|
95
|
+
.k-button {
|
|
96
|
+
margin-left: 4px;
|
|
97
|
+
}
|
|
98
|
+
`],
|
|
99
|
+
template: `
|
|
100
|
+
<kendo-daterange >
|
|
101
|
+
<kendo-dateinput
|
|
102
|
+
class="range-filter"
|
|
103
|
+
kendoDateRangeStartInput
|
|
104
|
+
[format]="'dd-MM-yyyy'"
|
|
105
|
+
placeholder="dd-MM-yyyy"
|
|
106
|
+
[value]="start"
|
|
107
|
+
(valueChange)="filterRange($event, end)"
|
|
108
|
+
style="width:84px">
|
|
109
|
+
</kendo-dateinput>
|
|
110
|
+
-
|
|
111
|
+
<kendo-dateinput
|
|
112
|
+
class="range-filter"
|
|
113
|
+
kendoDateRangeEndInput
|
|
114
|
+
[format]="'dd-MM-yyyy'"
|
|
115
|
+
placeholder="dd-MM-yyyy"
|
|
116
|
+
[value]="end"
|
|
117
|
+
(valueChange)="filterRange(start, $event)"
|
|
118
|
+
style="width:85px">
|
|
119
|
+
</kendo-dateinput>
|
|
120
|
+
</kendo-daterange>
|
|
121
|
+
<button
|
|
122
|
+
*ngIf="hasFilter"
|
|
123
|
+
class="k-button k-button-icon"
|
|
124
|
+
title="Clear"
|
|
125
|
+
(click)="clearFilter()">
|
|
126
|
+
<span class="k-icon k-i-filter-clear" style="width:15px"></span>
|
|
127
|
+
</button>
|
|
128
|
+
`
|
|
129
|
+
}]
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.FilterService }]; }, propDecorators: { filter: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], field: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}] } });
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jZWxsLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQWlCLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBNEN0RixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0lBT3ZFLFlBQVksYUFBNEI7UUFDdEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLE9BQU8sQ0FBQyxLQUFLLElBQXNCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsR0FBRyxJQUFzQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFXLEVBQUUsR0FBUztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVuQixJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsS0FBSzthQUNiLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsS0FBSyxFQUFFLEdBQUc7YUFDWCxDQUFDLENBQUM7U0FDSjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUk7WUFDMUIsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxjQUFjLENBQUMsRUFBVTtRQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNuQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7eUhBcEVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLG1JQS9CN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNkJQOzJGQUVRLDRCQUE0QjtrQkF6Q3hDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsTUFBTSxFQUFFLENBQUM7Ozs7Ozs7S0FPTixDQUFFO29CQUNMLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E2QlA7aUJBQ0o7b0dBR1EsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlRmlsdGVyQ2VsbENvbXBvbmVudCwgRmlsdGVyU2VydmljZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkXCI7XHJcbmltcG9ydCB7IEZpbHRlckRlc2NyaXB0b3IsIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnkvZGlzdC9lcy9tYWluXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhdGUtcmFuZ2UtZmlsdGVyLWNlbGwnLFxyXG4gIHN0eWxlczogW2BcclxuICAgICAgICBrZW5kby1kYXRlcmFuZ2UgPiBrZW5kby1kYXRlaW5wdXQucmFuZ2UtZmlsdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuay1idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIGAgXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxrZW5kby1kYXRlcmFuZ2UgPlxyXG4gICAgICAgICAgIDxrZW5kby1kYXRlaW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmFuZ2UtZmlsdGVyXCJcclxuICAgICAgICAgICAgICAgIGtlbmRvRGF0ZVJhbmdlU3RhcnRJbnB1dFxyXG4gICAgICAgICAgICAgICAgW2Zvcm1hdF09XCInZGQtTU0teXl5eSdcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJkZC1NTS15eXl5XCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGFydFwiXHJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZmlsdGVyUmFuZ2UoJGV2ZW50LCBlbmQpXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6ODRweFwiPlxyXG4gICAgICAgICAgICA8L2tlbmRvLWRhdGVpbnB1dD5cclxuICAgICAgICAgICAgLVxyXG4gICAgICAgICAgICA8a2VuZG8tZGF0ZWlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJhbmdlLWZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICBrZW5kb0RhdGVSYW5nZUVuZElucHV0XHJcbiAgICAgICAgICAgICAgICBbZm9ybWF0XT1cIidkZC1NTS15eXl5J1wiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImRkLU1NLXl5eXlcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImVuZFwiXHJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZmlsdGVyUmFuZ2Uoc3RhcnQsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDo4NXB4XCI+XHJcbiAgICAgICAgICAgIDwva2VuZG8tZGF0ZWlucHV0PlxyXG4gICAgICAgIDwva2VuZG8tZGF0ZXJhbmdlPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJoYXNGaWx0ZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImstYnV0dG9uIGstYnV0dG9uLWljb25cIlxyXG4gICAgICAgICAgICB0aXRsZT1cIkNsZWFyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmlsdGVyKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJrLWljb24gay1pLWZpbHRlci1jbGVhclwiIHN0eWxlPVwid2lkdGg6MTVweFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmlsdGVyQ2VsbENvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlsdGVyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGZpbHRlclNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzdGFydCgpOiBEYXRlIHtcclxuICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5maW5kQnlPcGVyYXRvcihcImd0ZVwiKTtcclxuXHJcbiAgICByZXR1cm4gKGZpcnN0IHx8IDxGaWx0ZXJEZXNjcmlwdG9yPnt9KS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW5kKCk6IERhdGUge1xyXG4gICAgY29uc3QgZW5kID0gdGhpcy5maW5kQnlPcGVyYXRvcihcImx0ZVwiKTtcclxuICAgIHJldHVybiAoZW5kIHx8IDxGaWx0ZXJEZXNjcmlwdG9yPnt9KS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGFzRmlsdGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyc0J5RmllbGQodGhpcy5maWVsZCkubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhckZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIoXHJcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyKHRoaXMuZmllbGQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlclJhbmdlKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyID0gdGhpcy5yZW1vdmVGaWx0ZXIodGhpcy5maWVsZCk7XHJcblxyXG4gICAgY29uc3QgZmlsdGVycyA9IFtdO1xyXG5cclxuICAgIGlmIChzdGFydCkge1xyXG4gICAgICBmaWx0ZXJzLnB1c2goe1xyXG4gICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxyXG4gICAgICAgIG9wZXJhdG9yOiBcImd0ZVwiLFxyXG4gICAgICAgIHZhbHVlOiBzdGFydFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZW5kKSB7XHJcbiAgICAgIGZpbHRlcnMucHVzaCh7XHJcbiAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXHJcbiAgICAgICAgb3BlcmF0b3I6IFwibHRlXCIsXHJcbiAgICAgICAgdmFsdWU6IGVuZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByb290ID0gdGhpcy5maWx0ZXIgfHwge1xyXG4gICAgICBsb2dpYzogXCJhbmRcIixcclxuICAgICAgZmlsdGVyczogW11cclxuICAgIH07XHJcblxyXG4gICAgaWYgKGZpbHRlcnMubGVuZ3RoKSB7XHJcbiAgICAgIHJvb3QuZmlsdGVycy5wdXNoKC4uLmZpbHRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIocm9vdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRCeU9wZXJhdG9yKG9wOiBzdHJpbmcpOiBGaWx0ZXJEZXNjcmlwdG9yIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcnNCeUZpZWxkKHRoaXMuZmllbGQpXHJcbiAgICAgIC5maWx0ZXIoKHsgb3BlcmF0b3IgfSkgPT4gb3BlcmF0b3IgPT09IG9wKVswXTtcclxuICB9XHJcbn1cclxuIl19
|