@datarailsshared/datarailsshared 1.6.363 → 1.6.367

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 (29) hide show
  1. package/datarailsshared-datarailsshared-1.6.367.tgz +0 -0
  2. package/esm2022/lib/dr-cron-field/dr-cron-field.component.mjs +548 -0
  3. package/esm2022/lib/dr-cron-field/dr-cron-field.editor.mjs +303 -0
  4. package/esm2022/lib/dr-cron-field/public-api.mjs +3 -0
  5. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/any-tag.component.mjs +12 -3
  6. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.mjs +20 -15
  7. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.mjs +5 -4
  8. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/dr-tag-forecast.component.mjs +13 -9
  9. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.mjs +5 -4
  10. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.mjs +11 -4
  11. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-week/dr-tag-week.component.mjs +10 -5
  12. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.mjs +5 -4
  13. package/esm2022/lib/dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.mjs +14 -4
  14. package/esm2022/lib/dr-tags/dr-tag/dr-tag.component.mjs +10 -9
  15. package/esm2022/lib/dr-tags/dr-tag/dr-tag.types.mjs +1 -1
  16. package/esm2022/local-api.mjs +2 -1
  17. package/fesm2022/datarailsshared-datarailsshared.mjs +926 -53
  18. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
  19. package/lib/dr-cron-field/dr-cron-field.component.d.ts +72 -0
  20. package/lib/dr-cron-field/dr-cron-field.editor.d.ts +82 -0
  21. package/lib/dr-cron-field/public-api.d.ts +2 -0
  22. package/lib/dr-tags/dr-tag/dr-tag-date/any-tag.component.d.ts +4 -1
  23. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.d.ts +4 -2
  24. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.d.ts +1 -1
  25. package/lib/dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.d.ts +3 -1
  26. package/lib/dr-tags/dr-tag/dr-tag.types.d.ts +8 -0
  27. package/local-api.d.ts +1 -0
  28. package/package.json +1 -1
  29. package/datarailsshared-datarailsshared-1.6.363.tgz +0 -0
@@ -66,7 +66,7 @@ export class DrTagYearComponent extends AnyTagComponent {
66
66
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
67
67
  },
68
68
  { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },
69
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 4, vars: 4, consts: [[1, "tag-wrapper"], [1, "tag__label"], ["format", "year", 3, "ngModel", "disabled", "datepickerFilter", "ngModelChange"]], template: function DrTagYearComponent_Template(rf, ctx) { if (rf & 1) {
69
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 4, vars: 5, consts: [[1, "tag-wrapper"], [1, "tag__label"], ["format", "year", 3, "ngModel", "disabled", "placeholder", "datepickerFilter", "ngModelChange"]], template: function DrTagYearComponent_Template(rf, ctx) { if (rf & 1) {
70
70
  i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
71
71
  i0.ɵɵtext(2);
72
72
  i0.ɵɵelementEnd();
@@ -74,10 +74,11 @@ export class DrTagYearComponent extends AnyTagComponent {
74
74
  i0.ɵɵlistener("ngModelChange", function DrTagYearComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.date = $event; })("ngModelChange", function DrTagYearComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.chosenTagHandler($event); });
75
75
  i0.ɵɵelementEnd()();
76
76
  } if (rf & 2) {
77
+ let tmp_3_0;
77
78
  i0.ɵɵadvance(2);
78
79
  i0.ɵɵtextInterpolate(ctx.name);
79
80
  i0.ɵɵadvance(1);
80
- i0.ɵɵproperty("ngModel", ctx.date)("disabled", ctx.disabled)("datepickerFilter", ctx.dateFilter.bind(ctx));
81
+ i0.ɵɵproperty("ngModel", ctx.date)("disabled", ctx.disabled)("placeholder", (tmp_3_0 = (tmp_3_0 = ctx.placeholderSettings == null ? null : ctx.placeholderSettings.yearTag) !== null && tmp_3_0 !== undefined ? tmp_3_0 : ctx.placeholderSettings == null ? null : ctx.placeholderSettings.dateTag) !== null && tmp_3_0 !== undefined ? tmp_3_0 : "Select")("datepickerFilter", ctx.dateFilter.bind(ctx));
81
82
  } }, dependencies: [CommonModule, FormsModule, i1.NgControlStatus, i1.NgModel, DrInputsModule, i2.DrDatePickerComponent], styles: [".locked[_nghost-%COMP%] > .tag-wrapper[_ngcontent-%COMP%] > dr-date-picker[_ngcontent-%COMP%]{opacity:.4}.tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}"] }); }
82
83
  }
