igniteui-angular 14.1.1 → 14.2.0-alpha.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.
Files changed (55) hide show
  1. package/esm2020/lib/core/setImmediate.mjs +1 -1
  2. package/esm2020/lib/core/utils.mjs +2 -2
  3. package/esm2020/lib/grids/columns/column-group.component.mjs +1 -1
  4. package/esm2020/lib/grids/columns/column.component.mjs +1 -1
  5. package/esm2020/lib/grids/columns/templates.directive.mjs +29 -1
  6. package/esm2020/lib/grids/common/grid.interface.mjs +1 -1
  7. package/esm2020/lib/grids/filtering/base/grid-filtering-cell.component.mjs +2 -2
  8. package/esm2020/lib/grids/filtering/excel-style/excel-style-search.component.mjs +5 -1
  9. package/esm2020/lib/grids/grid/expandable-cell.component.mjs +3 -3
  10. package/esm2020/lib/grids/grid/grid.component.mjs +1 -1
  11. package/esm2020/lib/grids/grid/grid.directives.mjs +41 -1
  12. package/esm2020/lib/grids/grid-base.directive.mjs +1 -1
  13. package/esm2020/lib/grids/grid-public-row.mjs +2 -2
  14. package/esm2020/lib/grids/grid.rowEdit.directive.mjs +17 -1
  15. package/esm2020/lib/grids/headers/grid-header-row.component.mjs +3 -3
  16. package/esm2020/lib/grids/pivot-grid/pivot-grid.component.mjs +1 -1
  17. package/esm2020/lib/grids/pivot-grid/pivot-grid.directives.mjs +5 -1
  18. package/esm2020/lib/grids/pivot-grid/pivot-grid.interface.mjs +1 -1
  19. package/esm2020/lib/grids/row-drag.directive.mjs +9 -1
  20. package/esm2020/lib/grids/row.directive.mjs +2 -2
  21. package/esm2020/lib/grids/selection/row-selectors.mjs +13 -1
  22. package/esm2020/lib/grids/toolbar/common.mjs +5 -1
  23. package/esm2020/lib/services/excel/excel-exporter.mjs +13 -13
  24. package/esm2020/lib/services/excel/excel-files.mjs +14 -13
  25. package/esm2020/lib/services/excel/excel-interfaces.mjs +1 -1
  26. package/fesm2015/igniteui-angular.mjs +146 -30
  27. package/fesm2015/igniteui-angular.mjs.map +1 -1
  28. package/fesm2020/igniteui-angular.mjs +146 -30
  29. package/fesm2020/igniteui-angular.mjs.map +1 -1
  30. package/lib/core/setImmediate.d.ts +8 -3
  31. package/lib/grids/columns/column-group.component.d.ts +2 -2
  32. package/lib/grids/columns/column.component.d.ts +19 -19
  33. package/lib/grids/columns/templates.directive.d.ts +22 -14
  34. package/lib/grids/common/grid.interface.d.ts +97 -13
  35. package/lib/grids/filtering/base/grid-filtering-cell.component.d.ts +1 -0
  36. package/lib/grids/filtering/excel-style/excel-style-search.component.d.ts +3 -2
  37. package/lib/grids/grid/grid.component.d.ts +8 -11
  38. package/lib/grids/grid/grid.directives.d.ts +13 -2
  39. package/lib/grids/grid-base.directive.d.ts +24 -24
  40. package/lib/grids/grid.rowEdit.directive.d.ts +5 -1
  41. package/lib/grids/headers/grid-header-row.component.d.ts +3 -11
  42. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +3 -3
  43. package/lib/grids/pivot-grid/pivot-grid.component.d.ts +3 -3
  44. package/lib/grids/pivot-grid/pivot-grid.directives.d.ts +4 -2
  45. package/lib/grids/pivot-grid/pivot-grid.interface.d.ts +3 -0
  46. package/lib/grids/row-drag.directive.d.ts +5 -2
  47. package/lib/grids/selection/row-selectors.d.ts +10 -6
  48. package/lib/grids/toolbar/common.d.ts +1 -0
  49. package/lib/services/excel/excel-exporter.d.ts +2 -5
  50. package/lib/services/excel/excel-files.d.ts +12 -13
  51. package/lib/services/excel/excel-interfaces.d.ts +1 -2
  52. package/package.json +3 -3
  53. package/schematics/ng-add/index.spec.js +1 -1
  54. package/schematics/tsconfig.tsbuildinfo +1 -1
  55. package/schematics/utils/dependency-handler.js +2 -2
