UNPKG

@stratio/egeo

Version:
217 lines 15.3 kB
/** * @fileoverview added by tsickle * Generated from: lib/st-checkbox/st-checkbox.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * © 2017 Stratio Big Data Inc., Sucursal en España. * * This software is licensed under the Apache License, Version 2.0. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the terms of the License for more details. * * SPDX-License-Identifier: Apache-2.0. */ import { Component, Input, Output, EventEmitter, forwardRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; /** @type {?} */ export const CHECKBOX_CONTROL_ACCESSOR = { provide: NG_VALUE_ACCESSOR, // tslint:disable-next-line:no-use-before-declare useExisting: forwardRef((/** * @return {?} */ () => StCheckboxComponent)), multi: true }; /** * \@description {Component} [Checkbox] * * The checkbox component represents a custom input of the checkbox type. * * \@example * * {html} * * ``` * <st-checkbox name="option" value="1"> * Option 1 * </st-checkbox> * ``` * */ export class StCheckboxComponent { /** * @param {?} _changeDetectorRef */ constructor(_changeDetectorRef) { this._changeDetectorRef = _changeDetectorRef; /** * \@Output {{ checked: boolean, value: any }} [change=''] This is emitted when user clicks on the checkbox */ this.change = new EventEmitter(); this._checked = false; this._controlValueAccessorChangeFn = (/** * @param {?} value * @return {?} */ (value) => { }); this.onTouched = (/** * @return {?} */ () => { }); } /** * \@Input {boolean} [checked=''] * @return {?} */ get checked() { return this._checked; } /** * @param {?} checked * @return {?} */ set checked(checked) { if (checked !== this.checked) { this._checked = checked; this._changeDetectorRef.markForCheck(); } } /** * @return {?} */ get labelQaTag() { return (this.qaTag || this.name) + '-label'; } /** * @return {?} */ handleClick() { if (!this.readonly) { if (!this.disabled) { this._checked = !this._checked; this._controlValueAccessorChangeFn(this._checked); this.change.emit({ checked: this.checked, value: this.value }); } } } /** * @param {?} $event * @return {?} */ handleChange($event) { $event.stopPropagation(); } /** * @param {?} value * @return {?} */ writeValue(value) { this._checked = value; this._changeDetectorRef.markForCheck(); } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this._controlValueAccessorChangeFn = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } /** * @param {?} isDisabled * @return {?} */ setDisabledState(isDisabled) { this.disabled = isDisabled; this._changeDetectorRef.markForCheck(); } } StCheckboxComponent.decorators = [ { type: Component, args: [{ selector: 'st-checkbox', template: "<!--\n\n \u00A9 2017 Stratio Big Data Inc., Sucursal en Espa\u00F1a.\n\n This software is licensed under the Apache License, Version 2.0.\n This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n See the terms of the License for more details.\n\n SPDX-License-Identifier: Apache-2.0.\n\n-->\n<label st-label class=\"st-checkbox\" [ngClass]=\"{'disabled' : disabled}\" [attr.id]=\"labelQaTag\" [attr.title]=\"contextualHelp\">\n <div class=\"st-checkbox-container\">\n <input\n type=\"checkbox\"\n [id]=\"qaTag\"\n [name]=\"name\"\n [required]=\"required\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [hidden]=\"true\"\n [readonly]=\"readonly\"\n (click)=\"handleClick()\"\n (change)=\"handleChange($event)\" />\n </div>\n <div class=\"custom-checkbox st-checkbox-custom\" [ngClass]=\"{'icon-check2' : checked}\"></div><ng-content></ng-content>\n</label>\n", providers: [CHECKBOX_CONTROL_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ StCheckboxComponent.ctorParameters = () => [ { type: ChangeDetectorRef } ]; StCheckboxComponent.propDecorators = { checked: [{ type: Input }], name: [{ type: Input }], qaTag: [{ type: Input }], disabled: [{ type: Input }], required: [{ type: Input }], readonly: [{ type: Input }], value: [{ type: Input }], contextualHelp: [{ type: Input }], change: [{ type: Output }] }; if (false) { /** * \@Input {boolean} [name=''] This parameter shows the final name of the input * @type {?} */ StCheckboxComponent.prototype.name; /** * \@Input {boolean} [qaTag=''] Id value for qa test * @type {?} */ StCheckboxComponent.prototype.qaTag; /** * \@Input {boolean} [disabled=''] It allows to disable the input component of the checkbox * @type {?} */ StCheckboxComponent.prototype.disabled; /** * \@Input {boolean} [required=''] It converts the component into a mandatory field in a form * @type {?} */ StCheckboxComponent.prototype.required; /** * \@Input {boolean} [readonly=''] This parameter disables the checkbox and it can not be modified by the user * @type {?} */ StCheckboxComponent.prototype.readonly; /** * \@Input {any} [value=''] The value of the checkbox * @type {?} */ StCheckboxComponent.prototype.value; /** * \@Input {string} [contextualHelp=''] Information displayed at a tooltip * @type {?} */ StCheckboxComponent.prototype.contextualHelp; /** * \@Output {{ checked: boolean, value: any }} [change=''] This is emitted when user clicks on the checkbox * @type {?} */ StCheckboxComponent.prototype.change; /** * @type {?} * @private */ StCheckboxComponent.prototype._checked; /** @type {?} */ StCheckboxComponent.prototype._controlValueAccessorChangeFn; /** @type {?} */ StCheckboxComponent.prototype.onTouched; /** * @type {?} * @private */ StCheckboxComponent.prototype._changeDetectorRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0cmF0aW8vZWdlby8iLCJzb3VyY2VzIjpbImxpYi9zdC1jaGVja2JveC9zdC1jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV6RSxNQUFNLE9BQU8seUJBQXlCLEdBQVE7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjs7SUFFMUIsV0FBVyxFQUFFLFVBQVU7OztJQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJELE1BQU0sT0FBTyxtQkFBbUI7Ozs7SUErQjdCLFlBQ1csa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7Ozs7UUFMdEMsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXRELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFRbEMsa0NBQTZCOzs7O1FBQXlCLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUM7UUFFckUsY0FBUzs7O1FBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFDO0lBSmpDLENBQUM7Ozs7O0lBakNELElBQWEsT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFnQjtRQUN6QixJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QztJQUNKLENBQUM7Ozs7SUE4QkQsSUFBSSxVQUFVO1FBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUMvQyxDQUFDOzs7O0lBRUQsV0FBVztRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDakU7U0FDSDtJQUNKLENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLE1BQWE7UUFDdkIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsRUFBd0I7UUFDdEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7O1lBbEZILFNBQVMsU0FBQztnQkFDUixRQUFRLEVBQUUsYUFBYTtnQkFDdkIsb25DQUEyQztnQkFDM0MsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2pEOzs7O1lBL0I0RCxpQkFBaUI7OztzQkFtQzFFLEtBQUs7bUJBV0wsS0FBSztvQkFFTCxLQUFLO3VCQUVMLEtBQUs7dUJBRUwsS0FBSzt1QkFFTCxLQUFLO29CQUVMLEtBQUs7NkJBRUwsS0FBSztxQkFFTCxNQUFNOzs7Ozs7O0lBZFAsbUNBQXNCOzs7OztJQUV0QixvQ0FBdUI7Ozs7O0lBRXZCLHVDQUEyQjs7Ozs7SUFFM0IsdUNBQTJCOzs7OztJQUUzQix1Q0FBMkI7Ozs7O0lBRTNCLG9DQUFvQjs7Ozs7SUFFcEIsNkNBQWdDOzs7OztJQUVoQyxxQ0FBOEQ7Ozs7O0lBRTlELHVDQUFrQzs7SUFRbEMsNERBQXFFOztJQUVyRSx3Q0FBaUM7Ozs7O0lBUDlCLGlEQUE2QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiDCqSAyMDE3IFN0cmF0aW8gQmlnIERhdGEgSW5jLiwgU3VjdXJzYWwgZW4gRXNwYcOxYS5cbiAqXG4gKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZO1xuICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiAqIFNlZSB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMC5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfQ09OVFJPTF9BQ0NFU1NPUjogYW55ID0ge1xuICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdXNlLWJlZm9yZS1kZWNsYXJlXG4gICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdENoZWNrYm94Q29tcG9uZW50KSxcbiAgIG11bHRpOiB0cnVlXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiB7Q29tcG9uZW50fSBbQ2hlY2tib3hdXG4gKlxuICogVGhlIGNoZWNrYm94IGNvbXBvbmVudCByZXByZXNlbnRzIGEgY3VzdG9tIGlucHV0IG9mIHRoZSBjaGVja2JveCB0eXBlLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICoge2h0bWx9XG4gKlxuICogYGBgXG4gKiA8c3QtY2hlY2tib3ggbmFtZT1cIm9wdGlvblwiIHZhbHVlPVwiMVwiPlxuICogICAgT3B0aW9uIDFcbiAqIDwvc3QtY2hlY2tib3g+XG4gKiBgYGBcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdzdC1jaGVja2JveCcsXG4gICB0ZW1wbGF0ZVVybDogJy4vc3QtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICAgcHJvdmlkZXJzOiBbQ0hFQ0tCT1hfQ09OVFJPTF9BQ0NFU1NPUl0sXG4gICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIFN0Q2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAvKiogQElucHV0IHtib29sZWFufSBbY2hlY2tlZD0nJ10gICovXG4gICBASW5wdXQoKSBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgfVxuXG4gICBzZXQgY2hlY2tlZChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICBpZiAoY2hlY2tlZCAhPT0gdGhpcy5jaGVja2VkKSB7XG4gICAgICAgICB0aGlzLl9jaGVja2VkID0gY2hlY2tlZDtcbiAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgfVxuICAgLyoqIEBJbnB1dCB7Ym9vbGVhbn0gW25hbWU9JyddIFRoaXMgcGFyYW1ldGVyIHNob3dzIHRoZSBmaW5hbCBuYW1lIG9mIHRoZSBpbnB1dCAqL1xuICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7Ym9vbGVhbn0gW3FhVGFnPScnXSBJZCB2YWx1ZSBmb3IgcWEgdGVzdCAqL1xuICAgQElucHV0KCkgcWFUYWc6IHN0cmluZztcbiAgIC8qKiBASW5wdXQge2Jvb2xlYW59IFtkaXNhYmxlZD0nJ10gSXQgYWxsb3dzIHRvIGRpc2FibGUgdGhlIGlucHV0IGNvbXBvbmVudCBvZiB0aGUgY2hlY2tib3ggKi9cbiAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICAgLyoqIEBJbnB1dCB7Ym9vbGVhbn0gW3JlcXVpcmVkPScnXSBJdCBjb252ZXJ0cyB0aGUgY29tcG9uZW50IGludG8gYSBtYW5kYXRvcnkgZmllbGQgaW4gYSBmb3JtICovXG4gICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcbiAgIC8qKiBASW5wdXQge2Jvb2xlYW59IFtyZWFkb25seT0nJ10gVGhpcyBwYXJhbWV0ZXIgZGlzYWJsZXMgdGhlIGNoZWNrYm94IGFuZCBpdCBjYW4gbm90IGJlIG1vZGlmaWVkIGJ5IHRoZSB1c2VyICovXG4gICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgIC8qKiBASW5wdXQge2FueX0gW3ZhbHVlPScnXSBUaGUgdmFsdWUgb2YgdGhlIGNoZWNrYm94ICovXG4gICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgLyoqIEBJbnB1dCB7c3RyaW5nfSBbY29udGV4dHVhbEhlbHA9JyddIEluZm9ybWF0aW9uIGRpc3BsYXllZCBhdCBhIHRvb2x0aXAgKi9cbiAgIEBJbnB1dCgpIGNvbnRleHR1YWxIZWxwOiBzdHJpbmc7XG4gICAvKiogQE91dHB1dCB7eyBjaGVja2VkOiBib29sZWFuLCB2YWx1ZTogYW55IH19IFtjaGFuZ2U9JyddIFRoaXMgaXMgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIG9uIHRoZSBjaGVja2JveCAqL1xuICAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgcHJpdmF0ZSBfY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgKSB7XG5cbiAgIH1cblxuICAgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7IH07XG5cbiAgIG9uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4geyB9O1xuXG4gICBnZXQgbGFiZWxRYVRhZygpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICh0aGlzLnFhVGFnIHx8IHRoaXMubmFtZSkgKyAnLWxhYmVsJztcbiAgIH1cblxuICAgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9ICF0aGlzLl9jaGVja2VkO1xuICAgICAgICAgICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLl9jaGVja2VkKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoeyBjaGVja2VkOiB0aGlzLmNoZWNrZWQsIHZhbHVlOiB0aGlzLnZhbHVlIH0pO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBoYW5kbGVDaGFuZ2UoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2NoZWNrZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgfVxuXG4gICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICAgfVxuXG4gICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgfVxuXG4gICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICB9XG5cbn1cbiJdfQ==