@skyux/datetime 9.1.1 → 9.3.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.
- package/documentation.json +467 -497
- package/esm2022/lib/modules/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2022/lib/modules/shared/sky-datetime-resources.module.mjs +2 -1
- package/fesm2022/skyux-datetime.mjs +3 -2
- package/fesm2022/skyux-datetime.mjs.map +1 -1
- package/package.json +8 -8
@@ -492,14 +492,14 @@ export class SkyDateRangePickerComponent {
|
|
492
492
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDateRangePickerComponent, selector: "sky-date-range-picker", inputs: { calculatorIds: "calculatorIds", dateFormat: "dateFormat", disabled: "disabled", label: "label", startDateRequired: "startDateRequired", endDateRequired: "endDateRequired" }, providers: [
|
493
493
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
494
494
|
SKY_DATE_RANGE_PICKER_VALIDATOR,
|
495
|
-
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{ label || 'skyux_date_range_picker_default_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "openChange"] }, { kind: "directive", type: i7.SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "component", type: i8.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i8.λ20, selector: "input:not([skyId]):not(.sky-form-control),select:not([skyId]):not(.sky-form-control),textarea:not([skyId]):not(.sky-form-control)", inputs: ["autocomplete"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i9.SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" }, { kind: "pipe", type: i10.SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
495
|
+
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{\n label || ('skyux_date_range_picker_default_label' | skyLibResources)\n }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "openChange"] }, { kind: "directive", type: i7.SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "component", type: i8.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i9.SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" }, { kind: "pipe", type: i10.SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
496
496
|
}
|
497
497
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDateRangePickerComponent, decorators: [{
|
498
498
|
type: Component,
|
499
499
|
args: [{ selector: 'sky-date-range-picker', providers: [
|
500
500
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
501
501
|
SKY_DATE_RANGE_PICKER_VALIDATOR,
|
502
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{
|
502
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{\n label || ('skyux_date_range_picker_default_label' | skyLibResources)\n }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"] }]
|
503
503
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyDateRangeService }, { type: i2.UntypedFormBuilder }, { type: i3.SkyAppLocaleProvider }, { type: i0.NgZone }, { type: i4.SkyThemeService, decorators: [{
|
504
504
|
type: Optional
|
505
505
|
}] }]; }, propDecorators: { calculatorIds: [{
|
@@ -515,4 +515,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
515
515
|
}], endDateRequired: [{
|
516
516
|
type: Input
|
517
517
|
}] } });
|
518
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFLTCxRQUFRLEVBRVIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBRWpCLGtCQUFrQixHQUluQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFLaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRixNQUFNLG9DQUFvQyxHQUFHO0lBQzNDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLCtCQUErQixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7Ozs7R0FTRztBQVdILE1BQU0sT0FBTywyQkFBMkI7SUFHdEM7Ozs7T0FJRztJQUNILElBQ1csYUFBYSxDQUFDLEtBQTZDO1FBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxJQUFJO1lBQzlCLHdCQUF3QixDQUFDLE9BQU87WUFDaEMsd0JBQXdCLENBQUMsTUFBTTtZQUMvQix3QkFBd0IsQ0FBQyxLQUFLO1lBQzlCLHdCQUF3QixDQUFDLGFBQWE7WUFDdEMsd0JBQXdCLENBQUMsU0FBUztZQUNsQyx3QkFBd0IsQ0FBQyxLQUFLO1lBQzlCLHdCQUF3QixDQUFDLFFBQVE7WUFDakMsd0JBQXdCLENBQUMsUUFBUTtZQUNqQyx3QkFBd0IsQ0FBQyxRQUFRO1lBQ2pDLHdCQUF3QixDQUFDLFFBQVE7WUFDakMsd0JBQXdCLENBQUMsU0FBUztZQUNsQyx3QkFBd0IsQ0FBQyxTQUFTO1lBQ2xDLHdCQUF3QixDQUFDLFNBQVM7WUFDbEMsd0JBQXdCLENBQUMsV0FBVztZQUNwQyx3QkFBd0IsQ0FBQyxXQUFXO1lBQ3BDLHdCQUF3QixDQUFDLFdBQVc7WUFDcEMsd0JBQXdCLENBQUMsZ0JBQWdCO1lBQ3pDLHdCQUF3QixDQUFDLGdCQUFnQjtZQUN6Qyx3QkFBd0IsQ0FBQyxnQkFBZ0I7WUFDekMsd0JBQXdCLENBQUMsY0FBYztZQUN2Qyx3QkFBd0IsQ0FBQyxjQUFjO1lBQ3ZDLHdCQUF3QixDQUFDLGNBQWM7U0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN6QjtTQUNGO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBa0NELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQXNDO0lBRTVDLElBQUksZUFBZSxDQUFDLEtBQTBDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUE4QjtJQUN0Qyx5QkFBeUIsQ0FBcUI7SUFDOUMsY0FBYyxDQUF1QjtJQUVyQyxlQUFlLENBdUJiO0lBQ0YsWUFBWSxDQUFxQjtJQUNqQyxVQUFVLENBQThCO0lBQ3hDLGdCQUFnQixDQUFzQztJQUV0RCxlQUFlLENBQW9CO0lBQ25DLGlCQUFpQixDQUFzQjtJQUN2QyxZQUFZLENBQXFCO0lBQ2pDLGVBQWUsQ0FBdUI7SUFDdEMsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsY0FBaUMsRUFDakMsZ0JBQXFDLEVBQ3JDLFdBQStCLEVBQy9CLGNBQW9DLEVBQ3BDLE1BQWMsRUFDRixRQUEwQjtRQXBHeEM7OztXQUdHO1FBRUksc0JBQWlCLEdBQXdCLEtBQUssQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSxvQkFBZSxHQUF3QixLQUFLLENBQUM7UUFJcEMsc0JBQWlCLEdBQUcseUJBQXlCLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFFbkUsZ0JBQVcsR0FBNkIsRUFBRSxDQUFDO1FBRzNDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQW1DbkMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXJDLG9CQUFlLEdBQStCO1lBQzVDLHdCQUF3QixDQUFDLE9BQU87WUFDaEMsd0JBQXdCLENBQUMsTUFBTTtZQUMvQix3QkFBd0IsQ0FBQyxLQUFLO1lBQzlCLHdCQUF3QixDQUFDLGFBQWE7WUFDdEMsd0JBQXdCLENBQUMsU0FBUztZQUNsQyx3QkFBd0IsQ0FBQyxLQUFLO1lBQzlCLHdCQUF3QixDQUFDLFFBQVE7WUFDakMsd0JBQXdCLENBQUMsUUFBUTtZQUNqQyx3QkFBd0IsQ0FBQyxRQUFRO1lBQ2pDLHdCQUF3QixDQUFDLFFBQVE7WUFDakMsd0JBQXdCLENBQUMsU0FBUztZQUNsQyx3QkFBd0IsQ0FBQyxTQUFTO1lBQ2xDLHdCQUF3QixDQUFDLFNBQVM7WUFDbEMsd0JBQXdCLENBQUMsV0FBVztZQUNwQyx3QkFBd0IsQ0FBQyxXQUFXO1lBQ3BDLHdCQUF3QixDQUFDLFdBQVc7WUFDcEMsd0JBQXdCLENBQUMsZ0JBQWdCO1lBQ3pDLHdCQUF3QixDQUFDLGdCQUFnQjtZQUN6Qyx3QkFBd0IsQ0FBQyxnQkFBZ0I7WUFDekMsd0JBQXdCLENBQUMsY0FBYztZQUN2Qyx3QkFBd0IsQ0FBQyxjQUFjO1lBQ3ZDLHdCQUF3QixDQUFDLGNBQWM7U0FDeEMsQ0FBQztRQUVGLGVBQVUsR0FBd0IsS0FBSyxDQUFDO1FBaVl4QywwQkFBMEI7UUFDMUIsbUdBQW1HO1FBQ25HLGNBQVMsR0FBRyxDQUFDLENBQXNDLEVBQVEsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNqRSwwQkFBMEI7UUFDMUIsZ0VBQWdFO1FBQ2hFLGVBQVUsR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFyWDFCLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUUzQyxJQUFJLENBQUMsZUFBZTthQUNqQixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyx5QkFBeUI7Z0JBQzVCLGdCQUFnQixDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLG1CQUFtQjtnQkFDdEIsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFTCxtQ0FBbUM7UUFDbkMsMEJBQTBCO1FBQzFCLFFBQVEsRUFBRSxjQUFjO2FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDM0M7WUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUUxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUUvQiw4S0FBOEs7WUFDOUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakQsNkVBQTZFO2dCQUM3RSwyRUFBMkU7Z0JBQzNFLG1FQUFtRTtnQkFDbkUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FDcEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUM5QixDQUFDO2dCQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRXZFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUVoQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFFNUIsZ0RBQWdEO2dCQUNoRCxtRkFBbUY7Z0JBQ25GLHVEQUF1RDtnQkFDdkQsMEJBQTBCO2dCQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7d0JBQzNDLFNBQVMsRUFBRSxLQUFLO3FCQUNqQixDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUNFLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDeEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQzlDO1lBQ0EsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQztnQkFFNUMseUVBQXlFO2dCQUN6RSwyQkFBMkI7Z0JBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ2pELE9BQU8sVUFBVSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ3hDLENBQUMsQ0FBQyxDQUFDO2dCQUVILDBCQUEwQjtnQkFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLENBQUM7b0JBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7aUJBQ2hDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUE4QjtRQUM5QyxzRUFBc0U7UUFDdEUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTNCLGlGQUFpRjtRQUNqRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsNkNBQTZDO1lBQzdDLCtCQUErQjtZQUMvQixJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3BDO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEQsSUFBSSxNQUFNLEdBQTRCLElBQUksQ0FBQztRQUUzQyxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sR0FBRztnQkFDUCxZQUFZLEVBQUU7b0JBQ1osWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLO29CQUM5QixNQUFNLEVBQUUsTUFBTTtpQkFDZjthQUNGLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxXQUFXLEdBQTRCLElBQUksQ0FBQztZQUNoRCxJQUFJLFNBQVMsR0FBNEIsSUFBSSxDQUFDO1lBQzlDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQzthQUM3QztZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQ3pDO1lBRUQsTUFBTSxHQUFHLFdBQVcsSUFBSSxTQUFTLENBQUM7U0FDbkM7UUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsNkNBQTZDO1lBQzdDLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDO1FBQzNCLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUV6Qix3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU5Qix5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLEVBQTJFO1FBRTNFLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFpQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBaUI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVMsQ0FDUCxLQUEwQyxFQUMxQyxZQUFZLEdBQUcsSUFBSTtRQUVuQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlELElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQzNDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2FBQzlCO1lBRUQsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUN2QyxZQUFZLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QyxTQUFTLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtZQUNuQyxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtTQUNsQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCx1QkFBdUI7UUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBRTNDLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRWhDLFFBQVEsVUFBVSxFQUFFLElBQUksRUFBRTtZQUN4QixLQUFLLDBCQUEwQixDQUFDLE1BQU07Z0JBQ3BDLGlCQUFpQixHQUFHLElBQUksQ0FBQztnQkFDekIsTUFBTTtZQUVSLEtBQUssMEJBQTBCLENBQUMsS0FBSztnQkFDbkMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixNQUFNO1lBRVIsS0FBSywwQkFBMEIsQ0FBQyxLQUFLO2dCQUNuQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLG1CQUFtQixHQUFHLElBQUksQ0FBQztnQkFDM0IsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBK0I7UUFDbEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsWUFBWTthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRTtnQkFDaEQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0Isb0VBQW9FO2dCQUNwRSw0Q0FBNEM7Z0JBQzVDLGlFQUFpRTtnQkFDakUsMEJBQTBCO2dCQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDO29CQUV4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3BDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2lCQUNoQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVk7YUFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVMLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsZUFBZSxFQUFFLFlBQVk7YUFDL0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RCxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVMLGVBQWU7UUFDZiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsRCx1RUFBdUU7WUFDdkUsYUFBYSxDQUFDO2dCQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWE7YUFDbkMsQ0FBQztpQkFDQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWE7aUJBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhO2lCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBDLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCO2FBQzFCLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ2xDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQy9CLG9GQUFvRjtZQUNwRixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQixDQUNoQixFQUE0QjtRQUU1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDMUMsT0FBTyxVQUFVLENBQUMsWUFBWSxLQUFLLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxNQUEyQyxFQUMzQyxNQUEyQztRQUUzQyxPQUFPLENBQ0wsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLG1HQUFtRztJQUNuRyxTQUFTLENBQXdEO0lBQ2pFLDBCQUEwQjtJQUMxQixnRUFBZ0U7SUFDaEUsVUFBVSxDQUFrQjs4R0FuakJqQiwyQkFBMkI7a0dBQTNCLDJCQUEyQix3T0FOM0I7WUFDVCxvQ0FBb0M7WUFDcEMsK0JBQStCO1NBQ2hDLCtDQ3JFSCwwMEdBa0hBOzsyRkQxQ2EsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQThMNUMsUUFBUTs0Q0FuTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFnQkssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsS0FBSztzQkFEWCxLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFRQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lBcHBMb2NhbGVQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlRm9ybWF0dGVyIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9kYXRlLWZvcm1hdHRlcic7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZVNlcnZpY2UgfSBmcm9tICcuL2RhdGUtcmFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3InO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItaWQnO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci10eXBlJztcblxuY29uc3QgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKlxuICogQWN0cyBhcyBhIGZvcm0gY29udHJvbCB3aXRoIGEgZm9ybSBtb2RlbCBvZiB0eXBlIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbmAuXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiA8c2t5LWRhdGUtcmFuZ2UtcGlja2VyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cIm15UGlja2VyXCJcbiAqID5cbiAqIDwvc2t5LWRhdGUtcmFuZ2UtcGlja2VyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRlLXJhbmdlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxVRV9BQ0NFU1NPUixcbiAgICBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMSURBVE9SLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogSURzIGZvciB0aGUgZGF0ZSByYW5nZSBvcHRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIHBpY2tlcidzIGRyb3Bkb3duLlxuICAgKiBUaGUgb3B0aW9ucyBzcGVjaWZ5IGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJldHVybiB0d28gYERhdGVgIG9iamVjdHMgdG8gcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGluY2x1ZGVzIGFsbCBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkYCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbGN1bGF0b3JJZHModmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbGN1bGF0b3JJZHMgPSB2YWx1ZSB8fCBbXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQW55VGltZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuU3BlY2lmaWNSYW5nZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9tb3Jyb3csXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dEZpc2NhbFllYXIsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FsY3VsYXRvcklkcygpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jYWxjdWxhdG9ySWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRlIGZvcm1hdCBmb3JcbiAgICogW3RoZSBgc2t5LWRhdGVwaWNrZXJgIGNvbXBvbmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRlcGlja2VyKVxuICAgKiB0aGF0IG1ha2UgdXAgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLiBUaGUgdGV4dCBpbnB1dCBpcyBhIGNvbXBvc2l0ZSBjb21wb25lbnQgb2ZcbiAgICogdXAgdG8gdHdvIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50cy5cbiAgICogQGRlZmF1bHQgXCJNTS9ERC9ZWVlZXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZUZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGVGb3JtYXQgPSB2YWx1ZTtcbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB2YWx1ZSB8fCB0aGlzLiNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVGb3JtYXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGVGb3JtYXQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBkYXRlIHJhbmdlIHBpY2tlciBvbiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMuIERvbid0IHVzZSB0aGlzIGlucHV0IG9uIHJlYWN0aXZlIGZvcm1zIGJlY2F1c2UgdGhleSBtYXkgb3ZlcndyaXRlIHRoZSBpbnB1dCBvciBsZWF2ZSB0aGUgY29udHJvbCBvdXQgb2Ygc3luYy5cbiAgICogVG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiByZWFjdGl2ZSBmb3JtcywgdXNlIHRoZSBgRm9ybUNvbnRyb2xgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIGlmICh0aGlzLiNfZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVxdWlyZSB1c2VycyB0byBzcGVjaWZ5IGEgc3RhcnQgZGF0ZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIGVuZCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhbGN1bGF0b3I6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZVBpY2tlcklkID0gYHNreS1kYXRlLXJhbmdlLXBpY2tlci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwdWJsaWMgY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuICBwdWJsaWMgZGF0ZUZvcm1hdE9yRGVmYXVsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICBnZXQgI2NhbGN1bGF0b3JJZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2NhbGN1bGF0b3JJZCcpO1xuICB9XG5cbiAgZ2V0ICNkZWZhdWx0Q2FsY3VsYXRvcigpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9yc1swXTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdFZhbHVlKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgI2VuZERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdlbmREYXRlJyk7XG4gIH1cblxuICBnZXQgI3N0YXJ0RGF0ZUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ3N0YXJ0RGF0ZScpO1xuICB9XG5cbiAgI3ZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBzZXQgI3ZhbHVlT3JEZWZhdWx0KHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI192YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICB9XG5cbiAgZ2V0ICN2YWx1ZU9yRGVmYXVsdCgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZU9yRGVmYXVsdDtcbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2FsY3VsYXRvcklkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gPSBbXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFueVRpbWUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlNwZWNpZmljUmFuZ2UsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvbW9ycm93LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRGaXNjYWxZZWFyLFxuICBdO1xuICAjX2RhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAjX3ZhbHVlT3JEZWZhdWx0OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZTtcbiAgI2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXI7XG4gICNsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZSxcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2UgPSBkYXRlUmFuZ2VTZXJ2aWNlO1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXIgPSBsb2NhbGVQcm92aWRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG5cbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB0aGlzLmRhdGVGb3JtYXQ7XG5cbiAgICB0aGlzLiNsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICBTa3lEYXRlRm9ybWF0dGVyLnNldExvY2FsZShsb2NhbGVJbmZvLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdCA9XG4gICAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5nZXRQcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID1cbiAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgfHwgdGhpcy4jcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0O1xuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLiN2YWx1ZSB8fCAhdGhpcy4jdmFsdWUuY2FsY3VsYXRvcklkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gbGV0IEFuZ3VsYXIgYmUgc3RhYmxlIGFuZCBoYXZlIHJlbmRlcmVkIHRoZSBjb21wb25lbnRzIHByaW9yIHRvIHNldHRpbmcgdGhlIHZhbHVlcyBhbmQgZm9ybSBjb250cm9scy4gVGhpcyBlbnN1cmVzIGFsbCBpbml0aWFsIHZhbGlkYXRpb24gd2lsbCBiZSByYW4gY29ycmVjdGx5LlxuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRmlsbCBpbiBhbnkgdW5wcm92aWRlZCB2YWx1ZXMgYWZ0ZXIgdGhlIGNhbGN1bGF0b3JzIGhhdmUgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggb25seSB0aGUgYGNhbGN1bGF0b3JJZGAsXG4gICAgICAgIC8vIGFsbG93IHRoZSBjYWxjdWxhdG9yIHRvIGZpbGwgaW4gdGhlIG1pc3Npbmcgc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LmdldFZhbHVlKFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5zdGFydERhdGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmVuZERhdGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsdWUsIHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcblxuICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSwgZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcblxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAgICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGluaXRpYWxseSwgaXRzIHZhbHVlIGlzIG5vdCByZXByZXNlbnRlZCBvbiB0aGUgdmlldy5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzc5MlxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy4jY29udHJvbCkge1xuICAgICAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jdmFsdWVPckRlZmF1bHQsIHtcbiAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydjYWxjdWxhdG9ySWRzJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2NhbGN1bGF0b3JJZHMnXS5maXJzdENoYW5nZSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUNhbGN1bGF0b3JzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbD8udmFsdWU7XG5cbiAgICAgICAgLy8gTWFpbnRhaW4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZXMgaWYgdGhlIGNhbGN1bGF0b3JzIGNoYW5nZSBhZnRlclxuICAgICAgICAvLyBhIHZhbHVlIGhhcyBiZWVuIGNob3Nlbi5cbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gY2FsY3VsYXRvci5jYWxjdWxhdG9ySWQgPT09IGlkO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLiNkZWZhdWx0Q2FsY3VsYXRvcj8uZ2V0VmFsdWUoKTtcbiAgICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRmllbGRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgLy8gT25seSB1cGRhdGUgdGhlIHVuZGVybHlpbmcgY29udHJvbHMgd2hlbiB0aGUgY2FsY3VsYXRvcnMgYXJlIHJlYWR5LlxuICAgIGNvbnN0IG5vdGlmeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgLy8gKFdlIHN0aWxsIG5lZWQgdG8gc2F2ZSB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgYnkgdGhlIGNvbnN1bWVyJ3MgZm9ybSwgaG93ZXZlci4pXG4gICAgdGhpcy4jc2V0VmFsdWUodmFsdWUsIG5vdGlmeUNoYW5nZSk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWR5KSB7XG4gICAgICAvLyBXaGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgaXMgc2V0IHRvIGBudWxsYCxcbiAgICAgIC8vIHNldCBpdCB0byB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy4jb25DaGFuZ2UodGhpcy4jZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZSgpO1xuICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNSZWFkeSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGlkQ29udHJvbCA9IHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LnZhbGlkYXRlKHZhbHVlKTtcblxuICAgIGxldCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGVycm9ycyA9IHtcbiAgICAgICAgc2t5RGF0ZVJhbmdlOiB7XG4gICAgICAgICAgY2FsY3VsYXRvcklkOiBpZENvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgIGVycm9yczogcmVzdWx0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHN0YXJ0RXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgZW5kRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCkge1xuICAgICAgICBzdGFydEVycm9ycyA9IHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuZXJyb3JzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICAgIGVuZEVycm9ycyA9IHRoaXMuI2VuZERhdGVDb250cm9sLmVycm9ycztcbiAgICAgIH1cblxuICAgICAgZXJyb3JzID0gc3RhcnRFcnJvcnMgfHwgZW5kRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghZXJyb3JzKSB7XG4gICAgICAvLyBDbGVhciBhbnkgZXJyb3JzIG9uIHRoZSBjYWxjdWxhdG9yIHNlbGVjdC5cbiAgICAgIGlkQ29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWRDb250cm9sPy5zZXRFcnJvcnMoZXJyb3JzKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG5cbiAgICAvLyBOZWVkIHRvIG1hcmsgdGhlIGNvbnRyb2wgYXMgdG91Y2hlZCBmb3IgdGhlIGVycm9yIG1lc3NhZ2VzIHRvIGFwcGVhci5cbiAgICB0aGlzLiNjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIE5vdGlmeSB0aGUgdmlldyB0byBkaXNwbGF5IGFueSBlcnJvcnMuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoXG4gICAgZm46ICh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gICNzZXRWYWx1ZShcbiAgICB2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgbm90aWZ5Q2hhbmdlID0gdHJ1ZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpc05ld1ZhbHVlID0gIXRoaXMuI2RhdGVSYW5nZXNFcXVhbCh0aGlzLiN2YWx1ZSwgdmFsdWUpO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmNhbGN1bGF0b3JJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQgPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vdGlmeUNoYW5nZSkge1xuICAgICAgICB0aGlzLiNvbkNoYW5nZSh0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3BhdGNoVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy4jdmFsdWVPckRlZmF1bHQsIHZhbHVlKTtcblxuICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gICNjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy4jZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgY2FsY3VsYXRvcklkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gICAgICBzdGFydERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIGVuZERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgY2FsY3VsYXRvciA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yO1xuXG4gICAgbGV0IHNob3dFbmREYXRlUGlja2VyID0gZmFsc2U7XG4gICAgbGV0IHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoY2FsY3VsYXRvcj8udHlwZSkge1xuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5CZWZvcmU6XG4gICAgICAgIHNob3dFbmREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuQWZ0ZXI6XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5SYW5nZTpcbiAgICAgICAgc2hvd0VuZERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBzaG93U3RhcnREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0VuZERhdGVQaWNrZXIgPSBzaG93RW5kRGF0ZVBpY2tlcjtcbiAgICB0aGlzLnNob3dTdGFydERhdGVQaWNrZXIgPSBzaG93U3RhcnREYXRlUGlja2VyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3Jlc2V0Rm9ybUdyb3VwVmFsdWUodmFsdWU/OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwPy5yZXNldCh2YWx1ZSB8fCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gIH1cblxuICAjYWRkRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLy8gV2F0Y2ggZm9yIHNlbGVjdGVkIGNhbGN1bGF0b3IgY2hhbmdlLlxuICAgIHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLiN2YWx1ZU9yRGVmYXVsdD8uY2FsY3VsYXRvcklkKSB7XG4gICAgICAgICAgY29uc3QgaWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICAgIC8vIGlmIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQgZHVyaW5nIGZvcm0gY3JlYXRpb24sIG51bGwgaXMgcGFzc2VkXG4gICAgICAgICAgLy8gYXMgdGhlIHZhbHVlIG9mIHRoZSBjYWxjdWxhdG9yIGlkIGNvbnRyb2xcbiAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0aGUgdmFsdWUgY2hhbmdlcyBpZiB0aGUgY2FsY3VsYXRvciBpZCBpcyBhIG51bWJlclxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc05hTihpZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0b3IgPSB0aGlzLiNnZXRDYWxjdWxhdG9yQnlJZChpZCk7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc3RhcnQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhcnREYXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3BhdGNoVmFsdWUoeyBzdGFydERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIGZvciBlbmQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI2VuZERhdGVDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVuZERhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jcGF0Y2hWYWx1ZSh7IGVuZERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFNhZmV0eSBjaGVja1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wgJiYgdGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgIC8vIERldGVjdCBlcnJvcnMgZnJvbSB0aGUgZGF0ZSBpbnB1dHMgYW5kIHVwZGF0ZSBuZy0gY2xhc3NlcyBvbiBwaWNrZXIuXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgICB0aGlzLiNlbmREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sKSB7XG4gICAgICB0aGlzLiNzdGFydERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gV2FpdCBmb3IgaW5pdGlhbCB2YWxpZGF0aW9uIHRvIGNvbXBsZXRlLlxuICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gICN1cGRhdGVDYWxjdWxhdG9ycygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jZGF0ZVJhbmdlU2VydmljZVxuICAgICAgLmdldENhbGN1bGF0b3JzKHRoaXMuY2FsY3VsYXRvcklkcylcbiAgICAgIC50aGVuKChjYWxjdWxhdG9ycykgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0b3JzID0gY2FsY3VsYXRvcnM7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGFueSBwcmV2aW91c2x5IHNldCB2YWx1ZSBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgc2VsZWN0ZWQgY2FsY3VsYXRvclxuICAgICAgICB0aGlzLiN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNnZXRDYWxjdWxhdG9yQnlJZChcbiAgICBpZDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkXG4gICk6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gaWQ7XG4gICAgfSk7XG4gIH1cblxuICAjZGF0ZVJhbmdlc0VxdWFsKFxuICAgIHJhbmdlQTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgcmFuZ2VCOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFyYW5nZUEgJiYgISFyYW5nZUIgJiYgSlNPTi5zdHJpbmdpZnkocmFuZ2VBKSA9PT0gSlNPTi5zdHJpbmdpZnkocmFuZ2VCKVxuICAgICk7XG4gIH1cblxuICAjdXBkYXRlU2VsZWN0ZWRDYWxjdWxhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yID0gdGhpcy4jdmFsdWVPckRlZmF1bHRcbiAgICAgID8gdGhpcy4jZ2V0Q2FsY3VsYXRvckJ5SWQodGhpcy4jdmFsdWVPckRlZmF1bHQuY2FsY3VsYXRvcklkKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCA9PiB7fTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaXNSZWFkeSAmJiBmb3JtR3JvdXBcIlxuICBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlclwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZGF0ZS1yYW5nZS1waWNrZXItbGFzdC1pbnB1dCc6XG4gICAgICAgICFzaG93U3RhcnREYXRlUGlja2VyICYmICFzaG93RW5kRGF0ZVBpY2tlclxuICAgIH1cIlxuICA+XG4gICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc2VsZWN0LWNhbGN1bGF0b3InXCJcbiAgICAgID5cbiAgICAgICAge3sgbGFiZWwgfHwgJ3NreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2RlZmF1bHRfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPHNlbGVjdFxuICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdG9ySWRcIlxuICAgICAgICBbYXR0ci5pZF09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc2VsZWN0LWNhbGN1bGF0b3InXCJcbiAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICA+XG4gICAgICAgIDxvcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsY3VsYXRvciBvZiBjYWxjdWxhdG9yc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cImNhbGN1bGF0b3IuY2FsY3VsYXRvcklkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNhbGN1bGF0b3Iuc2hvcnREZXNjcmlwdGlvbiB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZGF0ZS1yYW5nZS1waWNrZXItbGFzdC1pbnB1dCc6XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgJiYgIXNob3dFbmREYXRlUGlja2VyXG4gICAgfVwiXG4gICAgW2hpZGRlbl09XCIhc2hvd1N0YXJ0RGF0ZVBpY2tlclwiXG4gID5cbiAgICA8c2t5LWlucHV0LWJveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zdGFydC1kYXRlJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJzogc3RhcnREYXRlUmVxdWlyZWQgfVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICB9fVxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPHNreS1kYXRlcGlja2VyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXN0YXJ0LWRhdGUnXCJcbiAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiISFzdGFydERhdGVSZXF1aXJlZFwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICAgICAgc2t5RGF0ZXBpY2tlcklucHV0XG4gICAgICAgIC8+XG4gICAgICA8L3NreS1kYXRlcGlja2VyPlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZGF0ZS1yYW5nZS1waWNrZXItbGFzdC1pbnB1dCc6IHNob3dFbmREYXRlUGlja2VyXG4gICAgfVwiXG4gICAgW2hpZGRlbl09XCIhc2hvd0VuZERhdGVQaWNrZXJcIlxuICA+XG4gICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctZW5kLWRhdGUnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBlbmREYXRlUmVxdWlyZWQgfVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgc2t5RGF0ZXBpY2tlcklucHV0XG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLWVuZC1kYXRlJ1wiXG4gICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cIiEhZW5kRGF0ZVJlcXVpcmVkXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc2t5LWRhdGVwaWNrZXI+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFLTCxRQUFRLEVBRVIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEVBRWpCLGtCQUFrQixHQUluQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFLaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRixNQUFNLG9DQUFvQyxHQUFHO0lBQzNDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLCtCQUErQixH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QUM7WUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLG1HQUFtRztJQUNuRyxTQUFTLENBQXdEO0lBQ2pFLDBCQUEwQjtJQUMxQixnRUFBZ0U7SUFDaEUsVUFBVSxDQUFrQjs4R0FuakJqQiwyQkFBMkI7a0dBQTNCLDJCQUEyQix3T0FOM0I7WUFDVCxvQ0FBb0M7WUFDcEMsK0JBQStCO1NBQ2hDLCtDQ3JFSCxraElBb0lBOzsyRkQ1RGEsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQThMNUMsUUFBUTs0Q0FuTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFnQkssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsS0FBSztzQkFEWCxLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFRQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lBcHBMb2NhbGVQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlRm9ybWF0dGVyIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9kYXRlLWZvcm1hdHRlcic7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZVNlcnZpY2UgfSBmcm9tICcuL2RhdGUtcmFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3InO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItaWQnO1xuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci10eXBlJztcblxuY29uc3QgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKlxuICogQWN0cyBhcyBhIGZvcm0gY29udHJvbCB3aXRoIGEgZm9ybSBtb2RlbCBvZiB0eXBlIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbmAuXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiA8c2t5LWRhdGUtcmFuZ2UtcGlja2VyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cIm15UGlja2VyXCJcbiAqID5cbiAqIDwvc2t5LWRhdGUtcmFuZ2UtcGlja2VyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRlLXJhbmdlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxVRV9BQ0NFU1NPUixcbiAgICBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMSURBVE9SLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogSURzIGZvciB0aGUgZGF0ZSByYW5nZSBvcHRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIHBpY2tlcidzIGRyb3Bkb3duLlxuICAgKiBUaGUgb3B0aW9ucyBzcGVjaWZ5IGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJldHVybiB0d28gYERhdGVgIG9iamVjdHMgdG8gcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGluY2x1ZGVzIGFsbCBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkYCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbGN1bGF0b3JJZHModmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbGN1bGF0b3JJZHMgPSB2YWx1ZSB8fCBbXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQW55VGltZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuU3BlY2lmaWNSYW5nZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9tb3Jyb3csXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dEZpc2NhbFllYXIsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FsY3VsYXRvcklkcygpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jYWxjdWxhdG9ySWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRlIGZvcm1hdCBmb3JcbiAgICogW3RoZSBgc2t5LWRhdGVwaWNrZXJgIGNvbXBvbmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRlcGlja2VyKVxuICAgKiB0aGF0IG1ha2UgdXAgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLiBUaGUgdGV4dCBpbnB1dCBpcyBhIGNvbXBvc2l0ZSBjb21wb25lbnQgb2ZcbiAgICogdXAgdG8gdHdvIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50cy5cbiAgICogQGRlZmF1bHQgXCJNTS9ERC9ZWVlZXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZUZvcm1hdCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGVGb3JtYXQgPSB2YWx1ZTtcbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB2YWx1ZSB8fCB0aGlzLiNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVGb3JtYXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGVGb3JtYXQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBkYXRlIHJhbmdlIHBpY2tlciBvbiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMuIERvbid0IHVzZSB0aGlzIGlucHV0IG9uIHJlYWN0aXZlIGZvcm1zIGJlY2F1c2UgdGhleSBtYXkgb3ZlcndyaXRlIHRoZSBpbnB1dCBvciBsZWF2ZSB0aGUgY29udHJvbCBvdXQgb2Ygc3luYy5cbiAgICogVG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiByZWFjdGl2ZSBmb3JtcywgdXNlIHRoZSBgRm9ybUNvbnRyb2xgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIGlmICh0aGlzLiNfZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVxdWlyZSB1c2VycyB0byBzcGVjaWZ5IGEgc3RhcnQgZGF0ZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIGVuZCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhbGN1bGF0b3I6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZVBpY2tlcklkID0gYHNreS1kYXRlLXJhbmdlLXBpY2tlci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwdWJsaWMgY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuICBwdWJsaWMgZGF0ZUZvcm1hdE9yRGVmYXVsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICBnZXQgI2NhbGN1bGF0b3JJZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2NhbGN1bGF0b3JJZCcpO1xuICB9XG5cbiAgZ2V0ICNkZWZhdWx0Q2FsY3VsYXRvcigpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9yc1swXTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdFZhbHVlKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgI2VuZERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdlbmREYXRlJyk7XG4gIH1cblxuICBnZXQgI3N0YXJ0RGF0ZUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ3N0YXJ0RGF0ZScpO1xuICB9XG5cbiAgI3ZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBzZXQgI3ZhbHVlT3JEZWZhdWx0KHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI192YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICB9XG5cbiAgZ2V0ICN2YWx1ZU9yRGVmYXVsdCgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZU9yRGVmYXVsdDtcbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2FsY3VsYXRvcklkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gPSBbXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFueVRpbWUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlNwZWNpZmljUmFuZ2UsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvbW9ycm93LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRGaXNjYWxZZWFyLFxuICBdO1xuICAjX2RhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAjX3ZhbHVlT3JEZWZhdWx0OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZTtcbiAgI2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXI7XG4gICNsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZSxcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2UgPSBkYXRlUmFuZ2VTZXJ2aWNlO1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXIgPSBsb2NhbGVQcm92aWRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG5cbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB0aGlzLmRhdGVGb3JtYXQ7XG5cbiAgICB0aGlzLiNsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICBTa3lEYXRlRm9ybWF0dGVyLnNldExvY2FsZShsb2NhbGVJbmZvLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdCA9XG4gICAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5nZXRQcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID1cbiAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgfHwgdGhpcy4jcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0O1xuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLiN2YWx1ZSB8fCAhdGhpcy4jdmFsdWUuY2FsY3VsYXRvcklkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gbGV0IEFuZ3VsYXIgYmUgc3RhYmxlIGFuZCBoYXZlIHJlbmRlcmVkIHRoZSBjb21wb25lbnRzIHByaW9yIHRvIHNldHRpbmcgdGhlIHZhbHVlcyBhbmQgZm9ybSBjb250cm9scy4gVGhpcyBlbnN1cmVzIGFsbCBpbml0aWFsIHZhbGlkYXRpb24gd2lsbCBiZSByYW4gY29ycmVjdGx5LlxuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRmlsbCBpbiBhbnkgdW5wcm92aWRlZCB2YWx1ZXMgYWZ0ZXIgdGhlIGNhbGN1bGF0b3JzIGhhdmUgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggb25seSB0aGUgYGNhbGN1bGF0b3JJZGAsXG4gICAgICAgIC8vIGFsbG93IHRoZSBjYWxjdWxhdG9yIHRvIGZpbGwgaW4gdGhlIG1pc3Npbmcgc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LmdldFZhbHVlKFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5zdGFydERhdGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmVuZERhdGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsdWUsIHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcblxuICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSwgZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcblxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAgICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGluaXRpYWxseSwgaXRzIHZhbHVlIGlzIG5vdCByZXByZXNlbnRlZCBvbiB0aGUgdmlldy5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzc5MlxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy4jY29udHJvbCkge1xuICAgICAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jdmFsdWVPckRlZmF1bHQsIHtcbiAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydjYWxjdWxhdG9ySWRzJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2NhbGN1bGF0b3JJZHMnXS5maXJzdENoYW5nZSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUNhbGN1bGF0b3JzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbD8udmFsdWU7XG5cbiAgICAgICAgLy8gTWFpbnRhaW4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZXMgaWYgdGhlIGNhbGN1bGF0b3JzIGNoYW5nZSBhZnRlclxuICAgICAgICAvLyBhIHZhbHVlIGhhcyBiZWVuIGNob3Nlbi5cbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gY2FsY3VsYXRvci5jYWxjdWxhdG9ySWQgPT09IGlkO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLiNkZWZhdWx0Q2FsY3VsYXRvcj8uZ2V0VmFsdWUoKTtcbiAgICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRmllbGRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgLy8gT25seSB1cGRhdGUgdGhlIHVuZGVybHlpbmcgY29udHJvbHMgd2hlbiB0aGUgY2FsY3VsYXRvcnMgYXJlIHJlYWR5LlxuICAgIGNvbnN0IG5vdGlmeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgLy8gKFdlIHN0aWxsIG5lZWQgdG8gc2F2ZSB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgYnkgdGhlIGNvbnN1bWVyJ3MgZm9ybSwgaG93ZXZlci4pXG4gICAgdGhpcy4jc2V0VmFsdWUodmFsdWUsIG5vdGlmeUNoYW5nZSk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWR5KSB7XG4gICAgICAvLyBXaGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgaXMgc2V0IHRvIGBudWxsYCxcbiAgICAgIC8vIHNldCBpdCB0byB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy4jb25DaGFuZ2UodGhpcy4jZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZSgpO1xuICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNSZWFkeSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGlkQ29udHJvbCA9IHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LnZhbGlkYXRlKHZhbHVlKTtcblxuICAgIGxldCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGVycm9ycyA9IHtcbiAgICAgICAgc2t5RGF0ZVJhbmdlOiB7XG4gICAgICAgICAgY2FsY3VsYXRvcklkOiBpZENvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgIGVycm9yczogcmVzdWx0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHN0YXJ0RXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgZW5kRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCkge1xuICAgICAgICBzdGFydEVycm9ycyA9IHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuZXJyb3JzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICAgIGVuZEVycm9ycyA9IHRoaXMuI2VuZERhdGVDb250cm9sLmVycm9ycztcbiAgICAgIH1cblxuICAgICAgZXJyb3JzID0gc3RhcnRFcnJvcnMgfHwgZW5kRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghZXJyb3JzKSB7XG4gICAgICAvLyBDbGVhciBhbnkgZXJyb3JzIG9uIHRoZSBjYWxjdWxhdG9yIHNlbGVjdC5cbiAgICAgIGlkQ29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWRDb250cm9sPy5zZXRFcnJvcnMoZXJyb3JzKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG5cbiAgICAvLyBOZWVkIHRvIG1hcmsgdGhlIGNvbnRyb2wgYXMgdG91Y2hlZCBmb3IgdGhlIGVycm9yIG1lc3NhZ2VzIHRvIGFwcGVhci5cbiAgICB0aGlzLiNjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIE5vdGlmeSB0aGUgdmlldyB0byBkaXNwbGF5IGFueSBlcnJvcnMuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoXG4gICAgZm46ICh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gICNzZXRWYWx1ZShcbiAgICB2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgbm90aWZ5Q2hhbmdlID0gdHJ1ZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpc05ld1ZhbHVlID0gIXRoaXMuI2RhdGVSYW5nZXNFcXVhbCh0aGlzLiN2YWx1ZSwgdmFsdWUpO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmNhbGN1bGF0b3JJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQgPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vdGlmeUNoYW5nZSkge1xuICAgICAgICB0aGlzLiNvbkNoYW5nZSh0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3BhdGNoVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy4jdmFsdWVPckRlZmF1bHQsIHZhbHVlKTtcblxuICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gICNjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy4jZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgY2FsY3VsYXRvcklkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gICAgICBzdGFydERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIGVuZERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgY2FsY3VsYXRvciA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yO1xuXG4gICAgbGV0IHNob3dFbmREYXRlUGlja2VyID0gZmFsc2U7XG4gICAgbGV0IHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoY2FsY3VsYXRvcj8udHlwZSkge1xuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5CZWZvcmU6XG4gICAgICAgIHNob3dFbmREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuQWZ0ZXI6XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5SYW5nZTpcbiAgICAgICAgc2hvd0VuZERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBzaG93U3RhcnREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0VuZERhdGVQaWNrZXIgPSBzaG93RW5kRGF0ZVBpY2tlcjtcbiAgICB0aGlzLnNob3dTdGFydERhdGVQaWNrZXIgPSBzaG93U3RhcnREYXRlUGlja2VyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3Jlc2V0Rm9ybUdyb3VwVmFsdWUodmFsdWU/OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwPy5yZXNldCh2YWx1ZSB8fCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gIH1cblxuICAjYWRkRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLy8gV2F0Y2ggZm9yIHNlbGVjdGVkIGNhbGN1bGF0b3IgY2hhbmdlLlxuICAgIHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLiN2YWx1ZU9yRGVmYXVsdD8uY2FsY3VsYXRvcklkKSB7XG4gICAgICAgICAgY29uc3QgaWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICAgIC8vIGlmIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQgZHVyaW5nIGZvcm0gY3JlYXRpb24sIG51bGwgaXMgcGFzc2VkXG4gICAgICAgICAgLy8gYXMgdGhlIHZhbHVlIG9mIHRoZSBjYWxjdWxhdG9yIGlkIGNvbnRyb2xcbiAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0aGUgdmFsdWUgY2hhbmdlcyBpZiB0aGUgY2FsY3VsYXRvciBpZCBpcyBhIG51bWJlclxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc05hTihpZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0b3IgPSB0aGlzLiNnZXRDYWxjdWxhdG9yQnlJZChpZCk7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc3RhcnQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhcnREYXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3BhdGNoVmFsdWUoeyBzdGFydERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIGZvciBlbmQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI2VuZERhdGVDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVuZERhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jcGF0Y2hWYWx1ZSh7IGVuZERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFNhZmV0eSBjaGVja1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wgJiYgdGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgIC8vIERldGVjdCBlcnJvcnMgZnJvbSB0aGUgZGF0ZSBpbnB1dHMgYW5kIHVwZGF0ZSBuZy0gY2xhc3NlcyBvbiBwaWNrZXIuXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgICB0aGlzLiNlbmREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sKSB7XG4gICAgICB0aGlzLiNzdGFydERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gV2FpdCBmb3IgaW5pdGlhbCB2YWxpZGF0aW9uIHRvIGNvbXBsZXRlLlxuICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gICN1cGRhdGVDYWxjdWxhdG9ycygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jZGF0ZVJhbmdlU2VydmljZVxuICAgICAgLmdldENhbGN1bGF0b3JzKHRoaXMuY2FsY3VsYXRvcklkcylcbiAgICAgIC50aGVuKChjYWxjdWxhdG9ycykgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0b3JzID0gY2FsY3VsYXRvcnM7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGFueSBwcmV2aW91c2x5IHNldCB2YWx1ZSBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgc2VsZWN0ZWQgY2FsY3VsYXRvclxuICAgICAgICB0aGlzLiN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNnZXRDYWxjdWxhdG9yQnlJZChcbiAgICBpZDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkXG4gICk6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gaWQ7XG4gICAgfSk7XG4gIH1cblxuICAjZGF0ZVJhbmdlc0VxdWFsKFxuICAgIHJhbmdlQTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgcmFuZ2VCOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFyYW5nZUEgJiYgISFyYW5nZUIgJiYgSlNPTi5zdHJpbmdpZnkocmFuZ2VBKSA9PT0gSlNPTi5zdHJpbmdpZnkocmFuZ2VCKVxuICAgICk7XG4gIH1cblxuICAjdXBkYXRlU2VsZWN0ZWRDYWxjdWxhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yID0gdGhpcy4jdmFsdWVPckRlZmF1bHRcbiAgICAgID8gdGhpcy4jZ2V0Q2FsY3VsYXRvckJ5SWQodGhpcy4jdmFsdWVPckRlZmF1bHQuY2FsY3VsYXRvcklkKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCA9PiB7fTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaXNSZWFkeSAmJiBmb3JtR3JvdXBcIlxuICBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlclwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktZGF0ZS1yYW5nZS1waWNrZXItbGFzdC1pbnB1dCc6XG4gICAgICAgICFzaG93U3RhcnREYXRlUGlja2VyICYmICFzaG93RW5kRGF0ZVBpY2tlclxuICAgIH1cIlxuICA+XG4gICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc2VsZWN0LWNhbGN1bGF0b3InXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICBsYWJlbCB8fCAoJ3NreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2RlZmF1bHRfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRvcklkXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXNlbGVjdC1jYWxjdWxhdG9yJ1wiXG4gICAgICAgIChibHVyKT1cIm9uRmllbGRCbHVyKClcIlxuICAgICAgPlxuICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGN1bGF0b3Igb2YgY2FsY3VsYXRvcnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjYWxjdWxhdG9yLnNob3J0RGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L3NreS1pbnB1dC1ib3g+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlci1mb3JtLWdyb3VwXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWRhdGUtcmFuZ2UtcGlja2VyLWxhc3QtaW5wdXQnOlxuICAgICAgICBzaG93U3RhcnREYXRlUGlja2VyICYmICFzaG93RW5kRGF0ZVBpY2tlclxuICAgIH1cIlxuICAgIFtoaWRkZW5dPVwiIXNob3dTdGFydERhdGVQaWNrZXJcIlxuICA+XG4gICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc3RhcnQtZGF0ZSdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHN0YXJ0RGF0ZVJlcXVpcmVkIH1cIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZGVmYXVsdF9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgICA6IChzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICAgICAgICA6IGxhYmVsKVxuICAgICAgICAgICAgICA6IChzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci5pZF09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc3RhcnQtZGF0ZSdcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCIhIXN0YXJ0RGF0ZVJlcXVpcmVkXCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgICAgICBza3lEYXRlcGlja2VySW5wdXRcbiAgICAgICAgLz5cbiAgICAgIDwvc2t5LWRhdGVwaWNrZXI+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXItZm9ybS1ncm91cFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1kYXRlLXJhbmdlLXBpY2tlci1sYXN0LWlucHV0Jzogc2hvd0VuZERhdGVQaWNrZXJcbiAgICB9XCJcbiAgICBbaGlkZGVuXT1cIiFzaG93RW5kRGF0ZVBpY2tlclwiXG4gID5cbiAgICA8c2t5LWlucHV0LWJveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1lbmQtZGF0ZSdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IGVuZERhdGVSZXF1aXJlZCB9XCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICB9fVxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPHNreS1kYXRlcGlja2VyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZERhdGVcIlxuICAgICAgICAgIHNreURhdGVwaWNrZXJJbnB1dFxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZGVmYXVsdF9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgICA6IChzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgICAgICAgOiBsYWJlbClcbiAgICAgICAgICAgICAgOiAoc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJFbmREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1lbmQtZGF0ZSdcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCIhIWVuZERhdGVSZXF1aXJlZFwiXG4gICAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICAgIC8+XG4gICAgICA8L3NreS1kYXRlcGlja2VyPlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -93,6 +93,7 @@ const RESOURCES = {
|
|
93
93
|
skyux_date_range_picker_end_date_label: { message: 'To date' },
|
94
94
|
skyux_date_range_picker_before_date_label: { message: 'Before date' },
|
95
95
|
skyux_date_range_picker_after_date_label: { message: 'After date' },
|
96
|
+
skyux_date_range_picker_default_aria_label: { message: '{0} for {1}' },
|
96
97
|
},
|
97
98
|
};
|
98
99
|
SkyLibResourcesService.addResources(RESOURCES);
|
@@ -128,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
128
129
|
],
|
129
130
|
}]
|
130
131
|
}] });
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUU7UUFDUCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO1FBQ0QscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7UUFDRCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO1FBQ0QscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7UUFDRCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8s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NEI7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cblxuLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktZGF0ZXRpbWUnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLUFVJzoge1xuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTGFzdCBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ1RoaXMgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdOZXh0IGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICB9LFxuICAnRU4tR0InOiB7XG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdMYXN0IGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnVGhpcyBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbmV4dF9maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ05leHQgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gIH0sXG4gICdFTi1OWic6IHtcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ0xhc3QgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTmV4dCBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgfSxcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2RhdGVwaWNrZXJfdHJpZ2dlcl9idXR0b25fbGFiZWw6IHsgbWVzc2FnZTogJ1NlbGVjdCBkYXRlJyB9LFxuICAgIHNreXV4X3RpbWVwaWNrZXJfYnV0dG9uX2xhYmVsOiB7IG1lc3NhZ2U6ICdDaG9vc2UgdGltZScgfSxcbiAgICBza3l1eF90aW1lcGlja2VyX2Nsb3NlOiB7IG1lc3NhZ2U6ICdEb25lJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2RlZmF1bHRfbGFiZWw6IHsgbWVzc2FnZTogJ1NlbGVjdCBhIGRhdGUgcmFuZ2UnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3NwZWNpZmljX3JhbmdlOiB7XG4gICAgICBtZXNzYWdlOiAnU3BlY2lmaWMgcmFuZ2UnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2JlZm9yZTogeyBtZXNzYWdlOiAnQmVmb3JlJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9hZnRlcjogeyBtZXNzYWdlOiAnQWZ0ZXInIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2FueV90aW1lOiB7IG1lc3NhZ2U6ICdBdCBhbnkgdGltZScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfeWVzdGVyZGF5OiB7IG1lc3NhZ2U6ICdZZXN0ZXJkYXknIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RvZGF5OiB7IG1lc3NhZ2U6ICdUb2RheScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdG9tb3Jyb3c6IHsgbWVzc2FnZTogJ1RvbW9ycm93JyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3dlZWs6IHsgbWVzc2FnZTogJ0xhc3Qgd2VlaycgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc193ZWVrOiB7IG1lc3NhZ2U6ICdUaGlzIHdlZWsnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfd2VlazogeyBtZXNzYWdlOiAnTmV4dCB3ZWVrJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X21vbnRoOiB7IG1lc3NhZ2U6ICdMYXN0IG1vbnRoJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX21vbnRoOiB7IG1lc3NhZ2U6ICdUaGlzIG1vbnRoJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X21vbnRoOiB7IG1lc3NhZ2U6ICdOZXh0IG1vbnRoJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X3F1YXJ0ZXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdMYXN0IHF1YXJ0ZXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfcXVhcnRlcjoge1xuICAgICAgbWVzc2FnZTogJ1RoaXMgcXVhcnRlcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbmV4dF9xdWFydGVyOiB7XG4gICAgICBtZXNzYWdlOiAnTmV4dCBxdWFydGVyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2NhbGVuZGFyX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdMYXN0IGNhbGVuZGFyIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfY2FsZW5kYXJfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ1RoaXMgY2FsZW5kYXIgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbmV4dF9jYWxlbmRhcl95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTmV4dCBjYWxlbmRhciB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTGFzdCBmaXNjYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ1RoaXMgZmlzY2FsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdOZXh0IGZpc2NhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX3N0YXJ0X2RhdGVfbGFiZWw6IHsgbWVzc2FnZTogJ0Zyb20gZGF0ZScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9lbmRfZGF0ZV9sYWJlbDogeyBtZXNzYWdlOiAnVG8gZGF0ZScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9iZWZvcmVfZGF0ZV9sYWJlbDogeyBtZXNzYWdlOiAnQmVmb3JlIGRhdGUnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfYWZ0ZXJfZGF0ZV9sYWJlbDogeyBtZXNzYWdlOiAnQWZ0ZXIgZGF0ZScgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbmV4cG9ydCBjbGFzcyBTa3lEYXRldGltZVJlc291cmNlc1Byb3ZpZGVyIGltcGxlbWVudHMgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIge1xuICBwdWJsaWMgZ2V0U3RyaW5nKFxuICAgIGxvY2FsZUluZm86IFNreUFwcExvY2FsZUluZm8sXG4gICAgbmFtZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldExpYlN0cmluZ0ZvckxvY2FsZShSRVNPVVJDRVMsIGxvY2FsZUluZm8ubG9jYWxlLCBuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogU2t5RGF0ZXRpbWVSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGV0aW1lUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUU7UUFDUCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO1FBQ0QscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7UUFDRCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO1FBQ0QscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AscURBQXFELEVBQUU7WUFDckQsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELHFEQUFxRCxFQUFFO1lBQ3JELE9BQU8sRUFBRSxxQkFBcUI7U0FDL0I7UUFDRCxxREFBcUQsRUFBRTtZQUNyRCxPQUFPLEVBQUUscUJBQXFCO1NBQy9CO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8s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QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsNEJBQTRCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LWRhdGV0aW1lJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1BVSc6IHtcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ0xhc3QgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTmV4dCBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgfSxcbiAgJ0VOLUdCJzoge1xuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9sYXN0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTGFzdCBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ1RoaXMgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdOZXh0IGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICB9LFxuICAnRU4tTlonOiB7XG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX2xhc3RfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdMYXN0IGZpbmFuY2lhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnVGhpcyBmaW5hbmNpYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbmV4dF9maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ05leHQgZmluYW5jaWFsIHllYXInLFxuICAgIH0sXG4gIH0sXG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9kYXRlcGlja2VyX3RyaWdnZXJfYnV0dG9uX2xhYmVsOiB7IG1lc3NhZ2U6ICdTZWxlY3QgZGF0ZScgfSxcbiAgICBza3l1eF90aW1lcGlja2VyX2J1dHRvbl9sYWJlbDogeyBtZXNzYWdlOiAnQ2hvb3NlIHRpbWUnIH0sXG4gICAgc2t5dXhfdGltZXBpY2tlcl9jbG9zZTogeyBtZXNzYWdlOiAnRG9uZScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9kZWZhdWx0X2xhYmVsOiB7IG1lc3NhZ2U6ICdTZWxlY3QgYSBkYXRlIHJhbmdlJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9zcGVjaWZpY19yYW5nZToge1xuICAgICAgbWVzc2FnZTogJ1NwZWNpZmljIHJhbmdlJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9iZWZvcmU6IHsgbWVzc2FnZTogJ0JlZm9yZScgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfYWZ0ZXI6IHsgbWVzc2FnZTogJ0FmdGVyJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9hbnlfdGltZTogeyBtZXNzYWdlOiAnQXQgYW55IHRpbWUnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3llc3RlcmRheTogeyBtZXNzYWdlOiAnWWVzdGVyZGF5JyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90b2RheTogeyBtZXNzYWdlOiAnVG9kYXknIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RvbW9ycm93OiB7IG1lc3NhZ2U6ICdUb21vcnJvdycgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF93ZWVrOiB7IG1lc3NhZ2U6ICdMYXN0IHdlZWsnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfd2VlazogeyBtZXNzYWdlOiAnVGhpcyB3ZWVrJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X3dlZWs6IHsgbWVzc2FnZTogJ05leHQgd2VlaycgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9tb250aDogeyBtZXNzYWdlOiAnTGFzdCBtb250aCcgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfdGhpc19tb250aDogeyBtZXNzYWdlOiAnVGhpcyBtb250aCcgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbmV4dF9tb250aDogeyBtZXNzYWdlOiAnTmV4dCBtb250aCcgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9xdWFydGVyOiB7XG4gICAgICBtZXNzYWdlOiAnTGFzdCBxdWFydGVyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX3F1YXJ0ZXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIHF1YXJ0ZXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfcXVhcnRlcjoge1xuICAgICAgbWVzc2FnZTogJ05leHQgcXVhcnRlcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9jYWxlbmRhcl95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTGFzdCBjYWxlbmRhciB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF90aGlzX2NhbGVuZGFyX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGNhbGVuZGFyIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX25leHRfY2FsZW5kYXJfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ05leHQgY2FsZW5kYXIgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9mb3JtYXRfbGFiZWxfbGFzdF9maXNjYWxfeWVhcjoge1xuICAgICAgbWVzc2FnZTogJ0xhc3QgZmlzY2FsIHllYXInLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZm9ybWF0X2xhYmVsX3RoaXNfZmlzY2FsX3llYXI6IHtcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGZpc2NhbCB5ZWFyJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2Zvcm1hdF9sYWJlbF9uZXh0X2Zpc2NhbF95ZWFyOiB7XG4gICAgICBtZXNzYWdlOiAnTmV4dCBmaXNjYWwgeWVhcicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9zdGFydF9kYXRlX2xhYmVsOiB7IG1lc3NhZ2U6ICdGcm9tIGRhdGUnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZW5kX2RhdGVfbGFiZWw6IHsgbWVzc2FnZTogJ1RvIGRhdGUnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfYmVmb3JlX2RhdGVfbGFiZWw6IHsgbWVzc2FnZTogJ0JlZm9yZSBkYXRlJyB9LFxuICAgIHNreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2FmdGVyX2RhdGVfbGFiZWw6IHsgbWVzc2FnZTogJ0FmdGVyIGRhdGUnIH0sXG4gICAgc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZGVmYXVsdF9hcmlhX2xhYmVsOiB7IG1lc3NhZ2U6ICd7MH0gZm9yIHsxfScgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbmV4cG9ydCBjbGFzcyBTa3lEYXRldGltZVJlc291cmNlc1Byb3ZpZGVyIGltcGxlbWVudHMgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIge1xuICBwdWJsaWMgZ2V0U3RyaW5nKFxuICAgIGxvY2FsZUluZm86IFNreUFwcExvY2FsZUluZm8sXG4gICAgbmFtZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldExpYlN0cmluZ0ZvckxvY2FsZShSRVNPVVJDRVMsIGxvY2FsZUluZm8ubG9jYWxlLCBuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogU2t5RGF0ZXRpbWVSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGV0aW1lUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|
@@ -244,6 +244,7 @@ const RESOURCES = {
|
|
244
244
|
skyux_date_range_picker_end_date_label: { message: 'To date' },
|
245
245
|
skyux_date_range_picker_before_date_label: { message: 'Before date' },
|
246
246
|
skyux_date_range_picker_after_date_label: { message: 'After date' },
|
247
|
+
skyux_date_range_picker_default_aria_label: { message: '{0} for {1}' },
|
247
248
|
},
|
248
249
|
};
|
249
250
|
SkyLibResourcesService.addResources(RESOURCES);
|
@@ -4318,14 +4319,14 @@ class SkyDateRangePickerComponent {
|
|
4318
4319
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyDateRangePickerComponent, selector: "sky-date-range-picker", inputs: { calculatorIds: "calculatorIds", dateFormat: "dateFormat", disabled: "disabled", label: "label", startDateRequired: "startDateRequired", endDateRequired: "endDateRequired" }, providers: [
|
4319
4320
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
4320
4321
|
SKY_DATE_RANGE_PICKER_VALIDATOR,
|
4321
|
-
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{ label || 'skyux_date_range_picker_default_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "openChange"] }, { kind: "directive", type: SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "component", type: i2$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i2$1.λ20, selector: "input:not([skyId]):not(.sky-form-control),select:not([skyId]):not(.sky-form-control),textarea:not([skyId]):not(.sky-form-control)", inputs: ["autocomplete"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" }, { kind: "pipe", type: SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
4322
|
+
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{\n label || ('skyux_date_range_picker_default_label' | skyLibResources)\n }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "openChange"] }, { kind: "directive", type: SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "component", type: i2$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" }, { kind: "pipe", type: SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
4322
4323
|
}
|
4323
4324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyDateRangePickerComponent, decorators: [{
|
4324
4325
|
type: Component,
|
4325
4326
|
args: [{ selector: 'sky-date-range-picker', providers: [
|
4326
4327
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
4327
4328
|
SKY_DATE_RANGE_PICKER_VALIDATOR,
|
4328
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{
|
4329
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n !showStartDatePicker && !showEndDatePicker\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{\n label || ('skyux_date_range_picker_default_label' | skyLibResources)\n }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input':\n showStartDatePicker && !showEndDatePicker\n }\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [ngClass]=\"{\n 'sky-date-range-picker-last-input': showEndDatePicker\n }\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n class=\"sky-form-control\"\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n label\n ? ('skyux_date_range_picker_default_aria_label'\n | skyLibResources\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n : label)\n : (selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources)\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [":host{display:block}.sky-date-range-picker{display:flex}@media (max-width: 768px){.sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}@media (min-width: 768px){:host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}}.sky-responsive-container-sm :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-md :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group,.sky-responsive-container-lg :host-context(sky-filter-inline-item) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0}@media (max-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-bottom:var(--sky-margin-stacked-lg)}}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group:not(.sky-date-range-picker-last-input){margin-right:20px}}\n"] }]
|
4329
4330
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SkyDateRangeService }, { type: i2$2.UntypedFormBuilder }, { type: i3.SkyAppLocaleProvider }, { type: i0.NgZone }, { type: i3$2.SkyThemeService, decorators: [{
|
4330
4331
|
type: Optional
|
4331
4332
|
}] }]; }, propDecorators: { calculatorIds: [{
|