ngx-gem-spaas
Version:
This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.
59 lines • 18.5 kB
JavaScript
import { Component, Input } from '@angular/core';
import { BaseComponent } from 'ngx-gem-spaas';
import { takeUntil } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "../_services/granularity.service";
import * as i2 from "ngx-gem-spaas";
import * as i3 from "@angular/material/tooltip";
export class GranularityPickerComponent extends BaseComponent {
constructor(granularityService, snackbarService) {
super();
this.granularityService = granularityService;
this.snackbarService = snackbarService;
/** Whether to allow selection of half-hourly granularity */
this.allowHalfHour = false;
this.granularity = null;
this.hoverGran = null;
this.getGranularity();
}
// ********************************************************************************************************
// LOAD DATA
// ********************************************************************************************************
getGranularity() {
this.granularityService.onNewGranularity()
.pipe(takeUntil(this.onDestroy$))
.subscribe((gran) => {
this.granularity = gran;
});
}
// ********************************************************************************************************
// PROCESS DATA
// ********************************************************************************************************
// ********************************************************************************************************
// UI
// ********************************************************************************************************
// EVENT LISTENERS
// MISCELLANEOUS
onClickGranularity(gran) {
if (gran === 30 && !this.allowHalfHour) {
this.snackbarService.message('half-hourly granularity is not allowed here');
return;
}
if (gran !== this.granularity) {
this.granularity = gran;
this.granularityService.newGranularity(gran);
}
}
onHoverGranularity(gran) {
this.hoverGran = gran;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GranularityPickerComponent, deps: [{ token: i1.GranularityService }, { token: i2.SnackbarService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GranularityPickerComponent, selector: "spaas-granularity-picker", inputs: { allowHalfHour: "allowHalfHour" }, usesInheritance: true, ngImport: i0, template: "<div class=\"granularity-picker\">\r\n <svg viewBox=\"0 0 24 24\">\r\n\r\n <!-- quarter-hourly -->\r\n <path\r\n d=\"m 12.761755,3.4794896 c 4.292785,0 7.772768,3.649382 7.772768,8.1511264 l -7.772768,1e-6 V 3.4794896\"\r\n matTooltip=\"quarter-hourly\"\r\n matTooltipPosition=\"right\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 15\"\r\n (click)=\"onClickGranularity(15)\"\r\n (mouseenter)=\"onHoverGranularity(15)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n <!-- half-hourly -->\r\n <path\r\n d=\"m 12.691367,20.517048 c 4.292785,0 7.772768,-3.646374 7.772768,-8.144407 l -7.772768,-10e-7 v 8.144408\"\r\n matTooltip=\"half-hourly\"\r\n matTooltipPosition=\"right\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 30\"\r\n (click)=\"onClickGranularity(30)\"\r\n (mouseenter)=\"onHoverGranularity(30)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n <!-- hourly -->\r\n <path\r\n d=\"m 11.238245,3.5260593 c -4.292785,-10e-8 -7.7727682,3.8043355 -7.7727682,8.4972247 0,4.692891 3.4799832,8.497226 7.7727682,8.497226 V 3.5260593\"\r\n matTooltip=\"hourly\"\r\n matTooltipPosition=\"above\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 60\"\r\n (click)=\"onClickGranularity(60)\"\r\n (mouseenter)=\"onHoverGranularity(60)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n\r\n <!-- outer rings -->\r\n <path\r\n class=\"outer-ring minutes\"\r\n d=\"M 12.897203,1.1187345 C 18.507141,1.5750485 22.917603,6.272465 22.917603,12 22.917603,18.029626 18.029626,22.917603 12,22.917603 5.9703746,22.917603 1.0823972,18.029625 1.0823975,12 1.0823978,6.2326689 5.5543616,1.509821 11.219907,1.1098381\"\r\n pathLength=\"100\"/>\r\n <path\r\n class=\"outer-ring gran-indicator\"\r\n d=\"M 12.897203,1.1187345 C 18.507141,1.5750485 22.917603,6.272465 22.917603,12 22.917603,18.029626 18.029626,22.917603 12,22.917603 5.9703746,22.917603 1.0823972,18.029625 1.0823975,12 1.0823978,6.2326689 5.5543616,1.509821 11.219907,1.1098381\"\r\n pathLength=\"100\"\r\n [class.gran-15]=\"granularity === 15\"\r\n [class.gran-30]=\"granularity === 30\"/>\r\n\r\n </svg>\r\n</div>\r\n", styles: [".granularity-picker{transform:translateZ(0)}.granularity-picker svg{height:28px;width:28px}.granularity-picker svg path{fill:hsla(var(--color-h),var(--color-s),var(--color-l),1);stroke-width:1px;stroke:hsla(var(--bg-h),var(--bg-s),var(--bg-l),1)}.granularity-picker svg path:not(.outer-ring){cursor:pointer}.granularity-picker svg path.hovering{fill:hsla(var(--primary-h),var(--primary-s),var(--primary-l),1)}.granularity-picker svg path.outer-ring{fill:none;stroke-width:2px;stroke:hsla(var(--primary-h),var(--primary-s),var(--primary-l),1)}.granularity-picker svg path.outer-ring.minutes{stroke:hsla(var(--color-h),var(--color-s),var(--color-l),var(--color-op-min));stroke-dasharray:1 2}.granularity-picker svg path.outer-ring.gran-indicator{stroke-dasharray:100;transition:stroke-dasharray .4s linear}.granularity-picker svg path.outer-ring.gran-indicator.gran-15{stroke-dasharray:25 75}.granularity-picker svg path.outer-ring.gran-indicator.gran-30{stroke-dasharray:50 50}\n"], dependencies: [{ kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GranularityPickerComponent, decorators: [{
type: Component,
args: [{ selector: 'spaas-granularity-picker', template: "<div class=\"granularity-picker\">\r\n <svg viewBox=\"0 0 24 24\">\r\n\r\n <!-- quarter-hourly -->\r\n <path\r\n d=\"m 12.761755,3.4794896 c 4.292785,0 7.772768,3.649382 7.772768,8.1511264 l -7.772768,1e-6 V 3.4794896\"\r\n matTooltip=\"quarter-hourly\"\r\n matTooltipPosition=\"right\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 15\"\r\n (click)=\"onClickGranularity(15)\"\r\n (mouseenter)=\"onHoverGranularity(15)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n <!-- half-hourly -->\r\n <path\r\n d=\"m 12.691367,20.517048 c 4.292785,0 7.772768,-3.646374 7.772768,-8.144407 l -7.772768,-10e-7 v 8.144408\"\r\n matTooltip=\"half-hourly\"\r\n matTooltipPosition=\"right\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 30\"\r\n (click)=\"onClickGranularity(30)\"\r\n (mouseenter)=\"onHoverGranularity(30)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n <!-- hourly -->\r\n <path\r\n d=\"m 11.238245,3.5260593 c -4.292785,-10e-8 -7.7727682,3.8043355 -7.7727682,8.4972247 0,4.692891 3.4799832,8.497226 7.7727682,8.497226 V 3.5260593\"\r\n matTooltip=\"hourly\"\r\n matTooltipPosition=\"above\"\r\n [class.hovering]=\"hoverGran !== null && hoverGran >= 60\"\r\n (click)=\"onClickGranularity(60)\"\r\n (mouseenter)=\"onHoverGranularity(60)\"\r\n (mouseleave)=\"onHoverGranularity(null)\"/>\r\n\r\n <!-- outer rings -->\r\n <path\r\n class=\"outer-ring minutes\"\r\n d=\"M 12.897203,1.1187345 C 18.507141,1.5750485 22.917603,6.272465 22.917603,12 22.917603,18.029626 18.029626,22.917603 12,22.917603 5.9703746,22.917603 1.0823972,18.029625 1.0823975,12 1.0823978,6.2326689 5.5543616,1.509821 11.219907,1.1098381\"\r\n pathLength=\"100\"/>\r\n <path\r\n class=\"outer-ring gran-indicator\"\r\n d=\"M 12.897203,1.1187345 C 18.507141,1.5750485 22.917603,6.272465 22.917603,12 22.917603,18.029626 18.029626,22.917603 12,22.917603 5.9703746,22.917603 1.0823972,18.029625 1.0823975,12 1.0823978,6.2326689 5.5543616,1.509821 11.219907,1.1098381\"\r\n pathLength=\"100\"\r\n [class.gran-15]=\"granularity === 15\"\r\n [class.gran-30]=\"granularity === 30\"/>\r\n\r\n </svg>\r\n</div>\r\n", styles: [".granularity-picker{transform:translateZ(0)}.granularity-picker svg{height:28px;width:28px}.granularity-picker svg path{fill:hsla(var(--color-h),var(--color-s),var(--color-l),1);stroke-width:1px;stroke:hsla(var(--bg-h),var(--bg-s),var(--bg-l),1)}.granularity-picker svg path:not(.outer-ring){cursor:pointer}.granularity-picker svg path.hovering{fill:hsla(var(--primary-h),var(--primary-s),var(--primary-l),1)}.granularity-picker svg path.outer-ring{fill:none;stroke-width:2px;stroke:hsla(var(--primary-h),var(--primary-s),var(--primary-l),1)}.granularity-picker svg path.outer-ring.minutes{stroke:hsla(var(--color-h),var(--color-s),var(--color-l),var(--color-op-min));stroke-dasharray:1 2}.granularity-picker svg path.outer-ring.gran-indicator{stroke-dasharray:100;transition:stroke-dasharray .4s linear}.granularity-picker svg path.outer-ring.gran-indicator.gran-15{stroke-dasharray:25 75}.granularity-picker svg path.outer-ring.gran-indicator.gran-30{stroke-dasharray:50 50}\n"] }]
}], ctorParameters: () => [{ type: i1.GranularityService }, { type: i2.SnackbarService }], propDecorators: { allowHalfHour: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhbnVsYXJpdHktcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nZW0tc3BhYXMvZGF0ZS9zcmMvZ3JhbnVsYXJpdHktcGlja2VyL2dyYW51bGFyaXR5LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2VtLXNwYWFzL2RhdGUvc3JjL2dyYW51bGFyaXR5LXBpY2tlci9ncmFudWxhcml0eS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVN6QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQVEzRCxZQUNVLGtCQUFzQyxFQUN0QyxlQUFnQztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUhBLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBUjFDLDREQUE0RDtRQUNuRCxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV4QyxnQkFBVyxHQUEyQixJQUFJLENBQUM7UUFDM0MsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFPdkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCwyR0FBMkc7SUFDM0csWUFBWTtJQUNaLDJHQUEyRztJQUVuRyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRTthQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQ1IsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVELDJHQUEyRztJQUMzRyxlQUFlO0lBQ2YsMkdBQTJHO0lBRTNHLDJHQUEyRztJQUMzRyxLQUFLO0lBQ0wsMkdBQTJHO0lBRTNHLGtCQUFrQjtJQUVsQixnQkFBZ0I7SUFFaEIsa0JBQWtCLENBQUMsSUFBcUI7UUFDdEMsSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDNUUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQTRCO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7K0dBdkRVLDBCQUEwQjttR0FBMUIsMEJBQTBCLG1JQ1p2QyxndkVBNkNBOzs0RkRqQ2EsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLDBCQUEwQjtxSEFRM0IsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUNvbXBvbmVudCwgU25hY2tiYXJTZXJ2aWNlfSBmcm9tICduZ3gtZ2VtLXNwYWFzJztcclxuaW1wb3J0IHtHcmFudWxhcml0eVNlcnZpY2V9IGZyb20gJy4uL19zZXJ2aWNlcy9ncmFudWxhcml0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtHcmFudWxhcml0eVR5cGV9IGZyb20gXCIuLi9fbW9kZWxzL2NvbnRyYWN0Lm1vZGVsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYWFzLWdyYW51bGFyaXR5LXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYW51bGFyaXR5LXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JhbnVsYXJpdHktcGlja2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBHcmFudWxhcml0eVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG5cclxuICAvKiogV2hldGhlciB0byBhbGxvdyBzZWxlY3Rpb24gb2YgaGFsZi1ob3VybHkgZ3JhbnVsYXJpdHkgKi9cclxuICBASW5wdXQoKSBhbGxvd0hhbGZIb3VyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdyYW51bGFyaXR5OiBHcmFudWxhcml0eVR5cGUgfCBudWxsID0gbnVsbDtcclxuICBob3ZlckdyYW46IEdyYW51bGFyaXR5VHlwZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZ3JhbnVsYXJpdHlTZXJ2aWNlOiBHcmFudWxhcml0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyU2VydmljZTogU25hY2tiYXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZ2V0R3JhbnVsYXJpdHkoKTtcclxuICB9XHJcblxyXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8gTE9BRCBEQVRBXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgcHJpdmF0ZSBnZXRHcmFudWxhcml0eSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JhbnVsYXJpdHlTZXJ2aWNlLm9uTmV3R3JhbnVsYXJpdHkoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoZ3JhbikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ncmFudWxhcml0eSA9IGdyYW47XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAvLyBQUk9DRVNTIERBVEFcclxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gIC8vIFVJXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgLy8gRVZFTlQgTElTVEVORVJTXHJcblxyXG4gIC8vIE1JU0NFTExBTkVPVVNcclxuXHJcbiAgb25DbGlja0dyYW51bGFyaXR5KGdyYW46IEdyYW51bGFyaXR5VHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKGdyYW4gPT09IDMwICYmICF0aGlzLmFsbG93SGFsZkhvdXIpIHtcclxuICAgICAgdGhpcy5zbmFja2JhclNlcnZpY2UubWVzc2FnZSgnaGFsZi1ob3VybHkgZ3JhbnVsYXJpdHkgaXMgbm90IGFsbG93ZWQgaGVyZScpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZ3JhbiAhPT0gdGhpcy5ncmFudWxhcml0eSkge1xyXG4gICAgICB0aGlzLmdyYW51bGFyaXR5ID0gZ3JhbjtcclxuICAgICAgdGhpcy5ncmFudWxhcml0eVNlcnZpY2UubmV3R3JhbnVsYXJpdHkoZ3Jhbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkhvdmVyR3JhbnVsYXJpdHkoZ3JhbjogR3JhbnVsYXJpdHlUeXBlIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5ob3ZlckdyYW4gPSBncmFuO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdyYW51bGFyaXR5LXBpY2tlclwiPlxyXG4gIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxyXG5cclxuICAgIDwhLS0gcXVhcnRlci1ob3VybHkgLS0+XHJcbiAgICA8cGF0aFxyXG4gICAgICBkPVwibSAxMi43NjE3NTUsMy40Nzk0ODk2IGMgNC4yOTI3ODUsMCA3Ljc3Mjc2OCwzLjY0OTM4MiA3Ljc3Mjc2OCw4LjE1MTEyNjQgbCAtNy43NzI3NjgsMWUtNiBWIDMuNDc5NDg5NlwiXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJxdWFydGVyLWhvdXJseVwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgW2NsYXNzLmhvdmVyaW5nXT1cImhvdmVyR3JhbiAhPT0gbnVsbCAmJiBob3ZlckdyYW4gPj0gMTVcIlxyXG4gICAgICAoY2xpY2spPVwib25DbGlja0dyYW51bGFyaXR5KDE1KVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXJHcmFudWxhcml0eSgxNSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbkhvdmVyR3JhbnVsYXJpdHkobnVsbClcIi8+XHJcbiAgICA8IS0tIGhhbGYtaG91cmx5IC0tPlxyXG4gICAgPHBhdGhcclxuICAgICAgZD1cIm0gMTIuNjkxMzY3LDIwLjUxNzA0OCBjIDQuMjkyNzg1LDAgNy43NzI3NjgsLTMuNjQ2Mzc0IDcuNzcyNzY4LC04LjE0NDQwNyBsIC03Ljc3Mjc2OCwtMTBlLTcgdiA4LjE0NDQwOFwiXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJoYWxmLWhvdXJseVwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgW2NsYXNzLmhvdmVyaW5nXT1cImhvdmVyR3JhbiAhPT0gbnVsbCAmJiBob3ZlckdyYW4gPj0gMzBcIlxyXG4gICAgICAoY2xpY2spPVwib25DbGlja0dyYW51bGFyaXR5KDMwKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXJHcmFudWxhcml0eSgzMClcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbkhvdmVyR3JhbnVsYXJpdHkobnVsbClcIi8+XHJcbiAgICA8IS0tIGhvdXJseSAtLT5cclxuICAgIDxwYXRoXHJcbiAgICAgIGQ9XCJtIDExLjIzODI0NSwzLjUyNjA1OTMgYyAtNC4yOTI3ODUsLTEwZS04IC03Ljc3Mjc2ODIsMy44MDQzMzU1IC03Ljc3Mjc2ODIsOC40OTcyMjQ3IDAsNC42OTI4OTEgMy40Nzk5ODMyLDguNDk3MjI2IDcuNzcyNzY4Miw4LjQ5NzIyNiBWIDMuNTI2MDU5M1wiXHJcbiAgICAgIG1hdFRvb2x0aXA9XCJob3VybHlcIlxyXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgIFtjbGFzcy5ob3ZlcmluZ109XCJob3ZlckdyYW4gIT09IG51bGwgJiYgaG92ZXJHcmFuID49IDYwXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tHcmFudWxhcml0eSg2MClcIlxyXG4gICAgICAobW91c2VlbnRlcik9XCJvbkhvdmVyR3JhbnVsYXJpdHkoNjApXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Ib3ZlckdyYW51bGFyaXR5KG51bGwpXCIvPlxyXG5cclxuICAgIDwhLS0gb3V0ZXIgcmluZ3MgLS0+XHJcbiAgICA8cGF0aFxyXG4gICAgICBjbGFzcz1cIm91dGVyLXJpbmcgbWludXRlc1wiXHJcbiAgICAgIGQ9XCJNIDEyLjg5NzIwMywxLjExODczNDUgQyAxOC41MDcxNDEsMS41NzUwNDg1IDIyLjkxNzYwMyw2LjI3MjQ2NSAyMi45MTc2MDMsMTIgMjIuOTE3NjAzLDE4LjAyOTYyNiAxOC4wMjk2MjYsMjIuOTE3NjAzIDEyLDIyLjkxNzYwMyA1Ljk3MDM3NDYsMjIuOTE3NjAzIDEuMDgyMzk3MiwxOC4wMjk2MjUgMS4wODIzOTc1LDEyIDEuMDgyMzk3OCw2LjIzMjY2ODkgNS41NTQzNjE2LDEuNTA5ODIxIDExLjIxOTkwNywxLjEwOTgzODFcIlxyXG4gICAgICBwYXRoTGVuZ3RoPVwiMTAwXCIvPlxyXG4gICAgPHBhdGhcclxuICAgICAgY2xhc3M9XCJvdXRlci1yaW5nIGdyYW4taW5kaWNhdG9yXCJcclxuICAgICAgZD1cIk0gMTIuODk3MjAzLDEuMTE4NzM0NSBDIDE4LjUwNzE0MSwxLjU3NTA0ODUgMjIuOTE3NjAzLDYuMjcyNDY1IDIyLjkxNzYwMywxMiAyMi45MTc2MDMsMTguMDI5NjI2IDE4LjAyOTYyNiwyMi45MTc2MDMgMTIsMjIuOTE3NjAzIDUuOTcwMzc0NiwyMi45MTc2MDMgMS4wODIzOTcyLDE4LjAyOTYyNSAxLjA4MjM5NzUsMTIgMS4wODIzOTc4LDYuMjMyNjY4OSA1LjU1NDM2MTYsMS41MDk4MjEgMTEuMjE5OTA3LDEuMTA5ODM4MVwiXHJcbiAgICAgIHBhdGhMZW5ndGg9XCIxMDBcIlxyXG4gICAgICBbY2xhc3MuZ3Jhbi0xNV09XCJncmFudWxhcml0eSA9PT0gMTVcIlxyXG4gICAgICBbY2xhc3MuZ3Jhbi0zMF09XCJncmFudWxhcml0eSA9PT0gMzBcIi8+XHJcblxyXG4gIDwvc3ZnPlxyXG48L2Rpdj5cclxuIl19