@@ -9,6 +9,10 @@ export class IgxGroupByRowTemplateDirective {
9
9
  constructor(template) {
10
10
  this.template = template;
11
11
  }
12
+ static ngTemplateContextGuard(_dir, ctx) {
13
+ return true;
14
+ }
15
+ ;
12
16
  }
13
17
  IgxGroupByRowTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxGroupByRowTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
14
18
  IgxGroupByRowTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxGroupByRowTemplateDirective, selector: "[igxGroupByRow]", ngImport: i0 });
@@ -22,6 +26,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
22
26
  * @hidden
23
27
  */
24
28
  export class IgxGridDetailTemplateDirective {
29
+ static ngTemplateContextGuard(_dir, ctx) {
30
+ return true;
31
+ }
32
+ ;
25
33
  }
26
34
  IgxGridDetailTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxGridDetailTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
35
  IgxGridDetailTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxGridDetailTemplateDirective, selector: "[igxGridDetail]", ngImport: i0 });
@@ -35,6 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
35
43
  * @hidden
36
44
  */
37
45
  export class IgxRowExpandedIndicatorDirective {
46
+ static ngTemplateContextGuard(_directive, context) {
47
+ return true;
48
+ }
49
+ ;
38
50
  }
39
51
  IgxRowExpandedIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxRowExpandedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
52
  IgxRowExpandedIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxRowExpandedIndicatorDirective, selector: "[igxRowExpandedIndicator]", ngImport: i0 });
@@ -48,6 +60,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
48
60
  * @hidden
49
61
  */
50
62
  export class IgxRowCollapsedIndicatorDirective {
63
+ static ngTemplateContextGuard(_directive, context) {
64
+ return true;
65
+ }
66
+ ;
51
67
  }
52
68
  IgxRowCollapsedIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxRowCollapsedIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
53
69
  IgxRowCollapsedIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxRowCollapsedIndicatorDirective, selector: "[igxRowCollapsedIndicator]", ngImport: i0 });
@@ -61,6 +77,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
61
77
  * @hidden
62
78
  */
63
79
  export class IgxHeaderExpandIndicatorDirective {
80
+ static ngTemplateContextGuard(_directive, context) {
81
+ return true;
82
+ }
83
+ ;
64
84
  }
65
85
  IgxHeaderExpandIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxHeaderExpandIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
86
  IgxHeaderExpandIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxHeaderExpandIndicatorDirective, selector: "[igxHeaderExpandedIndicator]", ngImport: i0 });
@@ -74,6 +94,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
74
94
  * @hidden
75
95
  */
76
96
  export class IgxHeaderCollapseIndicatorDirective {
97
+ static ngTemplateContextGuard(_directive, context) {
98
+ return true;
99
+ }
100
+ ;
77
101
  }
78
102
  IgxHeaderCollapseIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxHeaderCollapseIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
79
103
  IgxHeaderCollapseIndicatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxHeaderCollapseIndicatorDirective, selector: "[igxHeaderCollapsedIndicator]", ngImport: i0 });
@@ -87,6 +111,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
87
111
  * @hidden
88
112
  */
89
113
  export class IgxExcelStyleHeaderIconDirective {
114
+ static ngTemplateContextGuard(_directive, context) {
115
+ return true;
116
+ }
117
+ ;
90
118
  }
91
119
  IgxExcelStyleHeaderIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxExcelStyleHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
92
120
  IgxExcelStyleHeaderIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxExcelStyleHeaderIconDirective, selector: "[igxExcelStyleHeaderIcon]", ngImport: i0 });
@@ -100,6 +128,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
100
128
  * @hidden
101
129
  */
