UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

664 lines (663 loc) 68.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, ViewChild, EventEmitter } from '@angular/core'; import { AbstractDialogController } from './AbstractDialogController'; import { StringDataView } from './dataview/StringDataView.component'; import { DateTimeUtils } from '../share/utils/DateTimeUtils'; import { Option } from '../decorator/Option.decorator'; import { I18N } from '../decorator/I18N.decorator'; import { ButtonModel } from './model/ComponentDialogModel'; import { DefaultSelectItemModel } from './model/DefaultSelectItemModel'; import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service'; import { DatePicker } from './dataview/input/DatePicker.component'; const /** @type {?} */ TYPE_NAME = "phx-version-history"; export class VersionHistory extends AbstractDialogController { /** * @param {?} phloxAppService * @param {?} elementRef */ constructor(phloxAppService, elementRef) { super(elementRef); this.currentIndex = 0; this.dataRecords = []; this.currentVersionData = null; this.selectedVersionData = null; if (phloxAppService != null) { phloxAppService.getAppInfo().then((result) => { this.phloxAppInfo = result; }); } //default dropdown this.dropdownCompoType = StringDataView; this.currentDropdownIdx = 0; this.dropdownComparator = []; this._items = []; this.defaultAscComparator = (obj1, obj2) => { return -this.compareCreatedDate(obj1, obj2); }; this.defaultDescComparator = (obj1, obj2) => { return this.compareCreatedDate(obj1, obj2); }; this.dropdownComparator.push(this.defaultAscComparator); this.dropdownComparator.push(this.defaultDescComparator); this._items.push(new DefaultSelectItemModel("Newest First", 0)); this._items.push(new DefaultSelectItemModel("Oldest First", 1)); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); if (this.data !== null && typeof this.data !== 'undefined') { this.editor = this.data.editor; } if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.sortOptions !== null && typeof this.model.sortOptions !== 'undefined') { if (this.model.sortOptions.length > 0) { this._items = []; this.dropdownComparator = []; this.currentDropdownIdx = 0; for (let /** @type {?} */ sortOpt of this.model.sortOptions) { let /** @type {?} */ label = sortOpt.label; let /** @type {?} */ sortFunc = sortOpt.comparator; this._items.push(new DefaultSelectItemModel(label, 0)); this.dropdownComparator.push(sortFunc); } } } } let /** @type {?} */ closeHandler = () => { this.result = null; this.editor.hideDialog(); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CLOSE'), null, closeHandler, ['dialog-btn', 'cancel'])]; this.refreshDataRecord(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { if (changes['data'] !== null && typeof changes['data'] !== 'undefined') { let /** @type {?} */ oldData = changes['data'].previousValue; let /** @type {?} */ newData = changes['data'].currentValue; if (oldData !== newData) { this.refreshDataRecord(); } } } /** * @param {?} obj1 * @param {?} obj2 * @return {?} */ compareCreatedDate(obj1, obj2) { if ((obj1 === null || typeof obj1 === 'undefined') && (obj2 !== null && typeof obj2 !== 'undefined')) { return 1; } else if ((obj1 !== null && typeof obj1 !== 'undefined') && (obj2 === null || typeof obj2 === 'undefined')) { return -1; } else if ((obj1 === null || typeof obj1 === 'undefined') && (obj2 === null || typeof obj2 === 'undefined')) { return 0; } let /** @type {?} */ fromDate1 = DateTimeUtils.getDateFromAny(obj1._versionCreated); let /** @type {?} */ fromDate2 = DateTimeUtils.getDateFromAny(obj2._versionCreated); if ((fromDate1 === null || typeof fromDate1 === 'undefined') && (fromDate2 !== null && typeof fromDate2 !== 'undefined')) { return 1; } else if ((fromDate1 !== null && typeof fromDate1 !== 'undefined') && (fromDate2 === null || typeof fromDate2 === 'undefined')) { return -1; } else if ((fromDate1 === null || typeof fromDate1 === 'undefined') && (fromDate2 === null || typeof fromDate2 === 'undefined')) { return 0; } if (fromDate1.isBefore(fromDate2)) { return -1; } else if (fromDate1.isAfter(fromDate2)) { return 1; } return 0; } /** * @return {?} */ refreshDataRecord() { this.dataRecords = []; if (this.editor !== null && typeof this.editor !== 'undefined') { if (this.data !== null && typeof this.data !== 'undefined') { let /** @type {?} */ data = this.data.data; let /** @type {?} */ startTime = (new Date()).clearTime(); let /** @type {?} */ endTime = null; if (this.currentIndex === 0) { // today endTime = new Date(startTime); } else if (this.currentIndex === 1) { // 3 days ago endTime = new Date(startTime).addDays(-3); } else if (this.currentIndex === 2) { // a month ago endTime = new Date(startTime).addDays(-30); } else if (this.currentIndex === 3) { // 3 months ago endTime = new Date(startTime).addDays(-90); } this.editor.getVersionHistory(data, startTime, endTime).then((result) => { if (result !== null && result !== undefined) { for (let /** @type {?} */ d of result) { this.dataRecords.push(d); } if (this.dataRecords.length > 0) { this.currentVersionData = this.dataRecords[0]; } this.sortData(); } }); } } } /** * @return {?} */ sortData() { if (this.dataRecords === null || typeof this.dataRecords === 'undefined') { return; } let /** @type {?} */ comparator = null; if (this.currentDropdownIdx < this.dropdownComparator.length) { comparator = this.dropdownComparator[this.currentDropdownIdx]; } if (comparator !== null) { this.dataRecords.sort(comparator); } } /** * @param {?} key * @return {?} */ getI18NMessage(key) { if (this.phloxAppInfo != null && this.phloxAppInfo.i18n != null) { if (this.phloxAppInfo.i18n[key] !== null && typeof this.phloxAppInfo.i18n[key] !== 'undefined') { return this.phloxAppInfo.i18n[key]; } } return key; } /** * @param {?} data * @return {?} */ _isSelectedVersion(data) { if (this.selectedVersionData !== null && typeof this.selectedVersionData !== 'undefined') { if (this.selectedVersionData === data) { return true; } } return false; } /** * @param {?} dateString * @return {?} */ _getDateString(dateString) { if (dateString !== null && typeof dateString !== 'undefined') { let /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString); if (date !== null) { return date.toString("dd/MM/yyyy"); } } return ""; } /** * @param {?} dateString * @return {?} */ _getTimeString(dateString) { if (dateString !== null && typeof dateString !== 'undefined') { let /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString); if (date !== null) { return date.toString("hh:mm:ss"); } } return ""; } /** * @param {?} data * @return {?} */ _isCurrentVersion(data) { if (this.currentVersionData !== null && typeof this.currentVersionData !== 'undefined') { if (this.currentVersionData === data) { return true; } } return false; } /** * @param {?} index * @return {?} */ _isActiveTab(index) { if (this.currentIndex === index) { return true; } return false; } /** * @return {?} */ _getDropdownCompoType() { return this.dropdownCompoType; } /** * @return {?} */ _getCurrentDropdownIdx() { return this.currentDropdownIdx; } /** * @return {?} */ _getDataRecords() { return this.dataRecords; } /** * @param {?} index * @return {?} */ _setActiveTabIndex(index) { this.currentIndex = index; this.refreshDataRecord(); } /** * @param {?} $event * @param {?} data * @return {?} */ onRevertClicked($event, data) { if (this.selectedVersionData !== null) { if (this.selectedVersionData === data) { this.selectedVersionData = null; if (this.dialogButtons.length >= 2) { let /** @type {?} */ closeHandler = () => { this.result = null; this.editor.hideDialog(); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CLOSE'), null, closeHandler, ['dialog-btn', 'cancel'])]; } return; } } this.selectedVersionData = data; // manipulate btn if (this.dialogButtons === undefined) { this.dialogButtons = []; } if (this.dialogButtons.length <= 1) { let /** @type {?} */ cancelHandler = () => { this.onRevertClicked(null, this.selectedVersionData); }; let /** @type {?} */ confirmHandler = () => { this.result = this.selectedVersionData; this.editor.hideDialog(); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CANCEL'), null, cancelHandler, ['dialog-btn', 'cancel']), new ButtonModel(this.getI18NMessage('CONFIRM'), null, confirmHandler, ['dialog-btn', 'confirm'])]; } } /** * @param {?} $event * @return {?} */ onDropdownChange($event) { if ($event === null || typeof $event === 'undefined') { return; } let /** @type {?} */ newIndex = $event.detail.data.newIndex; this.currentDropdownIdx = newIndex; this.sortData(); } /** * @return {?} */ hasModel() { if (this.model !== null && typeof this.model !== 'undefined') { return true; } return false; } /** * @return {?} */ getModel() { return this.model; } /** * @param {?} model * @return {?} */ setModel(model) { this.model = model; } /** * @return {?} */ isSelfDataDirty() { return false; } /** * @param {?} data * @return {?} */ selfSaveData(data) { } /** * @return {?} */ selfResetData() { } } VersionHistory.TYPE_NAME = TYPE_NAME; VersionHistory.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-version-history"> <div class="header"> <div class="wrapper"> <div class="left"> <!-- first zone --> <div> <div class="title" *ngIf="hasModel()"> <h3>{{getModel().title}}</h3> </div> <div class="description" *ngIf="hasModel()"> {{getModel().description}} </div> </div> <!-- second zone --> <div> <div class="tab" [class.active]="_isActiveTab(0)" (click)="_setActiveTabIndex(0)">Today</div> <div class="tab" [class.active]="_isActiveTab(1)" (click)="_setActiveTabIndex(1)">3 days ago</div> <div class="tab" [class.active]="_isActiveTab(2)" (click)="_setActiveTabIndex(2)">a month ago</div> <div class="tab" [class.active]="_isActiveTab(3)" (click)="_setActiveTabIndex(3)">3 months ago</div> </div> </div> <div class="right"> <!-- first zone --> <div> <div class="sorting"> <phx-component-dropdown #orderingDropdown [type]="_getDropdownCompoType()" [items]="_items" [defaultIdx]="_getCurrentDropdownIdx()" (phxChange)="onDropdownChange($event)"></phx-component-dropdown> </div> <div class="sorting-label"> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> Sorting : </div> </div> </div> </div> <!-- second zone --> <div> <div class="logo"> <!-- LOGO --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve" class="calendar"> <g> <path style="fill:#b1b1b1;" d="M8.585,8.599h0.386c0.587,0,1.064-0.476,1.064-1.064V3.503c0-0.587-0.476-1.064-1.064-1.064H8.585 c-0.587,0-1.064,0.476-1.064,1.064v4.033C7.522,8.123,7.998,8.599,8.585,8.599L8.585,8.599z M8.585,8.599"/> <g> <path style="fill:#b1b1b1;" d="M22.227,8.572h0.387c0.587,0,1.063-0.476,1.063-1.064V3.476c0-0.587-0.476-1.063-1.063-1.063 h-0.387c-0.588,0-1.064,0.476-1.064,1.063v4.033C21.163,8.096,21.64,8.572,22.227,8.572L22.227,8.572z M22.227,8.572"/> <path style="fill:#b1b1b1;" d="M27.271,4.6h-2.729v3.187c0,1.063-0.865,1.65-1.928,1.65h-0.387c-1.063,0-1.928-0.865-1.928-1.928 V4.6H10.9v2.935c0,1.063-0.865,1.928-1.928,1.928H8.585c-1.063,0-1.928-0.865-1.928-1.928V4.6H3.712 c-0.953,0-1.729,0.776-1.729,1.729v20.893c0,0.953,0.776,1.729,1.729,1.729h23.559c0.953,0,1.729-0.775,1.729-1.729V6.329 C29,5.376,28.224,4.6,27.271,4.6L27.271,4.6z M27.271,27.222H3.712V11.444h23.559l0.001,15.778H27.271L27.271,27.222z M27.271,27.222"/> </g> <path style="fill:#b1b1b1;" d="M16.384,16.737h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C16.161,16.637,16.261,16.737,16.384,16.737L16.384,16.737z M16.384,16.737"/> <path style="fill:#b1b1b1;" d="M21.451,16.737h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C21.228,16.637,21.328,16.737,21.451,16.737L21.451,16.737z M21.451,16.737"/> <path style="fill:#b1b1b1;" d="M6.252,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223H6.252 c-0.123,0-0.223,0.1-0.223,0.223v2.688C6.029,21.038,6.129,21.138,6.252,21.138L6.252,21.138z M6.252,21.138"/> <path style="fill:#b1b1b1;" d="M11.318,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C11.095,21.038,11.195,21.138,11.318,21.138L11.318,21.138z M11.318,21.138"/> <path style="fill:#b1b1b1;" d="M16.385,21.138h3.104c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.104 c-0.123,0-0.223,0.1-0.223,0.223v2.688C16.161,21.038,16.261,21.138,16.385,21.138L16.385,21.138z M16.385,21.138"/> <path style="fill:#b1b1b1;" d="M21.451,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C21.228,21.038,21.328,21.138,21.451,21.138L21.451,21.138z M21.451,21.138"/> <path style="fill:#b1b1b1;" d="M9.356,22.405H6.252c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C9.579,22.505,9.479,22.405,9.356,22.405L9.356,22.405z M9.356,22.405"/> <path style="fill:#b1b1b1;" d="M14.422,22.405h-3.105c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C14.645,22.505,14.546,22.405,14.422,22.405L14.422,22.405z M14.422,22.405"/> <path style="fill:#b1b1b1;" d="M19.489,22.405h-3.104c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.104 c0.123,0,0.223-0.1,0.223-0.223v-2.688C19.712,22.505,19.612,22.405,19.489,22.405L19.489,22.405z M19.489,22.405"/> <path style="fill:#b1b1b1;" d="M24.555,22.405h-3.105c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C24.778,22.505,24.678,22.405,24.555,22.405L24.555,22.405z M24.555,22.405"/> </g> </svg> </div> <div class="date"><phx-date-picker #fromTimeField [dataParent]="this"></phx-date-picker></div> <div> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> to </div> </div> </div> <div class="date"><phx-date-picker #toTimeField [dataParent]="this"></phx-date-picker></div> </div> </div> </div> </div> <div class="body"> <div class="wrapper"> <table class="table table-striped"> <tbody> <tr><td colspan="6"></td></tr> <tr><td colspan="6"></td></tr> <tr *ngFor="let item of _getDataRecords(); let i = index" [class.selected]="_isSelectedVersion(item)"> <td class="highlight">{{item._lang}}</td> <td class="highlight">{{_getDateString(item._versionCreated)}}</td> <td class="highlight">{{_getTimeString(item._versionCreated)}}</td> <td>Version: {{item._version}}</td> <td>By Admin</td> <td> <div *ngIf="!_isCurrentVersion(item)"> <a *ngIf="!_isSelectedVersion(item)" (click)="onRevertClicked($event, item)">Revert</a> <div *ngIf="_isSelectedVersion(item)" (click)="onRevertClicked($event, item)"><div class="heavy-check-mark"></div></div> </div> <div *ngIf="_isCurrentVersion(item)" class="current">Current</div> </td> </tr> </tbody> </table> </div> </div> </div> ` },] }, ]; /** @nocollapse */ VersionHistory.ctorParameters = () => [ { type: PhloxAppInfoService, }, { type: ElementRef, }, ]; VersionHistory.propDecorators = { "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ 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 },], "disabled": [{ type: Input },], "help": [{ type: Input },], "beforeResultChangeEvent": [{ type: Output, args: ['phxBeforeResultChange',] },], "resultChangeEvent": [{ type: Output, args: ['phxResultChange',] },], "beforeErrorChangeEvent": [{ type: Output, args: ['phxBeforeErrorChange',] },], "errorChangeEvent": [{ type: Output, args: ['phxErrorChange',] },], "beforeButtonsChangeEvent": [{ type: Output, args: ['phxBeforeButtonsChange',] },], "buttonsChangeEvent": [{ type: Output, args: ['phxButtonsChange',] },], "fromTimeField": [{ type: ViewChild, args: ['fromTimeField',] },], "toTimeField": [{ type: ViewChild, args: ['toTimeField',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], VersionHistory.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], VersionHistory.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], VersionHistory.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "disabled", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "help", void 0); tslib_1.__decorate([ Option('beforeResultChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeResultChangeEvent", void 0); tslib_1.__decorate([ Option('resultChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "resultChangeEvent", void 0); tslib_1.__decorate([ Option('beforeErrorChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeErrorChangeEvent", void 0); tslib_1.__decorate([ Option('errorChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "errorChangeEvent", void 0); tslib_1.__decorate([ Option('beforeButtonsChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeButtonsChangeEvent", void 0); tslib_1.__decorate([ Option('buttonsChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "buttonsChangeEvent", void 0); function VersionHistory_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ VersionHistory.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ VersionHistory.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ VersionHistory.propDecorators; /** @type {?} */ VersionHistory.TYPE_NAME; /** @type {?} */ VersionHistory.prototype.dataParent; /** @type {?} */ VersionHistory.prototype.ignoreParentData; /** @type {?} */ VersionHistory.prototype.data; /** @type {?} */ VersionHistory.prototype.ignoreParentDisabled; /** @type {?} */ VersionHistory.prototype.delegateHistory; /** @type {?} */ VersionHistory.prototype.onDisabled; /** @type {?} */ VersionHistory.prototype.onEnabled; /** @type {?} */ VersionHistory.prototype.loadingEnabled; /** @type {?} */ VersionHistory.prototype.i18nKey; /** @type {?} */ VersionHistory.prototype.bypass; /** @type {?} */ VersionHistory.prototype.options; /** @type {?} */ VersionHistory.prototype.disabled; /** @type {?} */ VersionHistory.prototype.help; /** @type {?} */ VersionHistory.prototype.beforeResultChangeEvent; /** @type {?} */ VersionHistory.prototype.resultChangeEvent; /** @type {?} */ VersionHistory.prototype.beforeErrorChangeEvent; /** @type {?} */ VersionHistory.prototype.errorChangeEvent; /** @type {?} */ VersionHistory.prototype.beforeButtonsChangeEvent; /** @type {?} */ VersionHistory.prototype.buttonsChangeEvent; /** @type {?} */ VersionHistory.prototype.model; /** @type {?} */ VersionHistory.prototype.currentIndex; /** @type {?} */ VersionHistory.prototype.currentVersionData; /** @type {?} */ VersionHistory.prototype.selectedVersionData; /** @type {?} */ VersionHistory.prototype.dataRecords; /** @type {?} */ VersionHistory.prototype.editor; /** @type {?} */ VersionHistory.prototype.dropdownCompoType; /** @type {?} */ VersionHistory.prototype.dropdownComparator; /** @type {?} */ VersionHistory.prototype.defaultAscComparator; /** @type {?} */ VersionHistory.prototype.defaultDescComparator; /** @type {?} */ VersionHistory.prototype.currentDropdownIdx; /** @type {?} */ VersionHistory.prototype.orderingDropdown; /** @type {?} */ VersionHistory.prototype.fromTimeField; /** @type {?} */ VersionHistory.prototype.toTimeField; /** @type {?} */ VersionHistory.prototype.phloxAppInfo; /** @type {?} */ VersionHistory.prototype._items; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyc2lvbkhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L1ZlcnNpb25IaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFNBQVMsRUFBUSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJbkUsdUJBQU0sU0FBUyxHQUFXLHFCQUFxQixDQUFDO0FBMEhoRCxNQUFNLHFCQUFzQixTQUFRLHdCQUF3Qjs7Ozs7SUFxRjFELFlBQVksZUFBb0MsRUFBRSxVQUFzQjtRQUN0RSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJ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SztxQ0FHTCxLQUFLO2dDQUdMLEtBQUs7MkJBR0wsS0FBSzswQkFHTCxLQUFLOytCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLLFNBQUMsWUFBWTt3QkFHbEIsS0FBSzt5QkFFTCxLQUFLO3FCQUlMLEtBQUs7d0NBS0wsTUFBTSxTQUFDLHVCQUF1QjtrQ0FHOUIsTUFBTSxTQUFDLGlCQUFpQjt1Q0FHeEIsTUFBTSxTQUFDLHNCQUFzQjtpQ0FHN0IsTUFBTSxTQUFDLGdCQUFnQjt5Q0FHdkIsTUFBTSxTQUFDLHdCQUF3QjttQ0FHL0IsTUFBTSxTQUFDLGtCQUFrQjs4QkFnQnpCLFNBQVMsU0FBQyxlQUFlOzRCQUV6QixTQUFTLFNBQUMsYUFBYTs7O0lBekV2QixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7c0NBQ2EsUUFBUTs7O0lBRTdCLE1BQU0sRUFBRTtzQ0FDWSxRQUFROzs7SUFFNUIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxDQUFDLFlBQVksQ0FBQzs7OztJQUtwQixNQUFNLEVBQUU7Ozs7SUFJUixJQUFJLEVBQUU7SUFDTixNQUFNLEVBQUU7Ozs7SUFJUixNQUFNLENBQUMsb0JBQW9CLENBQUM7c0NBQ00sWUFBWTs7O0lBRTlDLE1BQU0sQ0FBQyxjQUFjLENBQUM7c0NBQ00sWUFBWTs7O0lBRXhDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFN0MsTUFBTSxDQUFDLGFBQWEsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFdkMsTUFBTSxDQUFDLHFCQUFxQixDQUFDO3NDQUNNLFlBQVk7OztJQUUvQyxNQUFNLENBQUMsZUFBZSxDQUFDO3NDQUNNLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIFR5cGUsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REaWFsb2dDb250cm9sbGVyIH0gZnJvbSAnLi9BYnN0cmFjdERpYWxvZ0NvbnRyb2xsZXInO1xuaW1wb3J0IHsgQWJzdHJhY3REYXRhRWRpdG9yIH0gZnJvbSAnLi9lZGl0b3IvQWJzdHJhY3REYXRhRWRpdG9yJztcbmltcG9ydCB7IFN0cmluZ0RhdGFWaWV3IH0gZnJvbSAnLi9kYXRhdmlldy9TdHJpbmdEYXRhVmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUhhc01vZGVsIH0gZnJvbSAnLi9JSGFzTW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50RHJvcGRvd25MaXN0IH0gZnJvbSAnLi9kYXRhdmlldy9pbnB1dC9Db21wb25lbnREcm9wZG93bkxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdGVyaWFsVGV4dEJveCB9IGZyb20gJy4uL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9NYXRlcmlhbFRleHRCb3guY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lVXRpbHMgfSBmcm9tICcuLi9zaGFyZS91dGlscy9EYXRlVGltZVV0aWxzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuL0lIYXNEYXRhJztcbmltcG9ydCB7IEJ1dHRvbk1vZGVsIH0gZnJvbSAnLi9tb2RlbC9Db21wb25lbnREaWFsb2dNb2RlbCc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICcuLi9jb21wb25lbnQvbW9kZWwvUGhsb3hBcHBJbmZvJztcbmltcG9ydCB7IERlZmF1bHRTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuL21vZGVsL0RlZmF1bHRTZWxlY3RJdGVtTW9kZWwnO1xuaW1wb3J0IHsgUGhsb3hBcHBJbmZvU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvUGhsb3hBcHBJbmZvU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tICcuL2RhdGF2aWV3L2lucHV0L0RhdGVQaWNrZXIuY29tcG9uZW50JztcblxuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwicGh4LXZlcnNpb24taGlzdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicGh4LXZlcnNpb24taGlzdG9yeVwiPlxuXHQ8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG5cdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG5cdFx0XHRcdDwhLS0gZmlyc3Qgem9uZSAtLT5cblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cImhhc01vZGVsKClcIj5cblx0XHRcdFx0XHRcdDxoMz57e2dldE1vZGVsKCkudGl0bGV9fTwvaDM+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgKm5nSWY9XCJoYXNNb2RlbCgpXCI+XG5cdFx0XHRcdFx0XHR7e2dldE1vZGVsKCkuZGVzY3JpcHRpb259fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PCEtLSBzZWNvbmQgem9uZSAtLT5cblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFiXCIgW2NsYXNzLmFjdGl2ZV09XCJfaXNBY3RpdmVUYWIoMClcIiAoY2xpY2spPVwiX3NldEFjdGl2ZVRhYkluZGV4KDApXCI+VG9kYXk8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFiXCIgW2NsYXNzLmFjdGl2ZV09XCJfaXNBY3RpdmVUYWIoMSlcIiAoY2xpY2spPVwiX3NldEFjdGl2ZVRhYkluZGV4KDEpXCI+MyBkYXlzIGFnbzwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigyKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMilcIj5hIG1vbnRoIGFnbzwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigzKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMylcIj4zIG1vbnRocyBhZ288L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuXHRcdFx0XHQ8IS0tIGZpcnN0IHpvbmUgLS0+XG5cdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInNvcnRpbmdcIj5cblx0XHRcdFx0XHRcdDxwaHgtY29tcG9uZW50LWRyb3Bkb3duICNvcmRlcmluZ0Ryb3Bkb3duIFt0eXBlXT1cIl9nZXREcm9wZG93bkNvbXBvVHlwZSgpXCIgW2l0ZW1zXT1cIl9pdGVtc1wiXG5cdFx0XHRcdFx0XHRbZGVmYXVsdElkeF09XCJfZ2V0Q3VycmVudERyb3Bkb3duSWR4KClcIiAocGh4Q2hhbmdlKT1cIm9uRHJvcGRvd25DaGFuZ2UoJGV2ZW50KVwiPjwvcGh4LWNvbXBvbmVudC1kcm9wZG93bj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwic29ydGluZy1sYWJlbFwiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXdyYXBwZXIgZmx1aWRcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWNlbGwtd3JhcHBlciBtaWRkbGVcIj5cblx0XHRcdFx0XHRcdFx0XHRTb3J0aW5nIDpcblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwhLS0gc2Vjb25kIHpvbmUgLS0+XG5cdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImxvZ29cIj5cblx0XHRcdFx0XHRcdDwhLS0gTE9HTyAtLT5cblx0XHRcdFx0XHRcdDxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiXG5cdFx0XHRcdFx0XHRcdCB2aWV3Qm94PVwiMCAwIDMwIDMwXCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwO1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgY2xhc3M9XCJjYWxlbmRhclwiPlxuXHRcdFx0XHRcdFx0XHRcdDxnPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk04LjU4NSw4LjU5OWgwLjM4NmMwLjU4NywwLDEuMDY0LTAuNDc2LDEuMDY0LTEuMDY0VjMuNTAzYzAtMC41ODctMC40NzYtMS4wNjQtMS4wNjQtMS4wNjRIOC41ODVcblx0XHRcdFx0XHRcdFx0XHRcdFx0Yy0wLjU4NywwLTEuMDY0LDAuNDc2LTEuMDY0LDEuMDY0djQuMDMzQzcuNTIyLDguMTIzLDcuOTk4LDguNTk5LDguNTg1LDguNTk5TDguNTg1LDguNTk5eiBNOC41ODUsOC41OTlcIi8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8Zz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk0yMi4yMjcsOC41NzJoMC4zODdjMC41ODcsMCwxLjA2My0wLjQ3NiwxLjA2My0xLjA2NFYzLjQ3NmMwLTAuNTg3LTAuNDc2LTEuMDYzLTEuMDYzLTEuMDYzXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aC0wLjM4N2MtMC41ODgsMC0xLjA2NCwwLjQ3Ni0xLjA2NCwxLjA2M3Y0LjAzM0MyMS4xNjMsOC4wOTYsMjEuNjQsOC41NzIsMjIuMjI3LDguNTcyTDIyLjIyNyw4LjU3MnogTTIyLjIyNyw4LjU3MlwiLz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk0yNy4yNzEsNC42aC0yLjcyOXYzLjE4N2MwLDEuMDYzLTAuODY1LDEuNjUtMS45MjgsMS42NWgtMC4zODdjLTEuMDYzLDAtMS45MjgtMC44NjUtMS45MjgtMS45Mjhcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRWNC42SDEwLjl2Mi45MzVjMCwxLjA2My0wLjg2NSwxLjkyOC0xLjkyOCwxLjkyOEg4LjU4NWMtMS4wNjMsMC0xLjkyOC0wLjg2NS0xLjkyOC0xLjkyOFY0LjZIMy43MTJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjLTAuOTUzLDAtMS43MjksMC43NzYtMS43MjksMS43Mjl2MjAuODkzYzAsMC45NTMsMC43NzYsMS43MjksMS43MjksMS43MjloMjMuNTU5YzAuOTUzLDAsMS43MjktMC43NzUsMS43MjktMS43MjlWNi4zMjlcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRDMjksNS4zNzYsMjguMjI0LDQuNiwyNy4yNzEsNC42TDI3LjI3MSw0LjZ6IE0yNy4yNzEsMjcuMjIySDMuNzEyVjExLjQ0NGgyMy41NTlsMC4wMDEsMTUuNzc4SDI3LjI3MUwyNy4yNzEsMjcuMjIyelxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCBNMjcuMjcxLDI3LjIyMlwiLz5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZz5cblx0XHRcdFx0XHRcdFx0XHRcdDxwYXRoIHN0eWxlPVwiZmlsbDojYjFiMWIxO1wiIGQ9XCJNMTYuMzg0LDE2LjczN2gzLjEwNWMwLjEyMywwLDAuMjIzLTAuMSwwLjIyMy0wLjIyM3YtMi42ODhjMC0wLjEyMy0wLjEtMC4yMjMtMC4yMjMtMC4yMjNoLTMuMTA1XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGMtMC4xMjMsMC0wLjIyMywwLjEtMC4yMjMsMC4yMjN2Mi42ODhDMTYuMTYxLDE2LjYzNywxNi4yNjEsMTYuNzM3LDE2LjM4NCwxNi43MzdMMTYuMzg0LDE2LjczN3ogTTE2LjM4NCwxNi43MzdcIi8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8cGF0aCBzdHlsZT1cImZpbGw6I2IxYjFiMTtcIiBkPVwiTTIxLjQ1MSwxNi43MzdoMy4xMDVjMC4xMjMsMCwwLjIyMy0wLjEsMC4yMjMtMC4yMjN2LTIuNjg4YzAtMC4xMjMtMC4xLTAuMjIzLTAuMjIzLTAuMjIzaC0zLjEwNVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjLTAuMTIzLDAtMC4yMjMsMC4xLTAuMjIzLDAuMjIzdjIuNjg4QzIxLjIyOCwxNi42MzcsMjEuMzI4LDE2LjczNywyMS40NTEsMTYuNzM3TDIxLjQ1MSwxNi43Mzd6IE0yMS40NTEsMTYuNzM3XCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk02LjI1MiwyMS4xMzhoMy4xMDVjMC4xMjMsMCwwLjIyMy0wLjEsMC4yMjMtMC4yMjN2LTIuNjg4YzAtMC4xMjMtMC4xLTAuMjIzLTAuMjIzLTAuMjIzSDYuMjUyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGMtMC4xMjMsMC0wLjIyMywwLjEtMC4yMjMsMC4yMjN2Mi42ODhDNi4wMjksMjEuMDM4LDYuMTI5LDIxLjEzOCw2LjI1MiwyMS4xMzhMNi4yNTIsMjEuMTM4eiBNNi4yNTIsMjEuMTM4XCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk0xMS4zMTgsMjEuMTM4aDMuMTA1YzAuMTIzLDAsMC4yMjMtMC4xLDAuMjIzLTAuMjIzdi0yLjY4OGMwLTAuMTIzLTAuMS0wLjIyMy0wLjIyMy0wLjIyM2gtMy4xMDVcblx0XHRcdFx0XHRcdFx0XHRcdFx0Yy0wLjEyMywwLTAuMjIzLDAuMS0wLjIyMywwLjIyM3YyLjY4OEMxMS4wOTUsMjEuMDM4LDExLjE5NSwyMS4xMzgsMTEuMzE4LDIxLjEzOEwxMS4zMTgsMjEuMTM4eiBNMTEuMzE4LDIxLjEzOFwiLz5cblx0XHRcdFx0XHRcdFx0XHRcdDxwYXRoIHN0eWxlPVwiZmlsbDojYjFiMWIxO1wiIGQ9XCJNMTYuMzg1LDIxLjEzOGgzLjEwNGMwLjEyMywwLDAuMjIzLTAuMSwwLjIyMy0wLjIyM3YtMi42ODhjMC0wLjEyMy0wLjEtMC4yMjMtMC4yMjMtMC4yMjNoLTMuMTA0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGMtMC4xMjMsMC0wLjIyMywwLjEtMC4yMjMsMC4yMjN2Mi42ODhDMTYuMTYxLDIxLjAzOCwxNi4yNjEsMjEuMTM4LDE2LjM4NSwyMS4xMzhMMTYuMzg1LDIxLjEzOHogTTE2LjM4NSwyMS4xMzhcIi8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8cGF0aCBzdHlsZT1cImZpbGw6I2IxYjFiMTtcIiBkPVwiTTIxLjQ1MSwyMS4xMzhoMy4xMDVjMC4xMjMsMCwwLjIyMy0wLjEsMC4yMjMtMC4yMjN2LTIuNjg4YzAtMC4xMjMtMC4xLTAuMjIzLTAuMjIzLTAuMjIzaC0zLjEwNVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjLTAuMTIzLDAtMC4yMjMsMC4xLTAuMjIzLDAuMjIzdjIuNjg4QzIxLjIyOCwyMS4wMzgsMjEuMzI4LDIxLjEzOCwyMS40NTEsMjEuMTM4TDIxLjQ1MSwyMS4xMzh6IE0yMS40NTEsMjEuMTM4XCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk05LjM1NiwyMi40MDVINi4yNTJjLTAuMTIzLDAtMC4yMjMsMC4xLTAuMjIzLDAuMjIzdjIuNjg4YzAsMC4xMjMsMC4xLDAuMjIzLDAuMjIzLDAuMjIzaDMuMTA1XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGMwLjEyMywwLDAuMjIzLTAuMSwwLjIyMy0wLjIyM3YtMi42ODhDOS41NzksMjIuNTA1LDkuNDc5LDIyLjQwNSw5LjM1NiwyMi40MDVMOS4zNTYsMjIuNDA1eiBNOS4zNTYsMjIuNDA1XCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5b