83
84
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagYearComponent, [{
@@ -89,11 +90,11 @@ export class DrTagYearComponent extends AnyTagComponent {
89
90
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
90
91
  },
91
92
  { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },
92
- ], template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n", styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"] }]
93
+ ], template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholderSettings?.yearTag ?? placeholderSettings?.dateTag ?? 'Select'\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n", styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"] }]
93
94
  }], function () { return []; }, { isLocked: [{
94
95
  type: HostBinding,
95
96
  args: ['class.locked']
96
97
  }], lockedDate: [{
97
98
  type: Input
98
99
  }] }); })();
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWRhdGUvZHItdGFnLXllYXIvZHItdGFnLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWRhdGUvZHItdGFnLXllYXIvZHItdGFnLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUV4RSxNQUFNLFlBQVksR0FBRztJQUNqQixLQUFLLEVBQUU7UUFDSCxTQUFTLEVBQUUsTUFBTTtLQUNwQjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FD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QUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7aUJBQ3hEO3NDQUlHLFFBQVE7a0JBRFgsV0FBVzttQkFBQyxjQUFjO1lBS2xCLFVBQVU7a0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGVUYWcgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBBbnlUYWdDb21wb25lbnQgfSBmcm9tICcuLi9hbnktdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuXG5jb25zdCBZRUFSX0ZPUk1BVFMgPSB7XG4gICAgcGFyc2U6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnWVlZWScsXG4gICAgfSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICAgIGRhdGVJbnB1dDogJ1lZWVknLFxuICAgICAgICBtb250aFllYXJMYWJlbDogJ01NTU0gWVlZWScsXG4gICAgICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXG4gICAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHN0eWxlVXJsczogWycuL2RyLXRhZy15ZWFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdkci10YWcteWVhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICdkci10YWcteWVhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgRHJJbnB1dHNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBZRUFSX0ZPUk1BVFMgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEclRhZ1llYXJDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubG9ja2VkJylcbiAgICBnZXQgaXNMb2NrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUgPyAhdGhpcy5kYXRlRmlsdGVyKG1vbWVudC51bml4KHRoaXMuZGF0ZSkpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcblxuICAgIGRhdGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0RGF0ZSgpIHtcbiAgICAgICAgdGhpcy5kYXRlID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwgbW9tZW50KCkudW5peCgpO1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IHRoaXMuZGF0ZTtcbiAgICB9XG5cbiAgICBpbml0TmFtZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9ICdZZWFyJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIodmFsdWU6IG51bWJlcikge1xuICAgICAgICBjb25zdCByZXN1bHREYXRlID0gbW9tZW50LnVuaXgodmFsdWUpO1xuICAgICAgICByZXN1bHREYXRlLmhvdXIoMTIpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogcmVzdWx0RGF0ZS51bml4KCksXG4gICAgICAgICAgICBsYWJlbDogcmVzdWx0RGF0ZS5mb3JtYXQoJ1lZWVknKSxcbiAgICAgICAgICAgIGxvY2tlZDogIXRoaXMuZGF0ZUZpbHRlcihyZXN1bHREYXRlKSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdFRhZycsIHJlc3VsdFRhZyk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgZGF0ZUZpbHRlcihkYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNhbGVuZGFyRGF0ZVllYXIgPSBkYXRlLnllYXIoKTtcblxuICAgICAgICByZXR1cm4gIXRoaXMubG9ja2VkRGF0ZS5zb21lKCh0aW1lc3RhbXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tEYXRlID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcbiAgICAgICAgICAgIHJldHVybiBsb2NrRGF0ZS55ZWFyKCkgPT09IGNhbGVuZGFyRGF0ZVllYXI7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWctd3JhcHBlclwiPlxuICAgIDxwIGNsYXNzPVwidGFnX19sYWJlbFwiPnt7IG5hbWUgfX08L3A+XG4gICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgIGZvcm1hdD1cInllYXJcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGF0ZXBpY2tlckZpbHRlcl09XCJkYXRlRmlsdGVyLmJpbmQodGhpcylcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaG9zZW5UYWdIYW5kbGVyKCRldmVudClcIj48L2RyLWRhdGUtcGlja2VyPlxuPC9kaXY+XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWRhdGUvZHItdGFnLXllYXIvZHItdGFnLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWRhdGUvZHItdGFnLXllYXIvZHItdGFnLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUV4RSxNQUFNLFlBQVksR0FBRztJQUNqQixLQUFLLEVBQUU7UUFDSCxTQUFTLEVBQUUsTUFBTTtLQUNwQjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FD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QUMzRDtvQkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2lCQUN4RDtzQ0FJRyxRQUFRO2tCQURYLFdBQVc7bUJBQUMsY0FBYztZQUtsQixVQUFVO2tCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vYW55LXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgTW9tZW50RGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcblxuY29uc3QgWUVBUl9GT1JNQVRTID0ge1xuICAgIHBhcnNlOiB7XG4gICAgICAgIGRhdGVJbnB1dDogJ1lZWVknLFxuICAgIH0sXG4gICAgZGlzcGxheToge1xuICAgICAgICBkYXRlSW5wdXQ6ICdZWVlZJyxcbiAgICAgICAgbW9udGhZZWFyTGFiZWw6ICdNTU1NIFlZWVknLFxuICAgICAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxuICAgICAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICAgIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdHlsZVVybHM6IFsnLi9kci10YWcteWVhci5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnZHItdGFnLXllYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHNlbGVjdG9yOiAnZHItdGFnLXllYXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIERySW5wdXRzTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogWUVBUl9GT1JNQVRTIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdZZWFyQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvY2tlZCcpXG4gICAgZ2V0IGlzTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlID8gIXRoaXMuZGF0ZUZpbHRlcihtb21lbnQudW5peCh0aGlzLmRhdGUpKSA6IGZhbHNlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxvY2tlZERhdGU6IGFueVtdID0gW107XG5cbiAgICBkYXRlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdERhdGUoKSB7XG4gICAgICAgIHRoaXMuZGF0ZSA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IG1vbWVudCgpLnVuaXgoKTtcbiAgICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSB0aGlzLmRhdGU7XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSAnWWVhcic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0RGF0ZSA9IG1vbWVudC51bml4KHZhbHVlKTtcbiAgICAgICAgcmVzdWx0RGF0ZS5ob3VyKDEyKTtcblxuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHJlc3VsdERhdGUudW5peCgpLFxuICAgICAgICAgICAgbGFiZWw6IHJlc3VsdERhdGUuZm9ybWF0KCdZWVlZJyksXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIocmVzdWx0RGF0ZSksXG4gICAgICAgIH07XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHRUYWcnLCByZXN1bHRUYWcpO1xuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgIH1cblxuICAgIGRhdGVGaWx0ZXIoZGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjYWxlbmRhckRhdGVZZWFyID0gZGF0ZS55ZWFyKCk7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICByZXR1cm4gbG9ja0RhdGUueWVhcigpID09PSBjYWxlbmRhckRhdGVZZWFyO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFnLXdyYXBwZXJcIj5cbiAgICA8cCBjbGFzcz1cInRhZ19fbGFiZWxcIj57eyBuYW1lIH19PC9wPlxuICAgIDxkci1kYXRlLXBpY2tlclxuICAgICAgICBmb3JtYXQ9XCJ5ZWFyXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyU2V0dGluZ3M/LnllYXJUYWcgPz8gcGxhY2Vob2xkZXJTZXR0aW5ncz8uZGF0ZVRhZyA/PyAnU2VsZWN0J1wiXG4gICAgICAgIFtkYXRlcGlja2VyRmlsdGVyXT1cImRhdGVGaWx0ZXIuYmluZCh0aGlzKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNob3NlblRhZ0hhbmRsZXIoJGV2ZW50KVwiPjwvZHItZGF0ZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==
@@ -72,6 +72,8 @@ export class DrTagDynamicComponent {
72
72
  constructor() {
73
73
  this.hideLabel = false;
74
74
  this.lockedTags = [];
75
+ this.allowEmpty = false;
76
+ this.placeholder = 'Select...';
75
77
  this.tagChange = new EventEmitter();
76
78
  this.tagAdd = new EventEmitter();
77
79
  this.DEFAULT_PARENT_KEY_FORMAT = 'yyyy';
@@ -128,6 +130,10 @@ export class DrTagDynamicComponent {
128
130
  updateDynamicTagValues() {
129
131
  const parentValueKey = this.getParentValueKey();
130
132
  this.currentValues = this.values?.[parentValueKey];
133
+ if (this.allowEmpty && !this.selectedTag?.value) {
134
+ this.selectedDynamicTag = null;
135
+ return;
136
+ }
131
137
  this.selectedDynamicTag = this.getSelectedDynamicTag(this.currentValues, this.selectedTag?.value);
132
138
  this.onTagChanged(this.selectedDynamicTag);
133
139
  }
@@ -170,7 +176,7 @@ export class DrTagDynamicComponent {
170
176
  return this.lockedMultipleTags?.some((tag) => tag.value === selectedTagValue && this.getSingleParentKey(tag.parent_tag_value) === parentValueKey);
171
177
  }
172
178
  /** @nocollapse */ static { this.ɵfac = function DrTagDynamicComponent_Factory(t) { return new (t || DrTagDynamicComponent)(); }; }
173
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrTagDynamicComponent, selectors: [["dr-tag-dynamic"]], inputs: { values: "values", tagConfig: "tagConfig", selectedTag: "selectedTag", hideLabel: "hideLabel", lockedTags: "lockedTags", connectedTags: "connectedTags", isDynamicTagAddEnabled: "isDynamicTagAddEnabled", disabled: "disabled", lockedMultipleTags: "lockedMultipleTags", tagsConfig: "tagsConfig", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", parentKeyFormat: "parentKeyFormat", parentKeyFormatterFn: "parentKeyFormatterFn", label: "label", hideFavoriteStar: "hideFavoriteStar" }, outputs: { tagChange: "tagChange", tagAdd: "tagAdd" }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], decls: 7, vars: 7, consts: [["class", "dynamic-tag__label", 4, "ngIf"], ["bindLabel", "value", "bindValue", "value", "dropdownClass", "dynamic-tag__select dr-tag__select", 3, "ngModel", "items", "disabled", "ngModelChange"], [4, "ngIf"], ["labelTemplate", ""], ["optionTemplate", ""], [1, "dynamic-tag__label"], ["optionHeaderTemplate", ""], ["bindValue", "value", 3, "values", "dynamicAddLabel", "dynamicValueAdded"], [1, "dynamic-tag__field--label"], [1, "dynamic-tag__field__text"], ["class", "dynamic-tag__field__icon dr-icon-star-fill", 4, "ngIf"], [1, "dynamic-tag__field__icon", "dr-icon-star-fill"], [1, "dynamic-tag__field--option", 3, "click"]], template: function DrTagDynamicComponent_Template(rf, ctx) { if (rf & 1) {
179
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrTagDynamicComponent, selectors: [["dr-tag-dynamic"]], inputs: { values: "values", tagConfig: "tagConfig", selectedTag: "selectedTag", hideLabel: "hideLabel", lockedTags: "lockedTags", connectedTags: "connectedTags", isDynamicTagAddEnabled: "isDynamicTagAddEnabled", disabled: "disabled", lockedMultipleTags: "lockedMultipleTags", tagsConfig: "tagsConfig", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", parentKeyFormat: "parentKeyFormat", parentKeyFormatterFn: "parentKeyFormatterFn", label: "label", hideFavoriteStar: "hideFavoriteStar", allowEmpty: "allowEmpty", placeholder: "placeholder" }, outputs: { tagChange: "tagChange", tagAdd: "tagAdd" }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], decls: 7, vars: 8, consts: [["class", "dynamic-tag__label", 4, "ngIf"], ["bindLabel", "value", "bindValue", "value", "dropdownClass", "dynamic-tag__select dr-tag__select", 3, "ngModel", "items", "disabled", "placeholder", "ngModelChange"], [4, "ngIf"], ["labelTemplate", ""], ["optionTemplate", ""], [1, "dynamic-tag__label"], ["optionHeaderTemplate", ""], ["bindValue", "value", 3, "values", "dynamicAddLabel", "dynamicValueAdded"], [1, "dynamic-tag__field--label"], [1, "dynamic-tag__field__text"], ["class", "dynamic-tag__field__icon dr-icon-star-fill", 4, "ngIf"], [1, "dynamic-tag__field__icon", "dr-icon-star-fill"], [1, "dynamic-tag__field--option", 3, "click"]], template: function DrTagDynamicComponent_Template(rf, ctx) { if (rf & 1) {
174
180
  i0.ɵɵtemplate(0, DrTagDynamicComponent_p_0_Template, 2, 1, "p", 0);
175
181
  i0.ɵɵelementStart(1, "dr-select", 1);
176
182
  i0.ɵɵlistener("ngModelChange", function DrTagDynamicComponent_Template_dr_select_ngModelChange_1_listener($event) { return ctx.selectedDynamicTag = $event; })("ngModelChange", function DrTagDynamicComponent_Template_dr_select_ngModelChange_1_listener($event) { return ctx.onTagChanged($event); });
@@ -182,14 +188,14 @@ export class DrTagDynamicComponent {
182
188
  i0.ɵɵproperty("ngIf", !ctx.hideLabel);
183
189
  i0.ɵɵadvance(1);
184
190
  i0.ɵɵclassProp("dynamic-tag__locked", ctx.isLockedTagSelected);
185
- i0.ɵɵproperty("ngModel", ctx.selectedDynamicTag)("items", ctx.currentValues)("disabled", ctx.disabled);
191
+ i0.ɵɵproperty("ngModel", ctx.selectedDynamicTag)("items", ctx.currentValues)("disabled", ctx.disabled)("placeholder", ctx.placeholder);
186
192
  i0.ɵɵadvance(1);
187
193
  i0.ɵɵproperty("ngIf", ctx.isDynamicTagAddEnabled);
188
194
  } }, dependencies: [CommonModule, i1.NgIf, DrInputsModule, i2.DrSelectComponent, i3.DrSelectAddItemComponent, FormsModule, i4.NgControlStatus, i4.NgModel], styles: ["[_nghost-%COMP%]{flex-grow:1}.dynamic-tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field[_ngcontent-%COMP%]{cursor:pointer;height:24px}.dynamic-tag__field--option[_ngcontent-%COMP%]{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled[_ngcontent-%COMP%]{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label[_ngcontent-%COMP%]{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label[_ngcontent-%COMP%] > .dynamic-tag__field__icon[_ngcontent-%COMP%]{position:absolute;right:25px}.dynamic-tag__field--label[_ngcontent-%COMP%] > dynamic-tag__field__text[_ngcontent-%COMP%]{margin:0}.dr-icon-star-fill[_ngcontent-%COMP%]{color:#f0bc57} dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4} .ng-option:has(.dynamic-tag__field--option){padding:0!important}"] }); }
189
195
  }
