UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

181 lines 15.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; import { IconHandler } from '../core/util/icon'; import * as util from './util'; var NoticeBarComponent = /** @class */ (function () { function NoticeBarComponent(_iconHandler) { this._iconHandler = _iconHandler; this.visiable = false; this.marqueeScroll = 'scrolling'; this.style = {}; this._option = { mode: '', icon: '', action: '', content: '', fontSize: '14px', scrolling: true, marqueeProps: { loop: true, leading: 500, trailing: 8000, fps: 200, style: {} } }; this.onClick = new EventEmitter(); this._iconHandler.load(); } Object.defineProperty(NoticeBarComponent.prototype, "option", { get: /** * @return {?} */ function () { return this._option; }, set: /** * @param {?} value * @return {?} */ function (value) { Object.assign(this._option, value); this.dataProcess(); if (this._option.scrolling) { this.marqueeScroll = 'scrolling'; } else { this.marqueeScroll = 'scrolling-stop'; } }, enumerable: true, configurable: true }); /** * @return {?} */ NoticeBarComponent.prototype.click = /** * @return {?} */ function () { this.onClick.emit(this._option.mode); if (this._option.mode === 'closable') { this.visiable = false; } }; /** * @return {?} */ NoticeBarComponent.prototype.dataProcess = /** * @return {?} */ function () { this.visiable = true; this.style = { width: '200%' }; this._width = util.getTextWidth(this._option.content, this._option.fontSize); if (util.getWidthHeight().width < this._width) { /** @type {?} */ var count = this._option.marqueeProps.loop ? 'infinite' : 1; /** @type {?} */ var animationName = "noticebarmarquee_" + this._width; this.style = { width: this._width * 2 + 'px', 'animation-name': animationName, 'animation-delay': this._option.marqueeProps.leading + "ms", 'animation-duration': (((1 / this._option.marqueeProps.fps) * this._width) / util.getWidthHeight().width) * 1000 + "s", 'animation-iteration-count': "" + count }; this.marqueeScroll = 'scrolling'; this.insetKeyframe(animationName); } else { this.marqueeScroll = 'scrolling-stop'; } }; /** * @param {?} animationName * @return {?} */ NoticeBarComponent.prototype.insetKeyframe = /** * @param {?} animationName * @return {?} */ function (animationName) { util.insertKeyFrame("@keyframes " + animationName + " {\n 0% { left: 0px; }\n 100% { left: -" + this._width + "px }\n }", 'notice_bar_animation_cls'); util.insertKeyFrame("@-webkit-keyframes " + animationName + " {\n 0% { left: 0px; }\n 100% { left: -" + this._width + "px }\n }", 'notice_bar_animation_cls'); util.insertKeyFrame("@-moz-keyframes " + animationName + " {\n 0% { left: 0px; }\n 100% { left: -" + this._width + "px }\n }", 'notice_bar_animation_cls'); util.insertKeyFrame("@-o-keyframes " + animationName + " {\n 0% { left: 0px; }\n 100% { left: -" + this._width + "px }\n }", 'notice_bar_animation_cls'); }; /** * @return {?} */ NoticeBarComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; document.addEventListener('touchstart', (/** * @return {?} */ function () { _this.marqueeScroll = 'scrolling-stop'; })); document.addEventListener('touchend', (/** * @return {?} */ function () { _this.marqueeScroll = 'scrolling'; })); }; /** * @return {?} */ NoticeBarComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { util.deleteKeyFrame('notice_bar_animation_cls'); }; NoticeBarComponent.decorators = [ { type: Component, args: [{ selector: 'NoticeBar, nzm-notice-bar', template: "<div role=\"alert\" *ngIf=\"visiable\" class=\"am-notice-bar\" (click)=\"click()\">\n <div *ngIf=\"option.icon !== null\" class=\"am-notice-bar-icon\">\n <ng-template [ngTemplateOutlet]=\"option.icon || voice\"></ng-template>\n </div>\n <div class=\"am-notice-bar-content\">\n <div class=\"marquee\">\n <div [ngClass]=\"marqueeScroll\" [ngStyle]=\"style\">\n <span>{{ option.content }}</span>\n <span>{{ option.content }}</span>\n </div>\n </div>\n </div>\n <div role=\"button\" *ngIf=\"option.mode && option.action !== null\" class=\"am-notice-bar-operation\">\n <ng-template *ngIf=\"option.mode === 'closable'\" [ngTemplateOutlet]=\"option.action || cross\"></ng-template>\n <ng-template *ngIf=\"option.mode === 'link'\" [ngTemplateOutlet]=\"option.action || right\"></ng-template>\n </div>\n</div>\n\n<ng-template #voice>\n <Icon [type]=\"'voice'\" [size]=\"'xxs'\"></Icon>\n</ng-template>\n<ng-template #cross>\n <Icon [type]=\"'cross'\" [size]=\"'md'\"></Icon>\n</ng-template>\n<ng-template #right>\n <Icon [type]=\"'right'\" [size]=\"'md'\"></Icon>\n</ng-template>\n", providers: [IconHandler] }] } ]; /** @nocollapse */ NoticeBarComponent.ctorParameters = function () { return [ { type: IconHandler } ]; }; NoticeBarComponent.propDecorators = { option: [{ type: Input }], onClick: [{ type: Output }] }; return NoticeBarComponent; }()); export { NoticeBarComponent }; if (false) { /** @type {?} */ NoticeBarComponent.prototype.visiable; /** @type {?} */ NoticeBarComponent.prototype.marqueeScroll; /** @type {?} */ NoticeBarComponent.prototype.style; /** * @type {?} * @private */ NoticeBarComponent.prototype._width; /** * @type {?} * @private */ NoticeBarComponent.prototype._option; /** @type {?} */ NoticeBarComponent.prototype.onClick; /** * @type {?} * @private */ NoticeBarComponent.prototype._iconHandler; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWNlLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbIm5vdGljZS1iYXIvbm90aWNlLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQy9CO0lBbUNFLDRCQUFvQixZQUF5QjtRQUF6QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQTdCN0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQUM1QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRUgsWUFBTyxHQUFHO1lBQ2hCLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLE1BQU07WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7U0FDaEYsQ0FBQztRQWVGLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFsQkQsc0JBQ0ksc0NBQU07Ozs7UUFEVjtZQUVFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDOzs7OztRQUNELFVBQVcsS0FBSztZQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzthQUN2QztRQUNILENBQUM7OztPQVRBOzs7O0lBaUJELGtDQUFLOzs7SUFBTDtRQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDOzs7O0lBRUQsd0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFOztnQkFDdkMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDOztnQkFDekQsYUFBYSxHQUFHLHNCQUFvQixJQUFJLENBQUMsTUFBUTtZQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJO2dCQUM3QixnQkFBZ0IsRUFBRSxhQUFhO2dCQUMvQixpQkFBaUIsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLE9BQUk7Z0JBQzNELG9CQUFvQixFQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQztvQkFDMUcsSUFBSSxNQUFHO2dCQUNULDJCQUEyQixFQUFFLEtBQUcsS0FBTzthQUN4QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztTQUN2QztJQUNILENBQUM7Ozs7O0lBRUQsMENBQWE7Ozs7SUFBYixVQUFjLGFBQWE7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FDakIsZ0JBQWMsYUFBYSx5REFFWCxJQUFJLENBQUMsTUFBTSxnQkFDM0IsRUFDQSwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQ2pCLHdCQUFzQixhQUFhLHlEQUVuQixJQUFJLENBQUMsTUFBTSxnQkFDM0IsRUFDQSwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQ2pCLHFCQUFtQixhQUFhLHlEQUVoQixJQUFJLENBQUMsTUFBTSxnQkFDM0IsRUFDQSwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQ2pCLG1CQUFpQixhQUFhLHlEQUVkLElBQUksQ0FBQyxNQUFNLGdCQUMzQixFQUNBLDBCQUEwQixDQUMzQixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjtRQUFBLGlCQVFDO1FBUEMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7OztRQUFFO1lBQ3RDLEtBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7UUFDeEMsQ0FBQyxFQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVTs7O1FBQUU7WUFDcEMsS0FBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7UUFDbkMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsd0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7O2dCQWpIRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsNG1DQUEwQztvQkFDMUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6Qjs7OztnQkFOUSxXQUFXOzs7eUJBcUJqQixLQUFLOzBCQWFMLE1BQU07O0lBa0ZULHlCQUFDO0NBQUEsQUFsSEQsSUFrSEM7U0E3R1ksa0JBQWtCOzs7SUFDN0Isc0NBQWlCOztJQUNqQiwyQ0FBNEI7O0lBQzVCLG1DQUFXOzs7OztJQUNYLG9DQUFlOzs7OztJQUNmLHFDQVFFOztJQWNGLHFDQUNnRDs7Ozs7SUFFcEMsMENBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uSGFuZGxlciB9IGZyb20gJy4uL2NvcmUvdXRpbC9pY29uJztcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnLi91dGlsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ05vdGljZUJhciwgbnptLW5vdGljZS1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWNlLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW0ljb25IYW5kbGVyXVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpY2VCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHZpc2lhYmxlID0gZmFsc2U7XG4gIG1hcnF1ZWVTY3JvbGwgPSAnc2Nyb2xsaW5nJztcbiAgc3R5bGUgPSB7fTtcbiAgcHJpdmF0ZSBfd2lkdGg7XG4gIHByaXZhdGUgX29wdGlvbiA9IHtcbiAgICBtb2RlOiAnJyxcbiAgICBpY29uOiAnJyxcbiAgICBhY3Rpb246ICcnLFxuICAgIGNvbnRlbnQ6ICcnLFxuICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgc2Nyb2xsaW5nOiB0cnVlLFxuICAgIG1hcnF1ZWVQcm9wczogeyBsb29wOiB0cnVlLCBsZWFkaW5nOiA1MDAsIHRyYWlsaW5nOiA4MDAwLCBmcHM6IDIwMCwgc3R5bGU6IHt9IH1cbiAgfTtcbiAgQElucHV0KClcbiAgZ2V0IG9wdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uO1xuICB9XG4gIHNldCBvcHRpb24odmFsdWUpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuX29wdGlvbiwgdmFsdWUpO1xuICAgIHRoaXMuZGF0YVByb2Nlc3MoKTtcbiAgICBpZiAodGhpcy5fb3B0aW9uLnNjcm9sbGluZykge1xuICAgICAgdGhpcy5tYXJxdWVlU2Nyb2xsID0gJ3Njcm9sbGluZyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFycXVlZVNjcm9sbCA9ICdzY3JvbGxpbmctc3RvcCc7XG4gICAgfVxuICB9XG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pY29uSGFuZGxlcjogSWNvbkhhbmRsZXIpIHtcbiAgICB0aGlzLl9pY29uSGFuZGxlci5sb2FkKCk7XG4gIH1cblxuICBjbGljaygpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLl9vcHRpb24ubW9kZSk7XG4gICAgaWYgKHRoaXMuX29wdGlvbi5tb2RlID09PSAnY2xvc2FibGUnKSB7XG4gICAgICB0aGlzLnZpc2lhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZGF0YVByb2Nlc3MoKSB7XG4gICAgdGhpcy52aXNpYWJsZSA9IHRydWU7XG4gICAgdGhpcy5zdHlsZSA9IHtcbiAgICAgIHdpZHRoOiAnMjAwJSdcbiAgICB9O1xuICAgIHRoaXMuX3dpZHRoID0gdXRpbC5nZXRUZXh0V2lkdGgodGhpcy5fb3B0aW9uLmNvbnRlbnQsIHRoaXMuX29wdGlvbi5mb250U2l6ZSk7XG4gICAgaWYgKHV0aWwuZ2V0V2lkdGhIZWlnaHQoKS53aWR0aCA8IHRoaXMuX3dpZHRoKSB7XG4gICAgICBjb25zdCBjb3VudCA9IHRoaXMuX29wdGlvbi5tYXJxdWVlUHJvcHMubG9vcCA/ICdpbmZpbml0ZScgOiAxO1xuICAgICAgbGV0IGFuaW1hdGlvbk5hbWUgPSBgbm90aWNlYmFybWFycXVlZV8ke3RoaXMuX3dpZHRofWA7XG4gICAgICB0aGlzLnN0eWxlID0ge1xuICAgICAgICB3aWR0aDogdGhpcy5fd2lkdGggKiAyICsgJ3B4JyxcbiAgICAgICAgJ2FuaW1hdGlvbi1uYW1lJzogYW5pbWF0aW9uTmFtZSxcbiAgICAgICAgJ2FuaW1hdGlvbi1kZWxheSc6IGAke3RoaXMuX29wdGlvbi5tYXJxdWVlUHJvcHMubGVhZGluZ31tc2AsXG4gICAgICAgICdhbmltYXRpb24tZHVyYXRpb24nOiBgJHsoKCgxIC8gdGhpcy5fb3B0aW9uLm1hcnF1ZWVQcm9wcy5mcHMpICogdGhpcy5fd2lkdGgpIC8gdXRpbC5nZXRXaWR0aEhlaWdodCgpLndpZHRoKSAqXG4gICAgICAgICAgMTAwMH1zYCxcbiAgICAgICAgJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnOiBgJHtjb3VudH1gXG4gICAgICB9O1xuICAgICAgdGhpcy5tYXJxdWVlU2Nyb2xsID0gJ3Njcm9sbGluZyc7XG4gICAgICB0aGlzLmluc2V0S2V5ZnJhbWUoYW5pbWF0aW9uTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFycXVlZVNjcm9sbCA9ICdzY3JvbGxpbmctc3RvcCc7XG4gICAgfVxuICB9XG5cbiAgaW5zZXRLZXlmcmFtZShhbmltYXRpb25OYW1lKSB7XG4gICAgdXRpbC5pbnNlcnRLZXlGcmFtZShcbiAgICAgIGBAa2V5ZnJhbWVzICR7YW5pbWF0aW9uTmFtZX0ge1xuICAgICAgMCUgeyBsZWZ0OiAwcHg7IH1cbiAgICAgIDEwMCUgeyBsZWZ0OiAtJHt0aGlzLl93aWR0aH1weCB9XG4gICAgfWAsXG4gICAgICAnbm90aWNlX2Jhcl9hbmltYXRpb25fY2xzJ1xuICAgICk7XG4gICAgdXRpbC5pbnNlcnRLZXlGcmFtZShcbiAgICAgIGBALXdlYmtpdC1rZXlmcmFtZXMgJHthbmltYXRpb25OYW1lfSB7XG4gICAgICAwJSB7IGxlZnQ6IDBweDsgfVxuICAgICAgMTAwJSB7IGxlZnQ6IC0ke3RoaXMuX3dpZHRofXB4IH1cbiAgICB9YCxcbiAgICAgICdub3RpY2VfYmFyX2FuaW1hdGlvbl9jbHMnXG4gICAgKTtcbiAgICB1dGlsLmluc2VydEtleUZyYW1lKFxuICAgICAgYEAtbW96LWtleWZyYW1lcyAke2FuaW1hdGlvbk5hbWV9IHtcbiAgICAgIDAlIHsgbGVmdDogMHB4OyB9XG4gICAgICAxMDAlIHsgbGVmdDogLSR7dGhpcy5fd2lkdGh9cHggfVxuICAgIH1gLFxuICAgICAgJ25vdGljZV9iYXJfYW5pbWF0aW9uX2NscydcbiAgICApO1xuICAgIHV0aWwuaW5zZXJ0S2V5RnJhbWUoXG4gICAgICBgQC1vLWtleWZyYW1lcyAke2FuaW1hdGlvbk5hbWV9IHtcbiAgICAgIDAlIHsgbGVmdDogMHB4OyB9XG4gICAgICAxMDAlIHsgbGVmdDogLSR7dGhpcy5fd2lkdGh9cHggfVxuICAgIH1gLFxuICAgICAgJ25vdGljZV9iYXJfYW5pbWF0aW9uX2NscydcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsICgpID0+IHtcbiAgICAgIHRoaXMubWFycXVlZVNjcm9sbCA9ICdzY3JvbGxpbmctc3RvcCc7XG4gICAgfSk7XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsICgpID0+IHtcbiAgICAgIHRoaXMubWFycXVlZVNjcm9sbCA9ICdzY3JvbGxpbmcnO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdXRpbC5kZWxldGVLZXlGcmFtZSgnbm90aWNlX2Jhcl9hbmltYXRpb25fY2xzJyk7XG4gIH1cbn1cbiJdfQ==