com.phloxui
Version:
PhloxUI Ng2+ Framework
240 lines (239 loc) • 14.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, Input, ElementRef } from '@angular/core';
import { AbstractHasDataHelp } from '../AbstractHasDataHelp';
import { Option } from '../../decorator/Option.decorator';
const /** @type {?} */ TYPE_NAME = "phx-default-calendar-entry-popover";
export class DefaultCalendarEntryPopover extends AbstractHasDataHelp {
/**
* @param {?} elementRef
*/
constructor(elementRef) {
super(elementRef);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
this.entry = this.getCalendarEntry();
}
/**
* @return {?}
*/
_getEntry() {
return this.entry;
}
/**
* @return {?}
*/
isEntryEmpty() {
return (this.entry === null || typeof this.entry === 'undefined') ? true : false;
}
/**
* @return {?}
*/
getCalendarEntry() {
if (this.entryMapper !== null && typeof this.entryMapper !== 'undefined') {
return this.entryMapper.getCalendarEntry(this.data);
}
return null;
}
/**
* @return {?}
*/
reloadEntry() {
this.entry = this.getCalendarEntry();
}
/**
* @param {?} data
* @return {?}
*/
setData(data) {
super.setData(data);
this.entry = this.getCalendarEntry();
}
/**
* @param {?} entryMapper
* @return {?}
*/
setCalendarEntryMapper(entryMapper) {
this.entryMapper = entryMapper;
this.entry = this.getCalendarEntry();
}
/**
* @param {?} editor
* @return {?}
*/
setEditor(editor) {
}
/**
* @return {?}
*/
isSelfDataDirty() {
return false;
}
/**
* @param {?} data
* @return {?}
*/
selfSaveData(data) {
}
/**
* @return {?}
*/
selfResetData() {
}
/**
* @return {?}
*/
doPreload() { return new Promise((resolve, reject) => { resolve(null); }); }
/**
* @return {?}
*/
doLoaded() {
}
/**
* @param {?} $event
* @return {?}
*/
onPopoverClosed($event) {
}
/**
* @param {?} $event
* @return {?}
*/
onAutoSaved($event) {
}
/**
* @return {?}
*/
isAutoSave() {
return false;
}
}
DefaultCalendarEntryPopover.TYPE_NAME = TYPE_NAME;
DefaultCalendarEntryPopover.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="phx-default-calendar-entry-popover">
<ng-template [ngIf]="!isEntryEmpty()">
<div class="title-content">
<div class="title">{{_getEntry().title}}</div>
</div>
<div class="time-content">
<div class="datetime">
From: {{_getEntry().startDateTime | date: 'dd/MM/yyyy HH:mm'}} - {{_getEntry().endDateTime | date: 'HH:mm'}}
</div>
</div>
</ng-template>
</div>
`
},] },
];
/** @nocollapse */
DefaultCalendarEntryPopover.ctorParameters = () => [
{ type: ElementRef, },
];
DefaultCalendarEntryPopover.propDecorators = {
"data": [{ type: Input },],
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"entryMapper": [{ type: Input },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultCalendarEntryPopover.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultCalendarEntryPopover.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultCalendarEntryPopover.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultCalendarEntryPopover.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultCalendarEntryPopover.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], DefaultCalendarEntryPopover.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], DefaultCalendarEntryPopover.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultCalendarEntryPopover.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], DefaultCalendarEntryPopover.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], DefaultCalendarEntryPopover.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultCalendarEntryPopover.prototype, "entryMapper", void 0);
function DefaultCalendarEntryPopover_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
DefaultCalendarEntryPopover.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
DefaultCalendarEntryPopover.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
DefaultCalendarEntryPopover.propDecorators;
/** @type {?} */
DefaultCalendarEntryPopover.TYPE_NAME;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.data;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.dataParent;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.ignoreParentData;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.ignoreParentDisabled;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.delegateHistory;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.onDisabled;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.onEnabled;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.loadingEnabled;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.i18nKey;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.bypass;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.options;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.entryMapper;
/** @type {?} */
DefaultCalendarEntryPopover.prototype.entry;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdENhbGVuZGFyRW50cnlQb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9lZGl0b3IvRGVmYXVsdENhbGVuZGFyRW50cnlQb3BvdmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFRLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJMUQsdUJBQU0sU0FBUyxHQUFXLG9DQUFvQyxDQUFDO0FBbUIvRCxNQUFNLGtDQUFtQyxTQUFRLG1CQUFtQjs7OztJQXlDbEUsWUFBWSxVQUFzQjtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDbkI7Ozs7SUFFTSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Ozs7O0lBR2hDLFNBQVM7UUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7SUFHYixZQUFZO1FBQ2pCLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Ozs7O0lBRzVFLGdCQUFnQjtRQUNyQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckQ7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDOzs7OztJQUdQLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzs7Ozs7O0lBR2hDLE9BQU8sQ0FBQyxJQUFTO1FBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzs7Ozs7O0lBR2hDLHNCQUFzQixDQUFDLFdBQWlDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Ozs7OztJQUdoQyxTQUFTLENBQUMsTUFBMEI7Ozs7O0lBSXBDLGVBQWU7UUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs7O0lBR1IsWUFBWSxDQUFDLElBQVM7Ozs7O0lBSXRCLGFBQWE7Ozs7O0lBSWIsU0FBUyxLQUF1QixNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBTSxDQUFDLENBQUM7Ozs7SUFBYSxRQUFROzs7Ozs7SUFJM0gsZUFBZSxDQUFDLE1BQWE7Ozs7OztJQUc3QixXQUFXLENBQUMsTUFBYTs7Ozs7SUFHekIsVUFBVTtRQUNoQixNQUFNLENBQUMsS0FBSyxDQUFDOzs7d0NBM0c2QixTQUFTOztZQW5CckQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0NBWVg7YUFDQTs7OztZQTlCd0MsVUFBVTs7O3FCQW1DaEQsS0FBSzsyQkFHTCxLQUFLO2lDQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSyxTQUFDLFlBQVk7d0JBR2xCLEtBQUs7NEJBRUwsS0FBSzs7O0lBL0JMLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTtzQ0FDYSxRQUFROzs7SUFFN0IsTUFBTSxFQUFFO3NDQUNZLFFBQVE7OztJQUU1QixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLENBQUMsWUFBWSxDQUFDOzs7O0lBS3BCLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVHlwZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFbnRyeSB9IGZyb20gJy4uL21vZGVsL0NhbGVuZGFyRW50cnknO1xuaW1wb3J0IHsgSUNhbGVuZGFyRW50cnlNYXBwZXIgfSBmcm9tICcuL0lDYWxlbmRhckVudHJ5TWFwcGVyJztcbmltcG9ydCB7IElDYWxlbmRhckVudHJ5UG9wb3ZlckNvbnRlbnQgfSBmcm9tICcuL0lDYWxlbmRhckVudHJ5UG9wb3ZlckNvbnRlbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3REYXRhRWRpdG9yIH0gZnJvbSAnLi9BYnN0cmFjdERhdGFFZGl0b3InO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBBYnN0cmFjdEhhc0RhdGFIZWxwIH0gZnJvbSAnLi4vQWJzdHJhY3RIYXNEYXRhSGVscCc7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcblxuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwicGh4LWRlZmF1bHQtY2FsZW5kYXItZW50cnktcG9wb3ZlclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicGh4LWRlZmF1bHQtY2FsZW5kYXItZW50cnktcG9wb3ZlclwiPlxuXHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiIWlzRW50cnlFbXB0eSgpXCI+XG5cdFx0PGRpdiBjbGFzcz1cInRpdGxlLWNvbnRlbnRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7X2dldEVudHJ5KCkudGl0bGV9fTwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJ0aW1lLWNvbnRlbnRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJkYXRldGltZVwiPlxuXHRcdFx0XHRGcm9tOiB7e19nZXRFbnRyeSgpLnN0YXJ0RGF0ZVRpbWUgfCBkYXRlOiAnZGQvTU0veXl5eSBISDptbSd9fSAtIHt7X2dldEVudHJ5KCkuZW5kRGF0ZVRpbWUgfCBkYXRlOiAnSEg6bW0nfX1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5gXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRDYWxlbmRhckVudHJ5UG9wb3ZlciBleHRlbmRzIEFic3RyYWN0SGFzRGF0YUhlbHAgaW1wbGVtZW50cyBPbkluaXQsIElDYWxlbmRhckVudHJ5UG9wb3ZlckNvbnRlbnQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGF0YVBhcmVudDogSUhhc0RhdGE7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaWdub3JlUGFyZW50RGF0YTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJpdmF0ZSBlbnRyeU1hcHBlcjogSUNhbGVuZGFyRW50cnlNYXBwZXI7XG4gIHByaXZhdGUgZW50cnk6IENhbGVuZGFyRW50cnk7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLmVudHJ5ID0gdGhpcy5nZXRDYWxlbmRhckVudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgX2dldEVudHJ5KCk6IENhbGVuZGFyRW50cnkge1xuICAgIHJldHVybiB0aGlzLmVudHJ5O1xuICB9XG5cbiAgcHVibGljIGlzRW50cnlFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuZW50cnkgPT09IG51bGwgfHwgdHlwZW9mIHRoaXMuZW50cnkgPT09ICd1bmRlZmluZWQnKSA/IHRydWUgOiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYWxlbmRhckVudHJ5KCk6IENhbGVuZGFyRW50cnkge1xuICAgIGlmICh0aGlzLmVudHJ5TWFwcGVyICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmVudHJ5TWFwcGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHRoaXMuZW50cnlNYXBwZXIuZ2V0Q2FsZW5kYXJFbnRyeSh0aGlzLmRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyByZWxvYWRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLmVudHJ5ID0gdGhpcy5nZXRDYWxlbmRhckVudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGF0YShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5zZXREYXRhKGRhdGEpO1xuXG4gICAgdGhpcy5lbnRyeSA9IHRoaXMuZ2V0Q2FsZW5kYXJFbnRyeSgpO1xuICB9XG5cbiAgcHVibGljIHNldENhbGVuZGFyRW50cnlNYXBwZXIoZW50cnlNYXBwZXI6IElDYWxlbmRhckVudHJ5TWFwcGVyKTogdm9pZCB7XG4gICAgdGhpcy5lbnRyeU1hcHBlciA9IGVudHJ5TWFwcGVyO1xuXG4gICAgdGhpcy5lbnRyeSA9IHRoaXMuZ2V0Q2FsZW5kYXJFbnRyeSgpO1xuICB9XG5cbiAgcHVibGljIHNldEVkaXRvcihlZGl0b3I6IEFic3RyYWN0RGF0YUVkaXRvcik6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgaXNTZWxmRGF0YURpcnR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxmU2F2ZURhdGEoZGF0YTogYW55KTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBzZWxmUmVzZXREYXRhKCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgZG9QcmVsb2FkKCk6IFByb21pc2U8YW55PiB7ICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geyAgICAgICByZXNvbHZlKG51bGwpOyAgICAgfSk7ICAgfSAgcHVibGljIGRvTG9hZGVkKCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQ2xvc2VkKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBvbkF1dG9TYXZlZCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgaXNBdXRvU2F2ZSgpOiBib29sZWFuIHtcbiAgXHRyZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==