102
130
  export class IgxSortHeaderIconDirective {
131
+ static ngTemplateContextGuard(_directive, context) {
132
+ return true;
133
+ }
134
+ ;
103
135
  }
104
136
  IgxSortHeaderIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxSortHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
105
137
  IgxSortHeaderIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxSortHeaderIconDirective, selector: "[igxSortHeaderIcon]", ngImport: i0 });
@@ -113,6 +145,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
113
145
  * @hidden
114
146
  */
115
147
  export class IgxSortAscendingHeaderIconDirective {
148
+ static ngTemplateContextGuard(_directive, context) {
149
+ return true;
150
+ }
151
+ ;
116
152
  }
117
153
  IgxSortAscendingHeaderIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxSortAscendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
118
154
  IgxSortAscendingHeaderIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxSortAscendingHeaderIconDirective, selector: "[igxSortAscendingHeaderIcon]", ngImport: i0 });
@@ -126,6 +162,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
126
162
  * @hidden
127
163
  */
128
164
  export class IgxSortDescendingHeaderIconDirective {
165
+ static ngTemplateContextGuard(_directive, context) {
166
+ return true;
167
+ }
168
+ ;
129
169
  }
130
170
  IgxSortDescendingHeaderIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: IgxSortDescendingHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
171
  IgxSortDescendingHeaderIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: IgxSortDescendingHeaderIconDirective, selector: "[igxSortDescendingHeaderIcon]", ngImport: i0 });
@@ -203,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
203
243
  type: HostBinding,
204
244
  args: ['class.igx-drop-area--hover']
