@huntsman-cancer-institute/dictionary-editor 15.0.2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/{esm2020 → esm2022}/components/detail.component.mjs +6 -6
  2. package/{esm2020 → esm2022}/components/home.component.mjs +6 -6
  3. package/{esm2020 → esm2022}/components/new-row.component.mjs +6 -6
  4. package/{esm2020 → esm2022}/dictionary-editor.component.mjs +6 -6
  5. package/{esm2020 → esm2022}/dictionary-editor.module.mjs +24 -24
  6. package/{esm2020 → esm2022}/grid-editors/ag-grid-date-cell-editor.component.mjs +6 -6
  7. package/{esm2020 → esm2022}/grid-editors/ag-grid-editor.module.mjs +20 -20
  8. package/esm2022/grid-editors/datepicker.component.mjs +111 -0
  9. package/{esm2020 → esm2022}/grid-editors/select.editor.mjs +6 -6
  10. package/{esm2020 → esm2022}/grid-renderers/ag-grid-renderer.module.mjs +11 -11
  11. package/{esm2020 → esm2022}/grid-renderers/date.renderer.mjs +6 -6
  12. package/{esm2020 → esm2022}/grid-renderers/select.renderer.mjs +7 -7
  13. package/{fesm2020 → fesm2022}/huntsman-cancer-institute-dictionary-editor.mjs +117 -117
  14. package/{fesm2020 → fesm2022}/huntsman-cancer-institute-dictionary-editor.mjs.map +1 -1
  15. package/grid-editors/datepicker.component.d.ts +1 -1
  16. package/package.json +15 -21
  17. package/esm2020/grid-editors/datepicker.component.mjs +0 -111
  18. package/fesm2015/huntsman-cancer-institute-dictionary-editor.mjs +0 -2150
  19. package/fesm2015/huntsman-cancer-institute-dictionary-editor.mjs.map +0 -1
  20. /package/{esm2020 → esm2022}/dictionary-editor.routes.mjs +0 -0
  21. /package/{esm2020 → esm2022}/grid-renderers/cell-renderer-validation.mjs +0 -0
  22. /package/{esm2020 → esm2022}/huntsman-cancer-institute-dictionary-editor.mjs +0 -0
  23. /package/{esm2020 → esm2022}/index.mjs +0 -0
@@ -12,5 +12,5 @@ export declare class DatepickerComponent implements ControlValueAccessor {
12
12
  registerOnChange(fn: any): void;
13
13
  registerOnTouched(fn: () => void): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "hci-dict-datepicker", never, { "placeholder": "placeholder"; "invalid": "invalid"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "hci-dict-datepicker", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; }, {}, never, never, false, never>;
16
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huntsman-cancer-institute/dictionary-editor",
3
- "version": "15.0.2",
3
+ "version": "16.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@gitlab.com:huntsman-cancer-institute/risr/ng/hci-ng-lib.git"
@@ -10,27 +10,23 @@
10
10
  "access": "public"
11
11
  },
12
12
  "peerDependencies": {
13
- "@angular/common": "^15.x",
14
- "@angular/core": "^15.x",
15
- "@ng-bootstrap/ng-bootstrap": "^13.0.0",
16
- "ag-grid-angular": "^27.3.0",
17
- "ag-grid-community": "^27.3.0",
13
+ "@angular/common": "^16.x",
14
+ "@angular/core": "^16.x",
15
+ "@ng-bootstrap/ng-bootstrap": "^15.0.0",
16
+ "ag-grid-angular": "^28.x",
17
+ "ag-grid-community": "^28.x",
18
18
  "rxjs": "~6.6.0",
19
19
  "rxjs-compat": "6.4.x"
20
20
  },
21
21
  "dependencies": {
22
- "@huntsman-cancer-institute/authentication": "15.0.2",
23
- "@huntsman-cancer-institute/dictionary-service": "15.0.2",
24
- "@huntsman-cancer-institute/hci-ng-grid-dto": "15.0.2",
25
- "@huntsman-cancer-institute/misc": "15.0.2",
26
- "@huntsman-cancer-institute/navigation": "15.0.2",
22
+ "@huntsman-cancer-institute/authentication": "^16.x",
23
+ "@huntsman-cancer-institute/dictionary-service": "^16.x",
24
+ "@huntsman-cancer-institute/hci-ng-grid-dto": "^16.x",
25
+ "@huntsman-cancer-institute/misc": "^16.x",
26
+ "@huntsman-cancer-institute/navigation": "^16.x",
27
27
  "tslib": "^2.3.0"
28
28
  },
29
- "module": "fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
30
- "es2020": "fesm2020/huntsman-cancer-institute-dictionary-editor.mjs",
31
- "esm2020": "esm2020/huntsman-cancer-institute-dictionary-editor.mjs",
32
- "fesm2020": "fesm2020/huntsman-cancer-institute-dictionary-editor.mjs",
33
- "fesm2015": "fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
29
+ "module": "fesm2022/huntsman-cancer-institute-dictionary-editor.mjs",
34
30
  "typings": "index.d.ts",
