UNPKG

ngx-slice-kit

Version:

[![npm version](https://badge.fury.io/js/ngx-slice-kit.svg)](https://badge.fury.io/js/ngx-slice-kit)

76 lines 19 kB
import { Component, forwardRef, HostBinding, HostListener, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class CheckboxComponent { constructor() { this.checked = false; this.small = false; this.required = false; this.disabled = false; this.error = undefined; } onclick() { if (this.disabled) { return; } this.writeValue(!this.checked); this.onTouched(); this.onChange(this.checked); } writeValue(value) { this.checked = value; } onChange(value) { } onTouched() { } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouched = fn; } setDisabledState(isDisabled) { this.disabled = isDisabled; } } CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: CheckboxComponent, selector: "sdk-checkbox", inputs: { small: "small", required: "required", disabled: "disabled", error: "error" }, host: { listeners: { "click": "onclick()", "keyup.enter": "onclick()" }, properties: { "class.disabled": "this.disabled", "class.sdk-input--warn": "this.error" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CheckboxComponent), multi: true } ], ngImport: i0, template: "<div class=\"sdk-checkbox\">\n <div class=\"sdk-checkbox__indicator-wrapper\">\n <div class=\"sdk-checkbox__indicator\"\n [class.sdk-checkbox__indicator--small]=\"small\"\n [class.sdk-checkbox__indicator--active]=\"checked\">\n <ng-container *ngIf=\"!small\">\n <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"24\" height=\"24\">\n <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -295.7)\">\n <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n </g>\n </svg>\n </ng-container>\n <ng-container *ngIf=\"small\">\n <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"16\" height=\"16\">\n <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -296)\">\n <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n </g>\n </svg>\n </ng-container>\n\n </div>\n <p class=\"sdk-checkbox__label\">\n <ng-content></ng-content>\n </p>\n </div>\n <small class=\"sdk-checkbox__error\" *ngIf=\"error\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n fill=\"var(--warn)\"/>\n </svg>\n {{error ? error : ''}}\n </small>\n</div>\n\n", styles: [":host{display:flex;align-items:center;cursor:pointer;flex:none}:host.disabled{cursor:default;opacity:.5}@keyframes check{0%{stroke-dashoffset:20}}.sdk-checkbox__indicator-wrapper{display:flex;align-items:center}.sdk-checkbox__indicator{background-color:var(--background-a90);width:24px;height:24px;display:flex;border-radius:5px;border:1px solid var(--base-a20);transition:background-color .2s,border-color .3s}.sdk-checkbox__indicator.sdk-checkbox__indicator--active{background-color:var(--primary);border-color:var(--primary)}.sdk-checkbox__indicator--small{width:16px;height:16px}.sdk-checkbox__indicator-inner{pointer-events:none}.sdk-checkbox__label{-webkit-user-select:none;user-select:none;margin-left:8px}.sdk-checkbox__label:empty{display:none}path{stroke-dasharray:20;stroke-dashoffset:0;animation:check .5s}.sdk-checkbox__error{color:var(--warn)}.sdk-checkbox__error svg{margin-right:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: CheckboxComponent, decorators: [{ type: Component, args: [{ selector: 'sdk-checkbox', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CheckboxComponent), multi: true } ], template: "<div class=\"sdk-checkbox\">\n <div class=\"sdk-checkbox__indicator-wrapper\">\n <div class=\"sdk-checkbox__indicator\"\n [class.sdk-checkbox__indicator--small]=\"small\"\n [class.sdk-checkbox__indicator--active]=\"checked\">\n <ng-container *ngIf=\"!small\">\n <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"24\" height=\"24\">\n <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -295.7)\">\n <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n </g>\n </svg>\n </ng-container>\n <ng-container *ngIf=\"small\">\n <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"16\" height=\"16\">\n <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -296)\">\n <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n </g>\n </svg>\n </ng-container>\n\n </div>\n <p class=\"sdk-checkbox__label\">\n <ng-content></ng-content>\n </p>\n </div>\n <small class=\"sdk-checkbox__error\" *ngIf=\"error\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n fill=\"var(--warn)\"/>\n </svg>\n {{error ? error : ''}}\n </small>\n</div>\n\n", styles: [":host{display:flex;align-items:center;cursor:pointer;flex:none}:host.disabled{cursor:default;opacity:.5}@keyframes check{0%{stroke-dashoffset:20}}.sdk-checkbox__indicator-wrapper{display:flex;align-items:center}.sdk-checkbox__indicator{background-color:var(--background-a90);width:24px;height:24px;display:flex;border-radius:5px;border:1px solid var(--base-a20);transition:background-color .2s,border-color .3s}.sdk-checkbox__indicator.sdk-checkbox__indicator--active{background-color:var(--primary);border-color:var(--primary)}.sdk-checkbox__indicator--small{width:16px;height:16px}.sdk-checkbox__indicator-inner{pointer-events:none}.sdk-checkbox__label{-webkit-user-select:none;user-select:none;margin-left:8px}.sdk-checkbox__label:empty{display:none}path{stroke-dasharray:20;stroke-dashoffset:0;animation:check .5s}.sdk-checkbox__error{color:var(--warn)}.sdk-checkbox__error svg{margin-right:4px}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { small: [{ type: Input }], required: [{ type: Input }], disabled: [{ type: Input }, { type: HostBinding, args: ['class.disabled'] }], error: [{ type: Input }, { type: HostBinding, args: ['class.sdk-input--warn'] }], onclick: [{ type: HostListener, args: ['click'] }, { type: HostListener, args: ['keyup.enter'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gtc2xpY2Uta2l0L3NyYy9saWIvaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LXNsaWNlLWtpdC9zcmMvbGliL2lucHV0cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWN6RSxNQUFNLE9BQU8saUJBQWlCO0lBVzFCO1FBVE8sWUFBTyxHQUFZLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixVQUFLLEdBQVcsU0FBUyxDQUFDO0lBR2pDLENBQUM7SUFJTSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztJQUNyQixDQUFDO0lBRU0sU0FBUztJQUNoQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBRTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBRTtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBbUI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQzs7OEdBN0NRLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9TQVJmO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLDBCQ2JMLGk0RkF5Q0E7MkZEMUJhLGlCQUFpQjtrQkFaN0IsU0FBUzsrQkFDSSxjQUFjLGFBR2I7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzBFQUtlLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFFQyxRQUFRO3NCQURkLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUkvQixLQUFLO3NCQURYLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsdUJBQXVCO2dCQVF0QyxPQUFPO3NCQUZiLFlBQVk7dUJBQUMsT0FBTzs7c0JBQ3BCLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzZGstY2hlY2tib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIHB1YmxpYyBjaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHNtYWxsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLnNkay1pbnB1dC0td2FybicpXG4gICAgcHVibGljIGVycm9yOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAuZW50ZXInKVxuICAgIHB1YmxpYyBvbmNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSghdGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZSk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRvdWNoZWQoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkay1jaGVja2JveFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGstY2hlY2tib3hfX2luZGljYXRvci13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGstY2hlY2tib3hfX2luZGljYXRvclwiXG4gICAgICAgICAgICAgW2NsYXNzLnNkay1jaGVja2JveF9faW5kaWNhdG9yLS1zbWFsbF09XCJzbWFsbFwiXG4gICAgICAgICAgICAgW2NsYXNzLnNkay1jaGVja2JveF9faW5kaWNhdG9yLS1hY3RpdmVdPVwiY2hlY2tlZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzbWFsbFwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJzZGstY2hlY2tib3hfX2luZGljYXRvci1pbm5lclwiICpuZ0lmPVwiY2hlY2tlZFwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0yOTUuNylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMjY0NTggMCAwIC4yNjQ1OCA4OC4yOTUgMTM4LjEpXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJMaW5lXCIgZD1cIm0yLjgyNSAzMDEuMjkgMi4xMSAyLjEzIDQuMjQtNC4yNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI2ZmZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzbWFsbFwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJzZGstY2hlY2tib3hfX2luZGljYXRvci1pbm5lclwiICpuZ0lmPVwiY2hlY2tlZFwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPGcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0yOTYpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjI2NDU4IDAgMCAuMjY0NTggODguMjk1IDEzOC4xKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiTGluZVwiIGQ9XCJtMi44MjUgMzAxLjI5IDIuMTEgMi4xMyA0LjI0LTQuMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiNmZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwic2RrLWNoZWNrYm94X19sYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPHNtYWxsIGNsYXNzPVwic2RrLWNoZWNrYm94X19lcnJvclwiICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBkPVwiTTMuNDE0MjEgMC41ODU3ODZDMy43ODkyOSAwLjIxMDcxMyA0LjI5Nzk5IDAgNC44Mjg0MyAwSDcuMTcxNTdDNy43MDIwMSAwIDguMjEwNzEgMC4yMTA3MTQgOC41ODU3OSAwLjU4NTc4NkwxMS40MTQyIDMuNDE0MjFDMTEuNzg5MyAzLjc4OTI5IDEyIDQuMjk3OTkgMTIgNC44Mjg0M1Y3LjE3MTU3QzEyIDcuNzAyMDEgMTEuNzg5MyA4LjIxMDcxIDExLjQxNDIgOC41ODU3OUw4LjU4NTc5IDExLjQxNDJDOC4yMTA3MSAxMS43ODkzIDcuNzAyMDEgMTIgNy4xNzE1NyAxMkg0LjgyODQzQzQuMjk3OTkgMTIgMy43ODkyOSAxMS43ODkzIDMuNDE0MjEgMTEuNDE0MkwwLjU4NTc4NiA4LjU4NTc5QzAuMjEwNzEzIDguMjEwNzEgMCA3LjcwMjAxIDAgNy4xNzE1N1Y0LjgyODQzQzAgNC4yOTc5OSAwLjIxMDcxNCAzLjc4OTI5IDAuNTg1Nzg2IDMuNDE0MjFMMy40MTQyMSAwLjU4NTc4NlpNNiAyQzYuNDk5ODEgMiA2LjkwNDk5IDIuNDA1MTggNi45MDQ5OSAyLjkwNDk5QzYuOTA0OTkgMi45MzUwNiA2LjkwMzQ5IDIuOTY1MTEgNi45MDA1IDIuOTk1MDRMNi41NDk3NSA2LjUwMjQ4QzYuNTIxNTEgNi43ODQ5MiA2LjI4Mzg0IDcgNiA3QzUuNzE2MTYgNyA1LjQ3ODQ5IDYuNzg0OTIgNS40NTAyNSA2LjUwMjQ4TDUuMDk5NSAyLjk5NTA0QzUuMDQ5NzcgMi40OTc3MSA1LjQxMjYyIDIuMDU0MjIgNS45MDk5NSAyLjAwNDQ5QzUuOTM5ODcgMi4wMDE1IDUuOTY5OTMgMiA2IDJaTTcgOUM3IDguNDQ3NzEgNi41NTIyOCA4IDYgOEM1LjQ0NzcyIDggNSA4LjQ0NzcxIDUgOUM1IDkuNTUyMjkgNS40NDc3MiAxMCA2IDEwQzYuNTUyMjggMTAgNyA5LjU1MjI5IDcgOVpcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cInZhcigtLXdhcm4pXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAge3tlcnJvciA/IGVycm9yIDogJyd9fVxuICAgIDwvc21hbGw+XG48L2Rpdj5cblxuIl19