@seniorsistemas/angular-components 19.9.8 → 19.9.10
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/card/lib/card/card.component.d.ts +6 -2
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -1
- package/datepicker/README.md +6 -2
- package/datepicker/lib/datepicker/date-segment-input.d.ts +7 -1
- package/datepicker/lib/datepicker/datepicker.component.d.ts +137 -3
- package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -0
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +3 -3
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +8 -3
- package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +4 -3
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +4 -2
- package/esm2022/button/lib/button/button.component.mjs +3 -3
- package/esm2022/card/lib/card/card.component.mjs +13 -5
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +3 -3
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +3 -3
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +3 -3
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +3 -2
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +3 -3
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -9
- package/esm2022/datepicker/lib/datepicker/date-segment-input.mjs +19 -2
- package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +405 -38
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
- package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -1
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
- package/esm2022/editor/lib/editor/editor.component.mjs +3 -3
- package/esm2022/editor/lib/editor/toolbar-button/editor-toolbar-button.component.mjs +3 -3
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +3 -3
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +3 -3
- package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +2 -1
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +3 -3
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +16 -25
- package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +3 -3
- package/esm2022/input-text/lib/input-text/input-text.directive.mjs +3 -3
- package/esm2022/lib/locale/fallback.mjs +47 -13
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +3 -3
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
- package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +3 -3
- package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +4 -10
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +3 -3
- package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +31 -3
- package/esm2022/select/lib/select/select.component.mjs +240 -23
- package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/datepicker-no-period-tab.directive.mjs +6 -6
- package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +3 -3
- package/esm2022/slider/lib/slider/slider.component.mjs +67 -65
- package/esm2022/slider/lib/slider/slider.module.mjs +2 -2
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +3 -3
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +3 -3
- package/esm2022/switch/lib/switch/switch.component.mjs +5 -19
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +3 -3
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +10 -3
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +4 -3
- package/esm2022/tile/lib/tile/tile.component.mjs +3 -3
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +20 -3
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +10 -5
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -3
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +13 -8
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +422 -38
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +14 -2
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -12
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +3 -2
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +14 -23
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +3 -9
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +269 -24
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +5 -5
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +67 -65
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +4 -18
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +9 -2
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +5 -4
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +20 -3
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +46 -12
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/global-search/lib/global-search/global-search.component.d.ts +7 -3
- package/package.json +1 -1
- package/radio-button/lib/radio-button/radio-button.component.d.ts +0 -1
- package/select/README.md +16 -3
- package/select/lib/select/components/select-option/select-option.component.d.ts +23 -1
- package/select/lib/select/select.component.d.ts +111 -17
- package/slider/lib/slider/slider.component.d.ts +25 -7
- package/styles.css +5 -0
- package/switch/lib/switch/switch.component.d.ts +0 -2
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -0
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +4 -0
|
@@ -438,7 +438,7 @@ export class PinCodeFieldComponent {
|
|
|
438
438
|
useExisting: forwardRef(() => PinCodeFieldComponent),
|
|
439
439
|
multi: true,
|
|
440
440
|
},
|
|
441
|
-
], viewQueries: [{ propertyName: "pinInputs", predicate: ["pinInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"gap-xsmall flex flex-col\">\n <div\n class=\"flex gap-2\"\n role=\"group\"\n aria-label=\"PIN code input\"\n [attr.aria-labelledby]=\"helpText() ? 'pin-help-text' : null\"\n >\n @for (input of inputs(); let i = $index; track i) {\n <input\n #pinInput\n type=\"text\"\n class=\"h-12 w-12 rounded-xbig border text-center text-lg font-medium transition-
|
|
441
|
+
], viewQueries: [{ propertyName: "pinInputs", predicate: ["pinInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"gap-xsmall flex flex-col\">\n <div\n class=\"flex gap-2\"\n role=\"group\"\n aria-label=\"PIN code input\"\n [attr.aria-labelledby]=\"helpText() ? 'pin-help-text' : null\"\n >\n @for (input of inputs(); let i = $index; track i) {\n <input\n #pinInput\n type=\"text\"\n class=\"h-12 w-12 rounded-xbig border text-center text-lg font-medium transition-[background-color,border-color,color] duration-200\"\n [ngClass]=\"{\n 'border-criticality-red focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-criticality-red': hasError(),\n 'border-grayscale-30 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': !hasError(),\n 'cursor-not-allowed bg-grayscale-10 text-grayscale-60': disabled(),\n 'bg-grayscale-0 text-grayscale-100': !disabled(),\n }\"\n [value]=\"input\"\n [disabled]=\"disabled()\"\n [attr.maxlength]=\"1\"\n [attr.inputmode]=\"alphanumeric() ? 'text' : 'numeric'\"\n [attr.aria-label]=\"\n alphanumeric()\n ? ('platform.angular_components.pin_code_character_index_of_total'\n | translate: { index: i + 1, length: length() })\n : ('platform.angular_components.pin_code_digit_index_of_total'\n | translate: { index: i + 1, length: length() })\n \"\n [attr.aria-describedby]=\"helpText() ? 'pin-help-text' : null\"\n [attr.aria-required]=\"true\"\n autocomplete=\"off\"\n (input)=\"onInput(i, $event)\"\n (keydown)=\"onKeyDown(i, $event)\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onFocus(i)\"\n (blur)=\"onBlur(i)\"\n />\n }\n </div>\n\n @if (helpText()) {\n <div\n id=\"pin-help-text\"\n class=\"mt-small text-sm text-grayscale-60\"\n >\n {{ helpText() }}\n </div>\n }\n</div>\n\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
442
442
|
}
|
|
443
443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PinCodeFieldComponent, decorators: [{
|
|
444
444
|
type: Component,
|
|
@@ -448,6 +448,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
448
448
|
useExisting: forwardRef(() => PinCodeFieldComponent),
|
|
449
449
|
multi: true,
|
|
450
450
|
},
|
|
451
|
-
], template: "<div class=\"gap-xsmall flex flex-col\">\n <div\n class=\"flex gap-2\"\n role=\"group\"\n aria-label=\"PIN code input\"\n [attr.aria-labelledby]=\"helpText() ? 'pin-help-text' : null\"\n >\n @for (input of inputs(); let i = $index; track i) {\n <input\n #pinInput\n type=\"text\"\n class=\"h-12 w-12 rounded-xbig border text-center text-lg font-medium transition-
|
|
451
|
+
], template: "<div class=\"gap-xsmall flex flex-col\">\n <div\n class=\"flex gap-2\"\n role=\"group\"\n aria-label=\"PIN code input\"\n [attr.aria-labelledby]=\"helpText() ? 'pin-help-text' : null\"\n >\n @for (input of inputs(); let i = $index; track i) {\n <input\n #pinInput\n type=\"text\"\n class=\"h-12 w-12 rounded-xbig border text-center text-lg font-medium transition-[background-color,border-color,color] duration-200\"\n [ngClass]=\"{\n 'border-criticality-red focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-criticality-red': hasError(),\n 'border-grayscale-30 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': !hasError(),\n 'cursor-not-allowed bg-grayscale-10 text-grayscale-60': disabled(),\n 'bg-grayscale-0 text-grayscale-100': !disabled(),\n }\"\n [value]=\"input\"\n [disabled]=\"disabled()\"\n [attr.maxlength]=\"1\"\n [attr.inputmode]=\"alphanumeric() ? 'text' : 'numeric'\"\n [attr.aria-label]=\"\n alphanumeric()\n ? ('platform.angular_components.pin_code_character_index_of_total'\n | translate: { index: i + 1, length: length() })\n : ('platform.angular_components.pin_code_digit_index_of_total'\n | translate: { index: i + 1, length: length() })\n \"\n [attr.aria-describedby]=\"helpText() ? 'pin-help-text' : null\"\n [attr.aria-required]=\"true\"\n autocomplete=\"off\"\n (input)=\"onInput(i, $event)\"\n (keydown)=\"onKeyDown(i, $event)\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onFocus(i)\"\n (blur)=\"onBlur(i)\"\n />\n }\n </div>\n\n @if (helpText()) {\n <div\n id=\"pin-help-text\"\n class=\"mt-small text-sm text-grayscale-60\"\n >\n {{ helpText() }}\n </div>\n }\n</div>\n\n" }]
|
|
452
452
|
}], ctorParameters: () => [] });
|
|
453
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLWNvZGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bpbi1jb2RlLWZpZWxkL3NyYy9saWIvcGluLWNvZGUtZmllbGQvcGluLWNvZGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bpbi1jb2RlLWZpZWxkL3NyYy9saWIvcGluLWNvZGUtZmllbGQvcGluLWNvZGUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBY0gsTUFBTSxPQUFPLHFCQUFxQjtJQUN0QixNQUFNLENBQVUsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBVSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBRXpDOzs7OztPQUtHO0lBQ0ksTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6Qjs7Ozs7T0FLRztJQUNJLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkM7Ozs7O09BS0c7SUFDSSxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUs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QUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIHZpZXdDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBzaWduYWwsXHJcbiAgICBpbnB1dCxcclxuICAgIG91dHB1dCxcclxuICAgIGVmZmVjdCxcclxuICAgIGNvbXB1dGVkLFxyXG4gICAgbW9kZWwsXHJcbiAgICBpbmplY3QsXHJcbiAgICBEZXN0cm95UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgZW50cmFkYSBkZSBjw7NkaWdvIFBJTi9PVFAgY29tIGNhbXBvcyBpbmRpdmlkdWFpcyBwYXJhIGNhZGEgZMOtZ2l0by5cclxuICogSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmEgaW50ZWdyYcOnw6NvIG5hdGl2YSBjb20gUmVhY3RpdmUgRm9ybXNcclxuICogZSBUZW1wbGF0ZS1kcml2ZW4gRm9ybXMgZG8gQW5ndWxhci5cclxuICpcclxuICogRnVuY2lvbmFsaWRhZGVzOlxyXG4gKiAtIENhbXBvcyBzZXBhcmFkb3MgZSBuYXZlZ8OhdmVpcyBwYXJhIGNhZGEgZMOtZ2l0byBkbyBjw7NkaWdvXHJcbiAqIC0gQ29tcHJpbWVudG8gY29uZmlndXLDoXZlbCB2aWEgaW5wdXQgYGxlbmd0aGBcclxuICogLSBTdXBvcnRlIGEgZW50cmFkYSBudW3DqXJpY2Egb3UgYWxmYW51bcOpcmljYVxyXG4gKiAtIE5hdmVnYcOnw6NvIHBvciB0ZWNsYWRvIChzZXRhcywgYmFja3NwYWNlKVxyXG4gKiAtIFN1cG9ydGUgYSBjb2xhciAocGFzdGUpIGNvbSB0cnVuY2FtZW50byBhdXRvbcOhdGljbyBhbyB0YW1hbmhvIGRlZmluaWRvXHJcbiAqIC0gRXN0YWRvIGRlIGVycm8gdmlhIGlucHV0IGBpbnZhbGlkYFxyXG4gKiAtIEFjZXNzaWJpbGlkYWRlIGNvbXBsZXRhIGNvbSBBUklBIGxhYmVscyBlIHJvbGVzIHNlbcOibnRpY29zXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAqICAgPHMtcGluLWNvZGUtZmllbGRcclxuICogICAgIGZvcm1Db250cm9sTmFtZT1cImNvZGVcIlxyXG4gKiAgICAgW2xlbmd0aF09XCI2XCJcclxuICogICAgIFthbHBoYW51bWVyaWNdPVwiZmFsc2VcIlxyXG4gKiAgICAgW2ludmFsaWRdPVwiKGZvcm0uZ2V0KCdjb2RlJyk/LmludmFsaWQgJiYgZm9ybS5nZXQoJ2NvZGUnKT8uZGlydHkpIHx8IGZhbHNlXCJcclxuICogICAgIGhlbHBUZXh0PVwiRGlnaXRlIHNldSBjw7NkaWdvIGRlIDYgZMOtZ2l0b3NcIlxyXG4gKiAgICAgKGNvZGVGaWxsZWQpPVwib25Db2RlRmlsbGVkKCRldmVudClcIj5cclxuICogICA8L3MtcGluLWNvZGUtZmllbGQ+XHJcbiAqIDwvZm9ybT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXBpbi1jb2RlLWZpZWxkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9waW4tY29kZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaW5Db2RlRmllbGRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBpbkNvZGVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExBU1RfSU5ERVhfT0ZGU0VUID0gMTtcclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTsO6bWVybyBkZSBjYW1wb3MgZGUgZW50cmFkYSAoY29tcHJpbWVudG8gZG8gY8OzZGlnbyBQSU4pLlxyXG4gICAgICogRGV2ZSBzZXIgYW8gbWVub3MgMS5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCA2XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBsZW5ndGggPSBpbnB1dCg2KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBQZXJtaXRlIGVudHJhZGEgYWxmYW51bcOpcmljYSBlIGRlIGNhcmFjdGVyZXMgZXNwZWNpYWlzLlxyXG4gICAgICogUXVhbmRvIGBmYWxzZWAsIGFjZWl0YSBhcGVuYXMgZMOtZ2l0b3MgbnVtw6lyaWNvcyAoMOKAkzkpLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbHBoYW51bWVyaWMgPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gZGUgYWp1ZGEgZXhpYmlkbyBhYmFpeG8gZG9zIGNhbXBvcyBkZSBlbnRyYWRhLFxyXG4gICAgICogZm9ybmVjZW5kbyBpbnN0cnXDp8O1ZXMgYWRpY2lvbmFpcyBhbyB1c3XDoXJpby5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGVscFRleHQgPSBpbnB1dCgnJyk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgYSB2aXN1YWxpemHDp8OjbyBkbyBlc3RhZG8gZGUgZXJybyBkbyBjb21wb25lbnRlLlxyXG4gICAgICogUXVhbmRvIGB0cnVlYCwgZXhpYmUgYm9yZGEgdmVybWVsaGEgbm9zIGNhbXBvcyBkZSBlbnRyYWRhLlxyXG4gICAgICogTm9ybWFsbWVudGUgdmluY3VsYWRvIGFvIGVzdGFkbyBgaW52YWxpZCAmJiBkaXJ0eWAgZG8gYEZvcm1Db250cm9sYC5cclxuICAgICAqXHJcbiAgICAgKiBAZXhhbXBsZVxyXG4gICAgICogYGBgaHRtbFxyXG4gICAgICogW2ludmFsaWRdPVwiKGNvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8uZGlydHkpIHx8IGZhbHNlXCJcclxuICAgICAqIGBgYFxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGludmFsaWQgPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgbyBlc3RhZG8gZGVzYWJpbGl0YWRvIGRvIGNvbXBvbmVudGUgdmlhIHR3by13YXkgYmluZGluZy5cclxuICAgICAqIFF1YW5kbyBgdHJ1ZWAsIHRvZG9zIG9zIGNhbXBvcyBmaWNhbSBkZXNhYmlsaXRhZG9zIGUgYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpbyDDqSBibG9xdWVhZGEuXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIHRvZG9zIG9zIGNhbXBvcyBkbyBjw7NkaWdvIFBJTiBzw6NvIHByZWVuY2hpZG9zLlxyXG4gICAgICogRW1pdGUgbyBjw7NkaWdvIGNvbXBsZXRvIGNvbW8gc3RyaW5nLlxyXG4gICAgICpcclxuICAgICAqIEBleGFtcGxlXHJcbiAgICAgKiBgYGBodG1sXHJcbiAgICAgKiAoY29kZUZpbGxlZCk9XCJvbkNvZGVGaWxsZWQoJGV2ZW50KVwiXHJcbiAgICAgKiBgYGBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvZGVGaWxsZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFNpZ25hbCBjb20gb3MgdmFsb3JlcyBhdHVhaXMgZGUgY2FkYSBjYW1wbyBkZSBlbnRyYWRhLlxyXG4gICAgICogTyBjb21wcmltZW50byBkbyBhcnJheSBjb3JyZXNwb25kZSBhbyB2YWxvciBkbyBpbnB1dCBgbGVuZ3RoYC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlucHV0cyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2lnbmFsIHRyYWNraW5nIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB0b3VjaGVkIGJ5IHRoZSB1c2VyLlxyXG4gICAgICogU2V0IHRvIHRydWUgd2hlbiB0aGUgbGFzdCBpbnB1dCBmaWVsZCBsb3NlcyBmb2N1cyAoYmx1ciBldmVudCkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXB1dGVkIHNpZ25hbCBpbmRpY2F0aW5nIHdoZXRoZXIgYWxsIFBJTiBjb2RlIGZpZWxkcyBhcmUgZmlsbGVkLlxyXG4gICAgICogVHJ1ZSBvbmx5IHdoZW4gZXZlcnkgZmllbGQgY29udGFpbnMgYSBub24tZW1wdHkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0NvbXBsZXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbnB1dHMoKS5ldmVyeSgoaW5wdXQpID0+IGlucHV0ICE9PSAnJykpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZWQgc2lnbmFsIGNvbnRhaW5pbmcgdGhlIGNvbXBsZXRlIFBJTiBjb2RlIGFzIGEgam9pbmVkIHN0cmluZy5cclxuICAgICAqIFJldHVybnMgZW1wdHkgc3RyaW5nIGlmIG5vIGlucHV0cyBhcmUgZmlsbGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3VycmVudFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbnB1dHMoKS5qb2luKCcnKSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaWduYWwgdHJhY2tpbmcgaWYgdGhlIGNvbXBvbmVudCBob3N0IGhhcyB0aGUgbmctaW52YWxpZCBjbGFzcyBmcm9tIEZvcm1Db250cm9sIHZhbGlkYXRvcnMuXHJcbiAgICAgKiBVcGRhdGVkIHJlYWN0aXZlbHkgd2hlbmV2ZXIgdGhlIGludmFsaWQgc3RhdGUgY2hhbmdlcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBoYXNOZ0ludmFsaWRDbGFzcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaWduYWwgdHJhY2tpbmcgaWYgdGhlIEZvcm1Db250cm9sIGlzIGRpcnR5LlxyXG4gICAgICogVXBkYXRlZCByZWFjdGl2ZWx5IHdoZW5ldmVyIHRoZSBkaXJ0eSBzdGF0ZSBjaGFuZ2VzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzQ29udHJvbERpcnR5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXB1dGVkIHNpZ25hbCBpbmRpY2F0aW5nIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHNob3cgZXJyb3Igc3RhdGUuXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWY6XHJcbiAgICAgKiAtIFRoZSBgaW52YWxpZGAgaW5wdXQgaXMgdHJ1ZSwgT1JcclxuICAgICAqIC0gVGhlIGNvbXBvbmVudCBoYXMgdGhlIGBuZy1pbnZhbGlkYCBjbGFzcyBBTkQgdGhlIEZvcm1Db250cm9sIGlzIGRpcnR5ICh0b3VjaGVkL21vZGlmaWVkKVxyXG4gICAgICogVGhpcyBlbnN1cmVzIGVycm9ycyBhcmUgb25seSBzaG93biB0byB0aGUgdXNlciBhZnRlciB0aGV5J3ZlIGludGVyYWN0ZWQgd2l0aCB0aGUgZmllbGQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYXNFcnJvciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW52YWxpZCgpIHx8ICh0aGlzLmhhc05nSW52YWxpZENsYXNzKCkgJiYgdGhpcy5pc0NvbnRyb2xEaXJ0eSgpKSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWaWV3Q2hpbGRyZW4gcmVmZXJlbmNlIHRvIGFsbCBpbnB1dCBET00gZWxlbWVudHMuXHJcbiAgICAgKiBVc2VkIGZvciBET00gbWFuaXB1bGF0aW9uIChmb2N1cywgc2VsZWN0aW9uKS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHBpbklucHV0cyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPigncGluSW5wdXQnKTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgZWZmZWN0KFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5ld0xlbmd0aCA8IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BJTiBjb2RlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0IDEnKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dHMoKS5sZW5ndGggIT09IG5ld0xlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRzLnNldChBcnJheS5mcm9tKHsgbGVuZ3RoOiBuZXdMZW5ndGggfSwgKCkgPT4gJycpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIE1vbml0b3IgbmctaW52YWxpZCBhbmQgbmctZGlydHkgY2xhc3NlcyBvbiB0aGUgaG9zdCBlbGVtZW50IGZvciByZWFjdGl2ZSBlcnJvciBzdGF0ZVxyXG4gICAgICAgIGVmZmVjdChcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQWNjZXNzIGlucHV0cyB0byBjcmVhdGUgZGVwZW5kZW5jeSBvbiBjaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnZhbGlkKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gVXNlIHNldFRpbWVvdXQgdG8gZGVmZXIgdGhlIGNoZWNrIHRvIG5leHQgdGljayB0byBlbnN1cmUgQW5ndWxhciBoYXMgdXBkYXRlZCBET00gY2xhc3Nlc1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzTmdJbnZhbGlkID0gaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNEaXJ0eSA9IGhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctZGlydHknKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNOZ0ludmFsaWRDbGFzcy5zZXQoaGFzTmdJbnZhbGlkKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29udHJvbERpcnR5LnNldChpc0RpcnR5KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIENsZWFudXAgdGltZW91dCBvbiBjb21wb25lbnQgZGVzdHJveVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIGlucHV0IGV2ZW50IG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIFZhbGlkYXRlcyBjaGFyYWN0ZXIgaW5wdXQsIHByZXZlbnRzIG11bHRpcGxlIGNoYXJhY3RlcnMgcGVyIGZpZWxkLFxyXG4gICAgICogYXV0by1hZHZhbmNlcyB0byBuZXh0IGZpZWxkIHdoZW4gY2hhcmFjdGVyIGlzIGVudGVyZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGlucHV0IGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbklucHV0KGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPiAxIHx8ICh2YWx1ZSAmJiAhdGhpcy5pc1ZhbGlkQ2hhcmFjdGVyKHZhbHVlKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGVhcklucHV0KHRhcmdldCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0SW5wdXRBdEluZGV4KGluZGV4LCB2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSAmJiBpbmRleCA8IHRoaXMubGVuZ3RoKCkgLSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNBbmRTZWxlY3RJbnB1dChpbmRleCArIDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZUZpbGxlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIFN1cHBvcnRzIGFycm93IG5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFuZCBiYWNrc3BhY2Uga2V5LlxyXG4gICAgICpcclxuICAgICAqIEtleWJvYXJkIGJlaGF2aW9yOlxyXG4gICAgICogLSBBcnJvd1JpZ2h0OiBNb3ZlIGZvY3VzIHRvIG5leHQgZmllbGRcclxuICAgICAqIC0gQXJyb3dMZWZ0OiBNb3ZlIGZvY3VzIHRvIHByZXZpb3VzIGZpZWxkXHJcbiAgICAgKiAtIEJhY2tzcGFjZTogQ2xlYXIgY3VycmVudCBvciBwcmV2aW91cyBmaWVsZCBhbmQgYWRqdXN0IGZvY3VzXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGtleWJvYXJkIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbktleURvd24oaW5kZXg6IG51bWJlciwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcclxuXHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCgpIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0FuZFNlbGVjdElucHV0KGluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNBbmRTZWxlY3RJbnB1dChpbmRleCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrc3BhY2UoaW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBwYXN0ZSAoY2xpcGJvYXJkKSBldmVudHMgb24gUElOIGNvZGUgZmllbGRzLlxyXG4gICAgICogRXh0cmFjdHMgdmFsaWQgY2hhcmFjdGVycyBmcm9tIHBhc3RlZCBjb250ZW50LCBmaWx0ZXJzIGJ5IGNoYXJhY3RlciB0eXBlLFxyXG4gICAgICogYW5kIGF1dG9tYXRpY2FsbHkgdHJ1bmNhdGVzIHRvIG1hdGNoIGZpZWxkIGxlbmd0aC5cclxuICAgICAqXHJcbiAgICAgKiBCZWhhdmlvcjpcclxuICAgICAqIC0gRmlsdGVycyBjaGFyYWN0ZXJzIGJhc2VkIG9uIGBhbHBoYW51bWVyaWNgIHNldHRpbmdcclxuICAgICAqIC0gVHJ1bmNhdGVzIHRvIG1heGltdW0gZmllbGQgY291bnRcclxuICAgICAqIC0gRmlsbHMgYXZhaWxhYmxlIGZpZWxkcyB3aXRoIHBhc3RlZCBjb250ZW50XHJcbiAgICAgKiAtIEVtaXRzIGNvZGVGaWxsZWQgZXZlbnQgaWYgYWxsIGZpZWxkcyBhcmUgZmlsbGVkXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGNsaXBib2FyZCBldmVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHZhbGlkQ2hhcnMgPSB0aGlzLmV4dHJhY3RWYWxpZENoYXJhY3RlcnNGcm9tUGFzdGUoZXZlbnQpO1xyXG5cclxuICAgICAgICBpZiAodmFsaWRDaGFycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsbGVkSW5wdXRzID0gWy4uLnZhbGlkQ2hhcnMsIC4uLkFycmF5KHRoaXMubGVuZ3RoKCkgLSB2YWxpZENoYXJzLmxlbmd0aCkuZmlsbCgnJyldO1xyXG5cclxuICAgICAgICB0aGlzLmlucHV0cy5zZXQoZmlsbGVkSW5wdXRzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XHJcblxyXG4gICAgICAgIC8vIEZvY3VzIG9uIHRoZSBmaXJzdCBlbXB0eSBpbnB1dCBvciB0aGUgbGFzdCBmaWxsZWQgaW5wdXQgaWYgYWxsIGFyZSBmaWxsZWRcclxuICAgICAgICBjb25zdCBmaXJzdEVtcHR5SW5kZXggPSB2YWxpZENoYXJzLmxlbmd0aCA8IHRoaXMubGVuZ3RoKCkgPyB2YWxpZENoYXJzLmxlbmd0aCA6IHZhbGlkQ2hhcnMubGVuZ3RoIC0gMTtcclxuICAgICAgICB0aGlzLmZvY3VzQW5kU2VsZWN0SW5wdXQoZmlyc3RFbXB0eUluZGV4KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZUZpbGxlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgZm9jdXMgZXZlbnQgb24gUElOIGNvZGUgZmllbGRzLlxyXG4gICAgICogU2VsZWN0cyBhbGwgdGV4dCBpbiB0aGUgaW5wdXQgZmllbGQgd2hlbiBmb2N1c2VkLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5waW5JbnB1dHMoKVtpbmRleF07XHJcbiAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBibHVyIGV2ZW50IG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIE1hcmtzIHRoZSBjb21wb25lbnQgYXMgdG91Y2hlZCB3aGVuIHRoZSBsYXN0IGlucHV0IGZpZWxkIGxvc2VzIGZvY3VzLlxyXG4gICAgICogQWxzbyBub3RpZmllcyB0aGUgcmVnaXN0ZXJlZCBvblRvdWNoZWQgY2FsbGJhY2sgZm9yIEZvcm1Db250cm9sIGludGVncmF0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQmx1cihpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgLy8gT25seSBtYXJrIGFzIHRvdWNoZWQgd2hlbiB0aGUgTEFTVCBpbnB1dCBsb3NlcyBmb2N1c1xyXG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5sZW5ndGgoKSAtIFBpbkNvZGVGaWVsZENvbXBvbmVudC5MQVNUX0lOREVYX09GRlNFVCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvdWNoZWQuc2V0KHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUgYXQgc3BlY2lmaWVkIGluZGV4IGFuZCBhZGp1c3RzIGZvY3VzIGFjY29yZGluZ2x5LlxyXG4gICAgICogSWYgY3VycmVudCBmaWVsZCBpcyBlbXB0eSwgbW92ZXMgdG8gcHJldmlvdXMgZmllbGQgYW5kIGNsZWFycyBpdC5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGhhbmRsZUJhY2tzcGFjZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudElucHV0cyA9IHRoaXMuaW5wdXRzKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGN1cnJlbnQgaW5wdXQgaGFzIHZhbHVlLCBjbGVhciBpdFxyXG4gICAgICAgIGlmIChjdXJyZW50SW5wdXRzW2luZGV4XSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldElucHV0QXRJbmRleChpbmRleCwgUGluQ29kZUZpZWxkQ29tcG9uZW50LkVNUFRZX1ZBTFVFKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjbGVhciBwcmV2aW91cyBpbnB1dCBhbmQgZm9jdXMgaXRcclxuICAgICAgICBpZiAoaW5kZXggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRBdEluZGV4KGluZGV4IC0gMSwgUGluQ29kZUZpZWxkQ29tcG9uZW50LkVNUFRZX1ZBTFVFKTtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c0FuZFNlbGVjdElucHV0KGluZGV4IC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdmFsdWUgYXQgYSBzcGVjaWZpYyBpbnB1dCBmaWVsZCBpbmRleCBhbmQgdXBkYXRlcyB0aGUgZm9ybSB2YWx1ZS5cclxuICAgICAqIFVwZGF0ZXMgdGhlIHNpZ25hbCBhbmQgdHJpZ2dlcnMgdGhlIGNoYW5nZSBkZXRlY3Rpb24gdmlhIG9uQ2hhbmdlIGNhbGxiYWNrLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggLSBUaGUgaW5wdXQgZmllbGQgaW5kZXggKDAtYmFzZWQpXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0IGluIHRoZSBmaWVsZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldElucHV0QXRJbmRleChpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudElucHV0cyA9IHRoaXMuaW5wdXRzKCk7XHJcbiAgICAgICAgY3VycmVudElucHV0c1tpbmRleF0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmlucHV0cy5zZXQoWy4uLmN1cnJlbnRJbnB1dHNdKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb2N1c2VzIG9uIGFuZCBzZWxlY3RzIHRleHQgaW4gdGhlIGlucHV0IGZpZWxkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXHJcbiAgICAgKiBVc2VzIHF1ZXVlTWljcm90YXNrIHRvIGVuc3VyZSBET00gaXMgdXBkYXRlZCBiZWZvcmUgZm9jdXNpbmcuXHJcbiAgICAgKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmb2N1c0FuZFNlbGVjdElucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5waW5JbnB1dHMoKVtpbmRleF07XHJcbiAgICAgICAgICAgIGlmIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYXJzIHRoZSB2YWx1ZSBvZiBhbiBpbnB1dCBlbGVtZW50LlxyXG4gICAgICogVXNlZCBmb3IgaW5wdXQgdmFsaWRhdGlvbiB0byByZWplY3QgaW52YWxpZCBjaGFyYWN0ZXJzLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIEhUTUwgaW5wdXQgZWxlbWVudCB0byBjbGVhclxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsZWFySW5wdXQodGFyZ2V0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHRyYWN0cyB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gcGFzdGVkIGNvbnRlbnQuXHJcbiAgICAgKiBGaWx0ZXJzIGJhc2VkIG9uIGFscGhhbnVtZXJpYyBzZXR0aW5nIGFuZCBsaW1pdHMgdG8gY29tcG9uZW50J3MgbGVuZ3RoLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgY2xpcGJvYXJkIGV2ZW50XHJcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHBhc3RlZCBjb250ZW50XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZXh0cmFjdFZhbGlkQ2hhcmFjdGVyc0Zyb21QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgcGFzdGVkVGV4dCA9IChldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0JykgfHwgJycpLnRyaW0oKTtcclxuICAgICAgICByZXR1cm4gcGFzdGVkVGV4dFxyXG4gICAgICAgICAgICAuc3BsaXQoJycpXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGNoYXIpID0+IHRoaXMuaXNWYWxpZENoYXJhY3RlcihjaGFyKSlcclxuICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMubGVuZ3RoKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhdGVzIGlmIGEgY2hhcmFjdGVyIGlzIGFjY2VwdGFibGUgYmFzZWQgb24gY29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgKiBGb3IgbnVtZXJpYyBtb2RlLCBhY2NlcHRzIG9ubHkgZGlnaXRzIDAtOS5cclxuICAgICAqIEZvciBhbHBoYW51bWVyaWMgbW9kZSwgYWNjZXB0cyBhbnkgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gY2hhciAtIFRoZSBjaGFyYWN0ZXIgdG8gdmFsaWRhdGVcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgY2hhcmFjdGVyIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkQ2hhcmFjdGVyKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmFscGhhbnVtZXJpYygpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjaGFyLnRyaW0oKS5sZW5ndGggPiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gL15bMC05XSQvLnRlc3QoY2hhcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHRoZSBmb3JtIHZhbHVlIGJ5IGNhbGxpbmcgdGhlIG9uQ2hhbmdlIGNhbGxiYWNrIHJlZ2lzdGVyZWQgYnkgRm9ybUNvbnRyb2wuXHJcbiAgICAgKiBUaGlzIGVuc3VyZXMgdGhlIHJlYWN0aXZlIGZvcm0gc3RheXMgc3luY2hyb25pemVkIHdpdGggY29tcG9uZW50IHN0YXRlLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmN1cnJlbnRWYWx1ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogQ2FsbGVkIGJ5IHRoZSBGb3JtQ29udHJvbCB0byB3cml0ZSBhIHZhbHVlIHRvIHRoZSBjb21wb25lbnQuXHJcbiAgICAgKiBPbmx5IGFjY2VwdHMgc3RyaW5nIHZhbHVlcyB3aXRoIGxlbmd0aCBtYXRjaGluZyB0aGUgY29tcG9uZW50J3MgbGVuZ3RoIHNldHRpbmcuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHdyaXRlICh0eXBpY2FsbHkgZnJvbSB0aGUgRm9ybUNvbnRyb2wpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSB0aGlzLmxlbmd0aCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cy5zZXQoc3RyaW5nVmFsdWUuc3BsaXQoJycpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogQ2FsbGVkIGJ5IHRoZSBGb3JtQ29udHJvbCB3aGVuIHZhbHVlIGNoYW5nZXMuXHJcbiAgICAgKiBSZWdpc3RlcnMgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgY2hhbmdlcy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiB0byBpbnZva2Ugd2hlbiBjb21wb25lbnQgdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIENhbGxlZCBieSB0aGUgRm9ybUNvbnRyb2wgdG8gcmVnaXN0ZXIgdGhlIHRvdWNoZWQgY2FsbGJhY2suXHJcbiAgICAgKiBUaGUgY2FsbGJhY2sgaXMgaW52b2tlZCB3aGVuIHRoZSBsYXN0IGlucHV0IGZpZWxkIGxvc2VzIGZvY3VzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBmbiAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIGNvbXBvbmVudCBpcyB0b3VjaGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIENhbGxlZCBieSB0aGUgRm9ybUNvbnRyb2wgdG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlzYWJsZWQgbW9kZWwgdG8gcmVmbGVjdCB0aGUgZm9ybSdzIGRpc2FibGVkIHN0YXRlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIC0gV2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBkaXNhYmxlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdhcC14c21hbGwgZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC0yXCJcbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlBJTiBjb2RlIGlucHV0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImhlbHBUZXh0KCkgPyAncGluLWhlbHAtdGV4dCcgOiBudWxsXCJcbiAgICA+XG4gICAgICAgIEBmb3IgKGlucHV0IG9mIGlucHV0cygpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI3BpbklucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0xMiB3LTEyIHJvdW5kZWQteGJpZyBib3JkZXIgdGV4dC1jZW50ZXIgdGV4dC1sZyBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1jcml0aWNhbGl0eS1yZWQgZm9jdXM6cmluZy1jcml0aWNhbGl0eS1yZWQnOiBoYXNFcnJvcigpLFxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLWdyYXlzY2FsZS0zMCBmb2N1czpib3JkZXItcHJpbWFyeSBmb2N1czpyaW5nLXByaW1hcnknOiAhaGFzRXJyb3IoKSxcbiAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci1ub3QtYWxsb3dlZCBiZy1ncmF5c2NhbGUtMTAgdGV4dC1ncmF5c2NhbGUtNjAnOiBkaXNhYmxlZCgpLFxuICAgICAgICAgICAgICAgICAgICAnYmctZ3JheXNjYWxlLTAgdGV4dC1ncmF5c2NhbGUtMTAwIGZvY3VzOm91dGxpbmUtbm9uZSc6ICFkaXNhYmxlZCgpLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCIxXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pbnB1dG1vZGVdPVwiYWxwaGFudW1lcmljKCkgPyAndGV4dCcgOiAnbnVtZXJpYydcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgIGFscGhhbnVtZXJpYygpXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnBpbl9jb2RlX2NoYXJhY3Rlcl9pbmRleF9vZl90b3RhbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgaW5kZXg6IGkgKyAxLCBsZW5ndGg6IGxlbmd0aCgpIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnBpbl9jb2RlX2RpZ2l0X2luZGV4X29mX3RvdGFsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZTogeyBpbmRleDogaSArIDEsIGxlbmd0aDogbGVuZ3RoKCkgfSlcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaGVscFRleHQoKSA/ICdwaW4taGVscC10ZXh0JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dChpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oaSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoaSlcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cihpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGhlbHBUZXh0KCkpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJwaW4taGVscC10ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwibXQtc21hbGwgdGV4dC1zbSB0ZXh0LWdyYXlzY2FsZS02MFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGhlbHBUZXh0KCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
|
|
453
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLWNvZGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bpbi1jb2RlLWZpZWxkL3NyYy9saWIvcGluLWNvZGUtZmllbGQvcGluLWNvZGUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bpbi1jb2RlLWZpZWxkL3NyYy9saWIvcGluLWNvZGUtZmllbGQvcGluLWNvZGUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBY0gsTUFBTSxPQUFPLHFCQUFxQjtJQUN0QixNQUFNLENBQVUsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBVSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBRXpDOzs7OztPQUtHO0lBQ0ksTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6Qjs7Ozs7T0FLRztJQUNJLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkM7Ozs7O09BS0c7SUFDSSxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUs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QUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIHZpZXdDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBzaWduYWwsXHJcbiAgICBpbnB1dCxcclxuICAgIG91dHB1dCxcclxuICAgIGVmZmVjdCxcclxuICAgIGNvbXB1dGVkLFxyXG4gICAgbW9kZWwsXHJcbiAgICBpbmplY3QsXHJcbiAgICBEZXN0cm95UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgZW50cmFkYSBkZSBjw7NkaWdvIFBJTi9PVFAgY29tIGNhbXBvcyBpbmRpdmlkdWFpcyBwYXJhIGNhZGEgZMOtZ2l0by5cclxuICogSW1wbGVtZW50YSB7QGxpbmsgQ29udHJvbFZhbHVlQWNjZXNzb3J9IHBhcmEgaW50ZWdyYcOnw6NvIG5hdGl2YSBjb20gUmVhY3RpdmUgRm9ybXNcclxuICogZSBUZW1wbGF0ZS1kcml2ZW4gRm9ybXMgZG8gQW5ndWxhci5cclxuICpcclxuICogRnVuY2lvbmFsaWRhZGVzOlxyXG4gKiAtIENhbXBvcyBzZXBhcmFkb3MgZSBuYXZlZ8OhdmVpcyBwYXJhIGNhZGEgZMOtZ2l0byBkbyBjw7NkaWdvXHJcbiAqIC0gQ29tcHJpbWVudG8gY29uZmlndXLDoXZlbCB2aWEgaW5wdXQgYGxlbmd0aGBcclxuICogLSBTdXBvcnRlIGEgZW50cmFkYSBudW3DqXJpY2Egb3UgYWxmYW51bcOpcmljYVxyXG4gKiAtIE5hdmVnYcOnw6NvIHBvciB0ZWNsYWRvIChzZXRhcywgYmFja3NwYWNlKVxyXG4gKiAtIFN1cG9ydGUgYSBjb2xhciAocGFzdGUpIGNvbSB0cnVuY2FtZW50byBhdXRvbcOhdGljbyBhbyB0YW1hbmhvIGRlZmluaWRvXHJcbiAqIC0gRXN0YWRvIGRlIGVycm8gdmlhIGlucHV0IGBpbnZhbGlkYFxyXG4gKiAtIEFjZXNzaWJpbGlkYWRlIGNvbXBsZXRhIGNvbSBBUklBIGxhYmVscyBlIHJvbGVzIHNlbcOibnRpY29zXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAqICAgPHMtcGluLWNvZGUtZmllbGRcclxuICogICAgIGZvcm1Db250cm9sTmFtZT1cImNvZGVcIlxyXG4gKiAgICAgW2xlbmd0aF09XCI2XCJcclxuICogICAgIFthbHBoYW51bWVyaWNdPVwiZmFsc2VcIlxyXG4gKiAgICAgW2ludmFsaWRdPVwiKGZvcm0uZ2V0KCdjb2RlJyk/LmludmFsaWQgJiYgZm9ybS5nZXQoJ2NvZGUnKT8uZGlydHkpIHx8IGZhbHNlXCJcclxuICogICAgIGhlbHBUZXh0PVwiRGlnaXRlIHNldSBjw7NkaWdvIGRlIDYgZMOtZ2l0b3NcIlxyXG4gKiAgICAgKGNvZGVGaWxsZWQpPVwib25Db2RlRmlsbGVkKCRldmVudClcIj5cclxuICogICA8L3MtcGluLWNvZGUtZmllbGQ+XHJcbiAqIDwvZm9ybT5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBJbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXBpbi1jb2RlLWZpZWxkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9waW4tY29kZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaW5Db2RlRmllbGRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBpbkNvZGVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExBU1RfSU5ERVhfT0ZGU0VUID0gMTtcclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTsO6bWVybyBkZSBjYW1wb3MgZGUgZW50cmFkYSAoY29tcHJpbWVudG8gZG8gY8OzZGlnbyBQSU4pLlxyXG4gICAgICogRGV2ZSBzZXIgYW8gbWVub3MgMS5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCA2XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBsZW5ndGggPSBpbnB1dCg2KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBQZXJtaXRlIGVudHJhZGEgYWxmYW51bcOpcmljYSBlIGRlIGNhcmFjdGVyZXMgZXNwZWNpYWlzLlxyXG4gICAgICogUXVhbmRvIGBmYWxzZWAsIGFjZWl0YSBhcGVuYXMgZMOtZ2l0b3MgbnVtw6lyaWNvcyAoMOKAkzkpLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhbHBoYW51bWVyaWMgPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gZGUgYWp1ZGEgZXhpYmlkbyBhYmFpeG8gZG9zIGNhbXBvcyBkZSBlbnRyYWRhLFxyXG4gICAgICogZm9ybmVjZW5kbyBpbnN0cnXDp8O1ZXMgYWRpY2lvbmFpcyBhbyB1c3XDoXJpby5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGVscFRleHQgPSBpbnB1dCgnJyk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgYSB2aXN1YWxpemHDp8OjbyBkbyBlc3RhZG8gZGUgZXJybyBkbyBjb21wb25lbnRlLlxyXG4gICAgICogUXVhbmRvIGB0cnVlYCwgZXhpYmUgYm9yZGEgdmVybWVsaGEgbm9zIGNhbXBvcyBkZSBlbnRyYWRhLlxyXG4gICAgICogTm9ybWFsbWVudGUgdmluY3VsYWRvIGFvIGVzdGFkbyBgaW52YWxpZCAmJiBkaXJ0eWAgZG8gYEZvcm1Db250cm9sYC5cclxuICAgICAqXHJcbiAgICAgKiBAZXhhbXBsZVxyXG4gICAgICogYGBgaHRtbFxyXG4gICAgICogW2ludmFsaWRdPVwiKGNvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8uZGlydHkpIHx8IGZhbHNlXCJcclxuICAgICAqIGBgYFxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGludmFsaWQgPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbGEgbyBlc3RhZG8gZGVzYWJpbGl0YWRvIGRvIGNvbXBvbmVudGUgdmlhIHR3by13YXkgYmluZGluZy5cclxuICAgICAqIFF1YW5kbyBgdHJ1ZWAsIHRvZG9zIG9zIGNhbXBvcyBmaWNhbSBkZXNhYmlsaXRhZG9zIGUgYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpbyDDqSBibG9xdWVhZGEuXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIHRvZG9zIG9zIGNhbXBvcyBkbyBjw7NkaWdvIFBJTiBzw6NvIHByZWVuY2hpZG9zLlxyXG4gICAgICogRW1pdGUgbyBjw7NkaWdvIGNvbXBsZXRvIGNvbW8gc3RyaW5nLlxyXG4gICAgICpcclxuICAgICAqIEBleGFtcGxlXHJcbiAgICAgKiBgYGBodG1sXHJcbiAgICAgKiAoY29kZUZpbGxlZCk9XCJvbkNvZGVGaWxsZWQoJGV2ZW50KVwiXHJcbiAgICAgKiBgYGBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvZGVGaWxsZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFNpZ25hbCBjb20gb3MgdmFsb3JlcyBhdHVhaXMgZGUgY2FkYSBjYW1wbyBkZSBlbnRyYWRhLlxyXG4gICAgICogTyBjb21wcmltZW50byBkbyBhcnJheSBjb3JyZXNwb25kZSBhbyB2YWxvciBkbyBpbnB1dCBgbGVuZ3RoYC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlucHV0cyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2lnbmFsIHRyYWNraW5nIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB0b3VjaGVkIGJ5IHRoZSB1c2VyLlxyXG4gICAgICogU2V0IHRvIHRydWUgd2hlbiB0aGUgbGFzdCBpbnB1dCBmaWVsZCBsb3NlcyBmb2N1cyAoYmx1ciBldmVudCkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXB1dGVkIHNpZ25hbCBpbmRpY2F0aW5nIHdoZXRoZXIgYWxsIFBJTiBjb2RlIGZpZWxkcyBhcmUgZmlsbGVkLlxyXG4gICAgICogVHJ1ZSBvbmx5IHdoZW4gZXZlcnkgZmllbGQgY29udGFpbnMgYSBub24tZW1wdHkgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0NvbXBsZXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbnB1dHMoKS5ldmVyeSgoaW5wdXQpID0+IGlucHV0ICE9PSAnJykpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZWQgc2lnbmFsIGNvbnRhaW5pbmcgdGhlIGNvbXBsZXRlIFBJTiBjb2RlIGFzIGEgam9pbmVkIHN0cmluZy5cclxuICAgICAqIFJldHVybnMgZW1wdHkgc3RyaW5nIGlmIG5vIGlucHV0cyBhcmUgZmlsbGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3VycmVudFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pbnB1dHMoKS5qb2luKCcnKSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaWduYWwgdHJhY2tpbmcgaWYgdGhlIGNvbXBvbmVudCBob3N0IGhhcyB0aGUgbmctaW52YWxpZCBjbGFzcyBmcm9tIEZvcm1Db250cm9sIHZhbGlkYXRvcnMuXHJcbiAgICAgKiBVcGRhdGVkIHJlYWN0aXZlbHkgd2hlbmV2ZXIgdGhlIGludmFsaWQgc3RhdGUgY2hhbmdlcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBoYXNOZ0ludmFsaWRDbGFzcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaWduYWwgdHJhY2tpbmcgaWYgdGhlIEZvcm1Db250cm9sIGlzIGRpcnR5LlxyXG4gICAgICogVXBkYXRlZCByZWFjdGl2ZWx5IHdoZW5ldmVyIHRoZSBkaXJ0eSBzdGF0ZSBjaGFuZ2VzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGlzQ29udHJvbERpcnR5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXB1dGVkIHNpZ25hbCBpbmRpY2F0aW5nIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHNob3cgZXJyb3Igc3RhdGUuXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWY6XHJcbiAgICAgKiAtIFRoZSBgaW52YWxpZGAgaW5wdXQgaXMgdHJ1ZSwgT1JcclxuICAgICAqIC0gVGhlIGNvbXBvbmVudCBoYXMgdGhlIGBuZy1pbnZhbGlkYCBjbGFzcyBBTkQgdGhlIEZvcm1Db250cm9sIGlzIGRpcnR5ICh0b3VjaGVkL21vZGlmaWVkKVxyXG4gICAgICogVGhpcyBlbnN1cmVzIGVycm9ycyBhcmUgb25seSBzaG93biB0byB0aGUgdXNlciBhZnRlciB0aGV5J3ZlIGludGVyYWN0ZWQgd2l0aCB0aGUgZmllbGQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYXNFcnJvciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW52YWxpZCgpIHx8ICh0aGlzLmhhc05nSW52YWxpZENsYXNzKCkgJiYgdGhpcy5pc0NvbnRyb2xEaXJ0eSgpKSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWaWV3Q2hpbGRyZW4gcmVmZXJlbmNlIHRvIGFsbCBpbnB1dCBET00gZWxlbWVudHMuXHJcbiAgICAgKiBVc2VkIGZvciBET00gbWFuaXB1bGF0aW9uIChmb2N1cywgc2VsZWN0aW9uKS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHBpbklucHV0cyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPigncGluSW5wdXQnKTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgZWZmZWN0KFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5ld0xlbmd0aCA8IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BJTiBjb2RlIGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0IDEnKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dHMoKS5sZW5ndGggIT09IG5ld0xlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRzLnNldChBcnJheS5mcm9tKHsgbGVuZ3RoOiBuZXdMZW5ndGggfSwgKCkgPT4gJycpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIE1vbml0b3IgbmctaW52YWxpZCBhbmQgbmctZGlydHkgY2xhc3NlcyBvbiB0aGUgaG9zdCBlbGVtZW50IGZvciByZWFjdGl2ZSBlcnJvciBzdGF0ZVxyXG4gICAgICAgIGVmZmVjdChcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQWNjZXNzIGlucHV0cyB0byBjcmVhdGUgZGVwZW5kZW5jeSBvbiBjaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnZhbGlkKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gVXNlIHNldFRpbWVvdXQgdG8gZGVmZXIgdGhlIGNoZWNrIHRvIG5leHQgdGljayB0byBlbnN1cmUgQW5ndWxhciBoYXMgdXBkYXRlZCBET00gY2xhc3Nlc1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGFzTmdJbnZhbGlkID0gaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNEaXJ0eSA9IGhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctZGlydHknKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNOZ0ludmFsaWRDbGFzcy5zZXQoaGFzTmdJbnZhbGlkKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29udHJvbERpcnR5LnNldChpc0RpcnR5KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIENsZWFudXAgdGltZW91dCBvbiBjb21wb25lbnQgZGVzdHJveVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIGlucHV0IGV2ZW50IG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIFZhbGlkYXRlcyBjaGFyYWN0ZXIgaW5wdXQsIHByZXZlbnRzIG11bHRpcGxlIGNoYXJhY3RlcnMgcGVyIGZpZWxkLFxyXG4gICAgICogYXV0by1hZHZhbmNlcyB0byBuZXh0IGZpZWxkIHdoZW4gY2hhcmFjdGVyIGlzIGVudGVyZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGlucHV0IGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbklucHV0KGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPiAxIHx8ICh2YWx1ZSAmJiAhdGhpcy5pc1ZhbGlkQ2hhcmFjdGVyKHZhbHVlKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGVhcklucHV0KHRhcmdldCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0SW5wdXRBdEluZGV4KGluZGV4LCB2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSAmJiBpbmRleCA8IHRoaXMubGVuZ3RoKCkgLSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNBbmRTZWxlY3RJbnB1dChpbmRleCArIDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZUZpbGxlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIFN1cHBvcnRzIGFycm93IG5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFuZCBiYWNrc3BhY2Uga2V5LlxyXG4gICAgICpcclxuICAgICAqIEtleWJvYXJkIGJlaGF2aW9yOlxyXG4gICAgICogLSBBcnJvd1JpZ2h0OiBNb3ZlIGZvY3VzIHRvIG5leHQgZmllbGRcclxuICAgICAqIC0gQXJyb3dMZWZ0OiBNb3ZlIGZvY3VzIHRvIHByZXZpb3VzIGZpZWxkXHJcbiAgICAgKiAtIEJhY2tzcGFjZTogQ2xlYXIgY3VycmVudCBvciBwcmV2aW91cyBmaWVsZCBhbmQgYWRqdXN0IGZvY3VzXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGtleWJvYXJkIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbktleURvd24oaW5kZXg6IG51bWJlciwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcclxuXHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCgpIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c0FuZFNlbGVjdElucHV0KGluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNBbmRTZWxlY3RJbnB1dChpbmRleCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrc3BhY2UoaW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBwYXN0ZSAoY2xpcGJvYXJkKSBldmVudHMgb24gUElOIGNvZGUgZmllbGRzLlxyXG4gICAgICogRXh0cmFjdHMgdmFsaWQgY2hhcmFjdGVycyBmcm9tIHBhc3RlZCBjb250ZW50LCBmaWx0ZXJzIGJ5IGNoYXJhY3RlciB0eXBlLFxyXG4gICAgICogYW5kIGF1dG9tYXRpY2FsbHkgdHJ1bmNhdGVzIHRvIG1hdGNoIGZpZWxkIGxlbmd0aC5cclxuICAgICAqXHJcbiAgICAgKiBCZWhhdmlvcjpcclxuICAgICAqIC0gRmlsdGVycyBjaGFyYWN0ZXJzIGJhc2VkIG9uIGBhbHBoYW51bWVyaWNgIHNldHRpbmdcclxuICAgICAqIC0gVHJ1bmNhdGVzIHRvIG1heGltdW0gZmllbGQgY291bnRcclxuICAgICAqIC0gRmlsbHMgYXZhaWxhYmxlIGZpZWxkcyB3aXRoIHBhc3RlZCBjb250ZW50XHJcbiAgICAgKiAtIEVtaXRzIGNvZGVGaWxsZWQgZXZlbnQgaWYgYWxsIGZpZWxkcyBhcmUgZmlsbGVkXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGNsaXBib2FyZCBldmVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHZhbGlkQ2hhcnMgPSB0aGlzLmV4dHJhY3RWYWxpZENoYXJhY3RlcnNGcm9tUGFzdGUoZXZlbnQpO1xyXG5cclxuICAgICAgICBpZiAodmFsaWRDaGFycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsbGVkSW5wdXRzID0gWy4uLnZhbGlkQ2hhcnMsIC4uLkFycmF5KHRoaXMubGVuZ3RoKCkgLSB2YWxpZENoYXJzLmxlbmd0aCkuZmlsbCgnJyldO1xyXG5cclxuICAgICAgICB0aGlzLmlucHV0cy5zZXQoZmlsbGVkSW5wdXRzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XHJcblxyXG4gICAgICAgIC8vIEZvY3VzIG9uIHRoZSBmaXJzdCBlbXB0eSBpbnB1dCBvciB0aGUgbGFzdCBmaWxsZWQgaW5wdXQgaWYgYWxsIGFyZSBmaWxsZWRcclxuICAgICAgICBjb25zdCBmaXJzdEVtcHR5SW5kZXggPSB2YWxpZENoYXJzLmxlbmd0aCA8IHRoaXMubGVuZ3RoKCkgPyB2YWxpZENoYXJzLmxlbmd0aCA6IHZhbGlkQ2hhcnMubGVuZ3RoIC0gMTtcclxuICAgICAgICB0aGlzLmZvY3VzQW5kU2VsZWN0SW5wdXQoZmlyc3RFbXB0eUluZGV4KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZUZpbGxlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXMgZm9jdXMgZXZlbnQgb24gUElOIGNvZGUgZmllbGRzLlxyXG4gICAgICogU2VsZWN0cyBhbGwgdGV4dCBpbiB0aGUgaW5wdXQgZmllbGQgd2hlbiBmb2N1c2VkLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5waW5JbnB1dHMoKVtpbmRleF07XHJcbiAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyBibHVyIGV2ZW50IG9uIFBJTiBjb2RlIGZpZWxkcy5cclxuICAgICAqIE1hcmtzIHRoZSBjb21wb25lbnQgYXMgdG91Y2hlZCB3aGVuIHRoZSBsYXN0IGlucHV0IGZpZWxkIGxvc2VzIGZvY3VzLlxyXG4gICAgICogQWxzbyBub3RpZmllcyB0aGUgcmVnaXN0ZXJlZCBvblRvdWNoZWQgY2FsbGJhY2sgZm9yIEZvcm1Db250cm9sIGludGVncmF0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQmx1cihpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgLy8gT25seSBtYXJrIGFzIHRvdWNoZWQgd2hlbiB0aGUgTEFTVCBpbnB1dCBsb3NlcyBmb2N1c1xyXG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5sZW5ndGgoKSAtIFBpbkNvZGVGaWVsZENvbXBvbmVudC5MQVNUX0lOREVYX09GRlNFVCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvdWNoZWQuc2V0KHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUgYXQgc3BlY2lmaWVkIGluZGV4IGFuZCBhZGp1c3RzIGZvY3VzIGFjY29yZGluZ2x5LlxyXG4gICAgICogSWYgY3VycmVudCBmaWVsZCBpcyBlbXB0eSwgbW92ZXMgdG8gcHJldmlvdXMgZmllbGQgYW5kIGNsZWFycyBpdC5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHBhcmFtIGluZGV4IC0gVGhlIGlucHV0IGZpZWxkIGluZGV4ICgwLWJhc2VkKVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGhhbmRsZUJhY2tzcGFjZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudElucHV0cyA9IHRoaXMuaW5wdXRzKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGN1cnJlbnQgaW5wdXQgaGFzIHZhbHVlLCBjbGVhciBpdFxyXG4gICAgICAgIGlmIChjdXJyZW50SW5wdXRzW2luZGV4XSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldElucHV0QXRJbmRleChpbmRleCwgUGluQ29kZUZpZWxkQ29tcG9uZW50LkVNUFRZX1ZBTFVFKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjbGVhciBwcmV2aW91cyBpbnB1dCBhbmQgZm9jdXMgaXRcclxuICAgICAgICBpZiAoaW5kZXggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRBdEluZGV4KGluZGV4IC0gMSwgUGluQ29kZUZpZWxkQ29tcG9uZW50LkVNUFRZX1ZBTFVFKTtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c0FuZFNlbGVjdElucHV0KGluZGV4IC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdmFsdWUgYXQgYSBzcGVjaWZpYyBpbnB1dCBmaWVsZCBpbmRleCBhbmQgdXBkYXRlcyB0aGUgZm9ybSB2YWx1ZS5cclxuICAgICAqIFVwZGF0ZXMgdGhlIHNpZ25hbCBhbmQgdHJpZ2dlcnMgdGhlIGNoYW5nZSBkZXRlY3Rpb24gdmlhIG9uQ2hhbmdlIGNhbGxiYWNrLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggLSBUaGUgaW5wdXQgZmllbGQgaW5kZXggKDAtYmFzZWQpXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gc2V0IGluIHRoZSBmaWVsZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldElucHV0QXRJbmRleChpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudElucHV0cyA9IHRoaXMuaW5wdXRzKCk7XHJcbiAgICAgICAgY3VycmVudElucHV0c1tpbmRleF0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmlucHV0cy5zZXQoWy4uLmN1cnJlbnRJbnB1dHNdKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb2N1c2VzIG9uIGFuZCBzZWxlY3RzIHRleHQgaW4gdGhlIGlucHV0IGZpZWxkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXHJcbiAgICAgKiBVc2VzIHF1ZXVlTWljcm90YXNrIHRvIGVuc3VyZSBET00gaXMgdXBkYXRlZCBiZWZvcmUgZm9jdXNpbmcuXHJcbiAgICAgKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqIEBwYXJhbSBpbmRleCAtIFRoZSBpbnB1dCBmaWVsZCBpbmRleCAoMC1iYXNlZClcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBmb2N1c0FuZFNlbGVjdElucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5waW5JbnB1dHMoKVtpbmRleF07XHJcbiAgICAgICAgICAgIGlmIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xlYXJzIHRoZSB2YWx1ZSBvZiBhbiBpbnB1dCBlbGVtZW50LlxyXG4gICAgICogVXNlZCBmb3IgaW5wdXQgdmFsaWRhdGlvbiB0byByZWplY3QgaW52YWxpZCBjaGFyYWN0ZXJzLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIEhUTUwgaW5wdXQgZWxlbWVudCB0byBjbGVhclxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsZWFySW5wdXQodGFyZ2V0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHRyYWN0cyB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gcGFzdGVkIGNvbnRlbnQuXHJcbiAgICAgKiBGaWx0ZXJzIGJhc2VkIG9uIGFscGhhbnVtZXJpYyBzZXR0aW5nIGFuZCBsaW1pdHMgdG8gY29tcG9uZW50J3MgbGVuZ3RoLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgY2xpcGJvYXJkIGV2ZW50XHJcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHBhc3RlZCBjb250ZW50XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZXh0cmFjdFZhbGlkQ2hhcmFjdGVyc0Zyb21QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgcGFzdGVkVGV4dCA9IChldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0JykgfHwgJycpLnRyaW0oKTtcclxuICAgICAgICByZXR1cm4gcGFzdGVkVGV4dFxyXG4gICAgICAgICAgICAuc3BsaXQoJycpXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGNoYXIpID0+IHRoaXMuaXNWYWxpZENoYXJhY3RlcihjaGFyKSlcclxuICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMubGVuZ3RoKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhdGVzIGlmIGEgY2hhcmFjdGVyIGlzIGFjY2VwdGFibGUgYmFzZWQgb24gY29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgKiBGb3IgbnVtZXJpYyBtb2RlLCBhY2NlcHRzIG9ubHkgZGlnaXRzIDAtOS5cclxuICAgICAqIEZvciBhbHBoYW51bWVyaWMgbW9kZSwgYWNjZXB0cyBhbnkgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcGFyYW0gY2hhciAtIFRoZSBjaGFyYWN0ZXIgdG8gdmFsaWRhdGVcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgY2hhcmFjdGVyIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkQ2hhcmFjdGVyKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmFscGhhbnVtZXJpYygpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjaGFyLnRyaW0oKS5sZW5ndGggPiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gL15bMC05XSQvLnRlc3QoY2hhcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHRoZSBmb3JtIHZhbHVlIGJ5IGNhbGxpbmcgdGhlIG9uQ2hhbmdlIGNhbGxiYWNrIHJlZ2lzdGVyZWQgYnkgRm9ybUNvbnRyb2wuXHJcbiAgICAgKiBUaGlzIGVuc3VyZXMgdGhlIHJlYWN0aXZlIGZvcm0gc3RheXMgc3luY2hyb25pemVkIHdpdGggY29tcG9uZW50IHN0YXRlLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmN1cnJlbnRWYWx1ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogQ2FsbGVkIGJ5IHRoZSBGb3JtQ29udHJvbCB0byB3cml0ZSBhIHZhbHVlIHRvIHRoZSBjb21wb25lbnQuXHJcbiAgICAgKiBPbmx5IGFjY2VwdHMgc3RyaW5nIHZhbHVlcyB3aXRoIGxlbmd0aCBtYXRjaGluZyB0aGUgY29tcG9uZW50J3MgbGVuZ3RoIHNldHRpbmcuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHdyaXRlICh0eXBpY2FsbHkgZnJvbSB0aGUgRm9ybUNvbnRyb2wpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSB0aGlzLmxlbmd0aCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cy5zZXQoc3RyaW5nVmFsdWUuc3BsaXQoJycpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlLlxyXG4gICAgICogQ2FsbGVkIGJ5IHRoZSBGb3JtQ29udHJvbCB3aGVuIHZhbHVlIGNoYW5nZXMuXHJcbiAgICAgKiBSZWdpc3RlcnMgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgY2hhbmdlcy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiB0byBpbnZva2Ugd2hlbiBjb21wb25lbnQgdmFsdWUgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIENhbGxlZCBieSB0aGUgRm9ybUNvbnRyb2wgdG8gcmVnaXN0ZXIgdGhlIHRvdWNoZWQgY2FsbGJhY2suXHJcbiAgICAgKiBUaGUgY2FsbGJhY2sgaXMgaW52b2tlZCB3aGVuIHRoZSBsYXN0IGlucHV0IGZpZWxkIGxvc2VzIGZvY3VzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBmbiAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIGNvbXBvbmVudCBpcyB0b3VjaGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZS5cclxuICAgICAqIENhbGxlZCBieSB0aGUgRm9ybUNvbnRyb2wgdG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlzYWJsZWQgbW9kZWwgdG8gcmVmbGVjdCB0aGUgZm9ybSdzIGRpc2FibGVkIHN0YXRlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIC0gV2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBkaXNhYmxlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdhcC14c21hbGwgZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC0yXCJcbiAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlBJTiBjb2RlIGlucHV0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImhlbHBUZXh0KCkgPyAncGluLWhlbHAtdGV4dCcgOiBudWxsXCJcbiAgICA+XG4gICAgICAgIEBmb3IgKGlucHV0IG9mIGlucHV0cygpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgaSkge1xuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI3BpbklucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0xMiB3LTEyIHJvdW5kZWQteGJpZyBib3JkZXIgdGV4dC1jZW50ZXIgdGV4dC1sZyBmb250LW1lZGl1bSB0cmFuc2l0aW9uLVtiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixjb2xvcl0gZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItY3JpdGljYWxpdHktcmVkIGZvY3VzLXZpc2libGU6b3V0bGluZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LVstMnB4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtY3JpdGljYWxpdHktcmVkJzogaGFzRXJyb3IoKSxcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1ncmF5c2NhbGUtMzAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtWy0ycHhdIGZvY3VzLXZpc2libGU6b3V0bGluZS1bdmFyKC0tcy1mb2N1cy1yaW5nLWNvbG9yLCMwMDkwZmYpXSc6ICFoYXNFcnJvcigpLFxuICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLW5vdC1hbGxvd2VkIGJnLWdyYXlzY2FsZS0xMCB0ZXh0LWdyYXlzY2FsZS02MCc6IGRpc2FibGVkKCksXG4gICAgICAgICAgICAgICAgICAgICdiZy1ncmF5c2NhbGUtMCB0ZXh0LWdyYXlzY2FsZS0xMDAnOiAhZGlzYWJsZWQoKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaW5wdXRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwiMVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaW5wdXRtb2RlXT1cImFscGhhbnVtZXJpYygpID8gJ3RleHQnIDogJ251bWVyaWMnXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICBhbHBoYW51bWVyaWMoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5waW5fY29kZV9jaGFyYWN0ZXJfaW5kZXhfb2ZfdG90YWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGluZGV4OiBpICsgMSwgbGVuZ3RoOiBsZW5ndGgoKSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5waW5fY29kZV9kaWdpdF9pbmRleF9vZl90b3RhbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgaW5kZXg6IGkgKyAxLCBsZW5ndGg6IGxlbmd0aCgpIH0pXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImhlbHBUZXh0KCkgPyAncGluLWhlbHAtdGV4dCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoaSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKGksICRldmVudClcIlxuICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKGkpXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChoZWxwVGV4dCgpKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwicGluLWhlbHAtdGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cIm10LXNtYWxsIHRleHQtc20gdGV4dC1ncmF5c2NhbGUtNjBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBoZWxwVGV4dCgpIH19XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
2
|
import { Component, computed, forwardRef, inject, Injector, input, model, output, signal, } from '@angular/core';
|
|
3
3
|
import { FormsModule, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
4
|
-
import { InteractiveContentDirective } from '@seniorsistemas/angular-components/interactive-content';
|
|
5
4
|
import { RadioButtonRegistryService } from '../services/radio-button-registry.service';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
/**
|
|
@@ -82,11 +81,6 @@ export class RadioButtonComponent {
|
|
|
82
81
|
this.radioButtonRegistry.select(this);
|
|
83
82
|
this.onTouched(this.value());
|
|
84
83
|
}
|
|
85
|
-
activedContent(event) {
|
|
86
|
-
event.stopPropagation();
|
|
87
|
-
event.preventDefault();
|
|
88
|
-
this.setValue();
|
|
89
|
-
}
|
|
90
84
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
85
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: RadioButtonComponent, isStandalone: true, selector: "s-radiobutton", inputs: { buttonDisabled: { classPropertyName: "buttonDisabled", publicName: "buttonDisabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonDisabled: "buttonDisabledChange", value: "valueChange", focusedInput: "focusedInput", inputFocusLost: "inputFocusLost" }, providers: [
|
|
92
86
|
{
|
|
@@ -94,16 +88,16 @@ export class RadioButtonComponent {
|
|
|
94
88
|
useExisting: forwardRef(() => RadioButtonComponent),
|
|
95
89
|
multi: true,
|
|
96
90
|
},
|
|
97
|
-
], ngImport: i0, template: "<div
|
|
91
|
+
], ngImport: i0, template: "<div class=\"flex items-center gap-3\">\n <input\n type=\"radio\"\n [value]=\"value()\"\n [checked]=\"checked\"\n [name]=\"name()\"\n [id]=\"inputId()\"\n (change)=\"setValue()\"\n [disabled]=\"disabled()\"\n class=\"relative h-5 w-5 shrink-0 appearance-none rounded-[50%] border transition-[background-color,border-color,box-shadow] duration-200 ease-in-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] disabled:opacity-50\"\n [ngClass]=\"{\n 'border-primary bg-primary shadow-[inset_0_0_0_4px_#fff]': checked,\n 'border-grayscale-30 bg-grayscale-0': !checked,\n 'cursor-pointer': !disabled(),\n 'hover:border-tarawera-500 hover:bg-tarawera-500': !disabled() && checked,\n 'hover:border-grayscale-50': !disabled() && !checked,\n }\"\n (focus)=\"focusedInput.emit($event)\"\n (blur)=\"inputFocusLost.emit($event)\"\n />\n\n <label\n class=\"font-open-sans m-0 text-sm text-grayscale-90\"\n [ngClass]=\"{\n 'cursor-pointer': !disabled(),\n 'opacity-50': disabled(),\n }\"\n [for]=\"inputId()\"\n >\n {{ label() }}\n </label>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
98
92
|
}
|
|
99
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
100
94
|
type: Component,
|
|
101
|
-
args: [{ selector: 's-radiobutton', standalone: true, imports: [FormsModule, NgClass
|
|
95
|
+
args: [{ selector: 's-radiobutton', standalone: true, imports: [FormsModule, NgClass], providers: [
|
|
102
96
|
{
|
|
103
97
|
provide: NG_VALUE_ACCESSOR,
|
|
104
98
|
useExisting: forwardRef(() => RadioButtonComponent),
|
|
105
99
|
multi: true,
|
|
106
100
|
},
|
|
107
|
-
], template: "<div
|
|
101
|
+
], template: "<div class=\"flex items-center gap-3\">\n <input\n type=\"radio\"\n [value]=\"value()\"\n [checked]=\"checked\"\n [name]=\"name()\"\n [id]=\"inputId()\"\n (change)=\"setValue()\"\n [disabled]=\"disabled()\"\n class=\"relative h-5 w-5 shrink-0 appearance-none rounded-[50%] border transition-[background-color,border-color,box-shadow] duration-200 ease-in-out focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] disabled:opacity-50\"\n [ngClass]=\"{\n 'border-primary bg-primary shadow-[inset_0_0_0_4px_#fff]': checked,\n 'border-grayscale-30 bg-grayscale-0': !checked,\n 'cursor-pointer': !disabled(),\n 'hover:border-tarawera-500 hover:bg-tarawera-500': !disabled() && checked,\n 'hover:border-grayscale-50': !disabled() && !checked,\n }\"\n (focus)=\"focusedInput.emit($event)\"\n (blur)=\"inputFocusLost.emit($event)\"\n />\n\n <label\n class=\"font-open-sans m-0 text-sm text-grayscale-90\"\n [ngClass]=\"{\n 'cursor-pointer': !disabled(),\n 'opacity-50': disabled(),\n }\"\n [for]=\"inputId()\"\n >\n {{ label() }}\n </label>\n</div>\n" }]
|
|
108
102
|
}] });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRXZGOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBY0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNyQixNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNMLG1CQUFtQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pELFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsT0FBTyxHQUFxQixJQUFJLENBQUM7SUFFdEIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUks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QzlDTCx3Z0RBNENBLDJDRE5jLFdBQVcsK0JBQUUsT0FBTyxvRkFBRSwyQkFBMkI7OzRGQVVsRCxvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0ksZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsMkJBQTJCLENBQUMsYUFFakQ7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnRlcmFjdGl2ZS1jb250ZW50JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmFkaW8tYnV0dG9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGJvdMOjbyBkZSBvcMOnw6NvIChyYWRpbyBidXR0b24pIGluZGl2aWR1YWwgcXVlIGltcGxlbWVudGFcbiAqIHtAbGluayBDb250cm9sVmFsdWVBY2Nlc3Nvcn0gcGFyYSBpbnRlZ3Jhw6fDo28gY29tIGZvcm11bMOhcmlvcyBBbmd1bGFyLlxuICogUG9kZSBzZXIgdXNhZG8gZGUgZm9ybWEgaW5kZXBlbmRlbnRlIG91IGFncnVwYWRvIGRlbnRybyBkZSB7QGxpbmsgUmFkaW9CdXR0b25Hcm91cENvbXBvbmVudH1cbiAqIHBhcmEgZ2FyYW50aXIgYSBleGNsdXNpdmlkYWRlIGRlIHNlbGXDp8OjbyBlbnRyZSBvcyBpdGVucyBkbyBncnVwby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtcmFkaW9idXR0b25cbiAqICAgbmFtZT1cIm9wY2FvXCJcbiAqICAgbGFiZWw9XCJPcMOnw6NvIEFcIlxuICogICB2YWx1ZT1cIkFcIlxuICogICBbKG5nTW9kZWwpXT1cInNlbGVjaW9uYWRvXCIgLz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBJbnB1dHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXJhZGlvYnV0dG9uJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgTmdDbGFzcywgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0J1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgSUQgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFkaW9CdXR0b25SZWdpc3RyeSA9IGluamVjdChSYWRpb0J1dHRvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uRGlzYWJsZWQoKSB8fCB0aGlzLmZvcm1JdGVtRGlzYWJsZWQoKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIGNoZWNrZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgZm9ybUl0ZW1EaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENvbnRyb2xhIG8gZXN0YWRvIGRlc2FiaWxpdGFkbyBkbyBib3TDo28gdmlhIHR3by13YXkgYmluZGluZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBidXR0b25EaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gbGFiZWwgZXhpYmlkbyBhbyBsYWRvIGRvIGJvdMOjbyBkZSBvcMOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIE5vbWUgZG8gZ3J1cG8gZGUgcmFkaW8gYnV0dG9ucy4gRGV2ZSBzZXIgaWd1YWwgcGFyYSB0b2RvcyBvcyBib3TDtWVzIGRvIG1lc21vIGdydXBvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmFsb3IgYXNzb2NpYWRvIGEgZXN0ZSBib3TDo28gZGUgb3DDp8Ojby4gRW1pdGlkbyBhbyBmb3JtdWzDoXJpbyBxdWFuZG8gbyBpdGVtIMOpIHNlbGVjaW9uYWRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgdmFsdWUgPSBtb2RlbC5yZXF1aXJlZDx1bmtub3duPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGVsZW1lbnRvIGA8aW5wdXQ+YCBpbnRlcm5vLCB1c2FkbyBwYXJhIGFjZXNzaWJpbGlkYWRlLlxuICAgICAqIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uXG4gICAgICovXG4gICAgaW5wdXRJZCA9IGlucHV0KGBSYWRpb0J1dHRvbl8ke1JhZGlvQnV0dG9uQ29tcG9uZW50LklEKyt9YCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gY2FtcG8gaW50ZXJubyByZWNlYmUgZm9jby4gKi9cbiAgICBmb2N1c2VkSW5wdXQgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBpbnRlcm5vIHBlcmRlIG8gZm9jby4gKi9cbiAgICBpbnB1dEZvY3VzTG9zdCA9IG91dHB1dDxGb2N1c0V2ZW50PigpO1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1JdGVtRGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWUgPT09IHRoaXMudmFsdWUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5yYWRpb0J1dHRvblJlZ2lzdHJ5LmFkZCh0aGlzLmNvbnRyb2wsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5yZW1vdmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHRoaXMudmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFjdGl2ZWRDb250ZW50KGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCJcbiAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJhY3RpdmVkQ29udGVudCgkZXZlbnQpXCJcbiAgICBbc3RvcFByb3BhZ2F0aW9uXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogMFwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWUoKVwiXG4gICAgICAgIFtpZF09XCJpbnB1dElkKClcIlxuICAgICAgICAoY2hhbmdlKT1cInNldFZhbHVlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIGNsYXNzPVwiaC00IHctNCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1bNTAlXSB0cmFuc2l0aW9uLWFsbCBlYXNlLWluLW91dCBkaXNhYmxlZDpvcGFjaXR5LTUwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2JvcmRlci0yIGJvcmRlci1wcmltYXJ5JzogY2hlY2tlZCxcbiAgICAgICAgICAgICdib3JkZXItWzFweF0gYm9yZGVyLWdyYXlzY2FsZS0zMCc6ICFjaGVja2VkLFxuICAgICAgICAgICAgJ2N1cnNvci1wb2ludGVyJzogIWRpc2FibGVkKCksXG4gICAgICAgICAgICAnZm9jdXMtd2l0aGluOiFib3JkZXItcHJpbWFyeSBob3Zlcjpib3JkZXItWzFweF0gaG92ZXI6Ym9yZGVyLVsjMDYzOTUxXSc6ICFkaXNhYmxlZCgpICYmIGNoZWNrZWQsXG4gICAgICAgICAgICAnaG92ZXI6Ym9yZGVyLWdyYXlzY2FsZS01MCc6ICFkaXNhYmxlZCgpICYmICFjaGVja2VkLFxuICAgICAgICB9XCJcbiAgICAgICAgW3N0b3BQcm9wYWdhdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgKHNJbnRlcmFjdGl2ZUNvbnRlbnQpPVwiYWN0aXZlZENvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJmb2N1c2VkSW5wdXQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW5wdXRGb2N1c0xvc3QuZW1pdCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiZm9udC1vcGVuLXNhbnMgbS0wIHRleHQtc20gdGV4dC1ncmF5c2NhbGUtOTBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cImFjdGl2ZWRDb250ZW50KCRldmVudClcIlxuICAgICAgICBbc3RvcFByb3BhZ2F0aW9uXT1cInRydWVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQoKSA/IC0xIDogMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdjdXJzb3ItcG9pbnRlcic6ICFkaXNhYmxlZCgpLFxuICAgICAgICAgICAgJ29wYWNpdHktNTAnOiBkaXNhYmxlZCgpLFxuICAgICAgICB9XCJcbiAgICAgICAgW2Zvcl09XCJpbnB1dElkKClcIlxuICAgID5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYWRpby1idXR0b24vc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRXZGOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBY0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNyQixNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNMLG1CQUFtQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pELFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsT0FBTyxHQUFxQixJQUFJLENBQUM7SUFFdEIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENB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Q0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25SZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yYWRpby1idXR0b24tcmVnaXN0cnkuc2VydmljZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYm90w6NvIGRlIG9ww6fDo28gKHJhZGlvIGJ1dHRvbikgaW5kaXZpZHVhbCBxdWUgaW1wbGVtZW50YVxuICoge0BsaW5rIENvbnRyb2xWYWx1ZUFjY2Vzc29yfSBwYXJhIGludGVncmHDp8OjbyBjb20gZm9ybXVsw6FyaW9zIEFuZ3VsYXIuXG4gKiBQb2RlIHNlciB1c2FkbyBkZSBmb3JtYSBpbmRlcGVuZGVudGUgb3UgYWdydXBhZG8gZGVudHJvIGRlIHtAbGluayBSYWRpb0J1dHRvbkdyb3VwQ29tcG9uZW50fVxuICogcGFyYSBnYXJhbnRpciBhIGV4Y2x1c2l2aWRhZGUgZGUgc2VsZcOnw6NvIGVudHJlIG9zIGl0ZW5zIGRvIGdydXBvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1yYWRpb2J1dHRvblxuICogICBuYW1lPVwib3BjYW9cIlxuICogICBsYWJlbD1cIk9ww6fDo28gQVwiXG4gKiAgIHZhbHVlPVwiQVwiXG4gKiAgIFsobmdNb2RlbCldPVwic2VsZWNpb25hZG9cIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtcmFkaW9idXR0b24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ0NsYXNzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0J1dHRvbkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgSUQgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFkaW9CdXR0b25SZWdpc3RyeSA9IGluamVjdChSYWRpb0J1dHRvblJlZ2lzdHJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gbnVsbDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uRGlzYWJsZWQoKSB8fCB0aGlzLmZvcm1JdGVtRGlzYWJsZWQoKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJvdGVjdGVkIGNoZWNrZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcbiAgICBwcm90ZWN0ZWQgZm9ybUl0ZW1EaXNhYmxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENvbnRyb2xhIG8gZXN0YWRvIGRlc2FiaWxpdGFkbyBkbyBib3TDo28gdmlhIHR3by13YXkgYmluZGluZy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBidXR0b25EaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gbGFiZWwgZXhpYmlkbyBhbyBsYWRvIGRvIGJvdMOjbyBkZSBvcMOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIE5vbWUgZG8gZ3J1cG8gZGUgcmFkaW8gYnV0dG9ucy4gRGV2ZSBzZXIgaWd1YWwgcGFyYSB0b2RvcyBvcyBib3TDtWVzIGRvIG1lc21vIGdydXBvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmFsb3IgYXNzb2NpYWRvIGEgZXN0ZSBib3TDo28gZGUgb3DDp8Ojby4gRW1pdGlkbyBhbyBmb3JtdWzDoXJpbyBxdWFuZG8gbyBpdGVtIMOpIHNlbGVjaW9uYWRvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gICAgdmFsdWUgPSBtb2RlbC5yZXF1aXJlZDx1bmtub3duPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGVsZW1lbnRvIGA8aW5wdXQ+YCBpbnRlcm5vLCB1c2FkbyBwYXJhIGFjZXNzaWJpbGlkYWRlLlxuICAgICAqIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uXG4gICAgICovXG4gICAgaW5wdXRJZCA9IGlucHV0KGBSYWRpb0J1dHRvbl8ke1JhZGlvQnV0dG9uQ29tcG9uZW50LklEKyt9YCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gY2FtcG8gaW50ZXJubyByZWNlYmUgZm9jby4gKi9cbiAgICBmb2N1c2VkSW5wdXQgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBpbnRlcm5vIHBlcmRlIG8gZm9jby4gKi9cbiAgICBpbnB1dEZvY3VzTG9zdCA9IG91dHB1dDxGb2N1c0V2ZW50PigpO1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1JdGVtRGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWUgPT09IHRoaXMudmFsdWUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5yYWRpb0J1dHRvblJlZ2lzdHJ5LmFkZCh0aGlzLmNvbnRyb2wsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5yZW1vdmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25SZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHRoaXMudmFsdWUoKSk7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlKClcIlxuICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICAgICAgW2lkXT1cImlucHV0SWQoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBoLTUgdy01IHNocmluay0wIGFwcGVhcmFuY2Utbm9uZSByb3VuZGVkLVs1MCVdIGJvcmRlciB0cmFuc2l0aW9uLVtiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixib3gtc2hhZG93XSBkdXJhdGlvbi0yMDAgZWFzZS1pbi1vdXQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtWzNweF0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLVt2YXIoLS1zLWZvY3VzLXJpbmctY29sb3IsIzAwOTBmZildIGRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYm9yZGVyLXByaW1hcnkgYmctcHJpbWFyeSBzaGFkb3ctW2luc2V0XzBfMF8wXzRweF8jZmZmXSc6IGNoZWNrZWQsXG4gICAgICAgICAgICAnYm9yZGVyLWdyYXlzY2FsZS0zMCBiZy1ncmF5c2NhbGUtMCc6ICFjaGVja2VkLFxuICAgICAgICAgICAgJ2N1cnNvci1wb2ludGVyJzogIWRpc2FibGVkKCksXG4gICAgICAgICAgICAnaG92ZXI6Ym9yZGVyLXRhcmF3ZXJhLTUwMCBob3ZlcjpiZy10YXJhd2VyYS01MDAnOiAhZGlzYWJsZWQoKSAmJiBjaGVja2VkLFxuICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1ncmF5c2NhbGUtNTAnOiAhZGlzYWJsZWQoKSAmJiAhY2hlY2tlZCxcbiAgICAgICAgfVwiXG4gICAgICAgIChmb2N1cyk9XCJmb2N1c2VkSW5wdXQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW5wdXRGb2N1c0xvc3QuZW1pdCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiZm9udC1vcGVuLXNhbnMgbS0wIHRleHQtc20gdGV4dC1ncmF5c2NhbGUtOTBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY3Vyc29yLXBvaW50ZXInOiAhZGlzYWJsZWQoKSxcbiAgICAgICAgICAgICdvcGFjaXR5LTUwJzogZGlzYWJsZWQoKSxcbiAgICAgICAgfVwiXG4gICAgICAgIFtmb3JdPVwiaW5wdXRJZCgpXCJcbiAgICA+XG4gICAgICAgIHt7IGxhYmVsKCkgfX1cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -82,7 +82,7 @@ export class RatingScaleComponent {
|
|
|
82
82
|
useExisting: forwardRef(() => RatingScaleComponent),
|
|
83
83
|
multi: true,
|
|
84
84
|
},
|
|
85
|
-
], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"flex flex-col\"\n [class.opacity-50]=\"disabled\">\n <div class=\"flex\">\n @for (node of nodes; track node.id) {\n <button\n class=\"flex flex-grow items-center justify-center rounded-xbig border border-secondary bg-grayscale-0 p-2 mx-0.5 first:ml-0 last:mr-0\"\n [class.bg-hippie-blue-100]=\"value?.id === node.id && !disabled\"\n [class.border-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.text-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.hover:bg-grayscale-20]=\"!disabled\"\n [
|
|
85
|
+
], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"flex flex-col\"\n [class.opacity-50]=\"disabled\">\n <div class=\"flex\">\n @for (node of nodes; track node.id) {\n <button\n class=\"flex flex-grow items-center justify-center rounded-xbig border border-secondary bg-grayscale-0 p-2 mx-0.5 first:ml-0 last:mr-0\"\n [class.bg-hippie-blue-100]=\"value?.id === node.id && !disabled\"\n [class.border-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.text-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.hover:bg-grayscale-20]=\"!disabled\"\n [ngClass]=\"{\n 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': !disabled\n }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\">\n @let nodeIconClass = getNodeIconClass(node);\n @if (nodeIconClass) {\n <span\n class=\"m-1.5 text-base text-grayscale-60\"\n [ngClass]=\"nodeIconClass\">\n </span>\n }\n @if (node.title) {\n <span class=\"m-1.5 text-sm font-normal leading-[150%] text-grayscale-90\">{{ node.title }}</span>\n }\n </button>\n }\n </div>\n <div class=\"flex justify-between py-3\">\n <span class=\"font-open-sans text-sm font-normal leading-[150%] text-[#080808]\">{{ startLabel }}</span>\n <span class=\"font-open-sans text-sm font-normal leading-[150%] text-[#080808]\">{{ endLabel }}</span>\n </div>\n</div>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
86
86
|
}
|
|
87
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingScaleComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
@@ -92,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
92
92
|
useExisting: forwardRef(() => RatingScaleComponent),
|
|
93
93
|
multi: true,
|
|
94
94
|
},
|
|
95
|
-
], standalone: true, imports: [NgClass], template: "<div\n class=\"flex flex-col\"\n [class.opacity-50]=\"disabled\">\n <div class=\"flex\">\n @for (node of nodes; track node.id) {\n <button\n class=\"flex flex-grow items-center justify-center rounded-xbig border border-secondary bg-grayscale-0 p-2 mx-0.5 first:ml-0 last:mr-0\"\n [class.bg-hippie-blue-100]=\"value?.id === node.id && !disabled\"\n [class.border-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.text-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.hover:bg-grayscale-20]=\"!disabled\"\n [
|
|
95
|
+
], standalone: true, imports: [NgClass], template: "<div\n class=\"flex flex-col\"\n [class.opacity-50]=\"disabled\">\n <div class=\"flex\">\n @for (node of nodes; track node.id) {\n <button\n class=\"flex flex-grow items-center justify-center rounded-xbig border border-secondary bg-grayscale-0 p-2 mx-0.5 first:ml-0 last:mr-0\"\n [class.bg-hippie-blue-100]=\"value?.id === node.id && !disabled\"\n [class.border-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.text-criticality-blue]=\"value?.id === node.id && !disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.hover:bg-grayscale-20]=\"!disabled\"\n [ngClass]=\"{\n 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': !disabled\n }\"\n tabindex=\"0\"\n (click)=\"onSelect(node)\">\n @let nodeIconClass = getNodeIconClass(node);\n @if (nodeIconClass) {\n <span\n class=\"m-1.5 text-base text-grayscale-60\"\n [ngClass]=\"nodeIconClass\">\n </span>\n }\n @if (node.title) {\n <span class=\"m-1.5 text-sm font-normal leading-[150%] text-grayscale-90\">{{ node.title }}</span>\n }\n </button>\n }\n </div>\n <div class=\"flex justify-between py-3\">\n <span class=\"font-open-sans text-sm font-normal leading-[150%] text-[#080808]\">{{ startLabel }}</span>\n <span class=\"font-open-sans text-sm font-normal leading-[150%] text-[#080808]\">{{ endLabel }}</span>\n </div>\n</div>" }]
|
|
96
96
|
}], propDecorators: { nodes: [{
|
|
97
97
|
type: Input,
|
|
98
98
|
args: [{ required: true }]
|
|
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
103
103
|
}], disabled: [{
|
|
104
104
|
type: Input
|
|
105
105
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLXNjYWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHekU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFjSCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCOzs7T0FHRztJQUVJLEtBQUssQ0FBcUI7SUFFakMsOEVBQThFO0lBRXZFLFVBQVUsQ0FBVTtJQUUzQiw0RUFBNEU7SUFFckUsUUFBUSxDQUFVO0lBRXpCOzs7O09BSUc7SUFFSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLEtBQUssQ0FBbUI7SUFDdkIsU0FBUyxDQUFvQztJQUM3QyxVQUFVLENBQW9DO0lBRS9DLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNoRCxJQUFJLGVBQWUsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO29CQUN4QyxPQUFPLENBQUMsSUFBSSxDQUNSLHlCQUF5QixJQUFJLENBQUMsRUFBRSx1S0FBdUssQ0FDMU0sQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQXFCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFzQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBQ00sZ0JBQWdCLENBQUMsUUFBMEM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUNNLGlCQUFpQixDQUFDLFNBQTJDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBdUI7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7d0dBckVRLG9CQUFvQjs0RkFBcEIsb0JBQW9CLCtKQVZsQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwrQ0NoQ0wsK3BEQWlDTSw0Q0RDUSxPQUFPOzs0RkFFUixvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBRWY7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzhCQVFYLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQVNDLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmF0aW5nU2NhbGVOb2RlIH0gZnJvbSAnLi9tb2RlbHMvcmF0aW5nLXNjYWxlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGVzY2FsYSBkZSBhdmFsaWHDp8OjbyBxdWUgcGVybWl0ZSBhbyB1c3XDoXJpbyBzZWxlY2lvbmFyIHVtIG7DsyBkZSB1bWEgZXNjYWxhIHZpc3VhbC5cclxuICogSW1wbGVtZW50YSBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIHBhcmEgaW50ZWdyYcOnw6NvIGNvbSBSZWFjdGl2ZSBGb3JtcyBlIFRlbXBsYXRlLURyaXZlbiBGb3Jtcy5cclxuICogSWRlYWwgcGFyYSBwZXNxdWlzYXMgZGUgc2F0aXNmYcOnw6NvIChOUFMsIENTQVQpIGUgcXVlc3Rpb27DoXJpb3MgZGUgZmVlZGJhY2suXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtcmF0aW5nLXNjYWxlXHJcbiAqICAgW25vZGVzXT1cInJhdGluZ05vZGVzXCJcclxuICogICBzdGFydExhYmVsPVwiUMOpc3NpbW9cIlxyXG4gKiAgIGVuZExhYmVsPVwiw5N0aW1vXCJcclxuICogICBbKG5nTW9kZWwpXT1cInJhdGluZ1wiXHJcbiAqIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgRmVlZGJhY2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXJhdGluZy1zY2FsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhdGluZ1NjYWxlQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3NdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmF0aW5nU2NhbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIG7Ds3MgcXVlIGNvbXDDtWVtIGEgZXNjYWxhIGRlIGF2YWxpYcOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uXHJcbiAgICAgKiBDYWRhIGBSYXRpbmdTY2FsZU5vZGVgIGRlZmluZSBvIHZhbG9yLCByw7N0dWxvIGUgY29yIGRvIGl0ZW0gbmEgZXNjYWxhLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIG5vZGVzITogUmF0aW5nU2NhbGVOb2RlW107XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGV4aWJpZG8gbm8gaW7DrWNpbyAoZXh0cmVtaWRhZGUgZXNxdWVyZGEpIGRhIGVzY2FsYS4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc3RhcnRMYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBubyBmaW5hbCAoZXh0cmVtaWRhZGUgZGlyZWl0YSkgZGEgZXNjYWxhLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBlbmRMYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBhIGVzY2FsYSBmaWNhIGRlc2FiaWxpdGFkYSBlIG8gdXN1w6FyaW8gbsOjbyBwb2RlIHNlbGVjaW9uYXIgbmVuaHVtIG7Dsy5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIHZhbHVlPzogUmF0aW5nU2NhbGVOb2RlO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAodmFsdWU6IFJhdGluZ1NjYWxlTm9kZSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogUmF0aW5nU2NhbGVOb2RlKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ25vZGVzJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5ub2Rlcz8uZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzU2VsZWN0ZWRJY29uID0gISFub2RlLnNlbGVjdGVkSWNvbjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1Vuc2VsZWN0ZWRJY29uID0gISFub2RlLnVuc2VsZWN0ZWRJY29uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc1NlbGVjdGVkSWNvbiAhPT0gaGFzVW5zZWxlY3RlZEljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGBzLXJhdGluZy1zY2FsZTogbyBuw7MgXCIke25vZGUuaWR9XCIgaW5mb3Jtb3UgYXBlbmFzIHVtIGRlIFwic2VsZWN0ZWRJY29uXCIvXCJ1bnNlbGVjdGVkSWNvblwiIOKAlCBvcyBkb2lzIGRldmVtIHNlciBpbmZvcm1hZG9zIGp1bnRvcy4gTmVuaHVtIMOtY29uZSBzZXLDoSBleGliaWRvIHBhcmEgZXNzZSBuw7MgYXTDqSBxdWUgYW1ib3Mgc2VqYW0gaW5mb3JtYWRvcy5gLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Tm9kZUljb25DbGFzcyhub2RlOiBSYXRpbmdTY2FsZU5vZGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChub2RlLnNlbGVjdGVkSWNvbiAmJiBub2RlLnVuc2VsZWN0ZWRJY29uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5pZCA9PT0gbm9kZS5pZCA/IG5vZGUuc2VsZWN0ZWRJY29uIDogbm9kZS51bnNlbGVjdGVkSWNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG5vZGUuc2VsZWN0ZWRJY29uIHx8IG5vZGUudW5zZWxlY3RlZEljb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5vZGUuaWNvbiA/IGBmYXMgJHtub2RlLmljb259YCA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogUmF0aW5nU2NhbGVOb2RlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VsZWN0KHJhdGluZzogUmF0aW5nU2NhbGVOb2RlKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHJhdGluZztcclxuICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2xcIlxuICAgIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgQGZvciAobm9kZSBvZiBub2RlczsgdHJhY2sgbm9kZS5pZCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQteGJpZyBib3JkZXIgYm9yZGVyLXNlY29uZGFyeSBiZy1ncmF5c2NhbGUtMCBwLTIgbXgtMC41IGZpcnN0Om1sLTAgbGFzdDptci0wXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYmctaGlwcGllLWJsdWUtMTAwXT1cInZhbHVlPy5pZCA9PT0gbm9kZS5pZCAmJiAhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItY3JpdGljYWxpdHktYmx1ZV09XCJ2YWx1ZT8uaWQgPT09IG5vZGUuaWQgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1jcml0aWNhbGl0eS1ibHVlXT1cInZhbHVlPy5pZCA9PT0gbm9kZS5pZCAmJiAhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ob3ZlcjpiZy1ncmF5c2NhbGUtMjBdPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZm9jdXM6Ym9yZGVyLTJdPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZm9jdXM6b3V0bGluZS1ub25lXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3Qobm9kZSlcIj5cbiAgICAgICAgICAgICAgICBAbGV0IG5vZGVJY29uQ2xhc3MgPSBnZXROb2RlSWNvbkNsYXNzKG5vZGUpO1xuICAgICAgICAgICAgICAgIEBpZiAobm9kZUljb25DbGFzcykge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTEuNSB0ZXh0LWJhc2UgdGV4dC1ncmF5c2NhbGUtNjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwibm9kZUljb25DbGFzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobm9kZS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tMS41IHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy1bMTUwJV0gdGV4dC1ncmF5c2NhbGUtOTBcIj57eyBub2RlLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHB5LTNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW9wZW4tc2FucyB0ZXh0LXNtIGZvbnQtbm9ybWFsIGxlYWRpbmctWzE1MCVdIHRleHQtWyMwODA4MDhdXCI+e3sgc3RhcnRMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW9wZW4tc2FucyB0ZXh0LXNtIGZvbnQtbm9ybWFsIGxlYWRpbmctWzE1MCVdIHRleHQtWyMwODA4MDhdXCI+e3sgZW5kTGFiZWwgfX08L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLXNjYWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9yYXRpbmctc2NhbGUvc3JjL2xpYi9yYXRpbmctc2NhbGUvcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHekU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFjSCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCOzs7T0FHRztJQUVJLEtBQUssQ0FBcUI7SUFFakMsOEVBQThFO0lBRXZFLFVBQVUsQ0FBVTtJQUUzQiw0RUFBNEU7SUFFckUsUUFBUSxDQUFVO0lBRXpCOzs7O09BSUc7SUFFSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLEtBQUssQ0FBbUI7SUFDdkIsU0FBUyxDQUFvQztJQUM3QyxVQUFVLENBQW9DO0lBRS9DLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNoRCxJQUFJLGVBQWUsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO29CQUN4QyxPQUFPLENBQUMsSUFBSSxDQUNSLHlCQUF5QixJQUFJLENBQUMsRUFBRSx1S0FBdUssQ0FDMU0sQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQXFCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFzQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBQ00sZ0JBQWdCLENBQUMsUUFBMEM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUNNLGlCQUFpQixDQUFDLFNBQTJDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBdUI7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7d0dBckVRLG9CQUFvQjs0RkFBcEIsb0JBQW9CLCtKQVZsQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiwrQ0NoQ0wsZ3hEQWtDTSw0Q0RBUSxPQUFPOzs0RkFFUixvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBRWY7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDOzhCQVFYLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQVNDLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmF0aW5nU2NhbGVOb2RlIH0gZnJvbSAnLi9tb2RlbHMvcmF0aW5nLXNjYWxlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGVzY2FsYSBkZSBhdmFsaWHDp8OjbyBxdWUgcGVybWl0ZSBhbyB1c3XDoXJpbyBzZWxlY2lvbmFyIHVtIG7DsyBkZSB1bWEgZXNjYWxhIHZpc3VhbC5cclxuICogSW1wbGVtZW50YSBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIHBhcmEgaW50ZWdyYcOnw6NvIGNvbSBSZWFjdGl2ZSBGb3JtcyBlIFRlbXBsYXRlLURyaXZlbiBGb3Jtcy5cclxuICogSWRlYWwgcGFyYSBwZXNxdWlzYXMgZGUgc2F0aXNmYcOnw6NvIChOUFMsIENTQVQpIGUgcXVlc3Rpb27DoXJpb3MgZGUgZmVlZGJhY2suXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtcmF0aW5nLXNjYWxlXHJcbiAqICAgW25vZGVzXT1cInJhdGluZ05vZGVzXCJcclxuICogICBzdGFydExhYmVsPVwiUMOpc3NpbW9cIlxyXG4gKiAgIGVuZExhYmVsPVwiw5N0aW1vXCJcclxuICogICBbKG5nTW9kZWwpXT1cInJhdGluZ1wiXHJcbiAqIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgRmVlZGJhY2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXJhdGluZy1zY2FsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLXNjYWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhdGluZ1NjYWxlQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3NdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmF0aW5nU2NhbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIG7Ds3MgcXVlIGNvbXDDtWVtIGEgZXNjYWxhIGRlIGF2YWxpYcOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uXHJcbiAgICAgKiBDYWRhIGBSYXRpbmdTY2FsZU5vZGVgIGRlZmluZSBvIHZhbG9yLCByw7N0dWxvIGUgY29yIGRvIGl0ZW0gbmEgZXNjYWxhLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIG5vZGVzITogUmF0aW5nU2NhbGVOb2RlW107XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGV4aWJpZG8gbm8gaW7DrWNpbyAoZXh0cmVtaWRhZGUgZXNxdWVyZGEpIGRhIGVzY2FsYS4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc3RhcnRMYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZXhpYmlkbyBubyBmaW5hbCAoZXh0cmVtaWRhZGUgZGlyZWl0YSkgZGEgZXNjYWxhLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBlbmRMYWJlbD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBhIGVzY2FsYSBmaWNhIGRlc2FiaWxpdGFkYSBlIG8gdXN1w6FyaW8gbsOjbyBwb2RlIHNlbGVjaW9uYXIgbmVuaHVtIG7Dsy5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIHZhbHVlPzogUmF0aW5nU2NhbGVOb2RlO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAodmFsdWU6IFJhdGluZ1NjYWxlTm9kZSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX29uVG91Y2hlZD86ICh2YWx1ZTogUmF0aW5nU2NhbGVOb2RlKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ25vZGVzJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5ub2Rlcz8uZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzU2VsZWN0ZWRJY29uID0gISFub2RlLnNlbGVjdGVkSWNvbjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1Vuc2VsZWN0ZWRJY29uID0gISFub2RlLnVuc2VsZWN0ZWRJY29uO1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc1NlbGVjdGVkSWNvbiAhPT0gaGFzVW5zZWxlY3RlZEljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGBzLXJhdGluZy1zY2FsZTogbyBuw7MgXCIke25vZGUuaWR9XCIgaW5mb3Jtb3UgYXBlbmFzIHVtIGRlIFwic2VsZWN0ZWRJY29uXCIvXCJ1bnNlbGVjdGVkSWNvblwiIOKAlCBvcyBkb2lzIGRldmVtIHNlciBpbmZvcm1hZG9zIGp1bnRvcy4gTmVuaHVtIMOtY29uZSBzZXLDoSBleGliaWRvIHBhcmEgZXNzZSBuw7MgYXTDqSBxdWUgYW1ib3Mgc2VqYW0gaW5mb3JtYWRvcy5gLFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Tm9kZUljb25DbGFzcyhub2RlOiBSYXRpbmdTY2FsZU5vZGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChub2RlLnNlbGVjdGVkSWNvbiAmJiBub2RlLnVuc2VsZWN0ZWRJY29uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5pZCA9PT0gbm9kZS5pZCA/IG5vZGUuc2VsZWN0ZWRJY29uIDogbm9kZS51bnNlbGVjdGVkSWNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG5vZGUuc2VsZWN0ZWRJY29uIHx8IG5vZGUudW5zZWxlY3RlZEljb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5vZGUuaWNvbiA/IGBmYXMgJHtub2RlLmljb259YCA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogUmF0aW5nU2NhbGVOb2RlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKHZhbHVlOiBSYXRpbmdTY2FsZU5vZGUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VsZWN0KHJhdGluZzogUmF0aW5nU2NhbGVOb2RlKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHJhdGluZztcclxuICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2xcIlxuICAgIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgQGZvciAobm9kZSBvZiBub2RlczsgdHJhY2sgbm9kZS5pZCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQteGJpZyBib3JkZXIgYm9yZGVyLXNlY29uZGFyeSBiZy1ncmF5c2NhbGUtMCBwLTIgbXgtMC41IGZpcnN0Om1sLTAgbGFzdDptci0wXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYmctaGlwcGllLWJsdWUtMTAwXT1cInZhbHVlPy5pZCA9PT0gbm9kZS5pZCAmJiAhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItY3JpdGljYWxpdHktYmx1ZV09XCJ2YWx1ZT8uaWQgPT09IG5vZGUuaWQgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1jcml0aWNhbGl0eS1ibHVlXT1cInZhbHVlPy5pZCA9PT0gbm9kZS5pZCAmJiAhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ob3ZlcjpiZy1ncmF5c2NhbGUtMjBdPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC1bM3B4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtW3ZhcigtLXMtZm9jdXMtcmluZy1jb2xvciwjMDA5MGZmKV0nOiAhZGlzYWJsZWRcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdChub2RlKVwiPlxuICAgICAgICAgICAgICAgIEBsZXQgbm9kZUljb25DbGFzcyA9IGdldE5vZGVJY29uQ2xhc3Mobm9kZSk7XG4gICAgICAgICAgICAgICAgQGlmIChub2RlSWNvbkNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMS41IHRleHQtYmFzZSB0ZXh0LWdyYXlzY2FsZS02MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJub2RlSWNvbkNsYXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChub2RlLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS0xLjUgdGV4dC1zbSBmb250LW5vcm1hbCBsZWFkaW5nLVsxNTAlXSB0ZXh0LWdyYXlzY2FsZS05MFwiPnt7IG5vZGUudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gcHktM1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtb3Blbi1zYW5zIHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy1bMTUwJV0gdGV4dC1bIzA4MDgwOF1cIj57eyBzdGFydExhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtb3Blbi1zYW5zIHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy1bMTUwJV0gdGV4dC1bIzA4MDgwOF1cIj57eyBlbmRMYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -11,6 +11,28 @@ export class SelectOptionComponent {
|
|
|
11
11
|
isSelected = model.required();
|
|
12
12
|
/** @description Classe do ícone de checkmark exibido quando a opção está selecionada. @default 'far fa-check' */
|
|
13
13
|
checkIconClass = input('far fa-check');
|
|
14
|
+
/**
|
|
15
|
+
* @description Texto anunciado via `aria-describedby` informando a que grupo esta opção
|
|
16
|
+
* pertence. O agrupador visual tem `role="presentation"` (silencioso pro leitor de tela), e
|
|
17
|
+
* `select.component.ts` só passa este input na primeira opção de cada grupo, pra não repetir
|
|
18
|
+
* o anúncio em toda opção subsequente.
|
|
19
|
+
* @default null
|
|
20
|
+
*/
|
|
21
|
+
groupAnnouncement = input(null);
|
|
22
|
+
/**
|
|
23
|
+
* @description Posição (1-based) desta opção dentro do conjunto navegável, exposta via
|
|
24
|
+
* `aria-posinset`. Necessário com `virtualScroll`, já que só uma janela de opções existe de
|
|
25
|
+
* fato no DOM a cada momento — sem isso, o leitor de tela tenta inferir a posição contando
|
|
26
|
+
* os `role="option"` irmãos presentes no DOM, o que fica errado numa lista virtualizada.
|
|
27
|
+
* @default null
|
|
28
|
+
*/
|
|
29
|
+
posinset = input(null);
|
|
30
|
+
/**
|
|
31
|
+
* @description Tamanho total do conjunto navegável ao qual esta opção pertence, exposto via
|
|
32
|
+
* `aria-setsize`. Ver `posinset`.
|
|
33
|
+
* @default null
|
|
34
|
+
*/
|
|
35
|
+
setsize = input(null);
|
|
14
36
|
selected = output();
|
|
15
37
|
onClick() {
|
|
16
38
|
if (this.isGrouper()) {
|
|
@@ -19,10 +41,16 @@ export class SelectOptionComponent {
|
|
|
19
41
|
this.selected.emit();
|
|
20
42
|
}
|
|
21
43
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SelectOptionComponent, isStandalone: true, selector: "s-select-option", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: true, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: true, transformFunction: null }, isGrouper: { classPropertyName: "isGrouper", publicName: "isGrouper", isSignal: true, isRequired: true, transformFunction: null }, isFocused: { classPropertyName: "isFocused", publicName: "isFocused", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: true, transformFunction: null }, checkIconClass: { classPropertyName: "checkIconClass", publicName: "checkIconClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isSelected: "isSelectedChange", selected: "selected" }, ngImport: i0, template: "<div\n [attr.id]=\"id()\"\n [attr.role]=\"isGrouper() ? 'presentation' : 'option'\"\n [attr.aria-selected]=\"isGrouper() ? null : isSelected()\"\n class=\"flex select-none items-center gap-3 px-3 py-2\"\n [class.hover:bg-grayscale-10]=\"!isGrouper()\"\n [class.bg-grayscale-10]=\"!isGrouper() && isFocused()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onClick()\"\n (keydown.space)=\"onClick(); $event.preventDefault()\"\n>\n @if (!isGrouper() && checkmark() && !multiple() && isSelected()) {\n <i\n class=\"text-grayscale-60\"\n [class]=\"checkIconClass()\"\n aria-hidden=\"true\"\n ></i>\n }\n\n @if (!isGrouper() && multiple()) {\n <s-checkbox
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SelectOptionComponent, isStandalone: true, selector: "s-select-option", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: true, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: true, transformFunction: null }, isGrouper: { classPropertyName: "isGrouper", publicName: "isGrouper", isSignal: true, isRequired: true, transformFunction: null }, isFocused: { classPropertyName: "isFocused", publicName: "isFocused", isSignal: true, isRequired: true, transformFunction: null }, isSelected: { classPropertyName: "isSelected", publicName: "isSelected", isSignal: true, isRequired: true, transformFunction: null }, checkIconClass: { classPropertyName: "checkIconClass", publicName: "checkIconClass", isSignal: true, isRequired: false, transformFunction: null }, groupAnnouncement: { classPropertyName: "groupAnnouncement", publicName: "groupAnnouncement", isSignal: true, isRequired: false, transformFunction: null }, posinset: { classPropertyName: "posinset", publicName: "posinset", isSignal: true, isRequired: false, transformFunction: null }, setsize: { classPropertyName: "setsize", publicName: "setsize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isSelected: "isSelectedChange", selected: "selected" }, host: { attributes: { "role": "presentation" } }, ngImport: i0, template: "<div\n [attr.id]=\"id()\"\n [attr.role]=\"isGrouper() ? 'presentation' : 'option'\"\n [attr.aria-selected]=\"isGrouper() ? null : isSelected()\"\n [attr.aria-describedby]=\"groupAnnouncement() ? id() + '-group' : null\"\n [attr.aria-posinset]=\"isGrouper() ? null : posinset()\"\n [attr.aria-setsize]=\"isGrouper() ? null : setsize()\"\n class=\"flex select-none items-center gap-3 px-3 py-2\"\n [class.hover:bg-grayscale-10]=\"!isGrouper()\"\n [class.bg-grayscale-10]=\"!isGrouper() && isFocused()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onClick()\"\n (keydown.space)=\"onClick(); $event.preventDefault()\"\n>\n @if (!isGrouper() && checkmark() && !multiple() && isSelected()) {\n <i\n class=\"text-grayscale-60\"\n [class]=\"checkIconClass()\"\n aria-hidden=\"true\"\n ></i>\n }\n\n @if (!isGrouper() && multiple()) {\n <!-- aria-hidden: puramente visual \u2014 o clique borbulha pro (click) do pr\u00F3prio option acima,\n e o estado de sele\u00E7\u00E3o j\u00E1 \u00E9 comunicado pelo aria-selected do option. Sem isso, esse\n checkbox aninhado (sem aria-label, com seu pr\u00F3prio aria-checked independente) era um\n segundo objeto de acessibilidade \"concorrente\" anunciando o mesmo estado \u2014 reportado\n via NVDA: o leitor de tela anunciava esse checkbox (sem nome/posi\u00E7\u00E3o pr\u00F3pria) antes\n da op\u00E7\u00E3o correta ser anunciada. -->\n <s-checkbox\n [checked]=\"isSelected()\"\n aria-hidden=\"true\"\n ></s-checkbox>\n }\n <span\n [class]=\"isSelected() ? 'text-[#428BCA]' : 'text-grayscale-90'\"\n [class.font-bold]=\"isGrouper()\"\n >\n {{ label() }}\n </span>\n\n @if (groupAnnouncement()) {\n <!-- aria-hidden pra n\u00E3o entrar no nome acess\u00EDvel da op\u00E7\u00E3o (computado a partir do\n conte\u00FAdo de texto vis\u00EDvel) \u2014 o `aria-describedby` acima ainda consegue ler seu\n texto normalmente, j\u00E1 que essa leitura ignora deliberadamente o aria-hidden do\n elemento referenciado. Sem isso, o texto seria anunciado duas vezes (uma como\n parte do nome, outra como descri\u00E7\u00E3o). -->\n <span\n class=\"sr-only\"\n [id]=\"id() + '-group'\"\n aria-hidden=\"true\"\n >{{ groupAnnouncement() }}</span>\n }\n</div>\n\n", dependencies: [{ kind: "component", type: CheckboxComponent, selector: "s-checkbox", inputs: ["disabled", "checked", "indeterminate", "label", "ariaLabel", "ariaLabelledBy"], outputs: ["disabledChange", "checkedChange"] }] });
|
|
23
45
|
}
|
|
24
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectOptionComponent, decorators: [{
|
|
25
47
|
type: Component,
|
|
26
|
-
args: [{ selector: 's-select-option', standalone: true, imports: [CheckboxComponent],
|
|
48
|
+
args: [{ selector: 's-select-option', standalone: true, imports: [CheckboxComponent], host: {
|
|
49
|
+
// Sem role="presentation" este elemento custom pode quebrar, em determinadas
|
|
50
|
+
// combinações de navegador/AT, a relação ARIA pai/filho entre o role="listbox"
|
|
51
|
+
// e o role="option" do template interno (ver WAI-ARIA APG: wrappers entre um
|
|
52
|
+
// role pai e um role filho precisam de role="presentation"/"none").
|
|
53
|
+
role: 'presentation',
|
|
54
|
+
}, template: "<div\n [attr.id]=\"id()\"\n [attr.role]=\"isGrouper() ? 'presentation' : 'option'\"\n [attr.aria-selected]=\"isGrouper() ? null : isSelected()\"\n [attr.aria-describedby]=\"groupAnnouncement() ? id() + '-group' : null\"\n [attr.aria-posinset]=\"isGrouper() ? null : posinset()\"\n [attr.aria-setsize]=\"isGrouper() ? null : setsize()\"\n class=\"flex select-none items-center gap-3 px-3 py-2\"\n [class.hover:bg-grayscale-10]=\"!isGrouper()\"\n [class.bg-grayscale-10]=\"!isGrouper() && isFocused()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onClick()\"\n (keydown.space)=\"onClick(); $event.preventDefault()\"\n>\n @if (!isGrouper() && checkmark() && !multiple() && isSelected()) {\n <i\n class=\"text-grayscale-60\"\n [class]=\"checkIconClass()\"\n aria-hidden=\"true\"\n ></i>\n }\n\n @if (!isGrouper() && multiple()) {\n <!-- aria-hidden: puramente visual \u2014 o clique borbulha pro (click) do pr\u00F3prio option acima,\n e o estado de sele\u00E7\u00E3o j\u00E1 \u00E9 comunicado pelo aria-selected do option. Sem isso, esse\n checkbox aninhado (sem aria-label, com seu pr\u00F3prio aria-checked independente) era um\n segundo objeto de acessibilidade \"concorrente\" anunciando o mesmo estado \u2014 reportado\n via NVDA: o leitor de tela anunciava esse checkbox (sem nome/posi\u00E7\u00E3o pr\u00F3pria) antes\n da op\u00E7\u00E3o correta ser anunciada. -->\n <s-checkbox\n [checked]=\"isSelected()\"\n aria-hidden=\"true\"\n ></s-checkbox>\n }\n <span\n [class]=\"isSelected() ? 'text-[#428BCA]' : 'text-grayscale-90'\"\n [class.font-bold]=\"isGrouper()\"\n >\n {{ label() }}\n </span>\n\n @if (groupAnnouncement()) {\n <!-- aria-hidden pra n\u00E3o entrar no nome acess\u00EDvel da op\u00E7\u00E3o (computado a partir do\n conte\u00FAdo de texto vis\u00EDvel) \u2014 o `aria-describedby` acima ainda consegue ler seu\n texto normalmente, j\u00E1 que essa leitura ignora deliberadamente o aria-hidden do\n elemento referenciado. Sem isso, o texto seria anunciado duas vezes (uma como\n parte do nome, outra como descri\u00E7\u00E3o). -->\n <span\n class=\"sr-only\"\n [id]=\"id() + '-group'\"\n aria-hidden=\"true\"\n >{{ groupAnnouncement() }}</span>\n }\n</div>\n\n" }]
|
|
27
55
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9saWIvc2VsZWN0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFlaEYsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0lBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7SUFDakMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVcsQ0FBQztJQUNyQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO0lBQ3RDLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7SUFDdEMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVcsQ0FBQztJQUV0QyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO0lBRTlDLGlIQUFpSDtJQUMxRyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTlDOzs7Ozs7T0FNRztJQUNJLGlCQUFpQixHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFFdEQ7Ozs7OztPQU1HO0lBQ0ksUUFBUSxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFFN0M7Ozs7T0FJRztJQUNJLE9BQU8sR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBRXJDLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUVwQixPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0E5Q1EscUJBQXFCOzRGQUFyQixxQkFBcUIsOG1EQ2pCbEMsczlFQXVEQSw0Q0QvQ2MsaUJBQWlCOzs0RkFTbEIscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNJLGlCQUFpQixjQUVmLElBQUksV0FDUCxDQUFDLGlCQUFpQixDQUFDLFFBQ3RCO3dCQUNGLDZFQUE2RTt3QkFDN0UsK0VBQStFO3dCQUMvRSw2RUFBNkU7d0JBQzdFLG9FQUFvRTt3QkFDcEUsSUFBSSxFQUFFLGNBQWM7cUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NoZWNrYm94JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLXNlbGVjdC1vcHRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDaGVja2JveENvbXBvbmVudF0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgLy8gU2VtIHJvbGU9XCJwcmVzZW50YXRpb25cIiBlc3RlIGVsZW1lbnRvIGN1c3RvbSBwb2RlIHF1ZWJyYXIsIGVtIGRldGVybWluYWRhc1xyXG4gICAgICAgIC8vIGNvbWJpbmHDp8O1ZXMgZGUgbmF2ZWdhZG9yL0FULCBhIHJlbGHDp8OjbyBBUklBIHBhaS9maWxobyBlbnRyZSBvIHJvbGU9XCJsaXN0Ym94XCJcclxuICAgICAgICAvLyBlIG8gcm9sZT1cIm9wdGlvblwiIGRvIHRlbXBsYXRlIGludGVybm8gKHZlciBXQUktQVJJQSBBUEc6IHdyYXBwZXJzIGVudHJlIHVtXHJcbiAgICAgICAgLy8gcm9sZSBwYWkgZSB1bSByb2xlIGZpbGhvIHByZWNpc2FtIGRlIHJvbGU9XCJwcmVzZW50YXRpb25cIi9cIm5vbmVcIikuXHJcbiAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbicsXHJcbiAgICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyBpZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICAgIHB1YmxpYyBsYWJlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICAgIHB1YmxpYyBtdWx0aXBsZSA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XHJcbiAgICBwdWJsaWMgY2hlY2ttYXJrID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuICAgIHB1YmxpYyBpc0dyb3VwZXIgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xyXG4gICAgcHVibGljIGlzRm9jdXNlZCA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHVibGljIGlzU2VsZWN0ZWQgPSBtb2RlbC5yZXF1aXJlZDxib29sZWFuPigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBkZSBjaGVja21hcmsgZXhpYmlkbyBxdWFuZG8gYSBvcMOnw6NvIGVzdMOhIHNlbGVjaW9uYWRhLiBAZGVmYXVsdCAnZmFyIGZhLWNoZWNrJyAqL1xyXG4gICAgcHVibGljIGNoZWNrSWNvbkNsYXNzID0gaW5wdXQoJ2ZhciBmYS1jaGVjaycpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFRleHRvIGFudW5jaWFkbyB2aWEgYGFyaWEtZGVzY3JpYmVkYnlgIGluZm9ybWFuZG8gYSBxdWUgZ3J1cG8gZXN0YSBvcMOnw6NvXHJcbiAgICAgKiBwZXJ0ZW5jZS4gTyBhZ3J1cGFkb3IgdmlzdWFsIHRlbSBgcm9sZT1cInByZXNlbnRhdGlvblwiYCAoc2lsZW5jaW9zbyBwcm8gbGVpdG9yIGRlIHRlbGEpLCBlXHJcbiAgICAgKiBgc2VsZWN0LmNvbXBvbmVudC50c2Agc8OzIHBhc3NhIGVzdGUgaW5wdXQgbmEgcHJpbWVpcmEgb3DDp8OjbyBkZSBjYWRhIGdydXBvLCBwcmEgbsOjbyByZXBldGlyXHJcbiAgICAgKiBvIGFuw7puY2lvIGVtIHRvZGEgb3DDp8OjbyBzdWJzZXF1ZW50ZS5cclxuICAgICAqIEBkZWZhdWx0IG51bGxcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdyb3VwQW5ub3VuY2VtZW50ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gUG9zacOnw6NvICgxLWJhc2VkKSBkZXN0YSBvcMOnw6NvIGRlbnRybyBkbyBjb25qdW50byBuYXZlZ8OhdmVsLCBleHBvc3RhIHZpYVxyXG4gICAgICogYGFyaWEtcG9zaW5zZXRgLiBOZWNlc3PDoXJpbyBjb20gYHZpcnR1YWxTY3JvbGxgLCBqw6EgcXVlIHPDsyB1bWEgamFuZWxhIGRlIG9ww6fDtWVzIGV4aXN0ZSBkZVxyXG4gICAgICogZmF0byBubyBET00gYSBjYWRhIG1vbWVudG8g4oCUIHNlbSBpc3NvLCBvIGxlaXRvciBkZSB0ZWxhIHRlbnRhIGluZmVyaXIgYSBwb3Npw6fDo28gY29udGFuZG9cclxuICAgICAqIG9zIGByb2xlPVwib3B0aW9uXCJgIGlybcOjb3MgcHJlc2VudGVzIG5vIERPTSwgbyBxdWUgZmljYSBlcnJhZG8gbnVtYSBsaXN0YSB2aXJ0dWFsaXphZGEuXHJcbiAgICAgKiBAZGVmYXVsdCBudWxsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwb3NpbnNldCA9IGlucHV0PG51bWJlciB8IG51bGw+KG51bGwpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFRhbWFuaG8gdG90YWwgZG8gY29uanVudG8gbmF2ZWfDoXZlbCBhbyBxdWFsIGVzdGEgb3DDp8OjbyBwZXJ0ZW5jZSwgZXhwb3N0byB2aWFcclxuICAgICAqIGBhcmlhLXNldHNpemVgLiBWZXIgYHBvc2luc2V0YC5cclxuICAgICAqIEBkZWZhdWx0IG51bGxcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldHNpemUgPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQgPSBvdXRwdXQoKTtcclxuXHJcbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pc0dyb3VwZXIoKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XG4gICAgW2F0dHIuaWRdPVwiaWQoKVwiXG4gICAgW2F0dHIucm9sZV09XCJpc0dyb3VwZXIoKSA/ICdwcmVzZW50YXRpb24nIDogJ29wdGlvbidcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNHcm91cGVyKCkgPyBudWxsIDogaXNTZWxlY3RlZCgpXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImdyb3VwQW5ub3VuY2VtZW50KCkgPyBpZCgpICsgJy1ncm91cCcgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImlzR3JvdXBlcigpID8gbnVsbCA6IHBvc2luc2V0KClcIlxuICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJpc0dyb3VwZXIoKSA/IG51bGwgOiBzZXRzaXplKClcIlxuICAgIGNsYXNzPVwiZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtMyBweS0yXCJcbiAgICBbY2xhc3MuaG92ZXI6YmctZ3JheXNjYWxlLTEwXT1cIiFpc0dyb3VwZXIoKVwiXG4gICAgW2NsYXNzLmJnLWdyYXlzY2FsZS0xMF09XCIhaXNHcm91cGVyKCkgJiYgaXNGb2N1c2VkKClcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2xpY2soKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwib25DbGljaygpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4+XG4gICAgQGlmICghaXNHcm91cGVyKCkgJiYgY2hlY2ttYXJrKCkgJiYgIW11bHRpcGxlKCkgJiYgaXNTZWxlY3RlZCgpKSB7XG4gICAgICAgIDxpXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTYwXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJjaGVja0ljb25DbGFzcygpXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L2k+XG4gICAgfVxuXG4gICAgQGlmICghaXNHcm91cGVyKCkgJiYgbXVsdGlwbGUoKSkge1xuICAgICAgICA8IS0tIGFyaWEtaGlkZGVuOiBwdXJhbWVudGUgdmlzdWFsIOKAlCBvIGNsaXF1ZSBib3JidWxoYSBwcm8gKGNsaWNrKSBkbyBwcsOzcHJpbyBvcHRpb24gYWNpbWEsXG4gICAgICAgICAgICAgZSBvIGVzdGFkbyBkZSBzZWxlw6fDo28gasOhIMOpIGNvbXVuaWNhZG8gcGVsbyBhcmlhLXNlbGVjdGVkIGRvIG9wdGlvbi4gU2VtIGlzc28sIGVzc2VcbiAgICAgICAgICAgICBjaGVja2JveCBhbmluaGFkbyAoc2VtIGFyaWEtbGFiZWwsIGNvbSBzZXUgcHLDs3ByaW8gYXJpYS1jaGVja2VkIGluZGVwZW5kZW50ZSkgZXJhIHVtXG4gICAgICAgICAgICAgc2VndW5kbyBvYmpldG8gZGUgYWNlc3NpYmlsaWRhZGUgXCJjb25jb3JyZW50ZVwiIGFudW5jaWFuZG8gbyBtZXNtbyBlc3RhZG8g4oCUIHJlcG9ydGFkb1xuICAgICAgICAgICAgIHZpYSBOVkRBOiBvIGxlaXRvciBkZSB0ZWxhIGFudW5jaWF2YSBlc3NlIGNoZWNrYm94IChzZW0gbm9tZS9wb3Npw6fDo28gcHLDs3ByaWEpIGFudGVzXG4gICAgICAgICAgICAgZGEgb3DDp8OjbyBjb3JyZXRhIHNlciBhbnVuY2lhZGEuIC0tPlxuICAgICAgICA8cy1jaGVja2JveFxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L3MtY2hlY2tib3g+XG4gICAgfVxuICAgIDxzcGFuXG4gICAgICAgIFtjbGFzc109XCJpc1NlbGVjdGVkKCkgPyAndGV4dC1bIzQyOEJDQV0nIDogJ3RleHQtZ3JheXNjYWxlLTkwJ1wiXG4gICAgICAgIFtjbGFzcy5mb250LWJvbGRdPVwiaXNHcm91cGVyKClcIlxuICAgID5cbiAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgIDwvc3Bhbj5cblxuICAgIEBpZiAoZ3JvdXBBbm5vdW5jZW1lbnQoKSkge1xuICAgICAgICA8IS0tIGFyaWEtaGlkZGVuIHByYSBuw6NvIGVudHJhciBubyBub21lIGFjZXNzw612ZWwgZGEgb3DDp8OjbyAoY29tcHV0YWRvIGEgcGFydGlyIGRvXG4gICAgICAgICAgICAgY29udGXDumRvIGRlIHRleHRvIHZpc8OtdmVsKSDigJQgbyBgYXJpYS1kZXNjcmliZWRieWAgYWNpbWEgYWluZGEgY29uc2VndWUgbGVyIHNldVxuICAgICAgICAgICAgIHRleHRvIG5vcm1hbG1lbnRlLCBqw6EgcXVlIGVzc2EgbGVpdHVyYSBpZ25vcmEgZGVsaWJlcmFkYW1lbnRlIG8gYXJpYS1oaWRkZW4gZG9cbiAgICAgICAgICAgICBlbGVtZW50byByZWZlcmVuY2lhZG8uIFNlbSBpc3NvLCBvIHRleHRvIHNlcmlhIGFudW5jaWFkbyBkdWFzIHZlemVzICh1bWEgY29tb1xuICAgICAgICAgICAgIHBhcnRlIGRvIG5vbWUsIG91dHJhIGNvbW8gZGVzY3Jpw6fDo28pLiAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic3Itb25seVwiXG4gICAgICAgICAgICBbaWRdPVwiaWQoKSArICctZ3JvdXAnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID57eyBncm91cEFubm91bmNlbWVudCgpIH19PC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|