@skyux/colorpicker 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-colorpicker-testing.umd.js +3 -3
- package/bundles/skyux-colorpicker-testing.umd.js.map +1 -1
- package/bundles/skyux-colorpicker.umd.js +65 -37
- package/bundles/skyux-colorpicker.umd.js.map +1 -1
- package/documentation.json +433 -378
- package/esm2015/modules/colorpicker/colorpicker-input.directive.js +4 -4
- package/esm2015/modules/colorpicker/colorpicker-slider.directive.js +4 -4
- package/esm2015/modules/colorpicker/colorpicker-text.directive.js +4 -4
- package/esm2015/modules/colorpicker/colorpicker.component.js +33 -7
- package/esm2015/modules/colorpicker/colorpicker.module.js +5 -5
- package/esm2015/modules/colorpicker/colorpicker.service.js +4 -4
- package/esm2015/modules/shared/sky-colorpicker-resources.module.js +8 -8
- package/fesm2015/skyux-colorpicker.js +55 -29
- package/fesm2015/skyux-colorpicker.js.map +1 -1
- package/modules/colorpicker/colorpicker.component.d.ts +16 -2
- package/package.json +7 -7
|
@@ -29,6 +29,11 @@ export class SkyColorpickerComponent {
|
|
|
29
29
|
this.overlayService = overlayService;
|
|
30
30
|
this.service = service;
|
|
31
31
|
this.themeSvc = themeSvc;
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
this.pickerButtonIconType = 'fa';
|
|
32
37
|
/**
|
|
33
38
|
* Fires when users select a color in the colorpicker.
|
|
34
39
|
*/
|
|
@@ -46,7 +51,6 @@ export class SkyColorpickerComponent {
|
|
|
46
51
|
* Indicates whether to display a reset button to let users return to the default color.
|
|
47
52
|
*/
|
|
48
53
|
this.showResetButton = true;
|
|
49
|
-
this.backgroundColorForDisplay = '#fff';
|
|
50
54
|
this.isOpen = false;
|
|
51
55
|
this.isVisible = true;
|
|
52
56
|
this.ngUnsubscribe = new Subject();
|
|
@@ -69,6 +73,16 @@ export class SkyColorpickerComponent {
|
|
|
69
73
|
get disabled() {
|
|
70
74
|
return this._disabled;
|
|
71
75
|
}
|
|
76
|
+
set backgroundColorForDisplay(value) {
|
|
77
|
+
this._backgroundColorForDisplay = value;
|
|
78
|
+
if (this.pickerButtonIcon) {
|
|
79
|
+
this.iconColor = this.getAccessibleIconColor(this.selectedColor);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
get backgroundColorForDisplay() {
|
|
83
|
+
/* istanbul ignore next */
|
|
84
|
+
return this._backgroundColorForDisplay || '#fff';
|
|
85
|
+
}
|
|
72
86
|
set colorpickerRef(value) {
|
|
73
87
|
if (value) {
|
|
74
88
|
this._colorpickerRef = value;
|
|
@@ -349,12 +363,20 @@ export class SkyColorpickerComponent {
|
|
|
349
363
|
}
|
|
350
364
|
return hsva;
|
|
351
365
|
}
|
|
366
|
+
// http://www.w3.org/TR/AERT#color-contrast
|
|
367
|
+
getAccessibleIconColor(backgroundColor) {
|
|
368
|
+
const rgb = backgroundColor.rgba;
|
|
369
|
+
const brightness = Math.round(((rgb.red * 299) +
|
|
370
|
+
(rgb.green * 587) +
|
|
371
|
+
(rgb.blue * 114)) / 1000);
|
|
372
|
+
return (brightness > 125) ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)';
|
|
373
|
+
}
|
|
352
374
|
}
|
|
353
|
-
SkyColorpickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
354
|
-
SkyColorpickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
375
|
+
SkyColorpickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyColorpickerService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
376
|
+
SkyColorpickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.12", type: SkyColorpickerComponent, selector: "sky-colorpicker", inputs: { pickerButtonIcon: "pickerButtonIcon", pickerButtonIconType: "pickerButtonIconType", label: "label", labelledBy: "labelledBy", messageStream: "messageStream", showResetButton: "showResetButton" }, outputs: { selectedColorChanged: "selectedColorChanged", selectedColorApplied: "selectedColorApplied" }, providers: [
|
|
355
377
|
SkyColorpickerService
|
|
356
|
-
], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div\n [hidden]=\"true\"\n >\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"label || (labelledBy ? null : ('skyux_colorpicker_dropdown_button' | skyLibResources))\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"label || (labelledBy ? null : ('skyux_colorpicker_dropdown_button' | skyLibResources))\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon *ngIf=\"showResetButton\"\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow' : 'default',\n 'sky-elevation-4' : 'modern'\n }\"\n #colorpickerRef\n >\n <div\n class=\"sky-colorpicker\"\n >\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness=$event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div\n class=\"box\"\n >\n <div\n class=\"left\"\n >\n <div\n class=\"selected-color-background sky-rounded-circle\"\n ></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div\n class=\"right\"\n >\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue=$event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis=$event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_green' | skyLibResources\"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_blue' | skyLibResources\"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue=$event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_alpha' | skyLibResources\"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor=$event\"\n />\n </sky-input-box>\n </div>\n <div *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button *ngFor=\"let color of presetColors | slice:0:12; let i = index;\"\n type=\"button\"\n [attr.aria-label]=\"('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section\n class=\"sky-colorpicker-column\"\n >\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm' : 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern': 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"times\"\n size=\"sm\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"trash\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-colorpicker-container{position:fixed}.sky-colorpicker-button{width:30px;height:30px;border:0;cursor:pointer}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:default}.sky-colorpicker-disabled{opacity:.65;cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-footer{background-color:#fff;border-top:1px solid #e2e3e4}.sky-colorpicker *{box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:270px;height:auto;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:center;font-size:14px;height:26px;color:#212327}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .button-area{padding:0 15px 15px;text-align:right}.sky-colorpicker .sky-colorpicker-preset-color-area{padding-left:9px;padding-right:9px;padding-bottom:15px;display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:32px;height:32px;margin:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:#ffffff solid 2px;margin:4px;width:34px;height:34px;box-shadow:0 0 0 1px #cdcfd2,0 0 0 2px #e2e3e4}.sky-colorpicker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.sky-colorpicker div.cursor-sv{cursor:default;position:relative;width:14px;height:14px;border-top:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2}.sky-colorpicker div.cursor{cursor:default;position:relative;width:17px;height:17px;border:#686c73 solid 2px}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,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)}.sky-colorpicker .box{display:flex;padding:4px 8px}.sky-colorpicker .box .left{position:relative;padding:16px 8px}.sky-colorpicker .box .right{flex:1 1 auto;padding:12px 8px;display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:16px;border:none;margin-top:16px;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute}.sky-colorpicker .selected-color-background{width:40px;height:40px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:18px;padding:7px 15px 15px;display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:1px}.sky-colorpicker .rgba-text label{margin:0 0 8px}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 8px 0 0}.sky-colorpicker .rgba-text sky-input-box:first-child{flex:2}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker .hex-text{width:100%;font-size:14px;padding:4px 8px}.sky-colorpicker .hex-text .box{padding:0 24px 8px 8px}.sky-colorpicker .hex-text .box input{flex:1 1 auto;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;padding:1px}.sky-colorpicker .hex-text .box div{flex:1 1 auto;text-align:center;color:#686c73;float:left;clear:left}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;z-index:-1;height:30px;width:30px;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),white;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;transform-origin:0 0 0;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;background-size:10px 10px,10px 10px;box-shadow:none;text-shadow:none;transition:none;transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-theme-modern .sky-colorpicker-disabled{opacity:1}.sky-theme-modern .sky-colorpicker-button{width:40px;height:40px;border:1px solid #d2d2d2;border-radius:6px;position:relative}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:#ededee!important;border:1px solid #d2d2d2;cursor:default}.sky-theme-modern .sky-colorpicker-button,.sky-theme-modern .sky-colorpicker-button:active{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LC01LjA3MjY1MzEzZS0xNiAzOCwyLjIzODU3NjI1IDM4LDUgTDM4LDMzIEMzOCwzNS43NjE0MjM3IDM1Ljc2MTQyMzcsMzggMzMsMzggTDUsMzggQzIuMjM4NTc2MjUsMzggLTUuNTAwMDE1NDRlLTE2LDM1Ljc2MTQyMzcgMCwzMyBMMCw1IEMtMy4zODE3Njg3NmUtMTYsMi4yMzg1NzYyNSAyLjIzODU3NjI1LC0zLjgwOTEzMTA2ZS0xNiA1LDAgTDMzLDAgWiBNMzMsMiBMNSwyIEMzLjM0MzE0NTc1LDIgMiwzLjM0MzE0NTc1IDIsNSBMMiw1IEwyLDMzIEMyLDM0LjY1Njg1NDIgMy4zNDMxNDU3NSwzNiA1LDM2IEw1LDM2IEwyNCwzNiBDMjUuMTA0NTY5NSwzNiAyNiwzNS4xMDQ1Njk1IDI2LDM0IEwyNiwzNCBMMjYsMjggQzI2LDI2Ljg5NTQzMDUgMjYuODk1NDMwNSwyNiAyOCwyNiBMMjgsMjYgTDM0LDI2IEMzNS4xMDQ1Njk1LDI2IDM2LDI1LjEwNDU2OTUgMzYsMjQgTDM2LDI0IEwzNiw1IEMzNiwzLjM0MzE0NTc1IDM0LjY1Njg1NDIsMiAzMywyIEwzMywyIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMywyLjUgQzMzLjY5MDM1NTksMi41IDM0LjMxNTM1NTksMi43Nzk4MjIwMyAzNC43Njc3NjcsMy4yMzIyMzMwNSBDMzUuMjIwMTc4LDMuNjg0NjQ0MDYgMzUuNSw0LjMwOTY0NDA2IDM1LjUsNSBMMzUuNSw1IEwzNS41LDI0IEMzNS41LDI0LjQxNDIxMzYgMzUuMzMyMTA2OCwyNC43ODkyMTM2IDM1LjA2MDY2MDIsMjUuMDYwNjYwMiBDMzQuNzg5MjEzNiwyNS4zMzIxMDY4IDM0LjQxNDIxMzYsMjUuNSAzNCwyNS41IEwzNCwyNS41IEwyOCwyNS41IEMyNy4zMDk2NDQxLDI1LjUgMjYuNjg0NjQ0MSwyNS43Nzk4MjIgMjYuMjMyMjMzLDI2LjIzMjIzMyBDMjUuNzc5ODIyLDI2LjY4NDY0NDEgMjUuNSwyNy4zMDk2NDQxIDI1LjUsMjggTDI1LjUsMjggTDI1LjUsMzQgQzI1LjUsMzQuNDE0MjEzNiAyNS4zMzIxMDY4LDM0Ljc4OTIxMzYgMjUuMDYwNjYwMiwzNS4wNjA2NjAyIEMyNC43ODkyMTM2LDM1LjMzMjEwNjggMjQuNDE0MjEzNiwzNS41IDI0LDM1LjUgTDI0LDM1LjUgTDUsMzUuNSBDNC4zMDk2NDQwNiwzNS41IDMuNjg0NjQ0MDYsMzUuMjIwMTc4IDMuMjMyMjMzMDUsMzQuNzY3NzY3IEMyLjc3OTgyMjAzLDM0LjMxNTM1NTkgMi41LDMzLjY5MDM1NTkgMi41LDMzIEwyLjUsMzMgTDIuNSw1IEMyLjUsNC4zMDk2NDQwNiAyLjc3OTgyMjAzLDMuNjg0NjQ0MDYgMy4yMzIyMzMwNSwzLjIzMjIzMzA1IEMzLjY4NDY0NDA2LDIuNzc5ODIyMDMgNC4zMDk2NDQwNiwyLjUgNSwyLjUgTDUsMi41IFoiIGlkPSJQYXRoLUNvcHktNSIgc3Ryb2tlPSIjRDJEMkQyIiBmaWxsLW9wYWNpdHk9IjAiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled,.sky-theme-modern .sky-colorpicker-button:active.sky-colorpicker-button-disabled{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LDAgMzgsMi4yMzg1NzYyNSAzOCw1IEwzOCwzMyBDMzgsMzUuNzYxNDIzNyAzNS43NjE0MjM3LDM4IDMzLDM4IEw1LDM4IEMyLjIzODU3NjI1LDM4IDAsMzUuNzYxNDIzNyAwLDMzIEwwLDUgQzAsMi4yMzg1NzYyNSAyLjIzODU3NjI1LDAgNSwwIEwzMywwIFogTTMzLDIgTDUsMiBDMy4zNDMxNDU3NSwyIDIsMy4zNDMxNDU3NSAyLDUgTDIsNSBMMiwzMyBDMiwzNC42NTY4NTQyIDMuMzQzMTQ1NzUsMzYgNSwzNiBMNSwzNiBMMjQsMzYgQzI1LjEwNDU2OTUsMzYgMjYsMzUuMTA0NTY5NSAyNiwzNCBMMjYsMzQgTDI2LDI4IEMyNiwyNi44OTU0MzA1IDI2Ljg5NTQzMDUsMjYgMjgsMjYgTDI4LDI2IEwzNCwyNiBDMzUuMTA0NTY5NSwyNiAzNiwyNS4xMDQ1Njk1IDM2LDI0IEwzNiwyNCBMMzYsNSBDMzYsMy4zNDMxNDU3NSAzNC42NTY4NTQyLDIgMzMsMiBMMzMsMiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNFREVERUUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMzLDIuNSBDMzMuNjkwMzU1OSwyLjUgMzQuMzE1MzU1OSwyLjc3OTgyMjAzIDM0Ljc2Nzc2NywzLjIzMjIzMzA1IEMzNS4yMjAxNzgsMy42ODQ2NDQwNiAzNS41LDQuMzA5NjQ0MDYgMzUuNSw1IEwzNS41LDUgTDM1LjUsMjQgQzM1LjUsMjQuNDE0MjEzNiAzNS4zMzIxMDY4LDI0Ljc4OTIxMzYgMzUuMDYwNjYwMiwyNS4wNjA2NjAyIEMzNC43ODkyMTM2LDI1LjMzMjEwNjggMzQuNDE0MjEzNiwyNS41IDM0LDI1LjUgTDM0LDI1LjUgTDI4LDI1LjUgQzI3LjMwOTY0NDEsMjUuNSAyNi42ODQ2NDQxLDI1Ljc3OTgyMiAyNi4yMzIyMzMsMjYuMjMyMjMzIEMyNS43Nzk4MjIsMjYuNjg0NjQ0MSAyNS41LDI3LjMwOTY0NDEgMjUuNSwyOCBMMjUuNSwyOCBMMjUuNSwzNCBDMjUuNSwzNC40MTQyMTM2IDI1LjMzMjEwNjgsMzQuNzg5MjEzNiAyNS4wNjA2NjAyLDM1LjA2MDY2MDIgQzI0Ljc4OTIxMzYsMzUuMzMyMTA2OCAyNC40MTQyMTM2LDM1LjUgMjQsMzUuNSBMMjQsMzUuNSBMNSwzNS41IEM0LjMwOTY0NDA2LDM1LjUgMy42ODQ2NDQwNiwzNS4yMjAxNzggMy4yMzIyMzMwNSwzNC43Njc3NjcgQzIuNzc5ODIyMDMsMzQuMzE1MzU1OSAyLjUsMzMuNjkwMzU1OSAyLjUsMzMgTDIuNSwzMyBMMi41LDUgQzIuNSw0LjMwOTY0NDA2IDIuNzc5ODIyMDMsMy42ODQ2NDQwNiAzLjIzMjIzMzA1LDMuMjMyMjMzMDUgQzMuNjg0NjQ0MDYsMi43Nzk4MjIwMyA0LjMwOTY0NDA2LDIuNSA1LDIuNSBMNSwyLjUgTDMzLDIuNSBaIiBpZD0iUGF0aC1Db3B5LTUiIHN0cm9rZT0iI0QyRDJEMiIgZmlsbC1vcGFjaXR5PSIwIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=)}.sky-theme-modern .sky-colorpicker-button:focus{box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover{box-shadow:inset 0 0 0 1px #1870b8;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover.sky-colorpicker-button-disabled{box-shadow:none}.sky-theme-modern .sky-colorpicker-checkered-background{border-radius:6px;width:40px;height:40px}.sky-theme-modern .sky-colorpicker-button-modern-chevron{position:absolute;bottom:0;right:2px;font-size:10px}.sky-theme-modern .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:#686c73}.sky-theme-modern .sky-colorpicker-reset-button-modern{width:40px;height:40px}.sky-theme-modern .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:#ededee;border:0px solid #d2d2d2;color:#686c73}.sky-theme-modern .sky-colorpicker{background-color:transparent;width:310px}.sky-theme-modern .sky-colorpicker .saturation-lightness{height:170px}.sky-theme-modern .sky-colorpicker-container{background-color:#fff;border-radius:0 0 6px 6px}.sky-theme-modern .sky-colorpicker-footer{background:none;border:none;border-radius:0 0 6px 6px;padding:10px 10px 15px}.sky-theme-modern .selected-color{height:46px;width:46px;top:0;left:0}.sky-theme-modern .selected-color-background{height:46px;width:46px}.sky-theme-modern input{text-align:left}.sky-theme-modern .box{padding:15px 30px}.sky-theme-modern .box .left{padding:0 30px 0 0}.sky-theme-modern .box .right{padding:0}.sky-theme-modern .alpha{margin-top:10px}.sky-theme-modern .rgba-text{padding:0 10px;display:flex;justify-content:space-between;flex-wrap:wrap}.sky-theme-modern .rgba-text sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 10px}.sky-theme-modern .rgba-text sky-input-box:not(:first-child){flex:1;margin:0 10px 10px 0}.sky-theme-modern .rgba-text sky-input-box:last-child{margin:0 0 10px}.sky-theme-modern .sky-colorpicker-preset-color-area{padding:10px 10px 15px}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn{height:46px;width:46px;border-radius:4px;margin:0 15px 15px 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:active),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:hover),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:focus){border:1px solid #d2d2d2}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 15px}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i5.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { type: i8.SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i9.SkyLibResourcesPipe, "slice": i6.SlicePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
357
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
378
|
+
], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div\n [hidden]=\"true\"\n >\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"label || (labelledBy ? null : ('skyux_colorpicker_dropdown_button' | skyLibResources))\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"label || (labelledBy ? null : ('skyux_colorpicker_dropdown_button' | skyLibResources))\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow' : 'default',\n 'sky-elevation-4' : 'modern'\n }\"\n #colorpickerRef\n >\n <div\n class=\"sky-colorpicker\"\n >\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness=$event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div\n class=\"box\"\n >\n <div\n class=\"left\"\n >\n <div\n class=\"selected-color-background sky-rounded-circle\"\n ></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div\n class=\"right\"\n >\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue=$event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis=$event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_green' | skyLibResources\"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green=$event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_blue' | skyLibResources\"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue=$event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_alpha' | skyLibResources\"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor=$event\"\n />\n </sky-input-box>\n </div>\n <div *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button *ngFor=\"let color of presetColors | slice:0:12; let i = index;\"\n type=\"button\"\n [attr.aria-label]=\"('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section\n class=\"sky-colorpicker-column\"\n >\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm' : 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern': 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"times\"\n size=\"sm\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"trash\"\n iconType=\"skyux\"\n size=\"lg\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-colorpicker-container{position:fixed}.sky-colorpicker-button{width:30px;height:30px;border:0;cursor:pointer}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:default}.sky-colorpicker-button .sky-colorpicker-button-icon{position:relative;bottom:2px;font-size:12px}.sky-colorpicker-disabled{opacity:.65;cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-footer{background-color:#fff;border-top:1px solid #e2e3e4}.sky-colorpicker *{box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:270px;height:auto;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:center;font-size:14px;height:26px;color:#212327}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .button-area{padding:0 15px 15px;text-align:right}.sky-colorpicker .sky-colorpicker-preset-color-area{padding-left:9px;padding-right:9px;padding-bottom:15px;display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:32px;height:32px;margin:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:#ffffff solid 2px;margin:4px;width:34px;height:34px;box-shadow:0 0 0 1px #cdcfd2,0 0 0 2px #e2e3e4}.sky-colorpicker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.sky-colorpicker div.cursor-sv{cursor:default;position:relative;width:14px;height:14px;border-top:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2}.sky-colorpicker div.cursor{cursor:default;position:relative;width:17px;height:17px;border:#686c73 solid 2px}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,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)}.sky-colorpicker .box{display:flex;padding:4px 8px}.sky-colorpicker .box .left{position:relative;padding:16px 8px}.sky-colorpicker .box .right{flex:1 1 auto;padding:12px 8px;display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:16px;border:none;margin-top:16px;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute}.sky-colorpicker .selected-color-background{width:40px;height:40px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:18px;padding:7px 15px 15px;display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:1px}.sky-colorpicker .rgba-text label{margin:0 0 8px}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 8px 0 0}.sky-colorpicker .rgba-text sky-input-box:first-child{flex:2}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker .hex-text{width:100%;font-size:14px;padding:4px 8px}.sky-colorpicker .hex-text .box{padding:0 24px 8px 8px}.sky-colorpicker .hex-text .box input{flex:1 1 auto;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;padding:1px}.sky-colorpicker .hex-text .box div{flex:1 1 auto;text-align:center;color:#686c73;float:left;clear:left}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;z-index:-1;height:30px;width:30px;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),white;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;transform-origin:0 0 0;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;background-size:10px 10px,10px 10px;box-shadow:none;text-shadow:none;transition:none;transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-theme-modern .sky-colorpicker-disabled{opacity:1}.sky-theme-modern .sky-colorpicker-button{width:40px;height:40px;border:1px solid #d2d2d2;border-radius:6px;position:relative}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:#ededee!important;border:1px solid #d2d2d2;cursor:default}.sky-theme-modern .sky-colorpicker-button .sky-colorpicker-button-icon{bottom:1px;font-size:16px}.sky-theme-modern .sky-colorpicker-button,.sky-theme-modern .sky-colorpicker-button:active{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LC01LjA3MjY1MzEzZS0xNiAzOCwyLjIzODU3NjI1IDM4LDUgTDM4LDMzIEMzOCwzNS43NjE0MjM3IDM1Ljc2MTQyMzcsMzggMzMsMzggTDUsMzggQzIuMjM4NTc2MjUsMzggLTUuNTAwMDE1NDRlLTE2LDM1Ljc2MTQyMzcgMCwzMyBMMCw1IEMtMy4zODE3Njg3NmUtMTYsMi4yMzg1NzYyNSAyLjIzODU3NjI1LC0zLjgwOTEzMTA2ZS0xNiA1LDAgTDMzLDAgWiBNMzMsMiBMNSwyIEMzLjM0MzE0NTc1LDIgMiwzLjM0MzE0NTc1IDIsNSBMMiw1IEwyLDMzIEMyLDM0LjY1Njg1NDIgMy4zNDMxNDU3NSwzNiA1LDM2IEw1LDM2IEwyNCwzNiBDMjUuMTA0NTY5NSwzNiAyNiwzNS4xMDQ1Njk1IDI2LDM0IEwyNiwzNCBMMjYsMjggQzI2LDI2Ljg5NTQzMDUgMjYuODk1NDMwNSwyNiAyOCwyNiBMMjgsMjYgTDM0LDI2IEMzNS4xMDQ1Njk1LDI2IDM2LDI1LjEwNDU2OTUgMzYsMjQgTDM2LDI0IEwzNiw1IEMzNiwzLjM0MzE0NTc1IDM0LjY1Njg1NDIsMiAzMywyIEwzMywyIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMywyLjUgQzMzLjY5MDM1NTksMi41IDM0LjMxNTM1NTksMi43Nzk4MjIwMyAzNC43Njc3NjcsMy4yMzIyMzMwNSBDMzUuMjIwMTc4LDMuNjg0NjQ0MDYgMzUuNSw0LjMwOTY0NDA2IDM1LjUsNSBMMzUuNSw1IEwzNS41LDI0IEMzNS41LDI0LjQxNDIxMzYgMzUuMzMyMTA2OCwyNC43ODkyMTM2IDM1LjA2MDY2MDIsMjUuMDYwNjYwMiBDMzQuNzg5MjEzNiwyNS4zMzIxMDY4IDM0LjQxNDIxMzYsMjUuNSAzNCwyNS41IEwzNCwyNS41IEwyOCwyNS41IEMyNy4zMDk2NDQxLDI1LjUgMjYuNjg0NjQ0MSwyNS43Nzk4MjIgMjYuMjMyMjMzLDI2LjIzMjIzMyBDMjUuNzc5ODIyLDI2LjY4NDY0NDEgMjUuNSwyNy4zMDk2NDQxIDI1LjUsMjggTDI1LjUsMjggTDI1LjUsMzQgQzI1LjUsMzQuNDE0MjEzNiAyNS4zMzIxMDY4LDM0Ljc4OTIxMzYgMjUuMDYwNjYwMiwzNS4wNjA2NjAyIEMyNC43ODkyMTM2LDM1LjMzMjEwNjggMjQuNDE0MjEzNiwzNS41IDI0LDM1LjUgTDI0LDM1LjUgTDUsMzUuNSBDNC4zMDk2NDQwNiwzNS41IDMuNjg0NjQ0MDYsMzUuMjIwMTc4IDMuMjMyMjMzMDUsMzQuNzY3NzY3IEMyLjc3OTgyMjAzLDM0LjMxNTM1NTkgMi41LDMzLjY5MDM1NTkgMi41LDMzIEwyLjUsMzMgTDIuNSw1IEMyLjUsNC4zMDk2NDQwNiAyLjc3OTgyMjAzLDMuNjg0NjQ0MDYgMy4yMzIyMzMwNSwzLjIzMjIzMzA1IEMzLjY4NDY0NDA2LDIuNzc5ODIyMDMgNC4zMDk2NDQwNiwyLjUgNSwyLjUgTDUsMi41IFoiIGlkPSJQYXRoLUNvcHktNSIgc3Ryb2tlPSIjRDJEMkQyIiBmaWxsLW9wYWNpdHk9IjAiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled,.sky-theme-modern .sky-colorpicker-button:active.sky-colorpicker-button-disabled{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LDAgMzgsMi4yMzg1NzYyNSAzOCw1IEwzOCwzMyBDMzgsMzUuNzYxNDIzNyAzNS43NjE0MjM3LDM4IDMzLDM4IEw1LDM4IEMyLjIzODU3NjI1LDM4IDAsMzUuNzYxNDIzNyAwLDMzIEwwLDUgQzAsMi4yMzg1NzYyNSAyLjIzODU3NjI1LDAgNSwwIEwzMywwIFogTTMzLDIgTDUsMiBDMy4zNDMxNDU3NSwyIDIsMy4zNDMxNDU3NSAyLDUgTDIsNSBMMiwzMyBDMiwzNC42NTY4NTQyIDMuMzQzMTQ1NzUsMzYgNSwzNiBMNSwzNiBMMjQsMzYgQzI1LjEwNDU2OTUsMzYgMjYsMzUuMTA0NTY5NSAyNiwzNCBMMjYsMzQgTDI2LDI4IEMyNiwyNi44OTU0MzA1IDI2Ljg5NTQzMDUsMjYgMjgsMjYgTDI4LDI2IEwzNCwyNiBDMzUuMTA0NTY5NSwyNiAzNiwyNS4xMDQ1Njk1IDM2LDI0IEwzNiwyNCBMMzYsNSBDMzYsMy4zNDMxNDU3NSAzNC42NTY4NTQyLDIgMzMsMiBMMzMsMiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNFREVERUUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMzLDIuNSBDMzMuNjkwMzU1OSwyLjUgMzQuMzE1MzU1OSwyLjc3OTgyMjAzIDM0Ljc2Nzc2NywzLjIzMjIzMzA1IEMzNS4yMjAxNzgsMy42ODQ2NDQwNiAzNS41LDQuMzA5NjQ0MDYgMzUuNSw1IEwzNS41LDUgTDM1LjUsMjQgQzM1LjUsMjQuNDE0MjEzNiAzNS4zMzIxMDY4LDI0Ljc4OTIxMzYgMzUuMDYwNjYwMiwyNS4wNjA2NjAyIEMzNC43ODkyMTM2LDI1LjMzMjEwNjggMzQuNDE0MjEzNiwyNS41IDM0LDI1LjUgTDM0LDI1LjUgTDI4LDI1LjUgQzI3LjMwOTY0NDEsMjUuNSAyNi42ODQ2NDQxLDI1Ljc3OTgyMiAyNi4yMzIyMzMsMjYuMjMyMjMzIEMyNS43Nzk4MjIsMjYuNjg0NjQ0MSAyNS41LDI3LjMwOTY0NDEgMjUuNSwyOCBMMjUuNSwyOCBMMjUuNSwzNCBDMjUuNSwzNC40MTQyMTM2IDI1LjMzMjEwNjgsMzQuNzg5MjEzNiAyNS4wNjA2NjAyLDM1LjA2MDY2MDIgQzI0Ljc4OTIxMzYsMzUuMzMyMTA2OCAyNC40MTQyMTM2LDM1LjUgMjQsMzUuNSBMMjQsMzUuNSBMNSwzNS41IEM0LjMwOTY0NDA2LDM1LjUgMy42ODQ2NDQwNiwzNS4yMjAxNzggMy4yMzIyMzMwNSwzNC43Njc3NjcgQzIuNzc5ODIyMDMsMzQuMzE1MzU1OSAyLjUsMzMuNjkwMzU1OSAyLjUsMzMgTDIuNSwzMyBMMi41LDUgQzIuNSw0LjMwOTY0NDA2IDIuNzc5ODIyMDMsMy42ODQ2NDQwNiAzLjIzMjIzMzA1LDMuMjMyMjMzMDUgQzMuNjg0NjQ0MDYsMi43Nzk4MjIwMyA0LjMwOTY0NDA2LDIuNSA1LDIuNSBMNSwyLjUgTDMzLDIuNSBaIiBpZD0iUGF0aC1Db3B5LTUiIHN0cm9rZT0iI0QyRDJEMiIgZmlsbC1vcGFjaXR5PSIwIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=)}.sky-theme-modern .sky-colorpicker-button:focus{box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover{box-shadow:inset 0 0 0 1px #1870b8;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover.sky-colorpicker-button-disabled{box-shadow:none}.sky-theme-modern .sky-colorpicker-checkered-background{border-radius:6px;width:40px;height:40px}.sky-theme-modern .sky-colorpicker-button-modern-chevron{position:absolute;bottom:0;right:2px;font-size:10px}.sky-theme-modern .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:#686c73}.sky-theme-modern .sky-colorpicker-reset-button-modern{width:40px;height:40px}.sky-theme-modern .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:#ededee;border:0px solid #d2d2d2;color:#686c73}.sky-theme-modern .sky-colorpicker{background-color:transparent;width:310px}.sky-theme-modern .sky-colorpicker .saturation-lightness{height:170px}.sky-theme-modern .sky-colorpicker-container{background-color:#fff;border-radius:0 0 6px 6px}.sky-theme-modern .sky-colorpicker-footer{background:none;border:none;border-radius:0 0 6px 6px;padding:10px 10px 15px}.sky-theme-modern .selected-color{height:46px;width:46px;top:0;left:0}.sky-theme-modern .selected-color-background{height:46px;width:46px}.sky-theme-modern input{text-align:left}.sky-theme-modern .box{padding:15px 30px}.sky-theme-modern .box .left{padding:0 30px 0 0}.sky-theme-modern .box .right{padding:0}.sky-theme-modern .alpha{margin-top:10px}.sky-theme-modern .rgba-text{padding:0 10px;display:flex;justify-content:space-between;flex-wrap:wrap}.sky-theme-modern .rgba-text sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 10px}.sky-theme-modern .rgba-text sky-input-box:not(:first-child){flex:1;margin:0 10px 10px 0}.sky-theme-modern .rgba-text sky-input-box:last-child{margin:0 0 10px}.sky-theme-modern .sky-colorpicker-preset-color-area{padding:10px 10px 15px}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn{height:46px;width:46px;border-radius:4px;margin:0 15px 15px 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:active),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:hover),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:focus){border:1px solid #d2d2d2}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 15px}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i5.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { type: i8.SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i9.SkyLibResourcesPipe, "slice": i6.SlicePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerComponent, decorators: [{
|
|
358
380
|
type: Component,
|
|
359
381
|
args: [{
|
|
360
382
|
selector: 'sky-colorpicker',
|
|
@@ -367,7 +389,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
367
389
|
}]
|
|
368
390
|
}], ctorParameters: function () { return [{ type: i1.SkyAffixService }, { type: i0.ChangeDetectorRef }, { type: i1.SkyCoreAdapterService }, { type: i1.SkyOverlayService }, { type: i2.SkyColorpickerService }, { type: i3.SkyThemeService, decorators: [{
|
|
369
391
|
type: Optional
|
|
370
|
-
}] }]; }, propDecorators: {
|
|
392
|
+
}] }]; }, propDecorators: { pickerButtonIcon: [{
|
|
393
|
+
type: Input
|
|
394
|
+
}], pickerButtonIconType: [{
|
|
395
|
+
type: Input
|
|
396
|
+
}], label: [{
|
|
371
397
|
type: Input
|
|
372
398
|
}], labelledBy: [{
|
|
373
399
|
type: Input
|
|
@@ -395,4 +421,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
395
421
|
read: ElementRef
|
|
396
422
|
}]
|
|
397
423
|
}] } });
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxzQkFBc0IsRUFNdkIsTUFBTSxhQUFhLENBQUM7QUFNckIsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFzQnhCLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSxrQ0FBa0MsQ0FBQztBQWMxQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNMLGNBQWMsRUFDZCxlQUFlLEVBQ2hCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBRS9CLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRXpCOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBMklsQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ2pDLE9BQThCLEVBQ2xCLFFBQTBCO1FBTHRDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQTdIaEQ7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUV2RTs7V0FFRztRQUVJLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRXZFOzs7V0FHRztRQUVJLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFFNUQ7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksQ0FBQztRQW1DdkIsOEJBQXlCLEdBQVcsTUFBTSxDQUFDO1FBSTNDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsY0FBUyxHQUFZLElBQUksQ0FBQztRQTJDekIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBVTlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFVakMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25FLElBQUksQ0FBQyxxQkFBcUIsR0FBRyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLDBCQUEwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQWpIRCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQThDRCxJQUdZLGNBQWMsQ0FBQyxLQUFpQjtRQUMxQyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV0QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUU3QywwRkFBMEY7WUFDMUYsMkRBQTJEO1lBQzNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFFNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFxQ00sU0FBUyxDQUNkLFFBQWEsRUFDYixVQUFzQixFQUN0QixLQUFVLEVBQ1YsWUFBb0IsRUFDcEIsWUFBMkIsRUFDM0IsWUFBb0IsRUFDcEIsaUJBQTBCO1FBRTFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNqQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLE9BQThCLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztRQUV0QywwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYztpQkFDekIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFOztnQkFDM0IsMEJBQTBCO2dCQUMxQixNQUFNLFNBQVMsR0FBRyxNQUFBLE1BQUEsYUFBYSxDQUFDLGVBQWUsMENBQUUsS0FBSywwQ0FBRSxJQUFJLENBQUM7Z0JBRTdELCtEQUErRDtnQkFDL0Qsd0JBQXdCO2dCQUN4QixJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQzdEO3FCQUFNO29CQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQzdEO2dCQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDN0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLCtDQUErQztRQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYTtRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsSUFBVyxHQUFHLENBQUMsTUFBZ0M7UUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxHQUFHLENBQUMsTUFBaUM7UUFDOUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxNQUFpQztRQUNoRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsSUFBSSxDQUFDLE1BQWlDO1FBQy9DLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxTQUFTLENBQUMsTUFBZ0M7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxVQUFVLENBQUMsTUFBaUM7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxHQUFHLENBQUMsTUFBaUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxzQkFBc0IsQ0FBQyxLQUErQjtRQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxHQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxLQUFLLEdBQXVCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25FLElBQUksSUFBSSxHQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLEdBQXVCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5FLElBQUksSUFBSSxHQUF1QjtZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQ3BCLFlBQVksRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsQ0FBQztTQUNYLENBQUM7UUFFRixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQzlCLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLEtBQUssQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUN6RixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO1FBRTVGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQzVFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNmO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUM5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQ3ZELENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQzlDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUErQjtRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQThCO1FBQzNELDZDQUE2QztRQUM3QyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEIsS0FBSyx5QkFBeUIsQ0FBQyxJQUFJO2dCQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUNuQjtnQkFDRCxNQUFNO1lBRVIsS0FBSyx5QkFBeUIsQ0FBQyxLQUFLO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtnQkFDRCxNQUFNO1lBRVIsS0FBSyx5QkFBeUIsQ0FBQyxLQUFLO2dCQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDbkQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQzlELE1BQU07WUFFUixLQUFLLHlCQUF5QixDQUFDLGlCQUFpQjtnQkFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQzdDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRSxPQUFPLENBQUMsZUFBZTthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ25ELGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRO1lBQy9DLGFBQWEsRUFBRSxJQUFJO1lBQ25CLG1CQUFtQixFQUFFLE1BQU07WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxTQUFTLEVBQUUsT0FBTztTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU8sY0FBYztRQUNwQix3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxXQUFXLEVBQUUsS0FBSztZQUNsQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsd0JBQXdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzthQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7O1lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQUEsS0FBSyxDQUFDLEdBQUcsMENBQUUsV0FBVyxFQUFFLENBQUM7WUFDckMsMEJBQTBCO1lBQzFCLElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQywwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQ2hDLElBQUksSUFBd0IsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQ2hDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDaEQ7U0FFRjthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7b0hBcmVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDZRQUx2QjtRQUNULHFCQUFxQjtLQUN0Qix1SUE0Rk8sV0FBVywrR0FLWCxVQUFVLDJHQUtWLFVBQVUsNkJDck1wQiw0M1RBcVRBOzJGRG5OYSx1QkFBdUI7a0JBVG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7cUJBQ3RCO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7MEJBa0pJLFFBQVE7NENBeElKLEtBQUs7c0JBRFgsS0FBSztnQkFVQyxVQUFVO3NCQURoQixLQUFLO2dCQU9DLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFPQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBUUEsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxlQUFlO3NCQURyQixLQUFLO2dCQWlERSxzQkFBc0I7c0JBSDdCLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUU7d0JBQ25DLElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFNTyxnQkFBZ0I7c0JBSHZCLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUU7d0JBQzdCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkFNVyxjQUFjO3NCQUh6QixTQUFTO3VCQUFDLGdCQUFnQixFQUFFO3dCQUMzQixJQUFJLEVBQUUsVUFBVTtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4ZXIsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWVTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgdGFrZVVudGlsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJDaGFuZ2VBeGlzXG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItYXhpcyc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3Jcbn0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1jb2xvcic7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VySHNsYVxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzbGEnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlckhzdmFcbn0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1oc3ZhJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJNZXNzYWdlXG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItbWVzc2FnZSc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGVcbn0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1tZXNzYWdlLXR5cGUnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlck91dHB1dFxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLW91dHB1dCc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyUmdiYVxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLXJnYmEnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlclJlc3VsdFxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLXJlc3VsdCc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyU2VydmljZVxufSBmcm9tICcuL2NvbG9ycGlja2VyLnNlcnZpY2UnO1xuXG5pbXBvcnQge1xuICBTbGlkZXJQb3NpdGlvbixcbiAgU2xpZGVyRGltZW5zaW9uXG59IGZyb20gJy4vY29sb3JwaWNrZXItY2xhc3Nlcyc7XG5cbmxldCBjb21wb25lbnRJZEluZGV4ID0gMDtcblxuLyoqXG4gKiBQcm92aWRlcyBhIFNLWSBVWC10aGVtZWQgcmVwbGFjZW1lbnQgZm9yIHRoZSBIVE1MIGBpbnB1dGAgZWxlbWVudCB3aXRoIGB0eXBlPVwiY29sb3JcImAuXG4gKiBUaGUgdmFsdWUgdGhhdCB1c2VycyBzZWxlY3QgaXMgZHJpdmVuIHRocm91Z2ggdGhlIGBuZ01vZGVsYCBhdHRyaWJ1dGUgc3BlY2lmaWVkIG9uXG4gKiB0aGUgYGlucHV0YCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY29sb3JwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3JwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2xvcnBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBTa3lDb2xvcnBpY2tlclNlcnZpY2VcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb2xvcnBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgbGFiZWwgZm9yIHRoZSBjb2xvcnBpY2tlci4gVGhpcyBzZXRzIHRoZSBjb2xvcnBpY2tlcidzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpXG4gICAqIHdoZW4gdGhlIGNvbG9ycGlja2VyIGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLiBJZiB0aGUgY29sb3JwaWNrZXIgaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGxhYmVsbGVkQnlgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0ICdTZWxlY3QgY29sb3IgdmFsdWUnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGVcbiAgICogY29sb3JwaWNrZXIuIFRoaXMgc2V0cyB0aGUgY29sb3JwaWNrZXIncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgY29sb3JwaWNrZXIgZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxgIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIGNvbG9yIGluIHRoZSBjb2xvcnBpY2tlci5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDb2xvckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUNvbG9ycGlja2VyT3V0cHV0PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCAqKkFwcGx5KiogaW4gdGhlIGNvbG9ycGlja2VyIHRvIGFwcGx5IGEgY29sb3IuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ29sb3JBcHBsaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lDb2xvcnBpY2tlclJlc3VsdD4oKTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYW4gb2JzZXJ2YWJsZSB0byBzZW5kIGNvbW1hbmRzIHRvIHRoZSBjb2xvcnBpY2tlci4gVGhlIGNvbW1hbmRzIHNob3VsZFxuICAgKiByZXNwZWN0IHRoZSBgU2t5Q29sb3JQaWNrZXJNZXNzYWdlYCB0eXBlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lDb2xvcnBpY2tlck1lc3NhZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSByZXNldCBidXR0b24gdG8gbGV0IHVzZXJzIHJldHVybiB0byB0aGUgZGVmYXVsdCBjb2xvci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93UmVzZXRCdXR0b24gPSB0cnVlO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBpZEluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckhleElkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlclJlZElkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckdyZWVuSWQ6IHN0cmluZztcbiAgcHVibGljIHNreUNvbG9ycGlja2VyQmx1ZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckFscGhhSWQ6IHN0cmluZztcbiAgcHVibGljIGFscGhhQ2hhbm5lbDogc3RyaW5nO1xuICBwdWJsaWMgYWxsb3dUcmFuc3BhcmVuY3k6IGJvb2xlYW47XG4gIHB1YmxpYyBhbHBoYVNsaWRlckNvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBhcnJvd1RvcDogbnVtYmVyO1xuICBwdWJsaWMgZm9ybWF0OiBudW1iZXI7XG4gIHB1YmxpYyBoZXhUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBoc2xhVGV4dDogU2t5Q29sb3JwaWNrZXJIc2xhO1xuICBwdWJsaWMgaHVlU2xpZGVyQ29sb3I6IHN0cmluZztcbiAgcHVibGljIG91dHB1dEZvcm1hdDogc3RyaW5nO1xuICBwdWJsaWMgcHJlc2V0Q29sb3JzOiBBcnJheTxzdHJpbmc+O1xuICBwdWJsaWMgcmV0dXJuRm9ybWF0OiBzdHJpbmc7XG4gIHB1YmxpYyByZ2JhVGV4dDogU2t5Q29sb3JwaWNrZXJSZ2JhO1xuICBwdWJsaWMgc2VsZWN0ZWRDb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQ7XG4gIHB1YmxpYyBzbGlkZXI6IFNsaWRlclBvc2l0aW9uO1xuICBwdWJsaWMgaW5pdGlhbENvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBsYXN0QXBwbGllZENvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBpc1BpY2tlclZpc2libGU6IGJvb2xlYW47XG5cbiAgcHVibGljIGJhY2tncm91bmRDb2xvckZvckRpc3BsYXk6IHN0cmluZyA9ICcjZmZmJztcblxuICBwdWJsaWMgY29sb3JwaWNrZXJJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnY29sb3JwaWNrZXJUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZlxuICB9KVxuICBwcml2YXRlIGNvbG9ycGlja2VyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckJ1dHRvblJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmXG4gIH0pXG4gIHByaXZhdGUgdHJpZ2dlckJ1dHRvblJlZjogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdjb2xvcnBpY2tlclJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmXG4gIH0pXG4gIHByaXZhdGUgc2V0IGNvbG9ycGlja2VyUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jb2xvcnBpY2tlclJlZiA9IHZhbHVlO1xuICAgICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuXG4gICAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgLy8gRW5zdXJlIHRoZSBjb2xvcnBpY2tlciBoYXMgZnVsbHkgcmVuZGVyZWQgYmVmb3JlIGFkZGluZyB0aGUgYWZmaXhlci4gQWRkZWQgdG8gYWRkcmVzcyBhXG4gICAgICAvLyByYWNlIGNvbmRpdGlvbiB3aGVuIHJ1bm5pbmcgdW5kZXIgcHJvZHVjdGlvbiBjb25kaXRpb25zLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQWZmaXhlcigpO1xuICAgICAgICB0aGlzLmlzUGlja2VyVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5jb3JlQWRhcHRlci5nZXRGb2N1c2FibGVDaGlsZHJlbkFuZEFwcGx5Rm9jdXModmFsdWUsICcuc2t5LWNvbG9ycGlja2VyJywgZmFsc2UpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY29sb3JwaWNrZXJSZWYoKTogRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9ycGlja2VyUmVmO1xuICB9XG5cbiAgcHJpdmF0ZSBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmE7XG4gIHByaXZhdGUgc2xpZGVyRGltTWF4OiBTbGlkZXJEaW1lbnNpb247XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBhZmZpeGVyOiBTa3lBZmZpeGVyO1xuXG4gIHByaXZhdGUgb3ZlcmxheTogU2t5T3ZlcmxheUluc3RhbmNlO1xuXG4gIHByaXZhdGUgcGlja2VyVW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD47XG5cbiAgcHJpdmF0ZSBfY29sb3JwaWNrZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZSxcbiAgICBwcml2YXRlIHNlcnZpY2U6IFNreUNvbG9ycGlja2VyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIGNvbXBvbmVudElkSW5kZXgrKztcblxuICAgIHRoaXMuaWRJbmRleCA9IGNvbXBvbmVudElkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlclJlZElkID0gJ3NreS1jb2xvcnBpY2tlci1yZWQtJyArIHRoaXMuaWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VySGV4SWQgPSAnc2t5LWNvbG9ycGlja2VyLWhleC0nICsgdGhpcy5pZEluZGV4O1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJSZWRJZCA9ICdza3ktY29sb3JwaWNrZXItcmVkLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlckdyZWVuSWQgPSAnc2t5LWNvbG9ycGlja2VyLWdyZWVuLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlckJsdWVJZCA9ICdza3ktY29sb3JwaWNrZXItYmx1ZS0nICsgdGhpcy5pZEluZGV4O1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJBbHBoYUlkID0gJ3NreS1jb2xvcnBpY2tlci1hbHBoYS0nICsgdGhpcy5pZEluZGV4O1xuICAgIHRoaXMuY29sb3JwaWNrZXJJZCA9IGBza3ktY29sb3JwaWNrZXItJHt0aGlzLmlkSW5kZXh9YDtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGBza3ktY29sb3JwaWNrZXItYnV0dG9uLSR7dGhpcy5pZEluZGV4fWA7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlhbG9nKFxuICAgIGluc3RhbmNlOiBhbnksXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBjb2xvcjogYW55LFxuICAgIG91dHB1dEZvcm1hdDogc3RyaW5nLFxuICAgIHByZXNldENvbG9yczogQXJyYXk8c3RyaW5nPixcbiAgICBhbHBoYUNoYW5uZWw6IHN0cmluZyxcbiAgICBhbGxvd1RyYW5zcGFyZW5jeTogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxDb2xvciA9IGNvbG9yO1xuICAgIHRoaXMub3V0cHV0Rm9ybWF0ID0gb3V0cHV0Rm9ybWF0O1xuICAgIHRoaXMucHJlc2V0Q29sb3JzID0gcHJlc2V0Q29sb3JzO1xuICAgIHRoaXMuYWxwaGFDaGFubmVsID0gYWxwaGFDaGFubmVsO1xuICAgIHRoaXMuYWxsb3dUcmFuc3BhcmVuY3kgPSBhbGxvd1RyYW5zcGFyZW5jeTtcblxuICAgIGlmICh0aGlzLm91dHB1dEZvcm1hdCA9PT0gJ3JnYmEnKSB7XG4gICAgICB0aGlzLmZvcm1hdCA9IDE7XG4gICAgfSBlbHNlIGlmICh0aGlzLm91dHB1dEZvcm1hdCA9PT0gJ2hzbGEnKSB7XG4gICAgICB0aGlzLmZvcm1hdCA9IDI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gMDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zbGlkZXJEaW1NYXggPSBuZXcgU2xpZGVyRGltZW5zaW9uKDE4MiwgMjcwLCAxNzAsIDE4Mik7XG4gICAgdGhpcy5zbGlkZXIgPSBuZXcgU2xpZGVyUG9zaXRpb24oMCwgMCwgMCwgMCk7XG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUNvbG9ycGlja2VyTWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUluY29taW5nTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWRkVHJpZ2dlckJ1dHRvbkV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnRoZW1lU3ZjKSB7XG4gICAgICB0aGlzLnRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgY29uc3QgdGhlbWVOYW1lID0gdGhlbWVTZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lO1xuXG4gICAgICAgICAgLy8gSHVlL2FscGhhIHNsaWRlciBiYXJzIGhhdmUgZGlmZmVyZW50IHdpZHRocyBpbiBNb2Rlcm4gdGhlbWUuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgaWYgKHRoZW1lTmFtZSA9PT0gJ21vZGVybicpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRGltTWF4ID0gbmV3IFNsaWRlckRpbWVuc2lvbigxNzQsIDI3MCwgMTcwLCAxNzQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlckRpbU1heCA9IG5ldyBTbGlkZXJEaW1lbnNpb24oMTgyLCAyNzAsIDE3MCwgMTgyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy51cGRhdGVTbGlkZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBwdWJsaWMgb25UcmlnZ2VyQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTWVzc2FnZShTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLk9wZW4pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFwcGx5Q29sb3JDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3JDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZENvbG9yKTtcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3JBcHBsaWVkLmVtaXQoeyBjb2xvcjogdGhpcy5zZWxlY3RlZENvbG9yIH0pO1xuICAgIHRoaXMubGFzdEFwcGxpZWRDb2xvciA9IHRoaXMuc2VsZWN0ZWRDb2xvci5yZ2JhVGV4dDtcbiAgICB0aGlzLnVwZGF0ZVBpY2tlclZhbHVlcyh0aGlzLmxhc3RBcHBsaWVkQ29sb3IpO1xuICAgIHRoaXMuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMuc2VsZWN0ZWRDb2xvci5yZ2JhVGV4dDtcbiAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWxDbGljaygpOiB2b2lkIHtcbiAgICAvLyBSZXZlcnQgcGlja2VyIHZhbHVlcyBiYWNrIHRvIHByZXZpb3VzIGNvbG9yLlxuICAgIHRoaXMudXBkYXRlUGlja2VyVmFsdWVzKHRoaXMuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSk7XG4gICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgcHVibGljIG9uUHJlc2V0Q2xpY2sodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGlja2VyVmFsdWVzKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2V0Q2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTWVzc2FnZShTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLlJlc2V0KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVQaWNrZXJWYWx1ZXModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGhzdmEgPSB0aGlzLmdldEhzdmFWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKGhzdmEpIHtcbiAgICAgIHRoaXMuaHN2YSA9IGhzdmE7XG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgaHVlKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VBeGlzKSB7XG4gICAgdGhpcy5oc3ZhLmh1ZSA9IGNoYW5nZS54Q29vcmRpbmF0ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCByZWQoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUNvbG9yKSB7XG4gICAgbGV0IHJnYmEgPSB0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpO1xuICAgIHJnYmEucmVkID0gY2hhbmdlLmNvbG9yVmFsdWUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy5oc3ZhID0gdGhpcy5zZXJ2aWNlLnJnYmFUb0hzdmEocmdiYSk7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZ3JlZW4oY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUNvbG9yKSB7XG4gICAgbGV0IHJnYmEgPSB0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpO1xuICAgIHJnYmEuZ3JlZW4gPSBjaGFuZ2UuY29sb3JWYWx1ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLmhzdmEgPSB0aGlzLnNlcnZpY2UucmdiYVRvSHN2YShyZ2JhKTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBibHVlKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvcikge1xuICAgIGxldCByZ2JhID0gdGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKTtcbiAgICByZ2JhLmJsdWUgPSBjaGFuZ2UuY29sb3JWYWx1ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLmhzdmEgPSB0aGlzLnNlcnZpY2UucmdiYVRvSHN2YShyZ2JhKTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBhbHBoYUF4aXMoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUF4aXMpIHtcbiAgICB0aGlzLmhzdmEuYWxwaGEgPSBjaGFuZ2UueENvb3JkaW5hdGUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWxwaGFDb2xvcihjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IpIHtcbiAgICB0aGlzLmhzdmEuYWxwaGEgPSBjaGFuZ2UuY29sb3JWYWx1ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBoZXgoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUNvbG9yKSB7XG4gICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXMoY2hhbmdlLmNvbG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2F0dXJhdGlvbkFuZExpZ2h0bmVzcyh2YWx1ZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VBeGlzKSB7XG4gICAgdGhpcy5oc3ZhLnNhdHVyYXRpb24gPSB2YWx1ZS54Q29vcmRpbmF0ZSAvIHZhbHVlLnhBeGlzO1xuICAgIHRoaXMuaHN2YS52YWx1ZSA9IHZhbHVlLnlDb29yZGluYXRlIC8gdmFsdWUueUF4aXM7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUoKTogdm9pZCB7XG4gICAgbGV0IGhzbGE6IFNreUNvbG9ycGlja2VySHNsYSA9IHRoaXMuc2VydmljZS5oc3ZhMmhzbGEodGhpcy5oc3ZhKTtcbiAgICBsZXQgZEhzbGE6IFNreUNvbG9ycGlja2VySHNsYSA9IHRoaXMuc2VydmljZS5kZW5vcm1hbGl6ZUhTTEEoaHNsYSk7XG4gICAgbGV0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSk7XG4gICAgbGV0IGRSZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB0aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKHJnYmEpO1xuXG4gICAgbGV0IGhzdmE6IFNreUNvbG9ycGlja2VySHN2YSA9IHtcbiAgICAgICdodWUnOiB0aGlzLmhzdmEuaHVlLFxuICAgICAgJ3NhdHVyYXRpb24nOiAxLFxuICAgICAgJ3ZhbHVlJzogMSxcbiAgICAgICdhbHBoYSc6IDFcbiAgICB9O1xuXG4gICAgbGV0IGh1ZVJnYmEgPSB0aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKFxuICAgICAgdGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEoaHN2YSlcbiAgICApO1xuXG4gICAgdGhpcy5oc2xhVGV4dCA9IGRIc2xhO1xuICAgIHRoaXMucmdiYVRleHQgPSBkUmdiYTtcbiAgICB0aGlzLmhleFRleHQgPSB0aGlzLnNlcnZpY2UuaGV4VGV4dChkUmdiYSwgdGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4Jyk7XG5cbiAgICB0aGlzLmFscGhhU2xpZGVyQ29sb3IgPSBgcmdiYSgke2RSZ2JhLnJlZH0sJHtkUmdiYS5ncmVlbn0sJHtkUmdiYS5ibHVlfSwke2RSZ2JhLmFscGhhfSlgO1xuICAgIHRoaXMuaHVlU2xpZGVyQ29sb3IgPSBgcmdiYSgke2h1ZVJnYmEucmVkfSwke2h1ZVJnYmEuZ3JlZW59LCR7aHVlUmdiYS5ibHVlfSwke3JnYmEuYWxwaGF9KWA7XG5cbiAgICBpZiAodGhpcy5mb3JtYXQgPT09IDAgJiYgdGhpcy5oc3ZhLmFscGhhIDwgMSAmJiB0aGlzLmFscGhhQ2hhbm5lbCA9PT0gJ2hleDYnKSB7XG4gICAgICB0aGlzLmZvcm1hdCsrO1xuICAgIH1cblxuICAgIHRoaXMuc2VydmljZS5vdXRwdXRGb3JtYXQoXG4gICAgICB0aGlzLmhzdmEsXG4gICAgICB0aGlzLm91dHB1dEZvcm1hdCxcbiAgICAgIHRoaXMuYWxwaGFDaGFubmVsID09PSAnaGV4OCcpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IHRoaXMuc2VydmljZS5za3lDb2xvcnBpY2tlck91dCh0aGlzLmhzdmEpO1xuXG4gICAgdGhpcy51cGRhdGVTbGlkZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2xpZGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhzdmEgJiYgdGhpcy5zbGlkZXJEaW1NYXgpIHtcbiAgICAgIHRoaXMuc2xpZGVyID0gbmV3IFNsaWRlclBvc2l0aW9uKFxuICAgICAgICAodGhpcy5oc3ZhLmh1ZSkgKiB0aGlzLnNsaWRlckRpbU1heC5odWUgLSA4LFxuICAgICAgICB0aGlzLmhzdmEuc2F0dXJhdGlvbiAqIHRoaXMuc2xpZGVyRGltTWF4LnNhdHVyYXRpb24gLSA4LFxuICAgICAgICAoMSAtIHRoaXMuaHN2YS52YWx1ZSkgKiB0aGlzLnNsaWRlckRpbU1heC52YWx1ZSAtIDgsXG4gICAgICAgIHRoaXMuaHN2YS5hbHBoYSAqIHRoaXMuc2xpZGVyRGltTWF4LmFscGhhIC0gOFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5QaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc1BpY2tlclZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZE1lc3NhZ2UodHlwZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZSkge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlOiBTa3lDb2xvcnBpY2tlck1lc3NhZ2UpIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLm9wZW5QaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5SZXNldDpcbiAgICAgICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5pbml0aWFsQ29sb3IpO1xuICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB0aGlzLmluaXRpYWxDb2xvcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb2xvcik7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvckFwcGxpZWQuZW1pdCh7IGNvbG9yOiB0aGlzLnNlbGVjdGVkQ29sb3IgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuVG9nZ2xlUmVzZXRCdXR0b246XG4gICAgICAgIHRoaXMuc2hvd1Jlc2V0QnV0dG9uID0gIXRoaXMuc2hvd1Jlc2V0QnV0dG9uO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFmZml4ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgYWZmaXhlciA9IHRoaXMuYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5jb2xvcnBpY2tlclJlZik7XG5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMucGlja2VyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNQaWNrZXJWaXNpYmxlID0gKGNoYW5nZS5wbGFjZW1lbnQgIT09IG51bGwpO1xuICAgICAgfSk7XG5cbiAgICBhZmZpeGVyLmFmZml4VG8odGhpcy50cmlnZ2VyQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgZW5hYmxlQXV0b0ZpdDogdHJ1ZSxcbiAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6ICdsZWZ0JyxcbiAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgcGxhY2VtZW50OiAnYmVsb3cnXG4gICAgfSk7XG5cbiAgICB0aGlzLmFmZml4ZXIgPSBhZmZpeGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95QWZmaXhlcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy5hZmZpeGVyKSB7XG4gICAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5hZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgZW5hYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICBlbmFibGVTY3JvbGw6IHRydWVcbiAgICB9KTtcblxuICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUodGhpcy5jb2xvcnBpY2tlclRlbXBsYXRlUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheSA9IG92ZXJsYXk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFRyaWdnZXJCdXR0b25FdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQod2luZG93LmRvY3VtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleT8udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGtleSA9PT0gJ2VzY2FwZScpIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5waWNrZXJVbnN1YnNjcmliZSkge1xuICAgICAgdGhpcy5waWNrZXJVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SHN2YVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBTa3lDb2xvcnBpY2tlckhzdmEge1xuICAgIGxldCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmE7XG5cbiAgICBpZiAodGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4Jykge1xuICAgICAgaHN2YSA9IHRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodmFsdWUsIHRydWUpO1xuICAgICAgaWYgKCFoc3ZhICYmICF0aGlzLmhzdmEpIHtcbiAgICAgICAgaHN2YSA9IHRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodmFsdWUsIGZhbHNlKTtcbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICBoc3ZhID0gdGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YSh2YWx1ZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoc3ZhO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktY29sb3JwaWNrZXItaGlkZGVuJzogIWlzVmlzaWJsZSxcbiAgICAnc2t5LWNvbG9ycGlja2VyLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBbaGlkZGVuXT1cInRydWVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8YnV0dG9uXG4gICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItYnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzT3BlbiA/IGNvbG9ycGlja2VySWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbCB8fCAobGFiZWxsZWRCeSA/IG51bGwgOiAoJ3NreXV4X2NvbG9ycGlja2VyX2Ryb3Bkb3duX2J1dHRvbicgfCBza3lMaWJSZXNvdXJjZXMpKVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmlkXT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgW2F0dHIudGl0bGVdPVwibGFiZWwgfHwgKGxhYmVsbGVkQnkgPyBudWxsIDogKCdza3l1eF9jb2xvcnBpY2tlcl9kcm9wZG93bl9idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzKSlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1jb2xvcnBpY2tlci1idXR0b24tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgIH1cIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktbWFyZ2luLWlubGluZS1zbSc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheVwiXG4gICAgKGNsaWNrKT1cIm9uVHJpZ2dlckJ1dHRvbkNsaWNrKClcIlxuICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gID5cbiAgICA8bmctY29udGFpbmVyICpza3lUaGVtZUlmPVwiJ21vZGVybidcIj5cbiAgICAgIDxza3ktaWNvbiAqbmdJZj1cInNob3dSZXNldEJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWJ1dHRvbi1tb2Rlcm4tY2hldnJvblwiXG4gICAgICAgIGljb249XCJjaGV2cm9uLWRvd25cIlxuICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29sb3JwaWNrZXItYnV0dG9uLW1vZGVybi1jaGV2cm9uLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8L3NreS1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI2NvbG9ycGlja2VyVGVtcGxhdGVSZWY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY29udGFpbmVyXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgICBbYXR0ci5pZF09XCJjb2xvcnBpY2tlcklkXCJcbiAgICAgIFtoaWRkZW5dPVwiIWlzUGlja2VyVmlzaWJsZVwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktc2hhZG93JyA6ICdkZWZhdWx0JyxcbiAgICAgICAgJ3NreS1lbGV2YXRpb24tNCcgOiAnbW9kZXJuJ1xuICAgICAgfVwiXG4gICAgICAjY29sb3JwaWNrZXJSZWZcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2F0dXJhdGlvbi1saWdodG5lc3NcIlxuICAgICAgICAgIFtjb2xvcl09XCJzbGlkZXIuc2F0dXJhdGlvbiAtIHNsaWRlci52YWx1ZVwiXG4gICAgICAgICAgW3NreUNvbG9ycGlja2VyU2xpZGVyXVxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImh1ZVNsaWRlckNvbG9yXCJcbiAgICAgICAgICBbeEF4aXNdPVwiMVwiXG4gICAgICAgICAgW3lBeGlzXT1cIjFcIlxuICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cInNhdHVyYXRpb25BbmRMaWdodG5lc3M9JGV2ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yIHNreS1yb3VuZGVkLWNpcmNsZVwiXG4gICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJzbGlkZXIuc2F0dXJhdGlvblwiXG4gICAgICAgICAgICBbc3R5bGUudG9wLnB4XT1cInNsaWRlci52YWx1ZVwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJib3hcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJsZWZ0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0ZWQtY29sb3ItYmFja2dyb3VuZCBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWNvbG9yIHNreS1yb3VuZGVkLWNpcmNsZVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInNlbGVjdGVkQ29sb3I/LnJnYmFUZXh0XCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiaHVlXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyU2xpZGVyXVxuICAgICAgICAgICAgICBbeEF4aXNdPVwiMVwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImh1ZT0kZXZlbnRcIlxuICAgICAgICAgICAgICAjaHVlU2xpZGVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvciBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cInNsaWRlci5odWVcIlxuICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLmFsbG93VHJhbnNwYXJlbmN5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhbHBoYVwiXG4gICAgICAgICAgICAgIFtza3lDb2xvcnBpY2tlclNsaWRlcl1cbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYWxwaGFTbGlkZXJDb2xvclwiXG4gICAgICAgICAgICAgIFt4QXhpc109XCIxXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiYWxwaGFBeGlzPSRldmVudFwiXG4gICAgICAgICAgICAgICNhbHBoYVNsaWRlclxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3Igc2t5LXJvdW5kZWQtY2lyY2xlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJzbGlkZXIuYWxwaGFcIlxuICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicmdiYS10ZXh0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcmlhX2hleCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwic2t5Q29sb3JwaWNrZXJIZXhJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9oZXgnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJeIz8oW0EtRmEtZjAtOV17Nn18W0EtRmEtZjAtOV17M30pJFwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cInNreUNvbG9ycGlja2VySGV4SWRcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwiaGV4VGV4dFwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImhleD0kZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FyaWFfcmVkJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFthdHRyLmZvcl09XCJza3lDb2xvcnBpY2tlclJlZElkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2NvbG9ycGlja2VyX3JlZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJSZWRJZFwiXG4gICAgICAgICAgICAgIFttYXhSYW5nZV09XCIyNTVcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmdiYVRleHQ/LnJlZFwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cInJlZD0kZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FyaWFfZ3JlZW4nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VyR3JlZW5JZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9ncmVlbicgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJHcmVlbklkXCJcbiAgICAgICAgICAgICAgW21heFJhbmdlXT1cIjI1NVwiXG4gICAgICAgICAgICAgIFtza3lDb2xvcnBpY2tlclRleHRdXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJyZ2JhVGV4dD8uZ3JlZW5cIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJncmVlbj0kZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FyaWFfYmx1ZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwic2t5Q29sb3JwaWNrZXJCbHVlSWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfYmx1ZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJCbHVlSWRcIlxuICAgICAgICAgICAgICBbbWF4UmFuZ2VdPVwiMjU1XCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJnYmFUZXh0Py5ibHVlXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiYmx1ZT0kZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3ggKm5nSWY9XCJ0aGlzLmFsbG93VHJhbnNwYXJlbmN5XCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FyaWFfYWxwaGEnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VyQWxwaGFJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9hbHBoYScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0rKFtcXC4sXVswLTldezEsMn0pP1wiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjFcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJBbHBoYUlkXCJcbiAgICAgICAgICAgICAgW21heFJhbmdlXT1cIjFcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmdiYVRleHQ/LmFscGhhXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiYWxwaGFDb2xvcj0kZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicHJlc2V0Q29sb3JzICYmIHByZXNldENvbG9ycy5sZW5ndGhcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLXByZXNldC1jb2xvci1hcmVhXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGNvbG9yIG9mIHByZXNldENvbG9ycyB8IHNsaWNlOjA6MTI7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoJ3NreXV4X2NvbG9ycGlja2VyX3ByZXNldF9jb2xvcicgfCBza3lMaWJSZXNvdXJjZXMpICsgJyAnICsgY29sb3JcIlxuICAgICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2t5LXByZXNldC1jb2xvcic6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgICAgJ3NreS1idG4gc2t5LWJ0bi1saW5rJzogJ21vZGVybidcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25QcmVzZXRDbGljayhjb2xvcilcIlxuICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1mb290ZXJcIlxuICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1wYWRkaW5nLWV2ZW4tbGFyZ2UnOiAnZGVmYXVsdCdcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxzZWN0aW9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY29sdW1uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LWJ0bi1jb2xvcnBpY2tlci1hcHBseVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FwcGx5JyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7ICdza3ktbWFyZ2luLWlubGluZS1zbScgOiAnbW9kZXJuJyB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkFwcGx5Q29sb3JDbGljaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfYXBwbHknIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktYnRuLWNvbG9ycGlja2VyLWNsb3NlXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfY29sb3JwaWNrZXJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbENsaWNrKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxzcGFuICpuZ0lmPVwiYWxsb3dUcmFuc3BhcmVuY3lcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY2hlY2tlcmVkLWJhY2tncm91bmRcIlxuICA+XG4gIDwvc3Bhbj5cblxuICA8YnV0dG9uICpuZ0lmPVwic2hvd1Jlc2V0QnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9yZXNldCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1jb2xvcnBpY2tlci1yZXNldC1idXR0b24tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgIH1cIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktY29sb3JwaWNrZXItcmVzZXQtYnV0dG9uJzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4gc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3Mgc2t5LWNvbG9ycGlja2VyLXJlc2V0LWJ1dHRvbi1tb2Rlcm4nOiAnbW9kZXJuJ1xuICAgIH1cIlxuICAgIChjbGljayk9XCJvblJlc2V0Q2xpY2soKVwiXG4gID5cbiAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgaWNvbj1cInRpbWVzXCJcbiAgICAgIHNpemU9XCJzbVwiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgaWNvbj1cInRyYXNoXCJcbiAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgc2l6ZT1cImxnXCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
424
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxzQkFBc0IsRUFNdkIsTUFBTSxhQUFhLENBQUM7QUFNckIsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFzQnhCLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSxrQ0FBa0MsQ0FBQztBQWMxQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNMLGNBQWMsRUFDZCxlQUFlLEVBQ2hCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBRS9CLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRXpCOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBc0tsQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ2pDLE9BQThCLEVBQ2xCLFFBQTBCO1FBTHRDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMs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QUN0Qzs7MEJBNktJLFFBQVE7NENBcktKLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBVUMsS0FBSztzQkFEWCxLQUFLO2dCQVVDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0Msb0JBQW9CO3NCQUQxQixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxhQUFhO3NCQURuQixLQUFLO2dCQU9DLGVBQWU7c0JBRHJCLEtBQUs7Z0JBNERFLHNCQUFzQjtzQkFIN0IsU0FBUzt1QkFBQyx3QkFBd0IsRUFBRTt3QkFDbkMsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCO2dCQU1PLGdCQUFnQjtzQkFIdkIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRTt3QkFDN0IsSUFBSSxFQUFFLFVBQVU7cUJBQ2pCO2dCQU1XLGNBQWM7c0JBSHpCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUU7d0JBQzNCLElBQUksRUFBRSxVQUFVO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhlcixcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lPdmVybGF5SW5zdGFuY2UsXG4gIFNreU92ZXJsYXlTZXJ2aWNlLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2Vcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgZnJvbUV2ZW50LFxuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICB0YWtlVW50aWxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlckNoYW5nZUF4aXNcbn0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1heGlzJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvclxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWNvbG9yJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJIc2xhXG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItaHNsYSc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VySHN2YVxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzdmEnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlck1lc3NhZ2Vcbn0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1tZXNzYWdlJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZVxufSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLW1lc3NhZ2UtdHlwZSc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyT3V0cHV0XG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItb3V0cHV0JztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJSZ2JhXG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItcmdiYSc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VyUmVzdWx0XG59IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItcmVzdWx0JztcblxuaW1wb3J0IHtcbiAgU2t5Q29sb3JwaWNrZXJTZXJ2aWNlXG59IGZyb20gJy4vY29sb3JwaWNrZXIuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gIFNsaWRlclBvc2l0aW9uLFxuICBTbGlkZXJEaW1lbnNpb25cbn0gZnJvbSAnLi9jb2xvcnBpY2tlci1jbGFzc2VzJztcblxubGV0IGNvbXBvbmVudElkSW5kZXggPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgU0tZIFVYLXRoZW1lZCByZXBsYWNlbWVudCBmb3IgdGhlIEhUTUwgYGlucHV0YCBlbGVtZW50IHdpdGggYHR5cGU9XCJjb2xvclwiYC5cbiAqIFRoZSB2YWx1ZSB0aGF0IHVzZXJzIHNlbGVjdCBpcyBkcml2ZW4gdGhyb3VnaCB0aGUgYG5nTW9kZWxgIGF0dHJpYnV0ZSBzcGVjaWZpZWQgb25cbiAqIHRoZSBgaW5wdXRgIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jb2xvcnBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvcnBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbG9ycGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIFNreUNvbG9ycGlja2VyU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbG9ycGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIFtGb250IEF3ZXNvbWUgNC43XShodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC43L2ljb25zLykgaWNvbiB0byBvdmVybGF5IG9uIHRvcCBvZiB0aGUgcGlja2VyLiBEbyBub3Qgc3BlY2lmeSB0aGUgYGZhIGZhLWAgY2xhc3Nlcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGlja2VyQnV0dG9uSWNvbj86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGljb24gdG8gZGlzcGxheS4gU3BlY2lmeWluZyBgZmFgIHdpbGwgZGlzcGxheSBhIEZvbnQgQXdlc29tZSBpY29uLCB3aGlsZSBzcGVjaWZ5aW5nIGBza3l1eGAgd2lsbCBkaXNwbGF5IGFuIGljb24gZnJvbSB0aGUgY3VzdG9tIFNLWSBVWCBpY29uIGZvbnQuIE5vdGUgdGhhdCB0aGUgY3VzdG9tIFNLWSBVWCBpY29uIGZvbnQgaXMgY3VycmVudGx5IGluIGJldGEuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBpY2tlckJ1dHRvbkljb25UeXBlPzogc3RyaW5nID0gJ2ZhJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIEFSSUEgbGFiZWwgZm9yIHRoZSBjb2xvcnBpY2tlci4gVGhpcyBzZXRzIHRoZSBjb2xvcnBpY2tlcidzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpXG4gICAqIHdoZW4gdGhlIGNvbG9ycGlja2VyIGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLiBJZiB0aGUgY29sb3JwaWNrZXIgaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGxhYmVsbGVkQnlgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0ICdTZWxlY3QgY29sb3IgdmFsdWUnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBIVE1MIGVsZW1lbnQgSUQgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYCNgKSBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGVcbiAgICogY29sb3JwaWNrZXIuIFRoaXMgc2V0cyB0aGUgY29sb3JwaWNrZXIncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgY29sb3JwaWNrZXIgZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxgIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIGNvbG9yIGluIHRoZSBjb2xvcnBpY2tlci5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDb2xvckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUNvbG9ycGlja2VyT3V0cHV0PigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCAqKkFwcGx5KiogaW4gdGhlIGNvbG9ycGlja2VyIHRvIGFwcGx5IGEgY29sb3IuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ29sb3JBcHBsaWVkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lDb2xvcnBpY2tlclJlc3VsdD4oKTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYW4gb2JzZXJ2YWJsZSB0byBzZW5kIGNvbW1hbmRzIHRvIHRoZSBjb2xvcnBpY2tlci4gVGhlIGNvbW1hbmRzIHNob3VsZFxuICAgKiByZXNwZWN0IHRoZSBgU2t5Q29sb3JQaWNrZXJNZXNzYWdlYCB0eXBlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lDb2xvcnBpY2tlck1lc3NhZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSByZXNldCBidXR0b24gdG8gbGV0IHVzZXJzIHJldHVybiB0byB0aGUgZGVmYXVsdCBjb2xvci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93UmVzZXRCdXR0b24gPSB0cnVlO1xuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBpZEluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckhleElkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlclJlZElkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckdyZWVuSWQ6IHN0cmluZztcbiAgcHVibGljIHNreUNvbG9ycGlja2VyQmx1ZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckFscGhhSWQ6IHN0cmluZztcbiAgcHVibGljIGFscGhhQ2hhbm5lbDogc3RyaW5nO1xuICBwdWJsaWMgYWxsb3dUcmFuc3BhcmVuY3k6IGJvb2xlYW47XG4gIHB1YmxpYyBhbHBoYVNsaWRlckNvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBhcnJvd1RvcDogbnVtYmVyO1xuICBwdWJsaWMgZm9ybWF0OiBudW1iZXI7XG4gIHB1YmxpYyBoZXhUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBoc2xhVGV4dDogU2t5Q29sb3JwaWNrZXJIc2xhO1xuICBwdWJsaWMgaHVlU2xpZGVyQ29sb3I6IHN0cmluZztcbiAgcHVibGljIG91dHB1dEZvcm1hdDogc3RyaW5nO1xuICBwdWJsaWMgcHJlc2V0Q29sb3JzOiBBcnJheTxzdHJpbmc+O1xuICBwdWJsaWMgcmV0dXJuRm9ybWF0OiBzdHJpbmc7XG4gIHB1YmxpYyByZ2JhVGV4dDogU2t5Q29sb3JwaWNrZXJSZ2JhO1xuICBwdWJsaWMgc2VsZWN0ZWRDb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQ7XG4gIHB1YmxpYyBzbGlkZXI6IFNsaWRlclBvc2l0aW9uO1xuICBwdWJsaWMgaWNvbkNvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBpbml0aWFsQ29sb3I6IHN0cmluZztcbiAgcHVibGljIGxhc3RBcHBsaWVkQ29sb3I6IHN0cmluZztcbiAgcHVibGljIGlzUGlja2VyVmlzaWJsZTogYm9vbGVhbjtcblxuICBwdWJsaWMgc2V0IGJhY2tncm91bmRDb2xvckZvckRpc3BsYXkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2JhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5waWNrZXJCdXR0b25JY29uKSB7XG4gICAgICB0aGlzLmljb25Db2xvciA9IHRoaXMuZ2V0QWNjZXNzaWJsZUljb25Db2xvcih0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSgpOiBzdHJpbmcge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvckZvckRpc3BsYXkgfHwgJyNmZmYnO1xuICB9XG5cbiAgcHVibGljIGNvbG9ycGlja2VySWQ6IHN0cmluZztcblxuICBwdWJsaWMgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIHRyaWdnZXJCdXR0b25JZDogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbG9ycGlja2VyVGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWZcbiAgfSlcbiAgcHJpdmF0ZSBjb2xvcnBpY2tlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25SZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZlxuICB9KVxuICBwcml2YXRlIHRyaWdnZXJCdXR0b25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY29sb3JwaWNrZXJSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZlxuICB9KVxuICBwcml2YXRlIHNldCBjb2xvcnBpY2tlclJlZih2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fY29sb3JwaWNrZXJSZWYgPSB2YWx1ZTtcbiAgICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcblxuICAgICAgdGhpcy5yZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgICAgdGhpcy5waWNrZXJVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29sb3JwaWNrZXIgaGFzIGZ1bGx5IHJlbmRlcmVkIGJlZm9yZSBhZGRpbmcgdGhlIGFmZml4ZXIuIEFkZGVkIHRvIGFkZHJlc3MgYVxuICAgICAgLy8gcmFjZSBjb25kaXRpb24gd2hlbiBydW5uaW5nIHVuZGVyIHByb2R1Y3Rpb24gY29uZGl0aW9ucy5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUFmZml4ZXIoKTtcbiAgICAgICAgdGhpcy5pc1BpY2tlclZpc2libGUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKHZhbHVlLCAnLnNreS1jb2xvcnBpY2tlcicsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbG9ycGlja2VyUmVmKCk6IEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcnBpY2tlclJlZjtcbiAgfVxuXG4gIHByaXZhdGUgaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhO1xuICBwcml2YXRlIHNsaWRlckRpbU1heDogU2xpZGVyRGltZW5zaW9uO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgYWZmaXhlcjogU2t5QWZmaXhlcjtcblxuICBwcml2YXRlIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZTtcblxuICBwcml2YXRlIHBpY2tlclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+O1xuXG4gIHByaXZhdGUgX2JhY2tncm91bmRDb2xvckZvckRpc3BsYXk6IHN0cmluZztcblxuICBwcml2YXRlIF9jb2xvcnBpY2tlclJlZjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZTogU2t5Q29sb3JwaWNrZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgY29tcG9uZW50SWRJbmRleCsrO1xuXG4gICAgdGhpcy5pZEluZGV4ID0gY29tcG9uZW50SWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyUmVkSWQgPSAnc2t5LWNvbG9ycGlja2VyLXJlZC0nICsgdGhpcy5pZEluZGV4O1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJIZXhJZCA9ICdza3ktY29sb3JwaWNrZXItaGV4LScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlclJlZElkID0gJ3NreS1jb2xvcnBpY2tlci1yZWQtJyArIHRoaXMuaWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyR3JlZW5JZCA9ICdza3ktY29sb3JwaWNrZXItZ3JlZW4tJyArIHRoaXMuaWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyQmx1ZUlkID0gJ3NreS1jb2xvcnBpY2tlci1ibHVlLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlckFscGhhSWQgPSAnc2t5LWNvbG9ycGlja2VyLWFscGhhLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5jb2xvcnBpY2tlcklkID0gYHNreS1jb2xvcnBpY2tlci0ke3RoaXMuaWRJbmRleH1gO1xuICAgIHRoaXMudHJpZ2dlckJ1dHRvbklkID0gYHNreS1jb2xvcnBpY2tlci1idXR0b24tJHt0aGlzLmlkSW5kZXh9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaWFsb2coXG4gICAgaW5zdGFuY2U6IGFueSxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGNvbG9yOiBhbnksXG4gICAgb3V0cHV0Rm9ybWF0OiBzdHJpbmcsXG4gICAgcHJlc2V0Q29sb3JzOiBBcnJheTxzdHJpbmc+LFxuICAgIGFscGhhQ2hhbm5lbDogc3RyaW5nLFxuICAgIGFsbG93VHJhbnNwYXJlbmN5OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbENvbG9yID0gY29sb3I7XG4gICAgdGhpcy5vdXRwdXRGb3JtYXQgPSBvdXRwdXRGb3JtYXQ7XG4gICAgdGhpcy5wcmVzZXRDb2xvcnMgPSBwcmVzZXRDb2xvcnM7XG4gICAgdGhpcy5hbHBoYUNoYW5uZWwgPSBhbHBoYUNoYW5uZWw7XG4gICAgdGhpcy5hbGxvd1RyYW5zcGFyZW5jeSA9IGFsbG93VHJhbnNwYXJlbmN5O1xuXG4gICAgaWYgKHRoaXMub3V0cHV0Rm9ybWF0ID09PSAncmdiYScpIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gMTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3V0cHV0Rm9ybWF0ID09PSAnaHNsYScpIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXQgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNsaWRlckRpbU1heCA9IG5ldyBTbGlkZXJEaW1lbnNpb24oMTgyLCAyNzAsIDE3MCwgMTgyKTtcbiAgICB0aGlzLnNsaWRlciA9IG5ldyBTbGlkZXJQb3NpdGlvbigwLCAwLCAwLCAwKTtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hZGRUcmlnZ2VyQnV0dG9uRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMudGhlbWVTdmMpIHtcbiAgICAgIHRoaXMudGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh0aGVtZVNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICBjb25zdCB0aGVtZU5hbWUgPSB0aGVtZVNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncz8udGhlbWU/Lm5hbWU7XG5cbiAgICAgICAgICAvLyBIdWUvYWxwaGEgc2xpZGVyIGJhcnMgaGF2ZSBkaWZmZXJlbnQgd2lkdGhzIGluIE1vZGVybiB0aGVtZS5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAodGhlbWVOYW1lID09PSAnbW9kZXJuJykge1xuICAgICAgICAgICAgdGhpcy5zbGlkZXJEaW1NYXggPSBuZXcgU2xpZGVyRGltZW5zaW9uKDE3NCwgMjcwLCAxNzAsIDE3NCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVyRGltTWF4ID0gbmV3IFNsaWRlckRpbWVuc2lvbigxODIsIDI3MCwgMTcwLCAxODIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnVwZGF0ZVNsaWRlcigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRyaWdnZXJCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRNZXNzYWdlKFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuT3Blbik7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG9uQXBwbHlDb2xvckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvckNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkQ29sb3IpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xvckFwcGxpZWQuZW1pdCh7IGNvbG9yOiB0aGlzLnNlbGVjdGVkQ29sb3IgfSk7XG4gICAgdGhpcy5sYXN0QXBwbGllZENvbG9yID0gdGhpcy5zZWxlY3RlZENvbG9yLnJnYmFUZXh0O1xuICAgIHRoaXMudXBkYXRlUGlja2VyVmFsdWVzKHRoaXMubGFzdEFwcGxpZWRDb2xvcik7XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gdGhpcy5zZWxlY3RlZENvbG9yLnJnYmFUZXh0O1xuICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbENsaWNrKCk6IHZvaWQge1xuICAgIC8vIFJldmVydCBwaWNrZXIgdmFsdWVzIGJhY2sgdG8gcHJldmlvdXMgY29sb3IuXG4gICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5KTtcbiAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb25QcmVzZXRDbGljayh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXModmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uUmVzZXRDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRNZXNzYWdlKFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuUmVzZXQpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVBpY2tlclZhbHVlcyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaHN2YSA9IHRoaXMuZ2V0SHN2YVZhbHVlKHZhbHVlKTtcbiAgICBpZiAoaHN2YSkge1xuICAgICAgdGhpcy5oc3ZhID0gaHN2YTtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBodWUoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUF4aXMpIHtcbiAgICB0aGlzLmhzdmEuaHVlID0gY2hhbmdlLnhDb29yZGluYXRlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlZChjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IpIHtcbiAgICBsZXQgcmdiYSA9IHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSk7XG4gICAgcmdiYS5yZWQgPSBjaGFuZ2UuY29sb3JWYWx1ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLmhzdmEgPSB0aGlzLnNlcnZpY2UucmdiYVRvSHN2YShyZ2JhKTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBncmVlbihjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IpIHtcbiAgICBsZXQgcmdiYSA9IHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSk7XG4gICAgcmdiYS5ncmVlbiA9IGNoYW5nZS5jb2xvclZhbHVlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMuaHN2YSA9IHRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKHJnYmEpO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGJsdWUoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUNvbG9yKSB7XG4gICAgbGV0IHJnYmEgPSB0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpO1xuICAgIHJnYmEuYmx1ZSA9IGNoYW5nZS5jb2xvclZhbHVlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMuaHN2YSA9IHRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKHJnYmEpO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFscGhhQXhpcyhjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQXhpcykge1xuICAgIHRoaXMuaHN2YS5hbHBoYSA9IGNoYW5nZS54Q29vcmRpbmF0ZSAvIGNoYW5nZS5tYXhSYW5nZTtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBhbHBoYUNvbG9yKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvcikge1xuICAgIHRoaXMuaHN2YS5hbHBoYSA9IGNoYW5nZS5jb2xvclZhbHVlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGhleChjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IpIHtcbiAgICB0aGlzLnVwZGF0ZVBpY2tlclZhbHVlcyhjaGFuZ2UuY29sb3IpO1xuICB9XG5cbiAgcHVibGljIHNldCBzYXR1cmF0aW9uQW5kTGlnaHRuZXNzKHZhbHVlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUF4aXMpIHtcbiAgICB0aGlzLmhzdmEuc2F0dXJhdGlvbiA9IHZhbHVlLnhDb29yZGluYXRlIC8gdmFsdWUueEF4aXM7XG4gICAgdGhpcy5oc3ZhLnZhbHVlID0gdmFsdWUueUNvb3JkaW5hdGUgLyB2YWx1ZS55QXhpcztcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICBsZXQgaHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0gdGhpcy5zZXJ2aWNlLmhzdmEyaHNsYSh0aGlzLmhzdmEpO1xuICAgIGxldCBkSHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0gdGhpcy5zZXJ2aWNlLmRlbm9ybWFsaXplSFNMQShoc2xhKTtcbiAgICBsZXQgcmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhID0gdGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKTtcbiAgICBsZXQgZFJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHRoaXMuc2VydmljZS5kZW5vcm1hbGl6ZVJHQkEocmdiYSk7XG5cbiAgICBsZXQgaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhID0ge1xuICAgICAgJ2h1ZSc6IHRoaXMuaHN2YS5odWUsXG4gICAgICAnc2F0dXJhdGlvbic6IDEsXG4gICAgICAndmFsdWUnOiAxLFxuICAgICAgJ2FscGhhJzogMVxuICAgIH07XG5cbiAgICBsZXQgaHVlUmdiYSA9IHRoaXMuc2VydmljZS5kZW5vcm1hbGl6ZVJHQkEoXG4gICAgICB0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYShoc3ZhKVxuICAgICk7XG5cbiAgICB0aGlzLmhzbGFUZXh0ID0gZEhzbGE7XG4gICAgdGhpcy5yZ2JhVGV4dCA9IGRSZ2JhO1xuICAgIHRoaXMuaGV4VGV4dCA9IHRoaXMuc2VydmljZS5oZXhUZXh0KGRSZ2JhLCB0aGlzLmFscGhhQ2hhbm5lbCA9PT0gJ2hleDgnKTtcblxuICAgIHRoaXMuYWxwaGFTbGlkZXJDb2xvciA9IGByZ2JhKCR7ZFJnYmEucmVkfSwke2RSZ2JhLmdyZWVufSwke2RSZ2JhLmJsdWV9LCR7ZFJnYmEuYWxwaGF9KWA7XG4gICAgdGhpcy5odWVTbGlkZXJDb2xvciA9IGByZ2JhKCR7aHVlUmdiYS5yZWR9LCR7aHVlUmdiYS5ncmVlbn0sJHtodWVSZ2JhLmJsdWV9LCR7cmdiYS5hbHBoYX0pYDtcblxuICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gMCAmJiB0aGlzLmhzdmEuYWxwaGEgPCAxICYmIHRoaXMuYWxwaGFDaGFubmVsID09PSAnaGV4NicpIHtcbiAgICAgIHRoaXMuZm9ybWF0Kys7XG4gICAgfVxuXG4gICAgdGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdChcbiAgICAgIHRoaXMuaHN2YSxcbiAgICAgIHRoaXMub3V0cHV0Rm9ybWF0LFxuICAgICAgdGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4Jyk7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yID0gdGhpcy5zZXJ2aWNlLnNreUNvbG9ycGlja2VyT3V0KHRoaXMuaHN2YSk7XG5cbiAgICB0aGlzLnVwZGF0ZVNsaWRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTbGlkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaHN2YSAmJiB0aGlzLnNsaWRlckRpbU1heCkge1xuICAgICAgdGhpcy5zbGlkZXIgPSBuZXcgU2xpZGVyUG9zaXRpb24oXG4gICAgICAgICh0aGlzLmhzdmEuaHVlKSAqIHRoaXMuc2xpZGVyRGltTWF4Lmh1ZSAtIDgsXG4gICAgICAgIHRoaXMuaHN2YS5zYXR1cmF0aW9uICogdGhpcy5zbGlkZXJEaW1NYXguc2F0dXJhdGlvbiAtIDgsXG4gICAgICAgICgxIC0gdGhpcy5oc3ZhLnZhbHVlKSAqIHRoaXMuc2xpZGVyRGltTWF4LnZhbHVlIC0gOCxcbiAgICAgICAgdGhpcy5oc3ZhLmFscGhhICogdGhpcy5zbGlkZXJEaW1NYXguYWxwaGEgLSA4XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblBpY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmlzUGlja2VyVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kTWVzc2FnZSh0eXBlOiBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlKSB7XG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoeyB0eXBlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreUNvbG9ycGlja2VyTWVzc2FnZSkge1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdCAqL1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuT3BlbjpcbiAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMub3BlblBpY2tlcigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLlJlc2V0OlxuICAgICAgICB0aGlzLnVwZGF0ZVBpY2tlclZhbHVlcyh0aGlzLmluaXRpYWxDb2xvcik7XG4gICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMuaW5pdGlhbENvbG9yO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3JDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZENvbG9yKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yQXBwbGllZC5lbWl0KHsgY29sb3I6IHRoaXMuc2VsZWN0ZWRDb2xvciB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5Ub2dnbGVSZXNldEJ1dHRvbjpcbiAgICAgICAgdGhpcy5zaG93UmVzZXRCdXR0b24gPSAhdGhpcy5zaG93UmVzZXRCdXR0b247XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQWZmaXhlcigpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy5hZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLmNvbG9ycGlja2VyUmVmKTtcblxuICAgIGFmZml4ZXIucGxhY2VtZW50Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5waWNrZXJVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy5pc1BpY2tlclZpc2libGUgPSAoY2hhbmdlLnBsYWNlbWVudCAhPT0gbnVsbCk7XG4gICAgICB9KTtcblxuICAgIGFmZml4ZXIuYWZmaXhUbyh0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogJ2xlZnQnLFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdiZWxvdydcbiAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgIGVuYWJsZVNjcm9sbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgb3ZlcmxheS5hdHRhY2hUZW1wbGF0ZSh0aGlzLmNvbG9ycGlja2VyVGVtcGxhdGVSZWYpO1xuXG4gICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMub3ZlcmxheSkge1xuICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLm92ZXJsYXkpO1xuICAgICAgdGhpcy5vdmVybGF5ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVHJpZ2dlckJ1dHRvbkV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh3aW5kb3cuZG9jdW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Py50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoa2V5ID09PSAnZXNjYXBlJykge1xuICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnBpY2tlclVuc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgIHRoaXMucGlja2VyVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICAgIHRoaXMucGlja2VyVW5zdWJzY3JpYmUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRIc3ZhVmFsdWUodmFsdWU6IHN0cmluZyk6IFNreUNvbG9ycGlja2VySHN2YSB7XG4gICAgbGV0IGhzdmE6IFNreUNvbG9ycGlja2VySHN2YTtcblxuICAgIGlmICh0aGlzLmFscGhhQ2hhbm5lbCA9PT0gJ2hleDgnKSB7XG4gICAgICBoc3ZhID0gdGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YSh2YWx1ZSwgdHJ1ZSk7XG4gICAgICBpZiAoIWhzdmEgJiYgIXRoaXMuaHN2YSkge1xuICAgICAgICBoc3ZhID0gdGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YSh2YWx1ZSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIGhzdmEgPSB0aGlzLnNlcnZpY2Uuc3RyaW5nVG9Ic3ZhKHZhbHVlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhzdmE7XG4gIH1cblxuICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9BRVJUI2NvbG9yLWNvbnRyYXN0XG4gIHByaXZhdGUgZ2V0QWNjZXNzaWJsZUljb25Db2xvcihiYWNrZ3JvdW5kQ29sb3I6IFNreUNvbG9ycGlja2VyT3V0cHV0KTogc3RyaW5nIHtcbiAgICBjb25zdCByZ2IgPSBiYWNrZ3JvdW5kQ29sb3IucmdiYTtcbiAgICBjb25zdCBicmlnaHRuZXNzID0gTWF0aC5yb3VuZCgoKHJnYi5yZWQgKiAyOTkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZ2IuZ3JlZW4gKiA1ODcpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZ2IuYmx1ZSAqIDExNCkpIC8gMTAwMCk7XG4gICAgcmV0dXJuIChicmlnaHRuZXNzID4gMTI1KSA/ICdyZ2IoMCwgMCwgMCknIDogJ3JnYigyNTUsIDI1NSwgMjU1KSc7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXBcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1jb2xvcnBpY2tlci1oaWRkZW4nOiAhaXNWaXNpYmxlLFxuICAgICdza3ktY29sb3JwaWNrZXItZGlzYWJsZWQnOiBkaXNhYmxlZFxuICB9XCJcbj5cbiAgPGRpdlxuICAgIFtoaWRkZW5dPVwidHJ1ZVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxidXR0b25cbiAgICBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCJcbiAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1idXR0b25cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXNPcGVuID8gY29sb3JwaWNrZXJJZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsIHx8IChsYWJlbGxlZEJ5ID8gbnVsbCA6ICgnc2t5dXhfY29sb3JwaWNrZXJfZHJvcGRvd25fYnV0dG9uJyB8IHNreUxpYlJlc291cmNlcykpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuaWRdPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICBbYXR0ci50aXRsZV09XCJsYWJlbCB8fCAobGFiZWxsZWRCeSA/IG51bGwgOiAoJ3NreXV4X2NvbG9ycGlja2VyX2Ryb3Bkb3duX2J1dHRvbicgfCBza3lMaWJSZXNvdXJjZXMpKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbG9ycGlja2VyLWJ1dHRvbi1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgfVwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybidcbiAgICB9XCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5XCJcbiAgICAoY2xpY2spPVwib25UcmlnZ2VyQnV0dG9uQ2xpY2soKVwiXG4gICAgI3RyaWdnZXJCdXR0b25SZWZcbiAgPlxuICAgIDxza3ktaWNvbiAqbmdJZj1cInBpY2tlckJ1dHRvbkljb25cIlxuICAgICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItYnV0dG9uLWljb25cIlxuICAgICAgW2ljb25dPVwicGlja2VyQnV0dG9uSWNvblwiXG4gICAgICBbaWNvblR5cGVdPVwicGlja2VyQnV0dG9uSWNvblR5cGVcIlxuICAgICAgW3NpemVdPVwiJzF4J1wiXG4gICAgICBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgICA8bmctY29udGFpbmVyICpza3lUaGVtZUlmPVwiJ21vZGVybidcIj5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1idXR0b24tbW9kZXJuLWNoZXZyb25cIlxuICAgICAgICBpY29uPVwiY2hldnJvbi1kb3duXCJcbiAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWNvbG9ycGlja2VyLWJ1dHRvbi1tb2Rlcm4tY2hldnJvbi1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPC9za3ktaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG5cbiAgPG5nLXRlbXBsYXRlICNjb2xvcnBpY2tlclRlbXBsYXRlUmVmPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWNvbnRhaW5lclwiXG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgICAgW2F0dHIuaWRdPVwiY29sb3JwaWNrZXJJZFwiXG4gICAgICBbaGlkZGVuXT1cIiFpc1BpY2tlclZpc2libGVcIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXNoYWRvdycgOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktZWxldmF0aW9uLTQnIDogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgI2NvbG9ycGlja2VyUmVmXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlclwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNhdHVyYXRpb24tbGlnaHRuZXNzXCJcbiAgICAgICAgICBbY29sb3JdPVwic2xpZGVyLnNhdHVyYXRpb24gLSBzbGlkZXIudmFsdWVcIlxuICAgICAgICAgIFtza3lDb2xvcnBpY2tlclNsaWRlcl1cbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJodWVTbGlkZXJDb2xvclwiXG4gICAgICAgICAgW3hBeGlzXT1cIjFcIlxuICAgICAgICAgIFt5QXhpc109XCIxXCJcbiAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJzYXR1cmF0aW9uQW5kTGlnaHRuZXNzPSRldmVudFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImN1cnNvciBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwic2xpZGVyLnNhdHVyYXRpb25cIlxuICAgICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJzbGlkZXIudmFsdWVcIlxuICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYm94XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibGVmdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmQgc2t5LXJvdW5kZWQtY2lyY2xlXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RlZC1jb2xvciBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzZWxlY3RlZENvbG9yPy5yZ2JhVGV4dFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImh1ZVwiXG4gICAgICAgICAgICAgIFtza3lDb2xvcnBpY2tlclNsaWRlcl1cbiAgICAgICAgICAgICAgW3hBeGlzXT1cIjFcIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJodWU9JGV2ZW50XCJcbiAgICAgICAgICAgICAgI2h1ZVNsaWRlclxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3Igc2t5LXJvdW5kZWQtY2lyY2xlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJzbGlkZXIuaHVlXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5hbGxvd1RyYW5zcGFyZW5jeVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWxwaGFcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJTbGlkZXJdXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImFscGhhU2xpZGVyQ29sb3JcIlxuICAgICAgICAgICAgICBbeEF4aXNdPVwiMVwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImFscGhhQXhpcz0kZXZlbnRcIlxuICAgICAgICAgICAgICAjYWxwaGFTbGlkZXJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yIHNreS1yb3VuZGVkLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwic2xpZGVyLmFscGhhXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInJnYmEtdGV4dFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfY29sb3JwaWNrZXJfYXJpYV9oZXgnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VySGV4SWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfaGV4JyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiXiM/KFtBLUZhLWYwLTldezZ9fFtBLUZhLWYwLTldezN9KSRcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJza3lDb2xvcnBpY2tlckhleElkXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImhleFRleHRcIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJoZXg9JGV2ZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcmlhX3JlZCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwic2t5Q29sb3JwaWNrZXJSZWRJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9yZWQnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIG1heD1cIjI1NVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cInNreUNvbG9ycGlja2VyUmVkSWRcIlxuICAgICAgICAgICAgICBbbWF4UmFuZ2VdPVwiMjU1XCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJnYmFUZXh0Py5yZWRcIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJyZWQ9JGV2ZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcmlhX2dyZWVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFthdHRyLmZvcl09XCJza3lDb2xvcnBpY2tlckdyZWVuSWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfZ3JlZW4nIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIG1heD1cIjI1NVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cInNreUNvbG9ycGlja2VyR3JlZW5JZFwiXG4gICAgICAgICAgICAgIFttYXhSYW5nZV09XCIyNTVcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmdiYVRleHQ/LmdyZWVuXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiZ3JlZW49JGV2ZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcmlhX2JsdWUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VyQmx1ZUlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2NvbG9ycGlja2VyX2JsdWUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIG1heD1cIjI1NVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cInNreUNvbG9ycGlja2VyQmx1ZUlkXCJcbiAgICAgICAgICAgICAgW21heFJhbmdlXT1cIjI1NVwiXG4gICAgICAgICAgICAgIFtza3lDb2xvcnBpY2tlclRleHRdXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJyZ2JhVGV4dD8uYmx1ZVwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImJsdWU9JGV2ZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94ICpuZ0lmPVwidGhpcy5hbGxvd1RyYW5zcGFyZW5jeVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcmlhX2FscGhhJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFthdHRyLmZvcl09XCJza3lDb2xvcnBpY2tlckFscGhhSWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfYWxwaGEnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIG1heD1cIjFcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgcGF0dGVybj1cIlswLTldKyhbXFwuLF1bMC05XXsxLDJ9KT9cIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4xXCJcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cInNreUNvbG9ycGlja2VyQWxwaGFJZFwiXG4gICAgICAgICAgICAgIFttYXhSYW5nZV09XCIxXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJnYmFUZXh0Py5hbHBoYVwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImFscGhhQ29sb3I9JGV2ZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInByZXNldENvbG9ycyAmJiBwcmVzZXRDb2xvcnMubGVuZ3RoXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1wcmVzZXQtY29sb3ItYXJlYVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBjb2xvciBvZiBwcmVzZXRDb2xvcnMgfCBzbGljZTowOjEyOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKCdza3l1eF9jb2xvcnBpY2tlcl9wcmVzZXRfY29sb3InIHwgc2t5TGliUmVzb3VyY2VzKSArICcgJyArIGNvbG9yXCJcbiAgICAgICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ3NreS1wcmVzZXQtY29sb3InOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICdza3ktYnRuIHNreS1idG4tbGluayc6ICdtb2Rlcm4nXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJlc2V0Q2xpY2soY29sb3IpXCJcbiAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItZm9vdGVyXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktcGFkZGluZy1ldmVuLWxhcmdlJzogJ2RlZmF1bHQnXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWNvbHVtblwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5IHNreS1idG4tY29sb3JwaWNrZXItYXBwbHlcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9jb2xvcnBpY2tlcl9hcHBseScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwieyAnc2t5LW1hcmdpbi1pbmxpbmUtc20nIDogJ21vZGVybicgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25BcHBseUNvbG9yQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NreXV4X2NvbG9ycGlja2VyX2FwcGx5JyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWJ0bi1jb2xvcnBpY2tlci1jbG9zZVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiAqbmdJZj1cImFsbG93VHJhbnNwYXJlbmN5XCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWNoZWNrZXJlZC1iYWNrZ3JvdW5kXCJcbiAgPlxuICA8L3NwYW4+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cInNob3dSZXNldEJ1dHRvblwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfY29sb3JwaWNrZXJfcmVzZXQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktY29sb3JwaWNrZXItcmVzZXQtYnV0dG9uLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICB9XCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbG9ycGlja2VyLXJlc2V0LWJ1dHRvbic6ICdkZWZhdWx0JyxcbiAgICAgICdza3ktYnRuIHNreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1jb2xvcnBpY2tlci1yZXNldC1idXR0b24tbW9kZXJuJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25SZXNldENsaWNrKClcIlxuICA+XG4gICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgIGljb249XCJ0aW1lc1wiXG4gICAgICBzaXplPVwic21cIlxuICAgID5cbiAgICA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgIGljb249XCJ0cmFzaFwiXG4gICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgIHNpemU9XCJsZ1wiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -13,8 +13,8 @@ import { SkyColorpickerTextDirective } from './colorpicker-text.directive';
|
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
export class SkyColorpickerModule {
|
|
15
15
|
}
|
|
16
|
-
SkyColorpickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
17
|
-
SkyColorpickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
16
|
+
SkyColorpickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
SkyColorpickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerModule, declarations: [SkyColorpickerComponent,
|
|
18
18
|
SkyColorpickerInputDirective,
|
|
19
19
|
SkyColorpickerTextDirective,
|
|
20
20
|
SkyColorpickerSliderDirective], imports: [CommonModule,
|
|
@@ -26,7 +26,7 @@ SkyColorpickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
|
|
|
26
26
|
SkyOverlayModule,
|
|
27
27
|
SkyThemeModule], exports: [SkyColorpickerComponent,
|
|
28
28
|
SkyColorpickerInputDirective] });
|
|
29
|
-
SkyColorpickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
+
SkyColorpickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerModule, imports: [[
|
|
30
30
|
CommonModule,
|
|
31
31
|
SkyAffixModule,
|
|
32
32
|
SkyColorpickerResourcesModule,
|
|
@@ -36,7 +36,7 @@ SkyColorpickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
36
36
|
SkyOverlayModule,
|
|
37
37
|
SkyThemeModule
|
|
38
38
|
]] });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerModule, decorators: [{
|
|
40
40
|
type: NgModule,
|
|
41
41
|
args: [{
|
|
42
42
|
declarations: [
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
64
64
|
]
|
|
65
65
|
}]
|
|
66
66
|
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNMLGFBQWEsRUFDZCxNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsYUFBYSxFQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0sNENBQTRDLENBQUM7QUFFcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCw0QkFBNEIsRUFDN0IsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzlCLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUNMLDJCQUEyQixFQUM1QixNQUFNLDhCQUE4QixDQUFDOztBQTJCdEMsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQXZCN0IsdUJBQXVCO1FBQ3ZCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsNkJBQTZCLGFBRzdCLFlBQVk7UUFDWixjQUFjO1FBQ2QsNkJBQTZCO1FBQzdCLGFBQWE7UUFDYixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixjQUFjLGFBR2QsdUJBQXVCO1FBQ3ZCLDRCQUE0QjttSEFNbkIsb0JBQW9CLFlBbEJ0QjtZQUNQLFlBQVk7WUFDWixjQUFjO1lBQ2QsNkJBQTZCO1lBQzdCLGFBQWE7WUFDYixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1NBQ2Y7NEZBU1Usb0JBQW9CO2tCQXpCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLDZCQUE2Qjt3QkFDN0IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsZUFBZSxFQUFFO3dCQUNmLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21tb25Nb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUFmZml4TW9kdWxlLFxuICBTa3lPdmVybGF5TW9kdWxlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5SW5wdXRCb3hNb2R1bGVcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZVxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7XG4gIFNreUljb25Nb2R1bGVcbn0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZU1vZHVsZVxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlclJlc291cmNlc01vZHVsZVxufSBmcm9tICcuLi9zaGFyZWQvc2t5LWNvbG9ycGlja2VyLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlckNvbXBvbmVudFxufSBmcm9tICcuL2NvbG9ycGlja2VyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFNreUNvbG9ycGlja2VySW5wdXREaXJlY3RpdmVcbn0gZnJvbSAnLi9jb2xvcnBpY2tlci1pbnB1dC5kaXJlY3RpdmUnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlclNsaWRlckRpcmVjdGl2ZVxufSBmcm9tICcuL2NvbG9ycGlja2VyLXNsaWRlci5kaXJlY3RpdmUnO1xuXG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlclRleHREaXJlY3RpdmVcbn0gZnJvbSAnLi9jb2xvcnBpY2tlci10ZXh0LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUNvbG9ycGlja2VyQ29tcG9uZW50LFxuICAgIFNreUNvbG9ycGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5Q29sb3JwaWNrZXJUZXh0RGlyZWN0aXZlLFxuICAgIFNreUNvbG9ycGlja2VyU2xpZGVyRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5QWZmaXhNb2R1bGUsXG4gICAgU2t5Q29sb3JwaWNrZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUlucHV0Qm94TW9kdWxlLFxuICAgIFNreU92ZXJsYXlNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUNvbG9ycGlja2VyQ29tcG9uZW50LFxuICAgIFNreUNvbG9ycGlja2VySW5wdXREaXJlY3RpdmVcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgU2t5Q29sb3JwaWNrZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb2xvcnBpY2tlck1vZHVsZSB7IH1cbiJdfQ==
|