/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ViewChild, Input } from '@angular/core'; import { AppConfigService } from '../app-config/app-config.service'; import { DxDataGridComponent } from 'devextreme-angular'; import { Request } from '../_services/request.service'; import { Common } from '../_services/common.service'; import { ModalStepViewComponent } from '../modal-step-view/modal-step-view.component'; import { ModalDirective } from 'ngx-bootstrap'; import { FormBuilder, FormControl, Validators } from '@angular/forms'; import { B2bService } from '../_services/b2b.service'; var SentListComponent = /** @class */ (function () { // downloadToken:any; function SentListComponent(appConfigService, request, common, formBuilder, b2b) { this.appConfigService = appConfigService; this.request = request; this.common = common; this.formBuilder = formBuilder; this.b2b = b2b; this.mode = 'CREATE'; this.sentList = []; this.dxgridPageSize = 10; this.allowedPageSizes1 = 10; this.allowedPageSizes2 = 25; this.allowedPageSizes3 = 50; this.allowedPageSizes4 = 100; this.customers = []; this.lastStep = ''; this.recieveData = {}; this.submittedRecieve = false; this.config = appConfigService.getConfig(); } /** * @return {?} */ SentListComponent.prototype.ngOnInit = /** * @return {?} */ function () { // if(this.mode === "EDIT"){ // setTimeout(async ()=>{ // this.downloadToken = await this.b2b.getAttachmentToken(); // },500) this.getSentList(); this.recieveForm = this.formBuilder.group({ book_no: ['', [Validators.required]], recv_date: new FormControl(''), }); // } }; /** * @return {?} */ SentListComponent.prototype.fr = /** * @return {?} */ function () { return this.recieveForm.controls; }; /** * @return {?} */ SentListComponent.prototype.getSentList = /** * @return {?} */ function () { return tslib_1.__awaiter(this, void 0, void 0, function () { var sentData, filter, data; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: console.log('getSentList', this.sentList); sentData = this.option.data; filter = { filter: { ref_table: sentData.ref_table, ref_id: sentData.ref_id }, order_by: ["is_important", "send_book_no", "created_at"] }; return [4 /*yield*/, this.request.post('/search/v_ct_step_sent', filter)]; case 1: data = _a.sent(); this.sentList = data.resultData; console.log('getSentList', this.sentList); return [2 /*return*/]; } }); }); }; /** * @param {?} data * @return {?} */ SentListComponent.prototype.getRowIndex = /** * @param {?} data * @return {?} */ function (data) { if (!data.data) { return ''; } /** @type {?} */ var page = this.dxDataGridSentList.instance.option('paging.pageIndex') || 0; /** @type {?} */ var pageSize = this.dxDataGridSentList.instance.option('paging.pageSize'); /** @type {?} */ var no = data.row.dataIndex + 1; return page * pageSize + no; }; /** * @param {?} data * @return {?} */ SentListComponent.prototype.editRecieve = /** * @param {?} data * @return {?} */ function (data) { console.log('data', data); this.tmpData = data; this.recieveModal.show(); }; /** * @return {?} */ SentListComponent.prototype.closeRecieveModal = /** * @return {?} */ function () { this.submittedRecieve = false; this.recieveData = {}; this.tmpData = {}; this.recieveModal.hide(); }; /** * @return {?} */ SentListComponent.prototype.onSubmitRecieve = /** * @return {?} */ function () { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: this.submittedRecieve = true; // ถ้า form ไม่ครบหรือผิดตามเงื่อนไขที่ตั้งไว้จะจบที่ตรงนี้ if (this.recieveForm.invalid) { return [2 /*return*/]; } console.log('tmpData', this.tmpData); this.recieveData.name = this.tmpData.name; if (this.tmpData.ct_main_id) this.recieveData.ct_main_id = this.tmpData.ct_main_id; if (this.tmpData.ct_send_id) this.recieveData.ct_send_id = this.tmpData.ct_send_id; if (this.tmpData.ct_step_data_id) this.recieveData.ct_step_data_id = this.tmpData.ct_step_data_id; console.log('recieveData', this.recieveData); return [4 /*yield*/, this.request.post("/db/ct_recieve", this.recieveData)]; case 1: _a.sent(); this.getSentList(); this.closeRecieveModal(); return [2 /*return*/]; } }); }); }; /** * @param {?} data * @return {?} */ SentListComponent.prototype.isImportant = /** * @param {?} data * @return {?} */ function (data) { return data.is_important ? "สำคัญ" : ""; }; /** * @param {?} e * @return {?} */ SentListComponent.prototype.onCellPrepared = /** * @param {?} e * @return {?} */ function (e) { if (e.rowType === 'data') { e.cellElement.accessKey = e.column.caption; } }; SentListComponent.decorators = [ { type: Component, args: [{ selector: 'soc-sent-list', template: "\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{getRowIndex(data)}}\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
First Name is required
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n" }] } ]; /** @nocollapse */ SentListComponent.ctorParameters = function () { return [ { type: AppConfigService }, { type: Request }, { type: Common }, { type: FormBuilder }, { type: B2bService } ]; }; SentListComponent.propDecorators = { mode: [{ type: Input }], option: [{ type: Input }], dxDataGridSentList: [{ type: ViewChild, args: ['dxDataGridSentList',] }], modalStepView: [{ type: ViewChild, args: ['modalStepView',] }], recieveModal: [{ type: ViewChild, args: ['recieveModal',] }] }; return SentListComponent; }()); export { SentListComponent }; if (false) { /** @type {?} */ SentListComponent.prototype.mode; /** @type {?} */ SentListComponent.prototype.option; /** @type {?} */ SentListComponent.prototype.dxDataGridSentList; /** @type {?} */ SentListComponent.prototype.modalStepView; /** @type {?} */ SentListComponent.prototype.recieveModal; /** @type {?} */ SentListComponent.prototype.sentList; /** @type {?} */ SentListComponent.prototype.th; /** @type {?} */ SentListComponent.prototype.dxgridPageSize; /** @type {?} */ SentListComponent.prototype.allowedPageSizes1; /** @type {?} */ SentListComponent.prototype.allowedPageSizes2; /** @type {?} */ SentListComponent.prototype.allowedPageSizes3; /** @type {?} */ SentListComponent.prototype.allowedPageSizes4; /** @type {?} */ SentListComponent.prototype.customers; /** @type {?} */ SentListComponent.prototype.url; /** @type {?} */ SentListComponent.prototype.lastStep; /** @type {?} */ SentListComponent.prototype.config; /** @type {?} */ SentListComponent.prototype.recieveData; /** @type {?} */ SentListComponent.prototype.tmpData; /** @type {?} */ SentListComponent.prototype.submittedRecieve; /** @type {?} */ SentListComponent.prototype.recieveForm; /** @type {?} */ SentListComponent.prototype.appConfigService; /** @type {?} */ SentListComponent.prototype.request; /** @type {?} */ SentListComponent.prototype.common; /** @type {?} */ SentListComponent.prototype.formBuilder; /** @type {?} */ SentListComponent.prototype.b2b; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3NvYy1hcHAtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9zZW50LWxpc3Qvc2VudC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXlCLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0lBZ0NoRCxxQkFBcUI7SUFDckIsMkJBQ1ksa0JBQ0EsU0FDRCxRQUNDLGFBQ0E7UUFKQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCO1FBQ2hCLFlBQU8sR0FBUCxPQUFPO1FBQ1IsV0FBTSxHQUFOLE1BQU07UUFDTCxnQkFBVyxHQUFYLFdBQVc7UUFDWCxRQUFHLEdBQUgsR0FBRztvQkE5QnlCLFFBQVE7d0JBU2hDLEVBQUU7OEJBRUQsRUFBRTtpQ0FDQyxFQUFFO2lDQUNGLEVBQUU7aUNBQ0YsRUFBRTtpQ0FDRixHQUFHO3lCQUNYLEVBQUU7d0JBRUgsRUFBRTsyQkFFSyxFQUFFO2dDQUVELEtBQUs7UUFTcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFB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QUVmLE9BQU87Z0JBQ1IsTUFBTTtnQkFHTixXQUFXO2dCQUVYLFVBQVU7Ozt1QkFRYixLQUFLO3lCQUNMLEtBQUs7cUNBQ0wsU0FBUyxTQUFDLG9CQUFvQjtnQ0FJOUIsU0FBUyxTQUFDLGVBQWU7K0JBRXpCLFNBQVMsU0FBQyxjQUFjOzs0QkExQjdCOztTQWdCYSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxTdGVwQ29tcG9uZW50fSBmcm9tICcuLi9tb2RhbC1zdGVwL21vZGFsLXN0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7QXBwQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtEeERhdGFHcmlkQ29tcG9uZW50fSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJy4uL19zZXJ2aWNlcy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtDb21tb259IGZyb20gJy4uL19zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQge01vZGFsU3RlcFZpZXdDb21wb25lbnR9IGZyb20gJy4uL21vZGFsLXN0ZXAtdmlldy9tb2RhbC1zdGVwLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7TW9kYWxEaXJlY3RpdmV9IGZyb20gJ25neC1ib290c3RyYXAnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgQWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0N1c3RvbVZhbGlkYXRvcnN9IGZyb20gJ25nMi12YWxpZGF0aW9uJztcbmltcG9ydCB7QjJiU2VydmljZX0gZnJvbSAnLi4vX3NlcnZpY2VzL2IyYi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc29jLXNlbnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZW50LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlbnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIG1vZGU6ICdDUkVBVEUnfCdFRElUJ3wnVklFVycgPSAnQ1JFQVRFJztcbiAgICBASW5wdXQoKSBvcHRpb246IGFueTtcbiAgICBAVmlld0NoaWxkKCdkeERhdGFHcmlkU2VudExpc3QnKVxuICAgIGR4RGF0YUdyaWRTZW50TGlzdDogRHhEYXRhR3JpZENvbXBvbmVudDtcbiAgICAvLyBAVmlld0NoaWxkKCdtb2RhbFN0ZXAnKVxuICAgIC8vIG1vZGFsU3RlcDogTW9kYWxTdGVwQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ21vZGFsU3RlcFZpZXcnKVxuICAgIG1vZGFsU3RlcFZpZXc6IE1vZGFsU3RlcFZpZXdDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgncmVjaWV2ZU1vZGFsJykgcmVjaWV2ZU1vZGFsOiBNb2RhbERpcmVjdGl2ZTtcbiAgICBzZW50TGlzdDogYW55ID0gW107XG4gICAgdGg7XG4gICAgZHhncmlkUGFnZVNpemUgPSAxMDtcbiAgICBhbGxvd2VkUGFnZVNpemVzMSA9IDEwO1xuICAgIGFsbG93ZWRQYWdlU2l6ZXMyID0gMjU7XG4gICAgYWxsb3dlZFBhZ2VTaXplczMgPSA1MDtcbiAgICBhbGxvd2VkUGFnZVNpemVzNCA9IDEwMDtcbiAgICBjdXN0b21lcnMgPSBbXTtcbiAgICB1cmw7XG4gICAgbGFzdFN0ZXAgPSAnJztcbiAgICBjb25maWc6IGFueTtcbiAgICByZWNpZXZlRGF0YTphbnkgPSB7fTtcbiAgICB0bXBEYXRhOmFueTtcbiAgICBzdWJtaXR0ZWRSZWNpZXZlID0gZmFsc2U7XG4gICAgcmVjaWV2ZUZvcm06IEZvcm1Hcm91cDtcbiAgICAvLyBkb3dubG9hZFRva2VuOmFueTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlcXVlc3Q6IFJlcXVlc3QsXG4gICAgICAgIHB1YmxpYyBjb21tb246IENvbW1vbixcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgYjJiOkIyYlNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBhcHBDb25maWdTZXJ2aWNlLmdldENvbmZpZygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBpZih0aGlzLm1vZGUgPT09IFwiRURJVFwiKXtcbiAgICAgICAgLy8gc2V0VGltZW91dChhc3luYyAoKT0+e1xuICAgICAgICAvLyAgICAgdGhpcy5kb3dubG9hZFRva2VuID0gYXdhaXQgdGhpcy5iMmIuZ2V0QXR0YWNobWVudFRva2VuKCk7XG4gICAgICAgIC8vIH0sNTAwKVxuICAgICAgICB0aGlzLmdldFNlbnRMaXN0KCk7XG4gICAgICAgIHRoaXMucmVjaWV2ZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGJvb2tfbm86IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgICAgIHJlY3ZfZGF0ZTogIG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICAgIH0pO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgZnIoKSB7IHJldHVybiB0aGlzLnJlY2lldmVGb3JtLmNvbnRyb2xzOyB9XG5cbiAgICBhc3luYyBnZXRTZW50TGlzdCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2dldFNlbnRMaXN0Jyx0aGlzLnNlbnRMaXN0KTtcbiAgICAgICAgbGV0IHNlbnREYXRhID0gdGhpcy5vcHRpb24uZGF0YTtcbiAgICAgICAgbGV0IGZpbHRlciA9IHtcbiAgICAgICAgICAgIGZpbHRlciA6IHtcbiAgICAgICAgICAgICAgICByZWZfdGFibGUgOiBzZW50RGF0YS5yZWZfdGFibGUsXG4gICAgICAgICAgICAgICAgcmVmX2lkIDogc2VudERhdGEucmVmX2lkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JkZXJfYnk6W1wiaXNfaW1wb3J0YW50XCIsXCJzZW5kX2Jvb2tfbm9cIixcImNyZWF0ZWRfYXRcIl1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5yZXF1ZXN0LnBvc3QoJy9zZWFyY2gvdl9jdF9zdGVwX3NlbnQnLGZpbHRlcik7XG4gICAgICAgIHRoaXMuc2VudExpc3QgPSBkYXRhLnJlc3VsdERhdGE7XG4gICAgICAgIGNvbnNvbGUubG9nKCdnZXRTZW50TGlzdCcsdGhpcy5zZW50TGlzdCk7XG4gICAgfVxuXG4gICAgZ2V0Um93SW5kZXgoZGF0YSkge1xuICAgICAgICBpZiAoIWRhdGEuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLmR4RGF0YUdyaWRTZW50TGlzdC5pbnN0YW5jZS5vcHRpb24oJ3BhZ2luZy5wYWdlSW5kZXgnKSB8fCAwO1xuICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IHRoaXMuZHhEYXRhR3JpZFNlbnRMaXN0Lmluc3RhbmNlLm9wdGlvbigncGFnaW5nLnBhZ2VTaXplJyk7XG4gICAgICAgIGNvbnN0IG5vID0gZGF0YS5yb3cuZGF0YUluZGV4ICsgMTtcbiAgICAgICAgcmV0dXJuIHBhZ2UgKiBwYWdlU2l6ZSArIG5vO1xuICAgIH1cblxuICAgIGVkaXRSZWNpZXZlKGRhdGEpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2RhdGEnLGRhdGEpO1xuICAgICAgICB0aGlzLnRtcERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnJlY2lldmVNb2RhbC5zaG93KCk7XG4gICAgfVxuXG4gICAgY2xvc2VSZWNpZXZlTW9kYWwoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkUmVjaWV2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlY2lldmVEYXRhID0ge307XG4gICAgICAgIHRoaXMudG1wRGF0YSA9IHt9O1xuICAgICAgICB0aGlzLnJlY2lldmVNb2RhbC5oaWRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25TdWJtaXRSZWNpZXZlKCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZFJlY2lldmUgPSB0cnVlO1xuXG4gICAgICAgIC8vIOC4luC5ieC4siBmb3JtIOC5hOC4oeC5iOC4hOC4o+C4muC4q+C4o+C4t+C4reC4nOC4tOC4lOC4leC4suC4oeC5gOC4h+C4t+C5iOC4reC4meC5hOC4guC4l+C4teC5iOC4leC4seC5ieC4h+C5hOC4p+C5ieC4iOC4sOC4iOC4muC4l+C4teC5iOC4leC4o+C4h+C4meC4teC5iVxuICAgICAgICBpZiAodGhpcy5yZWNpZXZlRm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ3RtcERhdGEnLHRoaXMudG1wRGF0YSk7XG4gICAgICAgIHRoaXMucmVjaWV2ZURhdGEubmFtZSA9IHRoaXMudG1wRGF0YS5uYW1lO1xuICAgICAgICBpZih0aGlzLnRtcERhdGEuY3RfbWFpbl9pZCkgdGhpcy5yZWNpZXZlRGF0YS5jdF9tYWluX2lkID0gdGhpcy50bXBEYXRhLmN0X21haW5faWQ7XG4gICAgICAgIGlmKHRoaXMudG1wRGF0YS5jdF9zZW5kX2lkKSB0aGlzLnJlY2lldmVEYXRhLmN0X3NlbmRfaWQgPSB0aGlzLnRtcERhdGEuY3Rfc2VuZF9pZDtcbiAgICAgICAgaWYodGhpcy50bXBEYXRhLmN0X3N0ZXBfZGF0YV9pZCkgdGhpcy5yZWNpZXZlRGF0YS5jdF9zdGVwX2RhdGFfaWQgPSB0aGlzLnRtcERhdGEuY3Rfc3RlcF9kYXRhX2lkO1xuICAgICAgICBjb25zb2xlLmxvZygncmVjaWV2ZURhdGEnLHRoaXMucmVjaWV2ZURhdGEpO1xuICAgICAgICBhd2FpdCB0aGlzLnJlcXVlc3QucG9zdChcIi9kYi9jdF9yZWNpZXZlXCIsdGhpcy5yZWNpZXZlRGF0YSk7XG4gICAgICAgIHRoaXMuZ2V0U2VudExpc3QoKTtcbiAgICAgICAgdGhpcy5jbG9zZVJlY2lldmVNb2RhbCgpO1xuICAgIH1cbiAgICBpc0ltcG9ydGFudChkYXRhKXtcbiAgICAgICAgcmV0dXJuIGRhdGEuaXNfaW1wb3J0YW50P1wi4Liq4Liz4LiE4Lix4LiNXCI6XCJcIjtcbiAgICB9XG5cbiAgICBvbkNlbGxQcmVwYXJlZChlKSB7XG4gICAgICAgIGlmIChlLnJvd1R5cGUgPT09ICdkYXRhJykge1xuICAgICAgICAgICAgZS5jZWxsRWxlbWVudC5hY2Nlc3NLZXkgPSBlLmNvbHVtbi5jYXB0aW9uO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19