go-captcha-angular
Version:
GoCaptcha for Angular, which implements click mode, slider mode, drag-drop mode and rotation mode.
39 lines • 23.3 kB
JavaScript
import { Component, Input } from '@angular/core';
import { defaultButtonConfig } from "./button-instance";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "../../icons/btn-default-icon.component";
import * as i3 from "../../icons/btn-error-icon.component";
import * as i4 from "../../icons/btn-warn-icon.component";
import * as i5 from "../../icons/btn-success-icon.component";
export class ButtonComponent {
constructor() {
this.config = defaultButtonConfig();
this.disabled = false;
this.type = "default";
this.title = "点击按键进行验证";
}
ngOnInit() {
this.config = { ...defaultButtonConfig(), ...this.config };
}
handleClick(e) {
this.clickEvent && this.clickEvent(e);
}
}
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonComponent, selector: "go-captcha-button", inputs: { config: "config", clickEvent: "clickEvent", disabled: "disabled", type: "type", title: "title" }, ngImport: i0, template: "<div\n [class]=\"['go-captcha', 'gc-button-mode', 'gc-btn-block', 'gc-'+type, disabled ? 'gc-disabled' : '' ]\"\n (click)=\"handleClick($event)\"\n [style]=\"{\n 'width': config.width + 'px',\n 'height': config.height + 'px',\n 'padding-left': config.horizontalPadding + 'px',\n 'padding-right': config.horizontalPadding + 'px',\n 'padding-top': config.verticalPadding + 'px',\n 'padding-bottom': config.verticalPadding + 'px',\n }\"\n>\n <div [class]=\"{'gc-ripple': type === 'default'}\" [ngSwitch]=\"type\">\n <btn-default-icon *ngSwitchCase=\"'default'\"></btn-default-icon>\n <btn-warn-icon *ngSwitchCase=\"'warn'\"></btn-warn-icon>\n <btn-error-icon *ngSwitchCase=\"'error'\"></btn-error-icon>\n <btn-success-icon *ngSwitchCase=\"'success'\"></btn-success-icon>\n </div>\n <span>{{title}}</span>\n</div>", styles: [":root{--go-captcha-theme-text-color: #333333;--go-captcha-theme-bg-color: #ffffff;--go-captcha-theme-btn-color: #ffffff;--go-captcha-theme-btn-disabled-color: #749ff9;--go-captcha-theme-btn-bg-color: #4e87ff;--go-captcha-theme-btn-border-color: #4e87ff;--go-captcha-theme-active-color: #3e7cff;--go-captcha-theme-border-color: rgba(206, 223, 254, .5);--go-captcha-theme-icon-color: #3C3C3C;--go-captcha-theme-drag-bar-color: #e0e0e0;--go-captcha-theme-drag-bg-color: #3e7cff;--go-captcha-theme-drag-icon-color: #ffffff;--go-captcha-theme-round-color: #e0e0e0;--go-captcha-theme-loading-icon-color: #3e7cff;--go-captcha-theme-body-bg-color: #34383e;--go-captcha-theme-dot-color: #cedffe;--go-captcha-theme-dot-bg-color: #3e7cff;--go-captcha-theme-dot-border-color: #f7f9fb;--go-captcha-theme-default-color: #3e7cff;--go-captcha-theme-default-bg-color: #ecf5ff;--go-captcha-theme-default-border-color: #3e7cff;--go-captcha-theme-default-hover-color: #e0efff;--go-captcha-theme-error-color: #ed4630;--go-captcha-theme-error-bg-color: #fef0f0;--go-captcha-theme-error-border-color: #ff5a34;--go-captcha-theme-warn-color: #ffa000;--go-captcha-theme-warn-bg-color: #fdf6ec;--go-captcha-theme-warn-border-color: #ffbe09;--go-captcha-theme-success-color: #5eaa2f;--go-captcha-theme-success-bg-color: #f0f9eb;--go-captcha-theme-success-border-color: #8bc640}.go-captcha.gc-wrapper{padding:12px 16px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.go-captcha.gc-theme{border:1px solid rgba(206,223,254,.5);border-color:var(--go-captcha-theme-border-color);border-radius:8px;box-shadow:0 0 20px #6464641a;-webkit-box-shadow:0 0 20px rgba(100,100,100,.1);-moz-box-shadow:0 0 20px rgba(100,100,100,.1)}.go-captcha.gc-theme.gc-wrapper{background-color:var(--go-captcha-theme-bg-color)}.go-captcha .gc-header{height:36px;width:100%;font-size:15px;color:var(--go-captcha-theme-text-color);display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.go-captcha .gc-header span{flex:1;padding-right:5px}.go-captcha .gc-header em{padding:0 3px;font-weight:700;color:var(--go-captcha-theme-active-color);font-style:normal}.go-captcha .gc-body{position:relative;width:100%;margin-top:10px;display:flex;background:var(--go-captcha-theme-body-bg-color);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;overflow:hidden}.go-captcha .gc-body .gc-body-inner{position:relative;background:var(--go-captcha-theme-body-bg-color)}.go-captcha .gc-picture{position:relative;z-index:2;width:100%}.go-captcha .gc-hide{visibility:hidden}.go-captcha .gc-loading{position:absolute;z-index:1;top:50%;left:50%;width:68px;height:68px;margin-left:-34px;margin-top:-34px;line-height:68px;text-align:center;display:flex;align-content:center;justify-content:center}.go-captcha .gc-loading svg,.go-captcha .gc-loading circle{color:var(--go-captcha-theme-loading-icon-color);fill:var(--go-captcha-theme-loading-icon-color)}.go-captcha .gc-footer{width:100%;height:50px;color:#34383e;display:flex;align-items:center;padding-top:10px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.go-captcha .gc-footer .icon-block{flex:1}.go-captcha .gc-icon-block{display:flex;align-items:center}.go-captcha .gc-icon-block>*{display:flex;align-items:center;justify-content:center}.go-captcha .gc-icon-block svg{color:var(--go-captcha-theme-icon-color);fill:var(--go-captcha-theme-icon-color);margin:0 5px;cursor:pointer}.go-captcha .gc-button-block{width:120px;height:40px}.go-captcha .gc-button-block button{width:100%;height:40px;text-align:center;padding:9px 15px;font-size:15px;border-radius:5px;display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;color:var(--go-captcha-theme-btn-color);background-color:var(--go-captcha-theme-btn-bg-color);border:1px solid transparent;border-color:var(--go-captcha-theme-btn-bg-color);-webkit-appearance:none;box-sizing:border-box;outline:none;margin:0;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none}.go-captcha .gc-button-block button.disabled{pointer-events:none;background-color:var(--go-captcha-theme-btn-disabled-color);border-color:var(--go-captcha-theme-btn-disabled-color)}.go-captcha .gc-drag-slide-bar{width:100%;height:100%;position:relative;touch-action:none}.go-captcha .gc-drag-line{position:absolute;height:14px;background-color:var(--go-captcha-theme-drag-bar-color);left:0;right:0;top:50%;margin-top:-7px;border-radius:7px}.go-captcha .gc-drag-block{position:absolute;left:0;top:50%;margin-top:-20px;width:82px;height:40px;z-index:2;background-color:var(--go-captcha-theme-drag-bg-color);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:24px;box-shadow:0 0 20px #64646459;-webkit-box-shadow:0 0 20px rgba(100,100,100,.35);-moz-box-shadow:0 0 20px rgba(100,100,100,.35);color:var(--go-captcha-theme-drag-icon-color);fill:var(--go-captcha-theme-drag-icon-color)}.go-captcha .gc-drag-block>*{display:flex;align-items:center;justify-content:center}.go-captcha .gc-drag-block.disabled{pointer-events:none;background-color:var(--go-captcha-theme-btn-disabled-color);border-color:var(--go-captcha-theme-btn-disabled-color)}.go-captcha .drag-block-inline{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.go-captcha .drag-block-inline>*{display:flex;align-items:center;justify-content:center}.go-captcha.gc-btn-block{position:relative;box-sizing:border-box;display:block;font-size:13px;-webkit-border-radius:5px;-moz-border-radius:5px;letter-spacing:1px;border-radius:5px;line-height:1;white-space:nowrap;-webkit-appearance:none;outline:none;margin:0;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;justify-items:center;box-shadow:0 0 20px #3e7cff1a;-webkit-box-shadow:0 0 20px rgba(62,124,255,.1);-moz-box-shadow:0 0 20px rgba(62,124,255,.1)}.go-captcha.gc-btn-block span{padding-left:8px}.go-captcha.gc-disabled{pointer-events:none}.go-captcha.gc-default{color:var(--go-captcha-theme-default-color);border:1px solid #50a1ff;border-color:var(--go-captcha-theme-default-border-color);background-color:var(--go-captcha-theme-default-bg-color);cursor:pointer}.go-captcha.gc-default:hover{background-color:var(--go-captcha-theme-default-hover-color)!important}.go-captcha.gc-error{cursor:pointer;color:var(--go-captcha-theme-error-color);background-color:var(--go-captcha-theme-error-bg-color);border:1px solid #ff5a34;border-color:var(--go-captcha-theme-error-border-color)}.go-captcha.gc-warn{cursor:pointer;color:var(--go-captcha-theme-warn-color);background-color:var(--go-captcha-theme-warn-bg-color);border:1px solid #ffbe09;border-color:var(--go-captcha-theme-warn-border-color)}.go-captcha.gc-success{color:var(--go-captcha-theme-success-color);background-color:var(--go-captcha-theme-success-bg-color);border:1px solid #8bc640;border-color:var(--go-captcha-theme-success-border-color);pointer-events:none}.go-captcha .gc-ripple{position:relative;display:flex;align-items:center;justify-content:center;justify-items:center}.go-captcha .gc-ripple>*{z-index:2}.go-captcha .gc-ripple svg{position:relative;z-index:2}.go-captcha .gc-ripple:after{background-color:var(--go-captcha-theme-default-border-color);border-radius:50px;content:\"\";display:block;width:21px;height:21px;opacity:0;position:absolute;top:50%;left:50%;margin-top:-11px;margin-left:-11px;z-index:0;animation:gc-ripple 1.3s infinite;-moz-animation:gc-ripple 1.3s infinite;-webkit-animation:gc-ripple 1.3s infinite;animation-delay:2s;-moz-animation-delay:2s;-webkit-animation-delay:2s}@keyframes gc-ripple{0%{opacity:0}5%{opacity:.05}20%{opacity:.35}65%{opacity:.01}to{transform:scaleX(2) scaleY(2);opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.BtnDefaultIconComponent, selector: "btn-default-icon", inputs: ["width", "height"] }, { kind: "component", type: i3.BtnErrorIconComponent, selector: "btn-error-icon", inputs: ["width", "height"] }, { kind: "component", type: i4.BtnWarnIconComponent, selector: "btn-warn-icon", inputs: ["width", "height"] }, { kind: "component", type: i5.BtnSuccessIconComponent, selector: "btn-success-icon", inputs: ["width", "height"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, decorators: [{
type: Component,
args: [{ selector: 'go-captcha-button', template: "<div\n [class]=\"['go-captcha', 'gc-button-mode', 'gc-btn-block', 'gc-'+type, disabled ? 'gc-disabled' : '' ]\"\n (click)=\"handleClick($event)\"\n [style]=\"{\n 'width': config.width + 'px',\n 'height': config.height + 'px',\n 'padding-left': config.horizontalPadding + 'px',\n 'padding-right': config.horizontalPadding + 'px',\n 'padding-top': config.verticalPadding + 'px',\n 'padding-bottom': config.verticalPadding + 'px',\n }\"\n>\n <div [class]=\"{'gc-ripple': type === 'default'}\" [ngSwitch]=\"type\">\n <btn-default-icon *ngSwitchCase=\"'default'\"></btn-default-icon>\n <btn-warn-icon *ngSwitchCase=\"'warn'\"></btn-warn-icon>\n <btn-error-icon *ngSwitchCase=\"'error'\"></btn-error-icon>\n <btn-success-icon *ngSwitchCase=\"'success'\"></btn-success-icon>\n </div>\n <span>{{title}}</span>\n</div>", styles: [":root{--go-captcha-theme-text-color: #333333;--go-captcha-theme-bg-color: #ffffff;--go-captcha-theme-btn-color: #ffffff;--go-captcha-theme-btn-disabled-color: #749ff9;--go-captcha-theme-btn-bg-color: #4e87ff;--go-captcha-theme-btn-border-color: #4e87ff;--go-captcha-theme-active-color: #3e7cff;--go-captcha-theme-border-color: rgba(206, 223, 254, .5);--go-captcha-theme-icon-color: #3C3C3C;--go-captcha-theme-drag-bar-color: #e0e0e0;--go-captcha-theme-drag-bg-color: #3e7cff;--go-captcha-theme-drag-icon-color: #ffffff;--go-captcha-theme-round-color: #e0e0e0;--go-captcha-theme-loading-icon-color: #3e7cff;--go-captcha-theme-body-bg-color: #34383e;--go-captcha-theme-dot-color: #cedffe;--go-captcha-theme-dot-bg-color: #3e7cff;--go-captcha-theme-dot-border-color: #f7f9fb;--go-captcha-theme-default-color: #3e7cff;--go-captcha-theme-default-bg-color: #ecf5ff;--go-captcha-theme-default-border-color: #3e7cff;--go-captcha-theme-default-hover-color: #e0efff;--go-captcha-theme-error-color: #ed4630;--go-captcha-theme-error-bg-color: #fef0f0;--go-captcha-theme-error-border-color: #ff5a34;--go-captcha-theme-warn-color: #ffa000;--go-captcha-theme-warn-bg-color: #fdf6ec;--go-captcha-theme-warn-border-color: #ffbe09;--go-captcha-theme-success-color: #5eaa2f;--go-captcha-theme-success-bg-color: #f0f9eb;--go-captcha-theme-success-border-color: #8bc640}.go-captcha.gc-wrapper{padding:12px 16px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.go-captcha.gc-theme{border:1px solid rgba(206,223,254,.5);border-color:var(--go-captcha-theme-border-color);border-radius:8px;box-shadow:0 0 20px #6464641a;-webkit-box-shadow:0 0 20px rgba(100,100,100,.1);-moz-box-shadow:0 0 20px rgba(100,100,100,.1)}.go-captcha.gc-theme.gc-wrapper{background-color:var(--go-captcha-theme-bg-color)}.go-captcha .gc-header{height:36px;width:100%;font-size:15px;color:var(--go-captcha-theme-text-color);display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.go-captcha .gc-header span{flex:1;padding-right:5px}.go-captcha .gc-header em{padding:0 3px;font-weight:700;color:var(--go-captcha-theme-active-color);font-style:normal}.go-captcha .gc-body{position:relative;width:100%;margin-top:10px;display:flex;background:var(--go-captcha-theme-body-bg-color);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;overflow:hidden}.go-captcha .gc-body .gc-body-inner{position:relative;background:var(--go-captcha-theme-body-bg-color)}.go-captcha .gc-picture{position:relative;z-index:2;width:100%}.go-captcha .gc-hide{visibility:hidden}.go-captcha .gc-loading{position:absolute;z-index:1;top:50%;left:50%;width:68px;height:68px;margin-left:-34px;margin-top:-34px;line-height:68px;text-align:center;display:flex;align-content:center;justify-content:center}.go-captcha .gc-loading svg,.go-captcha .gc-loading circle{color:var(--go-captcha-theme-loading-icon-color);fill:var(--go-captcha-theme-loading-icon-color)}.go-captcha .gc-footer{width:100%;height:50px;color:#34383e;display:flex;align-items:center;padding-top:10px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.go-captcha .gc-footer .icon-block{flex:1}.go-captcha .gc-icon-block{display:flex;align-items:center}.go-captcha .gc-icon-block>*{display:flex;align-items:center;justify-content:center}.go-captcha .gc-icon-block svg{color:var(--go-captcha-theme-icon-color);fill:var(--go-captcha-theme-icon-color);margin:0 5px;cursor:pointer}.go-captcha .gc-button-block{width:120px;height:40px}.go-captcha .gc-button-block button{width:100%;height:40px;text-align:center;padding:9px 15px;font-size:15px;border-radius:5px;display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;color:var(--go-captcha-theme-btn-color);background-color:var(--go-captcha-theme-btn-bg-color);border:1px solid transparent;border-color:var(--go-captcha-theme-btn-bg-color);-webkit-appearance:none;box-sizing:border-box;outline:none;margin:0;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none}.go-captcha .gc-button-block button.disabled{pointer-events:none;background-color:var(--go-captcha-theme-btn-disabled-color);border-color:var(--go-captcha-theme-btn-disabled-color)}.go-captcha .gc-drag-slide-bar{width:100%;height:100%;position:relative;touch-action:none}.go-captcha .gc-drag-line{position:absolute;height:14px;background-color:var(--go-captcha-theme-drag-bar-color);left:0;right:0;top:50%;margin-top:-7px;border-radius:7px}.go-captcha .gc-drag-block{position:absolute;left:0;top:50%;margin-top:-20px;width:82px;height:40px;z-index:2;background-color:var(--go-captcha-theme-drag-bg-color);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:24px;box-shadow:0 0 20px #64646459;-webkit-box-shadow:0 0 20px rgba(100,100,100,.35);-moz-box-shadow:0 0 20px rgba(100,100,100,.35);color:var(--go-captcha-theme-drag-icon-color);fill:var(--go-captcha-theme-drag-icon-color)}.go-captcha .gc-drag-block>*{display:flex;align-items:center;justify-content:center}.go-captcha .gc-drag-block.disabled{pointer-events:none;background-color:var(--go-captcha-theme-btn-disabled-color);border-color:var(--go-captcha-theme-btn-disabled-color)}.go-captcha .drag-block-inline{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.go-captcha .drag-block-inline>*{display:flex;align-items:center;justify-content:center}.go-captcha.gc-btn-block{position:relative;box-sizing:border-box;display:block;font-size:13px;-webkit-border-radius:5px;-moz-border-radius:5px;letter-spacing:1px;border-radius:5px;line-height:1;white-space:nowrap;-webkit-appearance:none;outline:none;margin:0;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;justify-items:center;box-shadow:0 0 20px #3e7cff1a;-webkit-box-shadow:0 0 20px rgba(62,124,255,.1);-moz-box-shadow:0 0 20px rgba(62,124,255,.1)}.go-captcha.gc-btn-block span{padding-left:8px}.go-captcha.gc-disabled{pointer-events:none}.go-captcha.gc-default{color:var(--go-captcha-theme-default-color);border:1px solid #50a1ff;border-color:var(--go-captcha-theme-default-border-color);background-color:var(--go-captcha-theme-default-bg-color);cursor:pointer}.go-captcha.gc-default:hover{background-color:var(--go-captcha-theme-default-hover-color)!important}.go-captcha.gc-error{cursor:pointer;color:var(--go-captcha-theme-error-color);background-color:var(--go-captcha-theme-error-bg-color);border:1px solid #ff5a34;border-color:var(--go-captcha-theme-error-border-color)}.go-captcha.gc-warn{cursor:pointer;color:var(--go-captcha-theme-warn-color);background-color:var(--go-captcha-theme-warn-bg-color);border:1px solid #ffbe09;border-color:var(--go-captcha-theme-warn-border-color)}.go-captcha.gc-success{color:var(--go-captcha-theme-success-color);background-color:var(--go-captcha-theme-success-bg-color);border:1px solid #8bc640;border-color:var(--go-captcha-theme-success-border-color);pointer-events:none}.go-captcha .gc-ripple{position:relative;display:flex;align-items:center;justify-content:center;justify-items:center}.go-captcha .gc-ripple>*{z-index:2}.go-captcha .gc-ripple svg{position:relative;z-index:2}.go-captcha .gc-ripple:after{background-color:var(--go-captcha-theme-default-border-color);border-radius:50px;content:\"\";display:block;width:21px;height:21px;opacity:0;position:absolute;top:50%;left:50%;margin-top:-11px;margin-left:-11px;z-index:0;animation:gc-ripple 1.3s infinite;-moz-animation:gc-ripple 1.3s infinite;-webkit-animation:gc-ripple 1.3s infinite;animation-delay:2s;-moz-animation-delay:2s;-webkit-animation-delay:2s}@keyframes gc-ripple{0%{opacity:0}5%{opacity:.05}20%{opacity:.35}65%{opacity:.01}to{transform:scaleX(2) scaleY(2);opacity:0}}\n"] }]
}], propDecorators: { config: [{
type: Input
}], clickEvent: [{
type: Input
}], disabled: [{
type: Input
}], type: [{
type: Input
}], title: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dvLWNhcHRjaGEtYW5ndWxhci9zcmMvbGliL21vZHVsZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nby1jYXB0Y2hhLWFuZ3VsYXIvc3JjL2xpYi9tb2R1bGVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUEyQixtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBT2hGLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0UsV0FBTSxHQUFrQixtQkFBbUIsRUFBRSxDQUFBO1FBSTdDLGFBQVEsR0FBYSxLQUFLLENBQUE7UUFFMUIsU0FBSSxHQUFnQixTQUFTLENBQUE7UUFFN0IsVUFBSyxHQUFZLFVBQVUsQ0FBQTtLQVM1QjtJQVBDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsR0FBRyxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDOzs2R0FsQlUsZUFBZTtpR0FBZixlQUFlLHFLQ1I1QixnMUJBbUJNOzRGRFhPLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsbUJBQW1COzhCQU03QixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCdXR0b25UeXBlLCBCdXR0b25Db25maWcsIGRlZmF1bHRCdXR0b25Db25maWd9IGZyb20gXCIuL2J1dHRvbi1pbnN0YW5jZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnby1jYXB0Y2hhLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgY29uZmlnPzogQnV0dG9uQ29uZmlnID0gZGVmYXVsdEJ1dHRvbkNvbmZpZygpXG4gIEBJbnB1dCgpXG4gIGNsaWNrRXZlbnQ/OiAoZTogRXZlbnQpID0+IHZvaWQ7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpXG4gIHR5cGU/OiBCdXR0b25UeXBlID0gXCJkZWZhdWx0XCJcbiAgQElucHV0KClcbiAgdGl0bGU/OiBzdHJpbmcgPSBcIueCueWHu+aMiemUrui/m+ihjOmqjOivgVwiXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb25maWcgPSB7Li4uZGVmYXVsdEJ1dHRvbkNvbmZpZygpLCAuLi50aGlzLmNvbmZpZ31cbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGUpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQgJiYgdGhpcy5jbGlja0V2ZW50KGUpXG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIlsnZ28tY2FwdGNoYScsICdnYy1idXR0b24tbW9kZScsICdnYy1idG4tYmxvY2snLCAnZ2MtJyt0eXBlLCBkaXNhYmxlZCA/ICdnYy1kaXNhYmxlZCcgOiAnJyBdXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICBbc3R5bGVdPVwie1xuICAgICd3aWR0aCc6IGNvbmZpZy53aWR0aCArICdweCcsXG4gICAgJ2hlaWdodCc6IGNvbmZpZy5oZWlnaHQgKyAncHgnLFxuICAgICdwYWRkaW5nLWxlZnQnOiBjb25maWcuaG9yaXpvbnRhbFBhZGRpbmcgKyAncHgnLFxuICAgICdwYWRkaW5nLXJpZ2h0JzogY29uZmlnLmhvcml6b250YWxQYWRkaW5nICsgJ3B4JyxcbiAgICAncGFkZGluZy10b3AnOiBjb25maWcudmVydGljYWxQYWRkaW5nICsgJ3B4JyxcbiAgICAncGFkZGluZy1ib3R0b20nOiBjb25maWcudmVydGljYWxQYWRkaW5nICsgJ3B4JyxcbiAgfVwiXG4+XG4gIDxkaXYgW2NsYXNzXT1cInsnZ2MtcmlwcGxlJzogdHlwZSA9PT0gJ2RlZmF1bHQnfVwiIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgPGJ0bi1kZWZhdWx0LWljb24gKm5nU3dpdGNoQ2FzZT1cIidkZWZhdWx0J1wiPjwvYnRuLWRlZmF1bHQtaWNvbj5cbiAgICA8YnRuLXdhcm4taWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm4nXCI+PC9idG4td2Fybi1pY29uPlxuICAgIDxidG4tZXJyb3ItaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ2Vycm9yJ1wiPjwvYnRuLWVycm9yLWljb24+XG4gICAgPGJ0bi1zdWNjZXNzLWljb24gKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiPjwvYnRuLXN1Y2Nlc3MtaWNvbj5cbiAgPC9kaXY+XG4gIDxzcGFuPnt7dGl0bGV9fTwvc3Bhbj5cbjwvZGl2PiJdfQ==