205
245
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyaWQvZ3JpZC5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBS2xGOztHQUVHO0FBSUgsTUFBTSxPQUFPLDhCQUE4QjtJQUV2QyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFJLENBQUM7OzJIQUZ6Qyw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCOztBQU9EOztHQUVHO0FBSUgsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7O0FBSUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWdDOzs2SEFBaEMsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0M7MkZBQWhDLGdDQUFnQztrQkFINUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN4Qzs7QUFJRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQ0FBaUM7OzhIQUFqQyxpQ0FBaUM7a0hBQWpDLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUg3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3pDOztBQUtEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlDQUFpQzs7OEhBQWpDLGlDQUFpQztrSEFBakMsaUNBQWlDOzJGQUFqQyxp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QUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUk7UUFDbEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBa0I7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDM0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDaEI7YUFBTTtZQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLGFBQWEsRUFBRTtnQkFDcEMsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7c0hBNURRLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtpQkFDakM7b0xBSVUsT0FBTztzQkFEYixXQUFXO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBOZ1pvbmUsIEhvc3RCaW5kaW5nLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4RHJvcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZHJhZy1kcm9wL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4Q29sdW1uTW92aW5nRHJhZ0RpcmVjdGl2ZSB9IGZyb20gJy4uL21vdmluZy9tb3ZpbmcuZHJhZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4R3JvdXBCeUFyZWFEaXJlY3RpdmUgfSBmcm9tICcuLi9ncm91cGluZy9ncm91cC1ieS1hcmVhLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlIH0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEdyb3VwQnlSb3ddJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cblxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JpZERldGFpbF0nXG59KVxuZXhwb3J0IGNsYXNzIElneEdyaWREZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB7XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hSb3dFeHBhbmRlZEluZGljYXRvcl0nXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0V4cGFuZGVkSW5kaWNhdG9yRGlyZWN0aXZlIHtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0NvbGxhcHNlZEluZGljYXRvcl0nXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0NvbGxhcHNlZEluZGljYXRvckRpcmVjdGl2ZSB7XG59XG5cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEhlYWRlckV4cGFuZGVkSW5kaWNhdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4SGVhZGVyRXhwYW5kSW5kaWNhdG9yRGlyZWN0aXZlIHtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEhlYWRlckNvbGxhcHNlZEluZGljYXRvcl0nXG59KVxuZXhwb3J0IGNsYXNzIElneEhlYWRlckNvbGxhcHNlSW5kaWNhdG9yRGlyZWN0aXZlIHtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEV4Y2VsU3R5bGVIZWFkZXJJY29uXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4RXhjZWxTdHlsZUhlYWRlckljb25EaXJlY3RpdmUge1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuIEBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFNvcnRIZWFkZXJJY29uXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4U29ydEhlYWRlckljb25EaXJlY3RpdmUge1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4U29ydEFzY2VuZGluZ0hlYWRlckljb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0QXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSB7XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25EaXJlY3RpdmUge1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JvdXBBcmVhRHJvcF0nXG59KVxuZXhwb3J0IGNsYXNzIElneEdyb3VwQXJlYURyb3BEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hEcm9wRGlyZWN0aXZlIHtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtYXJlYS0taG92ZXInKVxuICAgIHB1YmxpYyBob3ZlcmVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBncm91cEFyZWE6IElneEdyb3VwQnlBcmVhRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICB6b25lOiBOZ1pvbmUpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcmVuZGVyZXIsIHpvbmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRyYWdFbnRlcihldmVudCkge1xuICAgICAgICBjb25zdCBkcmFnOiBJZ3hDb2x1bW5Nb3ZpbmdEcmFnRGlyZWN0aXZlID0gZXZlbnQuZGV0YWlsLm93bmVyO1xuICAgICAgICBjb25zdCBjb2x1bW46IENvbHVtblR5cGUgPSBkcmFnLmNvbHVtbjtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkJlbG9uZ3NUb0dyaWQoY29sdW1uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNHcm91cGVkID0gdGhpcy5ncm91cEFyZWEuZXhwcmVzc2lvbnNcbiAgICAgICAgICAgID8gdGhpcy5ncm91cEFyZWEuZXhwcmVzc2lvbnMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmZpZWxkTmFtZSA9PT0gY29sdW1uLmZpZWxkKSAhPT0gLTFcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgICAgIGlmIChjb2x1bW4uZ3JvdXBhYmxlICYmICFpc0dyb3VwZWQgJiYgIWNvbHVtbi5jb2x1bW5Hcm91cCAmJiAhIWNvbHVtbi5maWVsZCkge1xuICAgICAgICAgICAgZHJhZy5pY29uLmlubmVyVGV4dCA9ICdncm91cF93b3JrJztcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkcmFnLmljb24uaW5uZXJUZXh0ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGRyYWc6IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgPSBldmVudC5kZXRhaWwub3duZXI7XG4gICAgICAgIGNvbnN0IGNvbHVtbjogQ29sdW1uVHlwZSA9IGRyYWcuY29sdW1uO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uQmVsb25nc1RvR3JpZChjb2x1bW4pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuZGV0YWlsLm93bmVyLmljb24uaW5uZXJUZXh0ID0gJ2Jsb2NrJztcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZXN0UGFyZW50QnlBdHRyKGVsZW0sIGF0dHIpIHtcbiAgICAgICAgcmV0dXJuIGVsZW0uaGFzQXR0cmlidXRlKGF0dHIpID9cbiAgICAgICAgICAgIGVsZW0gOlxuICAgICAgICAgICAgdGhpcy5jbG9zZXN0UGFyZW50QnlBdHRyKGVsZW0ucGFyZW50RWxlbWVudCwgYXR0cik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb2x1bW5CZWxvbmdzVG9HcmlkKGNvbHVtbjogQ29sdW1uVHlwZSkge1xuICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNsb3Nlc3RHcmlkSUQgPSB0aGlzLmNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbSwgJ2lneEdyb3VwQXJlYURyb3AnKS5nZXRBdHRyaWJ1dGUoJ2dyaWRJZCcpO1xuICAgICAgICBpZiAoIWNvbHVtbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ3JpZCA9IGNvbHVtbi5ncmlkO1xuICAgICAgICAgICAgaWYgKCFncmlkIHx8IGdyaWQuaWQgIT09IGNsb3Nlc3RHcmlkSUQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2dyaWQvZ3JpZC5kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBWWxGOztHQUVHO0FBSUgsTUFBTSxPQUFPLDhCQUE4QjtJQU12QyxZQUFtQixRQUFtRDtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUEyQztJQUFJLENBQUM7SUFMcEUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQW9DLEVBQ3JFLEdBQVk7UUFDWixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFBQSxDQUFDOzsySEFKTyw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCOztBQVdEOztHQUVHO0FBSUgsTUFBTSxPQUFPLDhCQUE4QjtJQUNoQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBb0MsRUFDckUsR0FBWTtRQUNaLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUFBLENBQUM7OzJIQUpPLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7O0FBUUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ2xDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUE0QyxFQUN6RSxPQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFBQSxDQUFDOzs2SEFKTyxnQ0FBZ0M7aUhBQWhDLGdDQUFnQzsyRkFB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UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE1BQWtCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxhQUFhLEVBQUU7Z0JBQ3BDLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O3NIQTVEUSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7aUJBQ2pDO29MQUlVLE9BQU87c0JBRGIsV0FBVzt1QkFBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgTmdab25lLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneERyb3BEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RyYWctZHJvcC9kcmFnLWRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgfSBmcm9tICcuLi9tb3ZpbmcvbW92aW5nLmRyYWcuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEdyb3VwQnlBcmVhRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3JvdXBpbmcvZ3JvdXAtYnktYXJlYS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5UeXBlLFxuICAgIElneEdyaWRNYXN0ZXJEZXRhaWxDb250ZXh0LFxuICAgIElneEdyb3VwQnlSb3dUZW1wbGF0ZUNvbnRleHQsXG4gICAgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCxcbiAgICBJZ3hHcmlkUm93VGVtcGxhdGVDb250ZXh0LFxuICAgIElneEdyaWRUZW1wbGF0ZUNvbnRleHRcbn0gZnJvbSAnLi4vY29tbW9uL2dyaWQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEdyb3VwQnlSb3ddJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyOiBJZ3hHcm91cEJ5Um93VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIGN0eDogdW5rbm93bik6IGN0eCBpcyBJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0PikgeyB9XG5cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEdyaWREZXRhaWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkRGV0YWlsVGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyOiBJZ3hHcmlkRGV0YWlsVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIGN0eDogdW5rbm93bik6IGN0eCBpcyBJZ3hHcmlkTWFzdGVyRGV0YWlsQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfTtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0V4cGFuZGVkSW5kaWNhdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Um93RXhwYW5kZWRJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hSb3dFeHBhbmRlZEluZGljYXRvckRpcmVjdGl2ZSxcbiAgICAgICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQgeyBcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Um93Q29sbGFwc2VkSW5kaWNhdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Um93Q29sbGFwc2VkSW5kaWNhdG9yRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcmVjdGl2ZTogSWd4Um93Q29sbGFwc2VkSW5kaWNhdG9yRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkUm93VGVtcGxhdGVDb250ZXh0IHsgXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfTtcbn1cblxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyRXhwYW5kZWRJbmRpY2F0b3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hIZWFkZXJFeHBhbmRJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hIZWFkZXJFeHBhbmRJbmRpY2F0b3JEaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRUZW1wbGF0ZUNvbnRleHQgeyBcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4SGVhZGVyQ29sbGFwc2VkSW5kaWNhdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4SGVhZGVyQ29sbGFwc2VJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hIZWFkZXJDb2xsYXBzZUluZGljYXRvckRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZFRlbXBsYXRlQ29udGV4dCB7IFxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH07XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hFeGNlbFN0eWxlSGVhZGVySWNvbl0nXG59KVxuZXhwb3J0IGNsYXNzIElneEV4Y2VsU3R5bGVIZWFkZXJJY29uRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoX2RpcmVjdGl2ZTogSWd4RXhjZWxTdHlsZUhlYWRlckljb25EaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQgeyBcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4U29ydEhlYWRlckljb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0SGVhZGVySWNvbkRpcmVjdGl2ZSB7XG4gICAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKF9kaXJlY3RpdmU6IElneFNvcnRIZWFkZXJJY29uRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duKTogY29udGV4dCBpcyBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHsgXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfTtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFNvcnRBc2NlbmRpbmdIZWFkZXJJY29uXSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4U29ydEFzY2VuZGluZ0hlYWRlckljb25EaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hTb3J0QXNjZW5kaW5nSGVhZGVySWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgY29udGV4dDogdW5rbm93bik6IGNvbnRleHQgaXMgSWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dCB7IFxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH07XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25EaXJlY3RpdmUge1xuICAgIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfZGlyZWN0aXZlOiBJZ3hTb3J0RGVzY2VuZGluZ0hlYWRlckljb25EaXJlY3RpdmUsXG4gICAgICAgIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQgeyBcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4R3JvdXBBcmVhRHJvcF0nXG59KVxuZXhwb3J0IGNsYXNzIElneEdyb3VwQXJlYURyb3BEaXJlY3RpdmUgZXh0ZW5kcyBJZ3hEcm9wRGlyZWN0aXZlIHtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRyb3AtYXJlYS0taG92ZXInKVxuICAgIHB1YmxpYyBob3ZlcmVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBncm91cEFyZWE6IElneEdyb3VwQnlBcmVhRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICB6b25lOiBOZ1pvbmUpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcmVuZGVyZXIsIHpvbmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRyYWdFbnRlcihldmVudCkge1xuICAgICAgICBjb25zdCBkcmFnOiBJZ3hDb2x1bW5Nb3ZpbmdEcmFnRGlyZWN0aXZlID0gZXZlbnQuZGV0YWlsLm93bmVyO1xuICAgICAgICBjb25zdCBjb2x1bW46IENvbHVtblR5cGUgPSBkcmFnLmNvbHVtbjtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkJlbG9uZ3NUb0dyaWQoY29sdW1uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNHcm91cGVkID0gdGhpcy5ncm91cEFyZWEuZXhwcmVzc2lvbnNcbiAgICAgICAgICAgID8gdGhpcy5ncm91cEFyZWEuZXhwcmVzc2lvbnMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmZpZWxkTmFtZSA9PT0gY29sdW1uLmZpZWxkKSAhPT0gLTFcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgICAgIGlmIChjb2x1bW4uZ3JvdXBhYmxlICYmICFpc0dyb3VwZWQgJiYgIWNvbHVtbi5jb2x1bW5Hcm91cCAmJiAhIWNvbHVtbi5maWVsZCkge1xuICAgICAgICAgICAgZHJhZy5pY29uLmlubmVyVGV4dCA9ICdncm91cF93b3JrJztcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkcmFnLmljb24uaW5uZXJUZXh0ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGRyYWc6IElneENvbHVtbk1vdmluZ0RyYWdEaXJlY3RpdmUgPSBldmVudC5kZXRhaWwub3duZXI7XG4gICAgICAgIGNvbnN0IGNvbHVtbjogQ29sdW1uVHlwZSA9IGRyYWcuY29sdW1uO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uQmVsb25nc1RvR3JpZChjb2x1bW4pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuZGV0YWlsLm93bmVyLmljb24uaW5uZXJUZXh0ID0gJ2Jsb2NrJztcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZXN0UGFyZW50QnlBdHRyKGVsZW0sIGF0dHIpIHtcbiAgICAgICAgcmV0dXJuIGVsZW0uaGFzQXR0cmlidXRlKGF0dHIpID9cbiAgICAgICAgICAgIGVsZW0gOlxuICAgICAgICAgICAgdGhpcy5jbG9zZXN0UGFyZW50QnlBdHRyKGVsZW0ucGFyZW50RWxlbWVudCwgYXR0cik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb2x1bW5CZWxvbmdzVG9HcmlkKGNvbHVtbjogQ29sdW1uVHlwZSkge1xuICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNsb3Nlc3RHcmlkSUQgPSB0aGlzLmNsb3Nlc3RQYXJlbnRCeUF0dHIoZWxlbSwgJ2lneEdyb3VwQXJlYURyb3AnKS5nZXRBdHRyaWJ1dGUoJ2dyaWRJZCcpO1xuICAgICAgICBpZiAoIWNvbHVtbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ3JpZCA9IGNvbHVtbi5ncmlkO1xuICAgICAgICAgICAgaWYgKCFncmlkIHx8IGdyaWQuaWQgIT09IGNsb3Nlc3RHcmlkSUQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==