35
31
  "exports": {
36
32
  "./package.json": {
@@ -38,11 +34,9 @@
38
34
  },
39
35
  ".": {
40
36
  "types": "./index.d.ts",
41
- "esm2020": "./esm2020/huntsman-cancer-institute-dictionary-editor.mjs",
42
- "es2020": "./fesm2020/huntsman-cancer-institute-dictionary-editor.mjs",
43
- "es2015": "./fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
44
- "node": "./fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
45
- "default": "./fesm2020/huntsman-cancer-institute-dictionary-editor.mjs"
37
+ "esm2022": "./esm2022/huntsman-cancer-institute-dictionary-editor.mjs",
38
+ "esm": "./esm2022/huntsman-cancer-institute-dictionary-editor.mjs",
39
+ "default": "./fesm2022/huntsman-cancer-institute-dictionary-editor.mjs"
46
40
  }
47
41
  },
48
42
  "sideEffects": false
@@ -1,111 +0,0 @@
1
- import { Component, forwardRef, Input } from "@angular/core";
2
- import { MAT_DATE_LOCALE, MAT_DATE_FORMATS } from "@angular/material/core";
3
- import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/material/datepicker";
8
- export class DatepickerComponent {
9
- constructor() {
10
- this.invalid = false;
11
- }
12
- ngOnInit() {
13
- }
14
- // onChange(newValue) {
15
- // this.value = newValue;
16
- // this.valueChange.emit(newValue);
17
- // }
18
- clear() {
19
- this.value = undefined;
20
- // this.valueChange.emit();
21
- }
22
- // Clear input field if entered data is invalid (Mat library sets value to null if invalid but doesn't clear input)
23
- onBlur(newValue) {
24
- if (!this.value) {
25
- this.value = undefined;
26
- // this.valueChange.emit();
27
- }
28
- }
29
- writeValue(value) {
30
- if (value !== undefined) {
31
- this.value = value;
32
- }
33
- }
34
- registerOnChange(fn) {
35
- this.onChange = () => {
36
- fn(this.value);
37
- };
38
- }
39
- registerOnTouched(fn) { }
40
- }
41
- DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatepickerComponent, selector: "hci-dict-datepicker", inputs: { placeholder: "placeholder", invalid: "invalid" }, providers: [
43
- { provide: MAT_DATE_LOCALE, useValue: "en-GB" },
44
- {
45
- provide: MAT_DATE_FORMATS,
46
- useValue: {
47
- parse: {
48
- dateInput: ["YYYY-MM-DD"],
49
- },
50
- display: {
51
- dateInput: "YYYY-MM-DD",
52
- monthYearLabel: "MMM YYYY",
53
- dateA11yLabel: "YYYY-MM-DD",
54
- monthYearA11yLabel: "MMMM YYYY",
55
- },
56
- },
57
- },
58
- {
59
- provide: NG_VALUE_ACCESSOR,
60
- useExisting: forwardRef(() => DatepickerComponent),
61
- multi: true
62
- }
63
- ], ngImport: i0, template: `
64
- <div class="d-flex" style="width: 100%;">
65
- <input matInput [matDatepicker]="picker" class="form-control" [placeholder]="placeholder" [(ngModel)]="value" (ngModelChange)="onChange($event)"
66
- (blur)="onBlur($event)" data-date-format="YYYY-MM-DD"
67
- [ngStyle]="{'background-color':invalid ? 'red' : '#fff'}" >
68
- <span class="input-group-text" id="clearIcon" (click)="clear()"><i class="fas fa-times"></i></span>
69
- <button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
70
- <mat-datepicker panelClass="ag-custom-component-popup" #picker ></mat-datepicker>
71
- </div>
72
- `, isInline: true, styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatepickerComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: "hci-dict-datepicker", template: `
76
- <div class="d-flex" style="width: 100%;">
77
- <input matInput [matDatepicker]="picker" class="form-control" [placeholder]="placeholder" [(ngModel)]="value" (ngModelChange)="onChange($event)"
78
- (blur)="onBlur($event)" data-date-format="YYYY-MM-DD"
79
- [ngStyle]="{'background-color':invalid ? 'red' : '#fff'}" >
80
- <span class="input-group-text" id="clearIcon" (click)="clear()"><i class="fas fa-times"></i></span>
81
- <button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
82
- <mat-datepicker panelClass="ag-custom-component-popup" #picker ></mat-datepicker>
83
- </div>
84
- `, providers: [
85
- { provide: MAT_DATE_LOCALE, useValue: "en-GB" },
86
- {
87
- provide: MAT_DATE_FORMATS,
88
- useValue: {
89
- parse: {
90
- dateInput: ["YYYY-MM-DD"],
91
- },
92
- display: {
93
- dateInput: "YYYY-MM-DD",
94
- monthYearLabel: "MMM YYYY",
95
- dateA11yLabel: "YYYY-MM-DD",
96
- monthYearA11yLabel: "MMMM YYYY",
97
- },
98
- },
99
- },
100
- {
101
- provide: NG_VALUE_ACCESSOR,
102
- useExisting: forwardRef(() => DatepickerComponent),
103
- multi: true
104
- }
105
- ], styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"] }]
106
- }], propDecorators: { placeholder: [{
107
- type: Input
108
- }], invalid: [{
109
- type: Input
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kaWN0aW9uYXJ5LWVkaXRvci9zcmMvZ3JpZC1lZGl0b3JzL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLFVBQVUsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUE4Q3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUE1Q2hDO1FBaURXLFlBQU8sR0FBWSxLQUFLLENBQUM7S0EyQ25DO0lBckNDLFFBQVE7SUFFUixDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQixxQ0FBcUM7SUFDckMsSUFBSTtJQUVKLEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QiwyQkFBMkI7SUFDN0IsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCxNQUFNLENBQUMsUUFBUTtRQUViLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsMkJBQTJCO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWMsSUFBUyxDQUFDOztpSEE5Qy9CLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDBHQXZCbkI7UUFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUM3QztZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsWUFBWTtvQkFDdkIsY0FBYyxFQUFFLFVBQVU7b0JBQzFCLGFBQWEsRUFBRSxZQUFZO29CQUMzQixrQkFBa0IsRUFBRSxXQUFXO2lCQUNoQzthQUNGO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJBeENTOzs7Ozs7Ozs7R0FTVDs0RkFpQ1UsbUJBQW1CO2tCQTVDL0IsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7OztHQVNULGFBVVU7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7d0JBQzdDOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFFBQVEsRUFBRTtnQ0FDUixLQUFLLEVBQUU7b0NBQ0wsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO2lDQUMxQjtnQ0FDRCxPQUFPLEVBQUU7b0NBQ1AsU0FBUyxFQUFFLFlBQVk7b0NBQ3ZCLGNBQWMsRUFBRSxVQUFVO29DQUMxQixhQUFhLEVBQUUsWUFBWTtvQ0FDM0Isa0JBQWtCLEVBQUUsV0FBVztpQ0FDaEM7NkJBQ0Y7eUJBQ0Y7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU1RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNQVRfREFURV9MT0NBTEUsIE1BVF9EQVRFX0ZPUk1BVFN9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1kaWN0LWRhdGVwaWNrZXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCIgZGF0YS1kYXRlLWZvcm1hdD1cIllZWVktTU0tRERcIlxyXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzppbnZhbGlkID8gJ3JlZCcgOiAnI2ZmZid9XCIgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIGlkPVwiY2xlYXJJY29uXCIgKGNsaWNrKT1cImNsZWFyKClcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCIgc3R5bGU9XCJoZWlnaHQ6MzJweDsgd2lkdGg6MzJweDtcIj48aSBjbGFzcz1cImZhcyBmYS1jYWxlbmRhci1hbHRcIj48L2k+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciBwYW5lbENsYXNzPVwiYWctY3VzdG9tLWNvbXBvbmVudC1wb3B1cFwiICNwaWNrZXIgPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgICNjbGVhckljb24ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAjY2xlYXJJY29uOkhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDczLCA4MCwgODcpO1xyXG4gICAgICBjb2xvcjogcmdiKDIzMywgMjM2LCAyMzkpXHJcbiAgICB9XHJcbiAgYF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogXCJlbi1HQlwifSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICBwYXJzZToge1xyXG4gICAgICAgICAgZGF0ZUlucHV0OiBbXCJZWVlZLU1NLUREXCJdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGlzcGxheToge1xyXG4gICAgICAgICAgZGF0ZUlucHV0OiBcIllZWVktTU0tRERcIixcclxuICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiBcIk1NTSBZWVlZXCIsXHJcbiAgICAgICAgICBkYXRlQTExeUxhYmVsOiBcIllZWVktTU0tRERcIixcclxuICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogXCJNTU1NIFlZWVlcIixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgLy97cHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogXCJlbi1HQlwifSxcclxuICAvLyBASW5wdXQoKSB2YWx1ZTogRGF0ZTtcclxuICB2YWx1ZTogRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBvbkNoYW5nZTogYW55O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgfVxyXG5cclxuICAvLyBvbkNoYW5nZShuZXdWYWx1ZSkge1xyXG4gIC8vICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gIC8vICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAvLyB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIC8vIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2xlYXIgaW5wdXQgZmllbGQgaWYgZW50ZXJlZCBkYXRhIGlzIGludmFsaWQgKE1hdCBsaWJyYXJ5IHNldHMgdmFsdWUgdG8gbnVsbCBpZiBpbnZhbGlkIGJ1dCBkb2Vzbid0IGNsZWFyIGlucHV0KVxyXG4gIG9uQmx1cihuZXdWYWx1ZSkge1xyXG5cclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAvLyB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgZm4odGhpcy52YWx1ZSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHt9XHJcblxyXG59XHJcblxyXG4iXX0=