@skyux/lookup 11.11.2 → 11.13.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 +6608 -3909
- package/esm2022/lib/modules/search/search.component.mjs +3 -3
- package/esm2022/testing/country-field/country-field-harness-filters.mjs +2 -0
- package/esm2022/testing/country-field/country-field-harness.mjs +139 -0
- package/esm2022/testing/country-field/country-field-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/country-field/country-field-search-result-harness.mjs +24 -0
- package/esm2022/testing/public-api.mjs +3 -1
- package/fesm2022/skyux-lookup-testing.mjs +158 -1
- package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +2 -2
- package/fesm2022/skyux-lookup.mjs.map +1 -1
- package/package.json +11 -11
- package/testing/country-field/country-field-harness-filters.d.ts +6 -0
- package/testing/country-field/country-field-harness.d.ts +85 -0
- package/testing/country-field/country-field-search-result-harness-filters.d.ts +7 -0
- package/testing/country-field/country-field-search-result-harness.d.ts +20 -0
- package/testing/public-api.d.ts +4 -0
|
@@ -240,7 +240,7 @@ export class SkySearchComponent {
|
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
242
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
244
244
|
trigger('inputState', [
|
|
245
245
|
state(INPUT_HIDDEN_STATE, style({
|
|
246
246
|
opacity: 0,
|
|
@@ -268,7 +268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
268
268
|
})),
|
|
269
269
|
transition('* <=> *', animate('150ms')),
|
|
270
270
|
]),
|
|
271
|
-
], providers: [SkySearchAdapterService], template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group
|
|
271
|
+
], providers: [SkySearchAdapterService], template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"] }]
|
|
272
272
|
}], ctorParameters: () => [{ type: i1.SkyMediaQueryService }, { type: i0.ElementRef }, { type: i2.SkySearchAdapterService }, { type: i0.ChangeDetectorRef }], propDecorators: { ariaLabel: [{
|
|
273
273
|
type: Input
|
|
274
274
|
}], ariaLabelledBy: [{
|
|
@@ -290,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
290
290
|
}], placeholderText: [{
|
|
291
291
|
type: Input
|
|
292
292
|
}] } });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBNEJoQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJ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SDtnQkFDRCxLQUFLLENBQ0gsaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsTUFBTTtpQkFDZCxDQUFDLENBQ0g7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEMsQ0FBQztTQUNIOzsyRkFHVSxrQkFBa0I7a0JBMUI5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxjQUN6Qjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQ0gsa0JBQWtCLEVBQ2xCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsQ0FBQzs2QkFDVCxDQUFDLENBQ0g7NEJBQ0QsS0FBSyxDQUNILGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzt3TEFZN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGVudEluZm8sXG4gIFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsXG4gIFNreU1lZGlhQnJlYWtwb2ludHMsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBJTlBVVF9TSE9XTl9TVEFURSA9ICdpbnB1dFNob3duJztcbmNvbnN0IElOUFVUX0hJRERFTl9TVEFURSA9ICdpbnB1dEhpZGRlbic7XG5jb25zdCBFWFBBTkRfTU9ERV9SRVNQT05TSVZFID0gJ3Jlc3BvbnNpdmUnO1xuY29uc3QgRVhQQU5EX01PREVfRklUID0gJ2ZpdCc7XG5jb25zdCBFWFBBTkRfTU9ERV9OT05FID0gJ25vbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9ISURERU5fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPD0+IConLCBhbmltYXRlKCcxNTBtcycpKSxcbiAgICBdKSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5U2VhcmNoQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgc2VhcmNoIGlucHV0LiBUaGlzIHNldHMgdGhlIHNlYXJjaCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVXNlIGEgY29udGV4dC1zZW5zaXRpdmUgbGFiZWwsIHN1Y2ggYXMgXCJTZWFyY2ggY29uc3RpdHVlbnRzLlwiIENvbnRleHQgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBtdWx0aXBsZSBzZWFyY2ggaW5wdXRzIGFyZSBpbiBjbG9zZSBwcm94aW1pdHkuXG4gICAqIEluIHRvb2xiYXJzLCBzZWFyY2ggaW5wdXRzIHVzZSB0aGUgYGxpc3REZXNjcmlwdG9yYCB0byBwcm92aWRlIGNvbnRleHQsIGFuZCB0aGUgQVJJQSBsYWJlbCBkZWZhdWx0cyB0byBcIlNlYXJjaCA8bGlzdERlc2NyaXB0b3I+LlwiXG4gICAqIElmIHRoZSBib3ggaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgc2VhcmNoLiBUaGlzIHNldHMgdGhlIHNlYXJjaCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgYm94IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsbGVkYnkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGFwcGxpZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjbGVhcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRGVmYXVsdCBzZWFyY2ggY3JpdGVyaWEgZm9yIHRoZSBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleHBhbmQgbW9kZSBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHZhbGlkIG9wdGlvbnNcbiAgICogaW5jbHVkZSBgXCJyZXNwb25zaXZlXCJgIHRvIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgaW50byBhIGJ1dHRvbiBvblxuICAgKiBtb2JpbGUgZGV2aWNlcywgYFwibm9uZVwiYCB0byAqbm90KiBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IG9uIG1vYmlsZVxuICAgKiBkZXZpY2VzLCBhbmQgYFwiZml0XCJgIHRvIGV4dGVuZCB0aGUgc2VhcmNoIGlucHV0IHRvIGZpdCB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgXCJyZXNwb25zaXZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZXhwYW5kTW9kZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2V4cGFuZE1vZGUgPSB2YWx1ZSA/PyBFWFBBTkRfTU9ERV9SRVNQT05TSVZFO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBhbmRNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19leHBhbmRNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBzZWFyY2hpbmcgYWZ0ZXIgdXNlcnMgZW50ZXIgdGV4dCBpbiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlYm91bmNlVGltZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RlYm91bmNlVGltZSA9IHZhbHVlID8/IDA7XG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVib3VuY2VUaW1lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWJvdW5jZVRpbWU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBmaWx0ZXIgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlID8/IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgc2VhcmNoIGlucHV0IHVudGlsIHVzZXJzXG4gICAqIGVudGVyIHNlYXJjaCBjcml0ZXJpYS5cbiAgICogQGRlZmF1bHQgXCJGaW5kIGluIHRoaXMgbGlzdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkaXNtaXNzQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgaW5wdXRBbmltYXRlOiBzdHJpbmcgPSBJTlBVVF9TSE9XTl9TVEFURTtcblxuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgcHVibGljIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgcHVibGljIG1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIHNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGNvbnRlbnRJbmZvT2JzOiBPYnNlcnZhYmxlPFNreUNvbnRlbnRJbmZvPiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY29udGVudEluZm9Qcm92aWRlciA9IGluamVjdChTa3lDb250ZW50SW5mb1Byb3ZpZGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcblxuICAgIHRoaXMuY29udGVudEluZm9PYnMgPSB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyPy5nZXRJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJncyk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQodGhpcy5zZWFyY2hUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnNlYXJjaFRleHQgIT09ICcnKTtcbiAgICAgIGlmICh0aGlzLiNzaG91bGRPcGVuSW5wdXQoKSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoVGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZm9jdXNJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHRoaXMuc2VhcmNoVGV4dCk7XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQ2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVudGVyUHJlc3MoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XG4gICAgICB0aGlzLmFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIC8vIERvdWJsZSBjaGVjayB0aGF0IHNlYXJjaCB0ZXh0IGlzIGRlZmluZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdHJpbSBvZmYgd2hpdGVzcGFjZVxuICAgIGlmIChzZWFyY2hUZXh0KSB7XG4gICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC50cmltKCk7XG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaFRleHQgIT09IHRoaXMuc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB9XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgaWYgKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc2VsZWN0SW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hUZXh0Q2hhbmdlZChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hJbnB1dChzaG93SW5wdXQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKHNob3dJbnB1dCkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc3RhcnRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfU0hPV05fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSB0cnVlO1xuICAgICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmVuZElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9XG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuXG4gICAgICBpZiAoXG4gICAgICAgIChldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ICE9PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICAjc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10gJiZcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydzZWFyY2hUZXh0J10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydleHBhbmRNb2RlJ10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNzaG91bGRPcGVuSW5wdXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycgJiZcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgJiZcbiAgICAgIHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKClcbiAgICApO1xuICB9XG5cbiAgI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0QW5pbWF0ZSAhPT0gSU5QVVRfU0hPV05fU1RBVEUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3NlYXJjaFNob3VsZENvbGxhcHNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc0NvbGxhcHNpYmxlIHx8IHRoaXMuaXNDb2xsYXBzaWJsZSA9PT0gdW5kZWZpbmVkKSAmJlxuICAgICAgdGhpcy5pc0Z1bGxXaWR0aCAhPT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICAjc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWIgPSB0aGlzLiNzZWFyY2hVcGRhdGVkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvbiBza3ktc2VhcmNoLWJ0bi1vcGVuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX29wZW4nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtoaWRkZW5dPVwiIXNlYXJjaEJ1dHRvblNob3duXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1zZWFyY2gtYnRuLW9wZW4tYXBwbGllZCc6IGNsZWFyQnV0dG9uU2hvd24gfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQodHJ1ZSlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXNlYXJjaC1kaXNtaXNzLWNvbnRhaW5lclwiXG4gICAgW2hpZGRlbl09XCJzZWFyY2hCdXR0b25TaG93blwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1zZWFyY2gtZGlzbWlzcy1hYnNvbHV0ZSc6IG1vYmlsZVNlYXJjaFNob3duIHx8IGlzRnVsbFdpZHRoXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWlucHV0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICBbQGlucHV0U3RhdGVdPVwiaW5wdXRBbmltYXRlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lci1oYXMtdmFsdWUnOiBzZWFyY2hUZXh0Py50cmltKClcbiAgICAgICAgfVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5zdGFydCk9XCJpbnB1dEFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAoQGlucHV0U3RhdGUuZG9uZSk9XCJpbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2wgc2t5LXNlYXJjaC1pbnB1dCBza3ktcm91bmRlZC1jb3JuZXJzXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBhcmlhTGFiZWxsZWRCeVxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiBhcmlhTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICgoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3I/LnR5cGUgPT09ICd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICA/ICgnc2t5dXhfc2VhcmNoX2FyaWFfbGFiZWxfZGVzY3JpcHRvcidcbiAgICAgICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3I/LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6ICgnc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcykpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlclRleHQgfHwgKCdza3l1eF9zZWFyY2hfcGxhY2Vob2xkZXInIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJlbnRlclByZXNzKCRldmVudCwgc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoVGV4dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiIC8+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNsb3NlXCIgc2l6ZT1cInNtXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tYXBwbHlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1pY29uIHNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCI+XG4gICAgICBAaWYgKG1vYmlsZVNlYXJjaFNob3duKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zZWNvbmRhcnkgc2t5LXNlYXJjaC1idG4tZGlzbWlzc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJcbiAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gaWNvbj1cInNlYXJjaFwiIHNpemU9XCJsZ1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBNEJoQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJ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SDtnQkFDRCxLQUFLLENBQ0gsaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsTUFBTTtpQkFDZCxDQUFDLENBQ0g7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEMsQ0FBQztTQUNIOzsyRkFHVSxrQkFBa0I7a0JBMUI5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxjQUN6Qjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQ0gsa0JBQWtCLEVBQ2xCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsQ0FBQzs2QkFDVCxDQUFDLENBQ0g7NEJBQ0QsS0FBSyxDQUNILGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzt3TEFZN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGVudEluZm8sXG4gIFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsXG4gIFNreU1lZGlhQnJlYWtwb2ludHMsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBJTlBVVF9TSE9XTl9TVEFURSA9ICdpbnB1dFNob3duJztcbmNvbnN0IElOUFVUX0hJRERFTl9TVEFURSA9ICdpbnB1dEhpZGRlbic7XG5jb25zdCBFWFBBTkRfTU9ERV9SRVNQT05TSVZFID0gJ3Jlc3BvbnNpdmUnO1xuY29uc3QgRVhQQU5EX01PREVfRklUID0gJ2ZpdCc7XG5jb25zdCBFWFBBTkRfTU9ERV9OT05FID0gJ25vbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9ISURERU5fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPD0+IConLCBhbmltYXRlKCcxNTBtcycpKSxcbiAgICBdKSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5U2VhcmNoQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgc2VhcmNoIGlucHV0LiBUaGlzIHNldHMgdGhlIHNlYXJjaCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVXNlIGEgY29udGV4dC1zZW5zaXRpdmUgbGFiZWwsIHN1Y2ggYXMgXCJTZWFyY2ggY29uc3RpdHVlbnRzLlwiIENvbnRleHQgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBtdWx0aXBsZSBzZWFyY2ggaW5wdXRzIGFyZSBpbiBjbG9zZSBwcm94aW1pdHkuXG4gICAqIEluIHRvb2xiYXJzLCBzZWFyY2ggaW5wdXRzIHVzZSB0aGUgYGxpc3REZXNjcmlwdG9yYCB0byBwcm92aWRlIGNvbnRleHQsIGFuZCB0aGUgQVJJQSBsYWJlbCBkZWZhdWx0cyB0byBcIlNlYXJjaCA8bGlzdERlc2NyaXB0b3I+LlwiXG4gICAqIElmIHRoZSBib3ggaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgc2VhcmNoLiBUaGlzIHNldHMgdGhlIHNlYXJjaCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgYm94IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsbGVkYnkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGFwcGxpZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjbGVhcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRGVmYXVsdCBzZWFyY2ggY3JpdGVyaWEgZm9yIHRoZSBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleHBhbmQgbW9kZSBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHZhbGlkIG9wdGlvbnNcbiAgICogaW5jbHVkZSBgXCJyZXNwb25zaXZlXCJgIHRvIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgaW50byBhIGJ1dHRvbiBvblxuICAgKiBtb2JpbGUgZGV2aWNlcywgYFwibm9uZVwiYCB0byAqbm90KiBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IG9uIG1vYmlsZVxuICAgKiBkZXZpY2VzLCBhbmQgYFwiZml0XCJgIHRvIGV4dGVuZCB0aGUgc2VhcmNoIGlucHV0IHRvIGZpdCB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgXCJyZXNwb25zaXZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZXhwYW5kTW9kZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2V4cGFuZE1vZGUgPSB2YWx1ZSA/PyBFWFBBTkRfTU9ERV9SRVNQT05TSVZFO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBhbmRNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19leHBhbmRNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBzZWFyY2hpbmcgYWZ0ZXIgdXNlcnMgZW50ZXIgdGV4dCBpbiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlYm91bmNlVGltZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RlYm91bmNlVGltZSA9IHZhbHVlID8/IDA7XG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVib3VuY2VUaW1lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWJvdW5jZVRpbWU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBmaWx0ZXIgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlID8/IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgc2VhcmNoIGlucHV0IHVudGlsIHVzZXJzXG4gICAqIGVudGVyIHNlYXJjaCBjcml0ZXJpYS5cbiAgICogQGRlZmF1bHQgXCJGaW5kIGluIHRoaXMgbGlzdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkaXNtaXNzQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgaW5wdXRBbmltYXRlOiBzdHJpbmcgPSBJTlBVVF9TSE9XTl9TVEFURTtcblxuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgcHVibGljIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgcHVibGljIG1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIHNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGNvbnRlbnRJbmZvT2JzOiBPYnNlcnZhYmxlPFNreUNvbnRlbnRJbmZvPiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY29udGVudEluZm9Qcm92aWRlciA9IGluamVjdChTa3lDb250ZW50SW5mb1Byb3ZpZGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcblxuICAgIHRoaXMuY29udGVudEluZm9PYnMgPSB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyPy5nZXRJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJncyk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQodGhpcy5zZWFyY2hUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnNlYXJjaFRleHQgIT09ICcnKTtcbiAgICAgIGlmICh0aGlzLiNzaG91bGRPcGVuSW5wdXQoKSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoVGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZm9jdXNJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHRoaXMuc2VhcmNoVGV4dCk7XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQ2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVudGVyUHJlc3MoXG4gICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XG4gICAgICB0aGlzLmFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIC8vIERvdWJsZSBjaGVjayB0aGF0IHNlYXJjaCB0ZXh0IGlzIGRlZmluZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdHJpbSBvZmYgd2hpdGVzcGFjZVxuICAgIGlmIChzZWFyY2hUZXh0KSB7XG4gICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC50cmltKCk7XG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaFRleHQgIT09IHRoaXMuc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB9XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgaWYgKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc2VsZWN0SW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hUZXh0Q2hhbmdlZChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hJbnB1dChzaG93SW5wdXQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKHNob3dJbnB1dCkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc3RhcnRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfU0hPV05fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSB0cnVlO1xuICAgICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmVuZElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9XG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuXG4gICAgICBpZiAoXG4gICAgICAgIChldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ICE9PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICAjc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10gJiZcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydzZWFyY2hUZXh0J10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydleHBhbmRNb2RlJ10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNzaG91bGRPcGVuSW5wdXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycgJiZcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgJiZcbiAgICAgIHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKClcbiAgICApO1xuICB9XG5cbiAgI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0QW5pbWF0ZSAhPT0gSU5QVVRfU0hPV05fU1RBVEUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3NlYXJjaFNob3VsZENvbGxhcHNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc0NvbGxhcHNpYmxlIHx8IHRoaXMuaXNDb2xsYXBzaWJsZSA9PT0gdW5kZWZpbmVkKSAmJlxuICAgICAgdGhpcy5pc0Z1bGxXaWR0aCAhPT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICAjc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWIgPSB0aGlzLiNzZWFyY2hVcGRhdGVkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvbiBza3ktc2VhcmNoLWJ0bi1vcGVuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX29wZW4nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtoaWRkZW5dPVwiIXNlYXJjaEJ1dHRvblNob3duXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1zZWFyY2gtYnRuLW9wZW4tYXBwbGllZCc6IGNsZWFyQnV0dG9uU2hvd24gfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQodHJ1ZSlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXNlYXJjaC1kaXNtaXNzLWNvbnRhaW5lclwiXG4gICAgW2hpZGRlbl09XCJzZWFyY2hCdXR0b25TaG93blwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1zZWFyY2gtZGlzbWlzcy1hYnNvbHV0ZSc6IG1vYmlsZVNlYXJjaFNob3duIHx8IGlzRnVsbFdpZHRoXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWlucHV0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICBbQGlucHV0U3RhdGVdPVwiaW5wdXRBbmltYXRlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lci1oYXMtdmFsdWUnOiBzZWFyY2hUZXh0Py50cmltKClcbiAgICAgICAgfVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5zdGFydCk9XCJpbnB1dEFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAoQGlucHV0U3RhdGUuZG9uZSk9XCJpbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2wgc2t5LXNlYXJjaC1pbnB1dCBza3ktcm91bmRlZC1jb3JuZXJzXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBhcmlhTGFiZWxsZWRCeVxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiBhcmlhTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICgoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3I/LnR5cGUgPT09ICd0ZXh0J1xuICAgICAgICAgICAgICAgICAgICA/ICgnc2t5dXhfc2VhcmNoX2FyaWFfbGFiZWxfZGVzY3JpcHRvcidcbiAgICAgICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3I/LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6ICgnc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcykpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlclRleHQgfHwgKCdza3l1eF9zZWFyY2hfcGxhY2Vob2xkZXInIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJlbnRlclByZXNzKCRldmVudCwgc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoVGV4dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiIC8+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNsb3NlXCIgc2l6ZT1cInNtXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tYXBwbHlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1pY29uIHNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCI+XG4gICAgICBAaWYgKG1vYmlsZVNlYXJjaFNob3duKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zZWNvbmRhcnkgc2t5LXNlYXJjaC1idG4tZGlzbWlzc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJcbiAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gaWNvbj1cInNlYXJjaFwiIHNpemU9XCJsZ1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lDb3VudHJ5RmllbGRIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5Q291bnRyeUZpZWxkSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { SkyOverlayHarness } from '@skyux/core/testing';
|
|
2
|
+
import { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';
|
|
3
|
+
import { SkyAutocompleteInputHarness } from '../autocomplete/autocomplete-input-harness';
|
|
4
|
+
import { SkyCountryFieldSearchResultHarness } from './country-field-search-result-harness';
|
|
5
|
+
/**
|
|
6
|
+
* Harness for interacting with a country field component in tests.
|
|
7
|
+
*/
|
|
8
|
+
export class SkyCountryFieldHarness extends SkyAutocompleteHarness {
|
|
9
|
+
/**
|
|
10
|
+
* Finds a standard country field component, or a country field component that is wrapped by an input box component.
|
|
11
|
+
* For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`
|
|
12
|
+
* element is removed from the DOM.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
static { this.hostSelector = 'sky-country-field,.sky-country-field-container'; }
|
|
16
|
+
#documentRootLocator = this.documentRootLocatorFactory();
|
|
17
|
+
#getInput = this.locatorFor(SkyAutocompleteInputHarness);
|
|
18
|
+
/**
|
|
19
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
20
|
+
* `SkyCountryFieldHarness` that meets certain criteria.
|
|
21
|
+
* These filters only work for standalone country fields.
|
|
22
|
+
* For country fields wrapped inside `sky-input-box`, place filters
|
|
23
|
+
* on the input box instead, and query the country field using a `SkyInputBoxHarness`.
|
|
24
|
+
* For the input box implementation, see the code example.
|
|
25
|
+
*/
|
|
26
|
+
static with(filters) {
|
|
27
|
+
return SkyCountryFieldHarness.getDataSkyIdPredicate(filters);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Blurs the country field input.
|
|
31
|
+
*/
|
|
32
|
+
async blur() {
|
|
33
|
+
return await super.blur();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Clears the country field input value.
|
|
37
|
+
*/
|
|
38
|
+
async clear() {
|
|
39
|
+
return await super.clear();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Enters text into the country field input.
|
|
43
|
+
*/
|
|
44
|
+
async enterText(value) {
|
|
45
|
+
return await super.enterText(value);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Focuses the country field input.
|
|
49
|
+
*/
|
|
50
|
+
async focus() {
|
|
51
|
+
return await super.focus();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets the country field `aria-labelledby` value.
|
|
55
|
+
* This is not needed for country field because the id is generated internally,
|
|
56
|
+
* and the method is marked internal to prevent it from being documented publicly.
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
/* istanbul ignore next */
|
|
60
|
+
async getAriaLabelledby() {
|
|
61
|
+
return await super.getAriaLabelledby();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Returns country field search result harnesses.
|
|
65
|
+
*/
|
|
66
|
+
async getSearchResults(filters) {
|
|
67
|
+
const overlay = await this.#getOverlay();
|
|
68
|
+
if (!overlay) {
|
|
69
|
+
throw new Error('Unable to retrieve search results. The country field is closed.');
|
|
70
|
+
}
|
|
71
|
+
const harnesses = await overlay.queryHarnesses(SkyCountryFieldSearchResultHarness.with(filters || {}));
|
|
72
|
+
if (filters && harnesses.length === 0) {
|
|
73
|
+
// Stringify the regular expression so that it's readable in the console log.
|
|
74
|
+
if (filters.text instanceof RegExp) {
|
|
75
|
+
filters.text = filters.text.toString();
|
|
76
|
+
}
|
|
77
|
+
throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
|
|
78
|
+
}
|
|
79
|
+
return harnesses;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Returns the text content for each country field search result.
|
|
83
|
+
*/
|
|
84
|
+
async getSearchResultsText(filters) {
|
|
85
|
+
const harnesses = await this.getSearchResults(filters);
|
|
86
|
+
const text = [];
|
|
87
|
+
for (const harness of harnesses) {
|
|
88
|
+
text.push(await harness.getText());
|
|
89
|
+
}
|
|
90
|
+
return text;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Gets the value of the country field input.
|
|
94
|
+
*/
|
|
95
|
+
async getValue() {
|
|
96
|
+
return await super.getValue();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Gets the text displayed when no search results are found.
|
|
100
|
+
* For a country field, this is always the default text and the method
|
|
101
|
+
* is marked internal to prevent it from being documented publicly.
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
/* istanbul ignore next */
|
|
105
|
+
async getNoResultsFoundText() {
|
|
106
|
+
return await super.getNoResultsFoundText();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Whether the country field input is disabled.
|
|
110
|
+
*/
|
|
111
|
+
async isDisabled() {
|
|
112
|
+
return await super.isDisabled();
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Whether the country field input is focused.
|
|
116
|
+
*/
|
|
117
|
+
async isFocused() {
|
|
118
|
+
return await super.isFocused();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Whether the country field is open.
|
|
122
|
+
*/
|
|
123
|
+
async isOpen() {
|
|
124
|
+
return await super.isOpen();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Selects a search result.
|
|
128
|
+
*/
|
|
129
|
+
async selectSearchResult(filters) {
|
|
130
|
+
return await super.selectSearchResult(filters);
|
|
131
|
+
}
|
|
132
|
+
async #getOverlay() {
|
|
133
|
+
const overlayId = await (await this.#getInput()).getAriaControls();
|
|
134
|
+
return overlayId
|
|
135
|
+
? this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
|
|
136
|
+
: null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUd6RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRjs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFDaEU7Ozs7O09BS0c7YUFDb0IsaUJBQVksR0FDakMsZ0RBQWdELENBQUM7SUFFbkQsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFFekQsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV6RDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFVLElBQUksQ0FDekIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsSUFBSTtRQUN4QixPQUFPLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNhLEtBQUssQ0FBQyxLQUFLO1FBQ3pCLE9BQU8sTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFhO1FBQzNDLE9BQU8sTUFBTSxLQUFL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MUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1lBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY291bnRyeS1maWVsZC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvdW50cnlGaWVsZEhhcm5lc3MgZXh0ZW5kcyBTa3lBdXRvY29tcGxldGVIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEZpbmRzIGEgc3RhbmRhcmQgY291bnRyeSBmaWVsZCBjb21wb25lbnQsIG9yIGEgY291bnRyeSBmaWVsZCBjb21wb25lbnQgdGhhdCBpcyB3cmFwcGVkIGJ5IGFuIGlucHV0IGJveCBjb21wb25lbnQuXG4gICAqIEZvciBpbnB1dCBib3ggaW1wbGVtZW50YXRpb25zLCB3ZSBuZWVkIHRvIHVzZSB0aGUgYC5za3ktaW5wdXQtYm94YCBzZWxlY3RvciBzaW5jZSB0aGUgYHNreS1jb3VudHJ5LWZpZWxkYFxuICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgaG9zdFNlbGVjdG9yID1cbiAgICAnc2t5LWNvdW50cnktZmllbGQsLnNreS1jb3VudHJ5LWZpZWxkLWNvbnRhaW5lcic7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNvdW50cnlGaWVsZEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICogVGhlc2UgZmlsdGVycyBvbmx5IHdvcmsgZm9yIHN0YW5kYWxvbmUgY291bnRyeSBmaWVsZHMuXG4gICAqIEZvciBjb3VudHJ5IGZpZWxkcyB3cmFwcGVkIGluc2lkZSBgc2t5LWlucHV0LWJveGAsIHBsYWNlIGZpbHRlcnNcbiAgICogb24gdGhlIGlucHV0IGJveCBpbnN0ZWFkLCBhbmQgcXVlcnkgdGhlIGNvdW50cnkgZmllbGQgdXNpbmcgYSBgU2t5SW5wdXRCb3hIYXJuZXNzYC5cbiAgICogRm9yIHRoZSBpbnB1dCBib3ggaW1wbGVtZW50YXRpb24sIHNlZSB0aGUgY29kZSBleGFtcGxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNvdW50cnlGaWVsZEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvdW50cnlGaWVsZEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5Q291bnRyeUZpZWxkSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY291bnRyeSBmaWVsZCBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGV4dCBpbnRvIHRoZSBjb3VudHJ5IGZpZWxkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGVudGVyVGV4dCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmVudGVyVGV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgY291bnRyeSBmaWVsZCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb3VudHJ5IGZpZWxkICBgYXJpYS1sYWJlbGxlZGJ5YCB2YWx1ZS5cbiAgICogVGhpcyBpcyBub3QgbmVlZGVkIGZvciBjb3VudHJ5IGZpZWxkIGJlY2F1c2UgdGhlIGlkIGlzIGdlbmVyYXRlZCBpbnRlcm5hbGx5LFxuICAgKiBhbmQgdGhlIG1ldGhvZCBpcyBtYXJrZWQgaW50ZXJuYWwgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRvY3VtZW50ZWQgcHVibGljbHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5nZXRBcmlhTGFiZWxsZWRieSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY291bnRyeSBmaWVsZCBzZWFyY2ggcmVzdWx0IGhhcm5lc3Nlcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBjb3VudHJ5IGZpZWxkIGlzIGNsb3NlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCBvdmVybGF5LnF1ZXJ5SGFybmVzc2VzKFxuICAgICAgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBoYXJuZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBTdHJpbmdpZnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzbyB0aGF0IGl0J3MgcmVhZGFibGUgaW4gdGhlIGNvbnNvbGUgbG9nLlxuICAgICAgaWYgKGZpbHRlcnMudGV4dCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBmaWx0ZXJzLnRleHQgPSBmaWx0ZXJzLnRleHQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhcm5lc3NlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZXh0IGNvbnRlbnQgZm9yIGVhY2ggY291bnRyeSBmaWVsZCBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGdldFNlYXJjaFJlc3VsdHNUZXh0KFxuICAgIGZpbHRlcnM/OiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMuZ2V0U2VhcmNoUmVzdWx0cyhmaWx0ZXJzKTtcblxuICAgIGNvbnN0IHRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBoYXJuZXNzIG9mIGhhcm5lc3Nlcykge1xuICAgICAgdGV4dC5wdXNoKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY291bnRyeSBmaWVsZCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgZGlzcGxheWVkIHdoZW4gbm8gc2VhcmNoIHJlc3VsdHMgYXJlIGZvdW5kLlxuICAgKiBGb3IgYSBjb3VudHJ5IGZpZWxkLCB0aGlzIGlzIGFsd2F5cyB0aGUgZGVmYXVsdCB0ZXh0IGFuZCB0aGUgbWV0aG9kXG4gICAqIGlzIG1hcmtlZCBpbnRlcm5hbCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgZG9jdW1lbnRlZCBwdWJsaWNseS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0Tm9SZXN1bHRzRm91bmRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldE5vUmVzdWx0c0ZvdW5kVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzRm9jdXNlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBpc09wZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzT3BlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIHNlbGVjdFNlYXJjaFJlc3VsdChcbiAgICBmaWx0ZXJzOiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLnNlbGVjdFNlYXJjaFJlc3VsdChmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRPdmVybGF5KCk6IFByb21pc2U8U2t5T3ZlcmxheUhhcm5lc3MgfCBudWxsPiB7XG4gICAgY29uc3Qgb3ZlcmxheUlkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEFyaWFDb250cm9scygpO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlJZFxuICAgICAgPyB0aGlzLiNkb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgICAgICBTa3lPdmVybGF5SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6IGAjJHtvdmVybGF5SWR9YCB9KSxcbiAgICAgICAgKSgpXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB7fVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
import { SkyAutocompleteSearchResultHarness } from '../autocomplete/autocomplete-search-result-harness';
|
|
3
|
+
/**
|
|
4
|
+
* Harness for interacting with an autocomplete search result in tests.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyCountryFieldSearchResultHarness extends SkyAutocompleteSearchResultHarness {
|
|
7
|
+
/**
|
|
8
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
9
|
+
* `SkyCountryFieldSearchResultHarness` that meets certain criteria.
|
|
10
|
+
*/
|
|
11
|
+
static with(filters) {
|
|
12
|
+
return new HarnessPredicate(SkyCountryFieldSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns the value of the search result's descriptor property.
|
|
16
|
+
* This is not needed by country field because it is always set to the country name,
|
|
17
|
+
* and the method is marked internal to prevent it from being documented publicly.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
async getDescriptorValue() {
|
|
21
|
+
return await super.getDescriptorValue();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFJeEc7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsa0NBQWtDO0lBQ3hGOzs7T0FHRztJQUNJLE1BQU0sQ0FBVSxJQUFJLENBQ3pCLE9BQWtEO1FBRWxELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsa0NBQWtDLEVBQ2xDLE9BQU8sQ0FDUixDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQy9ELGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNhLEtBQUssQ0FBQyxrQkFBa0I7UUFDdEMsT0FBTyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGF1dG9jb21wbGV0ZSBzZWFyY2ggcmVzdWx0IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcyBleHRlbmRzIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3Mge1xuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoXG4gICAgICBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzLFxuICAgICAgZmlsdGVycyxcbiAgICApLmFkZE9wdGlvbigndGV4dENvbnRlbnQnLCBmaWx0ZXJzLnRleHQsIGFzeW5jIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpLCB0ZXh0KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBzZWFyY2ggcmVzdWx0J3MgZGVzY3JpcHRvciBwcm9wZXJ0eS5cbiAgICogVGhpcyBpcyBub3QgbmVlZGVkIGJ5IGNvdW50cnkgZmllbGQgYmVjYXVzZSBpdCBpcyBhbHdheXMgc2V0IHRvIHRoZSBjb3VudHJ5IG5hbWUsXG4gICAqIGFuZCB0aGUgbWV0aG9kIGlzIG1hcmtlZCBpbnRlcm5hbCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgZG9jdW1lbnRlZCBwdWJsaWNseS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0RGVzY3JpcHRvclZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldERlc2NyaXB0b3JWYWx1ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { SkyAutocompleteHarness } from './autocomplete/autocomplete-harness';
|
|
2
2
|
export { SkyAutocompleteSearchResultHarness } from './autocomplete/autocomplete-search-result-harness';
|
|
3
3
|
export { SkyCountryFieldFixture } from './country-field/country-field-fixture';
|
|
4
|
+
export { SkyCountryFieldHarness } from './country-field/country-field-harness';
|
|
5
|
+
export { SkyCountryFieldSearchResultHarness } from './country-field/country-field-search-result-harness';
|
|
4
6
|
export { SkyCountryFieldTestingModule } from './country-field/country-field-testing.module';
|
|
5
7
|
export { SkyLookupHarness } from './lookup/lookup-harness';
|
|
6
8
|
export { SkyLookupSelectionHarness } from './lookup/lookup-selection-harness';
|
|
@@ -12,4 +14,4 @@ export { SkySearchHarness } from './search/search-harness';
|
|
|
12
14
|
export { SkySearchTestingModule } from './search/search-testing.module';
|
|
13
15
|
export { SkySelectionModalHarness } from './selection-modal/selection-modal-harness';
|
|
14
16
|
export { SkySelectionModalSearchResultHarness } from './selection-modal/selection-modal-search-result-harness';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUd2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUU1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUxRixPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUdwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5Q291bnRyeUZpZWxkVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXRlc3RpbmcubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5TG9va3VwSGFybmVzcyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTZWxlY3Rpb25IYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNlbGVjdGlvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2VsZWN0aW9uc0xpc3RIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbnMtbGlzdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzcyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlclNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5U2VhcmNoRml4dHVyZSB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC1maXh0dXJlJztcbmV4cG9ydCB7IFNreVNlYXJjaEhhcm5lc3MgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5U2VhcmNoVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC10ZXN0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG4iXX0=
|