190
196
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagDynamicComponent, [{
191
197
  type: Component,
192
- args: [{ selector: 'dr-tag-dynamic', standalone: true, imports: [CommonModule, DrInputsModule, FormsModule], template: "<p *ngIf=\"!hideLabel\" class=\"dynamic-tag__label\">{{ label || tagConfig.name }}</p>\n<dr-select\n [(ngModel)]=\"selectedDynamicTag\"\n [class.dynamic-tag__locked]=\"isLockedTagSelected\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n dropdownClass=\"dynamic-tag__select dr-tag__select\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item\n bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite && !hideFavoriteStar\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div\n class=\"dynamic-tag__field--option\"\n [class.disabled]=\"isLockedTag(item?.value || item)\"\n (click)=\"onOptionClick($event, item?.value || item)\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n", styles: [":host{flex-grow:1}.dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field{cursor:pointer;height:24px}.dynamic-tag__field--option{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}::ng-deep dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4}::ng-deep .ng-option:has(.dynamic-tag__field--option){padding:0!important}\n"] }]
198
+ args: [{ selector: 'dr-tag-dynamic', standalone: true, imports: [CommonModule, DrInputsModule, FormsModule], template: "<p *ngIf=\"!hideLabel\" class=\"dynamic-tag__label\">{{ label || tagConfig.name }}</p>\n<dr-select\n [(ngModel)]=\"selectedDynamicTag\"\n [class.dynamic-tag__locked]=\"isLockedTagSelected\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n dropdownClass=\"dynamic-tag__select dr-tag__select\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item\n bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite && !hideFavoriteStar\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div\n class=\"dynamic-tag__field--option\"\n [class.disabled]=\"isLockedTag(item?.value || item)\"\n (click)=\"onOptionClick($event, item?.value || item)\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n", styles: [":host{flex-grow:1}.dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field{cursor:pointer;height:24px}.dynamic-tag__field--option{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}::ng-deep dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4}::ng-deep .ng-option:has(.dynamic-tag__field--option){padding:0!important}\n"] }]
193
199
  }], null, { values: [{
194
200
  type: Input
195
201
  }], tagConfig: [{
@@ -222,9 +228,13 @@ export class DrTagDynamicComponent {
222
228
  type: Input
223
229
  }], hideFavoriteStar: [{
224
230
  type: Input
231
+ }], allowEmpty: [{
232
+ type: Input
233
+ }], placeholder: [{
234
+ type: Input
225
235
  }], tagChange: [{
226
236
  type: Output
227
237
  }], tagAdd: [{
228
238
  type: Output
229
239
  }] }); })();
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWR5bmFtaWMvZHItdGFnLWR5bmFtaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWR5bmFtaWMvZHItdGFnLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuSCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7SUNQckUsNEJBQWlEO0lBQUEsWUFBNkI7SUFBQSxpQkFBSTs7O0lBQWpDLGVBQTZCO0lBQTdCLDJEQUE2Qjs7OztJQVd0RSw2Q0FJb0Q7SUFBaEQsdU5BQXFCLGVBQUEsZ0NBQXlCLENBQUEsSUFBQztJQUFDLGlCQUFxQjs7O0lBRnJFLDZDQUF3Qix3REFBQTs7O0lBSGhDLHlIQU1jOzs7SUFJTix3QkFBeUc7OztJQUY3Ryw4QkFBdUMsV0FBQTtJQUNDLFlB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QWtCO2tCQUFqQyxLQUFLO1lBQ1UsVUFBVTtrQkFBekIsS0FBSztZQUVHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFFTyxlQUFlO2tCQUEzQixLQUFLO1lBSUcsb0JBQW9CO2tCQUE1QixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGlzTmlsIGFzIF9pc05pbCwgaXNOdW1iZXIgYXMgX2lzTnVtYmVyLCBpc09iamVjdCBhcyBfaXNPYmplY3QsIG1hcCBhcyBfbWFwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElEeW5hbWljVGFnLCBJVGFnLCBJVGFnRm9yU2VydmVyLCBURHluYW1pY1RhZywgVER5bmFtaWNUYWdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IElNdWx0aXBsZUxvY2tlZFRhZyB9IGZyb20gJy4uL2RyLXRhZy50eXBlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci10YWctZHluYW1pYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXRhZy1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci10YWctZHluYW1pYy5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJJbnB1dHNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdEeW5hbWljQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVzOiBURHluYW1pY1RhZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnQ29uZmlnOiBJVGFnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlkZUxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2tlZFRhZ3M6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IElUYWdGb3JTZXJ2ZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNEeW5hbWljVGFnQWRkRW5hYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkTXVsdGlwbGVUYWdzOiBJTXVsdGlwbGVMb2NrZWRUYWdbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnc0NvbmZpZzogSVRhZ1tdO1xuXG4gICAgQElucHV0KCkgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBmaXNjYWxZZWFyQmFjazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNldCBwYXJlbnRLZXlGb3JtYXQoZm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50S2V5Rm9ybWF0ID0gZm9ybWF0IHx8IHRoaXMuREVGQVVMVF9QQVJFTlRfS0VZX0ZPUk1BVDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwYXJlbnRLZXlGb3JtYXR0ZXJGbjogKG1vbWVudERhdGEpID0+IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaGlkZUZhdm9yaXRlU3RhcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSB0YWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVRhZ0ZvclNlcnZlcj4oKTtcbiAgICBAT3V0cHV0KCkgdGFnQWRkOiBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFREeW5hbWljVGFnVmFsdWU+KCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWREeW5hbWljVGFnOiBURHluYW1pY1RhZ1ZhbHVlO1xuICAgIHB1YmxpYyBjdXJyZW50VmFsdWVzOiBURHluYW1pY1RhZ1ZhbHVlW107XG4gICAgcHVibGljIGlzTG9ja2VkVGFnU2VsZWN0ZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFSRU5UX0tFWV9GT1JNQVQgPSAneXl5eSc7XG4gICAgcHJpdmF0ZSBfcGFyZW50S2V5Rm9ybWF0OiBzdHJpbmcgPSB0aGlzLkRFRkFVTFRfUEFSRU5UX0tFWV9GT1JNQVQ7XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmVudEtleUZvcm1hdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50S2V5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNQcmltaXRpdmVEYXRhU291cmNlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMudmFsdWVzKSB8fCBbXTtcbiAgICAgICAgcmV0dXJuICFfaXNPYmplY3QodmFsdWVzWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUR5bmFtaWNUYWdWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWdDaGFuZ2VkKCRldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiAkZXZlbnQsXG4gICAgICAgICAgICBsb2NrZWQ6IHRoaXMuaXNMb2NrZWRUYWcoJGV2ZW50KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIV9pc05pbCh0aGlzLnNlbGVjdGVkVGFnPy5sb2NrZWQpKSB7XG4gICAgICAgICAgICByZXN1bHRFdmVudC5sb2NrZWQgPSB0aGlzLnNlbGVjdGVkVGFnLmxvY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghX2lzTmlsKHRoaXMuc2VsZWN0ZWRUYWc/LmxhYmVsKSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubGFiZWwgPSB0aGlzLnNlbGVjdGVkVGFnLmxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvY2tlZFRhZ1NlbGVjdGVkID0gcmVzdWx0RXZlbnQubG9ja2VkO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25PcHRpb25DbGljaygkZXZlbnQ6IEV2ZW50LCB0YWdWYWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9ja2VkVGFnKHRhZ1ZhbHVlKSkge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY1ZhbHVlQWRkKCRldmVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlS2V5ID0gdGhpcy5nZXRQYXJlbnRWYWx1ZUtleSgpO1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gfHwgW107XG5cbiAgICAgICAgaWYgKHRoaXMuaXNQcmltaXRpdmVEYXRhU291cmNlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gPSBbJGV2ZW50LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldID0gW3sgdmFsdWU6ICRldmVudCB9LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSAkZXZlbnQ7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldO1xuICAgICAgICB0aGlzLm9uVGFnQ2hhbmdlZCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0FkZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEeW5hbWljVGFnVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZUtleSA9IHRoaXMuZ2V0UGFyZW50VmFsdWVLZXkoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXM/LltwYXJlbnRWYWx1ZUtleV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREeW5hbWljVGFnID0gdGhpcy5nZXRTZWxlY3RlZER5bmFtaWNUYWcodGhpcy5jdXJyZW50VmFsdWVzLCB0aGlzLnNlbGVjdGVkVGFnPy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25UYWdDaGFuZ2VkKHRoaXMuc2VsZWN0ZWREeW5hbWljVGFnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkRHluYW1pY1RhZyhjdXJyZW50VmFsdWVzOiBURHluYW1pY1RhZ1ZhbHVlW10sIHNlbGVjdGVkVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICghY3VycmVudFZhbHVlcz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoX2lzT2JqZWN0KGN1cnJlbnRWYWx1ZXNbMF0pKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUZyb21Db25maWcgPSBfZmluZChjdXJyZW50VmFsdWVzLCB7IHZhbHVlOiBzZWxlY3RlZFZhbHVlIH0pIGFzIElEeW5hbWljVGFnO1xuICAgICAgICAgICAgY29uc3QgZmF2b3JpdGVWYWx1ZSA9IF9maW5kKGN1cnJlbnRWYWx1ZXMsIHsgaXNfZmF2b3JpdGU6IHRydWUgfSkgYXMgSUR5bmFtaWNUYWc7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlRnJvbUNvbmZpZyB8fCBmYXZvcml0ZVZhbHVlIHx8IGN1cnJlbnRWYWx1ZXNbMF0pLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVGcm9tQ29uZmlnID0gX2ZpbmQoY3VycmVudFZhbHVlcywgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgIHJldHVybiAodmFsdWVGcm9tQ29uZmlnIHx8IGN1cnJlbnRWYWx1ZXNbMF0pIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhcmVudFZhbHVlS2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBfbWFwKHRoaXMuY29ubmVjdGVkVGFncywgKGNvbm5lY3RlZFRhZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2luZ2xlUGFyZW50S2V5KGNvbm5lY3RlZFRhZy52YWx1ZSk7XG4gICAgICAgIH0pLmpvaW4oJ19fJyk7XG4gICAgfVxuXG4gICAgaXNMb2NrZWRUYWcodGFnVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoISF0aGlzLmxvY2tlZE11bHRpcGxlVGFncz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNMb2NrZWRUYWdJbk11bHRpcGxlKHRhZ1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5sb2NrZWRUYWdzLmluY2x1ZGVzKHRhZ1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNpbmdsZVBhcmVudEtleSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgICAgIGlmIChfaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBtb21lbnREYXRhID0gbW9tZW50LnVuaXgodmFsdWUpO1xuXG4gICAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRQYXJlbnRLZXkgPSB0aGlzLnBhcmVudEtleUZvcm1hdHRlckZuXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBhcmVudEtleUZvcm1hdHRlckZuKG1vbWVudERhdGEpXG4gICAgICAgICAgICAgICAgOiBtb21lbnREYXRhLmZvcm1hdCh0aGlzLnBhcmVudEtleUZvcm1hdCk7XG5cbiAgICAgICAgICAgIGlmIChtb21lbnREYXRhLmlzVmFsaWQoKSAmJiBjb252ZXJ0ZWRQYXJlbnRLZXkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVkUGFyZW50S2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzTG9ja2VkVGFnSW5NdWx0aXBsZShzZWxlY3RlZFRhZ1ZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWVLZXkgPSB0aGlzLmdldFBhcmVudFZhbHVlS2V5KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2tlZE11bHRpcGxlVGFncz8uc29tZShcbiAgICAgICAgICAgICh0YWcpID0+IHRhZy52YWx1ZSA9PT0gc2VsZWN0ZWRUYWdWYWx1ZSAmJiB0aGlzLmdldFNpbmdsZVBhcmVudEtleSh0YWcucGFyZW50X3RhZ192YWx1ZSkgPT09IHBhcmVudFZhbHVlS2V5LFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxwICpuZ0lmPVwiIWhpZGVMYWJlbFwiIGNsYXNzPVwiZHluYW1pYy10YWdfX2xhYmVsXCI+e3sgbGFiZWwgfHwgdGFnQ29uZmlnLm5hbWUgfX08L3A+XG48ZHItc2VsZWN0XG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZER5bmFtaWNUYWdcIlxuICAgIFtjbGFzcy5keW5hbWljLXRhZ19fbG9ja2VkXT1cImlzTG9ja2VkVGFnU2VsZWN0ZWRcIlxuICAgIGJpbmRMYWJlbD1cInZhbHVlXCJcbiAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgW2l0ZW1zXT1cImN1cnJlbnRWYWx1ZXNcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgZHJvcGRvd25DbGFzcz1cImR5bmFtaWMtdGFnX19zZWxlY3QgZHItdGFnX19zZWxlY3RcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFnQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNvcHRpb25IZWFkZXJUZW1wbGF0ZSAqbmdJZj1cImlzRHluYW1pY1RhZ0FkZEVuYWJsZWRcIj5cbiAgICAgICAgPGRyLXNlbGVjdC1hZGQtaXRlbVxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgW3ZhbHVlc109XCJjdXJyZW50VmFsdWVzXCJcbiAgICAgICAgICAgIFtkeW5hbWljQWRkTGFiZWxdPVwiJyBBZGQgbmV3ICcgKyB0YWdDb25maWcubmFtZVwiXG4gICAgICAgICAgICAoZHluYW1pY1ZhbHVlQWRkZWQpPVwib25EeW5hbWljVmFsdWVBZGQoJGV2ZW50KVwiPjwvZHItc2VsZWN0LWFkZC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkLS1sYWJlbFwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJkeW5hbWljLXRhZ19fZmllbGRfX3RleHRcIj57eyBpdGVtPy52YWx1ZSB8fCBpdGVtIH19PC9wPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJpdGVtPy5pc19mYXZvcml0ZSAmJiAhaGlkZUZhdm9yaXRlU3RhclwiIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX19pY29uIGRyLWljb24tc3Rhci1maWxsXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkLS1vcHRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImlzTG9ja2VkVGFnKGl0ZW0/LnZhbHVlIHx8IGl0ZW0pXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudCwgaXRlbT8udmFsdWUgfHwgaXRlbSlcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX190ZXh0XCI+e3sgaXRlbT8udmFsdWUgfHwgaXRlbSB9fTwvcD5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbT8uaXNfZmF2b3JpdGVcIiBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZF9faWNvbiBkci1pY29uLXN0YXItZmlsbFwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZHItc2VsZWN0PlxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWR5bmFtaWMvZHItdGFnLWR5bmFtaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLWR5bmFtaWMvZHItdGFnLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuSCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7SUNQckUsNEJBQWlEO0lBQUEsWUFBNkI7SUFBQSxpQkFBSTs7O0lBQWpDLGVBQTZCO0lBQTdCLDJEQUE2Qjs7OztJQVl0RSw2Q0FJb0Q7SUFBaEQsdU5BQXFCLGVBQUEsZ0NBQXlCLENBQUEsSUFBQztJQUFDLGlCQUFxQjs7O0lBRnJFLDZDQUF3Qix3REFBQTs7O0lBSGhDLHlIQU1jOzs7SUFJTix3QkFBeUc7OztJQUY3Ryw4QkFBdUMsV0FBQTtJQUNDLFlB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TTtrQkFBckIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxXQUFXO2tCQUExQixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxhQUFhO2tCQUE1QixLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUVVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBRU8sZUFBZTtrQkFBM0IsS0FBSztZQUlHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGlzTmlsIGFzIF9pc05pbCwgaXNOdW1iZXIgYXMgX2lzTnVtYmVyLCBpc09iamVjdCBhcyBfaXNPYmplY3QsIG1hcCBhcyBfbWFwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElEeW5hbWljVGFnLCBJVGFnLCBJVGFnRm9yU2VydmVyLCBURHluYW1pY1RhZywgVER5bmFtaWNUYWdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IElNdWx0aXBsZUxvY2tlZFRhZyB9IGZyb20gJy4uL2RyLXRhZy50eXBlcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci10YWctZHluYW1pYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXRhZy1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci10YWctZHluYW1pYy5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJJbnB1dHNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdEeW5hbWljQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVzOiBURHluYW1pY1RhZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnQ29uZmlnOiBJVGFnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlkZUxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2tlZFRhZ3M6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IElUYWdGb3JTZXJ2ZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNEeW5hbWljVGFnQWRkRW5hYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkTXVsdGlwbGVUYWdzOiBJTXVsdGlwbGVMb2NrZWRUYWdbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnc0NvbmZpZzogSVRhZ1tdO1xuXG4gICAgQElucHV0KCkgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBmaXNjYWxZZWFyQmFjazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNldCBwYXJlbnRLZXlGb3JtYXQoZm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50S2V5Rm9ybWF0ID0gZm9ybWF0IHx8IHRoaXMuREVGQVVMVF9QQVJFTlRfS0VZX0ZPUk1BVDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwYXJlbnRLZXlGb3JtYXR0ZXJGbjogKG1vbWVudERhdGEpID0+IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaGlkZUZhdm9yaXRlU3RhcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhbGxvd0VtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QuLi4nO1xuXG4gICAgQE91dHB1dCgpIHRhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPigpO1xuICAgIEBPdXRwdXQoKSB0YWdBZGQ6IEV2ZW50RW1pdHRlcjxURHluYW1pY1RhZ1ZhbHVlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4oKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZER5bmFtaWNUYWc6IFREeW5hbWljVGFnVmFsdWU7XG4gICAgcHVibGljIGN1cnJlbnRWYWx1ZXM6IFREeW5hbWljVGFnVmFsdWVbXTtcbiAgICBwdWJsaWMgaXNMb2NrZWRUYWdTZWxlY3RlZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9QQVJFTlRfS0VZX0ZPUk1BVCA9ICd5eXl5JztcbiAgICBwcml2YXRlIF9wYXJlbnRLZXlGb3JtYXQ6IHN0cmluZyA9IHRoaXMuREVGQVVMVF9QQVJFTlRfS0VZX0ZPUk1BVDtcblxuICAgIHB1YmxpYyBnZXQgcGFyZW50S2V5Rm9ybWF0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRLZXlGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc1ByaW1pdGl2ZURhdGFTb3VyY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXModGhpcy52YWx1ZXMpIHx8IFtdO1xuICAgICAgICByZXR1cm4gIV9pc09iamVjdCh2YWx1ZXNbMF0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRHluYW1pY1RhZ1ZhbHVlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhZ0NoYW5nZWQoJGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzdWx0RXZlbnQ6IElUYWdGb3JTZXJ2ZXIgPSB7XG4gICAgICAgICAgICBpZDogdGhpcy50YWdDb25maWcuaWQsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLnRhZ0NvbmZpZy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6ICRldmVudCxcbiAgICAgICAgICAgIGxvY2tlZDogdGhpcy5pc0xvY2tlZFRhZygkZXZlbnQpLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghX2lzTmlsKHRoaXMuc2VsZWN0ZWRUYWc/LmxvY2tlZCkpIHtcbiAgICAgICAgICAgIHJlc3VsdEV2ZW50LmxvY2tlZCA9IHRoaXMuc2VsZWN0ZWRUYWcubG9ja2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFfaXNOaWwodGhpcy5zZWxlY3RlZFRhZz8ubGFiZWwpKSB7XG4gICAgICAgICAgICByZXN1bHRFdmVudC5sYWJlbCA9IHRoaXMuc2VsZWN0ZWRUYWcubGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTG9ja2VkVGFnU2VsZWN0ZWQgPSByZXN1bHRFdmVudC5sb2NrZWQ7XG4gICAgICAgIHRoaXMudGFnQ2hhbmdlLmVtaXQocmVzdWx0RXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9wdGlvbkNsaWNrKCRldmVudDogRXZlbnQsIHRhZ1ZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNMb2NrZWRUYWcodGFnVmFsdWUpKSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25EeW5hbWljVmFsdWVBZGQoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWVLZXkgPSB0aGlzLmdldFBhcmVudFZhbHVlS2V5KCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlcyA9IHRoaXMudmFsdWVzW3BhcmVudFZhbHVlS2V5XSB8fCBbXTtcblxuICAgICAgICBpZiAodGhpcy5pc1ByaW1pdGl2ZURhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW3BhcmVudFZhbHVlS2V5XSA9IFskZXZlbnQsIC4uLnBhcmVudFZhbHVlc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gPSBbeyB2YWx1ZTogJGV2ZW50IH0sIC4uLnBhcmVudFZhbHVlc107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkRHluYW1pY1RhZyA9ICRldmVudDtcblxuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV07XG4gICAgICAgIHRoaXMub25UYWdDaGFuZ2VkKCRldmVudCk7XG4gICAgICAgIHRoaXMudGFnQWRkLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUR5bmFtaWNUYWdWYWx1ZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlS2V5ID0gdGhpcy5nZXRQYXJlbnRWYWx1ZUtleSgpO1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlcz8uW3BhcmVudFZhbHVlS2V5XTtcblxuICAgICAgICBpZiAodGhpcy5hbGxvd0VtcHR5ICYmICF0aGlzLnNlbGVjdGVkVGFnPy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSB0aGlzLmdldFNlbGVjdGVkRHluYW1pY1RhZyh0aGlzLmN1cnJlbnRWYWx1ZXMsIHRoaXMuc2VsZWN0ZWRUYWc/LnZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRhZ0NoYW5nZWQodGhpcy5zZWxlY3RlZER5bmFtaWNUYWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWREeW5hbWljVGFnKGN1cnJlbnRWYWx1ZXM6IFREeW5hbWljVGFnVmFsdWVbXSwgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VmFsdWVzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmIChfaXNPYmplY3QoY3VycmVudFZhbHVlc1swXSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlRnJvbUNvbmZpZyA9IF9maW5kKGN1cnJlbnRWYWx1ZXMsIHsgdmFsdWU6IHNlbGVjdGVkVmFsdWUgfSkgYXMgSUR5bmFtaWNUYWc7XG4gICAgICAgICAgICBjb25zdCBmYXZvcml0ZVZhbHVlID0gX2ZpbmQoY3VycmVudFZhbHVlcywgeyBpc19mYXZvcml0ZTogdHJ1ZSB9KSBhcyBJRHluYW1pY1RhZztcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVGcm9tQ29uZmlnIHx8IGZhdm9yaXRlVmFsdWUgfHwgY3VycmVudFZhbHVlc1swXSkudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZUZyb21Db25maWcgPSBfZmluZChjdXJyZW50VmFsdWVzLCAodmFsdWUpID0+IHZhbHVlID09PSBzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgcmV0dXJuICh2YWx1ZUZyb21Db25maWcgfHwgY3VycmVudFZhbHVlc1swXSkgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFyZW50VmFsdWVLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIF9tYXAodGhpcy5jb25uZWN0ZWRUYWdzLCAoY29ubmVjdGVkVGFnKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTaW5nbGVQYXJlbnRLZXkoY29ubmVjdGVkVGFnLnZhbHVlKTtcbiAgICAgICAgfSkuam9pbignX18nKTtcbiAgICB9XG5cbiAgICBpc0xvY2tlZFRhZyh0YWdWYWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghIXRoaXMubG9ja2VkTXVsdGlwbGVUYWdzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhc0xvY2tlZFRhZ0luTXVsdGlwbGUodGFnVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2tlZFRhZ3MuaW5jbHVkZXModGFnVmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2luZ2xlUGFyZW50S2V5KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKF9pc051bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vbWVudERhdGEgPSBtb21lbnQudW5peCh2YWx1ZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnZlcnRlZFBhcmVudEtleSA9IHRoaXMucGFyZW50S2V5Rm9ybWF0dGVyRm5cbiAgICAgICAgICAgICAgICA/IHRoaXMucGFyZW50S2V5Rm9ybWF0dGVyRm4obW9tZW50RGF0YSlcbiAgICAgICAgICAgICAgICA6IG1vbWVudERhdGEuZm9ybWF0KHRoaXMucGFyZW50S2V5Rm9ybWF0KTtcblxuICAgICAgICAgICAgaWYgKG1vbWVudERhdGEuaXNWYWxpZCgpICYmIGNvbnZlcnRlZFBhcmVudEtleSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRQYXJlbnRLZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNMb2NrZWRUYWdJbk11bHRpcGxlKHNlbGVjdGVkVGFnVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZUtleSA9IHRoaXMuZ2V0UGFyZW50VmFsdWVLZXkoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9ja2VkTXVsdGlwbGVUYWdzPy5zb21lKFxuICAgICAgICAgICAgKHRhZykgPT4gdGFnLnZhbHVlID09PSBzZWxlY3RlZFRhZ1ZhbHVlICYmIHRoaXMuZ2V0U2luZ2xlUGFyZW50S2V5KHRhZy5wYXJlbnRfdGFnX3ZhbHVlKSA9PT0gcGFyZW50VmFsdWVLZXksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPHAgKm5nSWY9XCIhaGlkZUxhYmVsXCIgY2xhc3M9XCJkeW5hbWljLXRhZ19fbGFiZWxcIj57eyBsYWJlbCB8fCB0YWdDb25maWcubmFtZSB9fTwvcD5cbjxkci1zZWxlY3RcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRHluYW1pY1RhZ1wiXG4gICAgW2NsYXNzLmR5bmFtaWMtdGFnX19sb2NrZWRdPVwiaXNMb2NrZWRUYWdTZWxlY3RlZFwiXG4gICAgYmluZExhYmVsPVwidmFsdWVcIlxuICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICBbaXRlbXNdPVwiY3VycmVudFZhbHVlc1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIGRyb3Bkb3duQ2xhc3M9XCJkeW5hbWljLXRhZ19fc2VsZWN0IGRyLXRhZ19fc2VsZWN0XCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblRhZ0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uSGVhZGVyVGVtcGxhdGUgKm5nSWY9XCJpc0R5bmFtaWNUYWdBZGRFbmFibGVkXCI+XG4gICAgICAgIDxkci1zZWxlY3QtYWRkLWl0ZW1cbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgIFt2YWx1ZXNdPVwiY3VycmVudFZhbHVlc1wiXG4gICAgICAgICAgICBbZHluYW1pY0FkZExhYmVsXT1cIicgQWRkIG5ldyAnICsgdGFnQ29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgKGR5bmFtaWNWYWx1ZUFkZGVkKT1cIm9uRHluYW1pY1ZhbHVlQWRkKCRldmVudClcIj48L2RyLXNlbGVjdC1hZGQtaXRlbT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWxUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZC0tbGFiZWxcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX190ZXh0XCI+e3sgaXRlbT8udmFsdWUgfHwgaXRlbSB9fTwvcD5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbT8uaXNfZmF2b3JpdGUgJiYgIWhpZGVGYXZvcml0ZVN0YXJcIiBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZF9faWNvbiBkci1pY29uLXN0YXItZmlsbFwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI29wdGlvblRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZC0tb3B0aW9uXCJcbiAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0xvY2tlZFRhZyhpdGVtPy52YWx1ZSB8fCBpdGVtKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25PcHRpb25DbGljaygkZXZlbnQsIGl0ZW0/LnZhbHVlIHx8IGl0ZW0pXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZF9fdGV4dFwiPnt7IGl0ZW0/LnZhbHVlIHx8IGl0ZW0gfX08L3A+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0/LmlzX2Zhdm9yaXRlXCIgY2xhc3M9XCJkeW5hbWljLXRhZ19fZmllbGRfX2ljb24gZHItaWNvbi1zdGFyLWZpbGxcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2RyLXNlbGVjdD5cbiJdfQ==