tnx-shared 5.2.20 → 5.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-context/component-context.service.d.ts.map +1 -1
- package/classes/base/component-base.d.ts +1 -1
- package/classes/public-function.d.ts +3 -2
- package/classes/public-function.d.ts.map +1 -1
- package/components/chat/chat-box/chat-box.component.d.ts +1 -1
- package/components/dropdown/services/dropdown.service.d.ts.map +1 -1
- package/components/file-explorer/services/file-explorer-new.service.d.ts.map +1 -1
- package/components/file-explorer/services/file-explorer.service.d.ts.map +1 -1
- package/components/file-explorer/services/file-version.service.d.ts.map +1 -1
- package/components/file-explorer/services/folder.service.d.ts.map +1 -1
- package/components/file-explorer/services/ky-so-sim-signPDF.service.d.ts.map +1 -1
- package/components/file-explorer/services/my-drive.service.d.ts.map +1 -1
- package/components/tn-app-help/services/path-name.service.d.ts.map +1 -1
- package/congviec/congviec/services/congviec-dinhkem.service.d.ts.map +1 -1
- package/esm2020/app-context/component-context.service.mjs +4 -5
- package/esm2020/classes/base/component-base.mjs +2 -2
- package/esm2020/components/common-app-component/common-app-component.mjs +2 -2
- package/esm2020/components/crud/crud-form/crud-form.component.mjs +1 -1
- package/esm2020/components/dropdown/services/dropdown.service.mjs +5 -5
- package/esm2020/components/file-explorer/file-ky-so-sim/file-ky-so-sim.component.mjs +1 -1
- package/esm2020/components/file-explorer/file-manager/file-manager.component.mjs +2 -2
- package/esm2020/components/file-explorer/file-viewer/file-viewer.component.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-explorer-new.service.mjs +39 -40
- package/esm2020/components/file-explorer/services/file-explorer.service.mjs +48 -51
- package/esm2020/components/file-explorer/services/file-version.service.mjs +5 -4
- package/esm2020/components/file-explorer/services/folder.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/ky-so-sim-signPDF.service.mjs +3 -2
- package/esm2020/components/file-explorer/services/my-drive.service.mjs +34 -34
- package/esm2020/components/mask/mask.component.mjs +1 -1
- package/esm2020/components/number-picker-range/number-picker-range.component.mjs +1 -1
- package/esm2020/components/tn-app-help/services/path-name.service.mjs +4 -3
- package/esm2020/components/tn-tinymce/tn-tinymce.component.mjs +2 -2
- package/esm2020/components/user-picker/user-picker-box/user-picker-box.component.mjs +1 -1
- package/esm2020/components/workflow/workflow-history-new/workflow-history-new.component.mjs +1 -1
- package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow.component.mjs +1 -1
- package/esm2020/congviec/congviec/services/congviec-dinhkem.service.mjs +5 -4
- package/esm2020/services/article.service.mjs +10 -13
- package/esm2020/services/base.service.mjs +36 -41
- package/esm2020/services/custom-router.service.mjs +4 -5
- package/esm2020/services/entity-picker.service.mjs +4 -3
- package/esm2020/services/file-object-v4.service.mjs +5 -7
- package/esm2020/services/high-performance.service.mjs +4 -3
- package/esm2020/services/master-data.service.mjs +23 -30
- package/esm2020/services/organization.service.mjs +18 -23
- package/esm2020/services/template-v4.service.mjs +3 -2
- package/esm2020/services/template.service.mjs +19 -27
- package/esm2020/services/templateinstance.service.mjs +22 -31
- package/esm2020/services/tn-client.service.mjs +3 -3
- package/esm2020/services/unique-number.service.mjs +4 -3
- package/esm2020/services/user-v5.service.mjs +31 -39
- package/esm2020/services/user.service.mjs +32 -40
- package/fesm2015/tnx-shared.mjs +334 -409
- package/fesm2015/tnx-shared.mjs.map +1 -1
- package/fesm2020/tnx-shared.mjs +334 -409
- package/fesm2020/tnx-shared.mjs.map +1 -1
- package/package.json +2 -2
- package/services/article.service.d.ts.map +1 -1
- package/services/base.service.d.ts.map +1 -1
- package/services/common.service.d.ts +2 -2
- package/services/custom-router.service.d.ts.map +1 -1
- package/services/entity-picker.service.d.ts.map +1 -1
- package/services/file-object-v4.service.d.ts.map +1 -1
- package/services/high-performance.service.d.ts.map +1 -1
- package/services/master-data.service.d.ts.map +1 -1
- package/services/organization.service.d.ts.map +1 -1
- package/services/template-v4.service.d.ts.map +1 -1
- package/services/template.service.d.ts.map +1 -1
- package/services/templateinstance.service.d.ts.map +1 -1
- package/services/unique-number.service.d.ts.map +1 -1
- package/services/user-v5.service.d.ts.map +1 -1
- package/services/user.service.d.ts.map +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as FileSaver from 'file-saver';
|
|
3
|
+
import { firstValueFrom } from 'rxjs';
|
|
3
4
|
import { TemplateConstant } from '../configs/component-contants';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "./environment.service";
|
|
@@ -23,7 +24,7 @@ export class TemplateService {
|
|
|
23
24
|
}
|
|
24
25
|
laTexToBase64Image(laTex, font = 54) {
|
|
25
26
|
const api = `${this.serviceUri}/LatexToBase64`;
|
|
26
|
-
return this._httpClient.post(api, { laTex, font })
|
|
27
|
+
return firstValueFrom(this._httpClient.post(api, { laTex, font }));
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Description: Xuất file sử dụng thư viện CX, xuất xong tự động mở popup để lưu file.
|
|
@@ -31,9 +32,8 @@ export class TemplateService {
|
|
|
31
32
|
exportCxExcelByCode(model) {
|
|
32
33
|
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
33
34
|
this.setFileInfo(model);
|
|
34
|
-
return this._httpClient
|
|
35
|
-
.post(url, model, { responseType: 'blob' })
|
|
36
|
-
.toPromise()
|
|
35
|
+
return firstValueFrom(this._httpClient
|
|
36
|
+
.post(url, model, { responseType: 'blob' }))
|
|
37
37
|
.then(res => {
|
|
38
38
|
FileSaver.saveAs(res, this.getFullFileName(model.fileName || model.code));
|
|
39
39
|
}).catch(async (err) => {
|
|
@@ -44,9 +44,8 @@ export class TemplateService {
|
|
|
44
44
|
exportManyCxExcelByCode(model) {
|
|
45
45
|
const url = `${this.serviceUri}/ExportManyCxExcelByCode`;
|
|
46
46
|
this.setManyFileInfo(model);
|
|
47
|
-
return this._httpClient
|
|
48
|
-
.post(url, model)
|
|
49
|
-
.toPromise()
|
|
47
|
+
return firstValueFrom(this._httpClient
|
|
48
|
+
.post(url, model))
|
|
50
49
|
.then(res => {
|
|
51
50
|
if (res.success) {
|
|
52
51
|
this._fileService.downloadFolder(res.data.folderId);
|
|
@@ -72,8 +71,7 @@ export class TemplateService {
|
|
|
72
71
|
*/
|
|
73
72
|
async ExportCxExcelByCodeWithSignalR(model) {
|
|
74
73
|
const url = `${this.serviceUri}/ExportCxExcelByCodeWithSignalR`;
|
|
75
|
-
return this._httpClient.post(url, model)
|
|
76
|
-
.toPromise();
|
|
74
|
+
return firstValueFrom(this._httpClient.post(url, model));
|
|
77
75
|
}
|
|
78
76
|
/**
|
|
79
77
|
* Description: Export sử dung ClosedXml.Report (Cx) với HighPerformanceService, sử dụng cho file dữ liệu lớn.
|
|
@@ -86,20 +84,17 @@ export class TemplateService {
|
|
|
86
84
|
*/
|
|
87
85
|
async ExportCxExcelByCodeWithHPS(model) {
|
|
88
86
|
const url = `${this.serviceUri}/ExportWithHighPerformanceService`;
|
|
89
|
-
return this._httpClient.post(url, model)
|
|
90
|
-
.toPromise();
|
|
87
|
+
return firstValueFrom(this._httpClient.post(url, model));
|
|
91
88
|
}
|
|
92
89
|
async exportCxExcelByCodePromise(model) {
|
|
93
90
|
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
94
|
-
return this._httpClient
|
|
95
|
-
.post(url, model, { responseType: 'blob' })
|
|
96
|
-
.toPromise();
|
|
91
|
+
return firstValueFrom(this._httpClient
|
|
92
|
+
.post(url, model, { responseType: 'blob' }));
|
|
97
93
|
}
|
|
98
94
|
fillTemplateByCodeAndGetPdf(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
99
95
|
const url = `${this.serviceUri}/fillWordByTemplateCode/${templateCode}?isPrint=true`;
|
|
100
|
-
return this._httpClient
|
|
101
|
-
.post(url, data)
|
|
102
|
-
.toPromise().then(res => {
|
|
96
|
+
return firstValueFrom(this._httpClient
|
|
97
|
+
.post(url, data)).then(res => {
|
|
103
98
|
if (res.data) {
|
|
104
99
|
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
105
100
|
}
|
|
@@ -107,9 +102,8 @@ export class TemplateService {
|
|
|
107
102
|
}
|
|
108
103
|
fillWordByTemplateCodeMultiData(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
109
104
|
const url = `${this.serviceUri}/fillWordByTemplateCodeMultiData/${templateCode}?isPrint=true`;
|
|
110
|
-
return this._httpClient
|
|
111
|
-
.post(url, data)
|
|
112
|
-
.toPromise().then(res => {
|
|
105
|
+
return firstValueFrom(this._httpClient
|
|
106
|
+
.post(url, data)).then(res => {
|
|
113
107
|
if (res.data) {
|
|
114
108
|
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
115
109
|
}
|
|
@@ -134,9 +128,8 @@ export class TemplateService {
|
|
|
134
128
|
*/
|
|
135
129
|
exportCxExcel(model) {
|
|
136
130
|
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
137
|
-
return this._httpClient
|
|
138
|
-
.post(url, model, { responseType: 'blob' })
|
|
139
|
-
.toPromise()
|
|
131
|
+
return firstValueFrom(this._httpClient
|
|
132
|
+
.post(url, model, { responseType: 'blob' }))
|
|
140
133
|
.then(res => {
|
|
141
134
|
FileSaver.saveAs(res, this.getFullFileName(model.fileName || 'Export'));
|
|
142
135
|
}).catch(async (err) => {
|
|
@@ -146,9 +139,8 @@ export class TemplateService {
|
|
|
146
139
|
}
|
|
147
140
|
async exportCxExcelPromise(model) {
|
|
148
141
|
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
149
|
-
return this._httpClient
|
|
150
|
-
.post(url, model, { responseType: 'blob' })
|
|
151
|
-
.toPromise();
|
|
142
|
+
return firstValueFrom(this._httpClient
|
|
143
|
+
.post(url, model, { responseType: 'blob' }));
|
|
152
144
|
}
|
|
153
145
|
}
|
|
154
146
|
TemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: TemplateService, deps: [{ token: i1.EnvironmentService }, { token: i2.HttpClient }, { token: i3.PrintService }, { token: i4.FileExplorerService }, { token: i5.NotifierService }, { token: i6.CrudService }, { token: i7.CommonService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -159,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
159
151
|
providedIn: 'root'
|
|
160
152
|
}]
|
|
161
153
|
}], ctorParameters: function () { return [{ type: i1.EnvironmentService }, { type: i2.HttpClient }, { type: i3.PrintService }, { type: i4.FileExplorerService }, { type: i5.NotifierService }, { type: i6.CrudService }, { type: i7.CommonService }]; } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUV4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0FBYWpFLE1BQU0sT0FBTyxlQUFlO0lBSXhCLFlBQ0ksbUJBQXVDLEVBQy9CLFdBQXVCLEVBQ3ZCLGFBQTJCLEVBQ3pCLFlBQWlDLEVBQ2pDLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QjtRQUwvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQVIzQyxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQVVyQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFO1FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBaUIsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUks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TUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQWlDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLENBQUM7UUFFL0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFnQixFQUFFLENBQUM7YUFDcEQsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7NEdBdktRLGVBQWU7Z0hBQWYsZUFBZSxjQUZaLE1BQU07MkZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgRmlsZUV4cGxvcmVyU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWV4cGxvcmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbnN0YW50IH0gZnJvbSAnLi4vY29uZmlncy9jb21wb25lbnQtY29udGFudHMnO1xyXG5pbXBvcnQgeyBFeHBvcnRNYW55TW9kZWwsIEV4cG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC1maWxlLWluZm8nO1xyXG5pbXBvcnQgeyBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQtd2l0aG91dC10ZW1wbGF0ZSc7XHJcbmltcG9ydCB7IFJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vbW9kZWxzL3Jlc3BvbnNlLXJlc3VsdCc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4vbm90aWZpZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4vcHJpbnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlU2VydmljZSB7XHJcbiAgICByZWFkb25seSBzZXJ2aWNlVXJpOiBzdHJpbmc7XHJcbiAgICBlbmRQb2ludDogc3RyaW5nO1xyXG4gICAgc2VydmljZUNvZGUgPSAndGVtcGxhdGUnO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgX2Vudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9maWxlU2VydmljZTogRmlsZUV4cGxvcmVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY3J1ZFNlcnZpY2U6IENydWRTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5lbmRQb2ludCA9IF9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0SHR0cFNlcnZpY2VFbmRwb2ludFdpdGhWZXJzaW9uKHRoaXMuc2VydmljZUNvZGUpO1xyXG4gICAgICAgIHRoaXMuc2VydmljZVVyaSA9IGAke3RoaXMuZW5kUG9pbnR9L3RlbXBsYXRlYDtcclxuICAgIH1cclxuXHJcbiAgICBsYVRleFRvQmFzZTY0SW1hZ2UobGFUZXg6IHN0cmluZywgZm9udDogbnVtYmVyID0gNTQpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgYXBpID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9MYXRleFRvQmFzZTY0YDtcclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PFJlc3BvbnNlUmVzdWx0PihhcGksIHsgbGFUZXgsIGZvbnQgfSkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXNjcmlwdGlvbjogWHXhuqV0IGZpbGUgc+G7rSBk4bulbmcgdGjGsCB2aeG7h24gQ1gsIHh14bqldCB4b25nIHThu7EgxJHhu5luZyBt4bufIHBvcHVwIMSR4buDIGzGsHUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgZXhwb3J0Q3hFeGNlbEJ5Q29kZShtb2RlbDogRXhwb3J0TW9kZWwpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVgO1xyXG4gICAgICAgIHRoaXMuc2V0RmlsZUluZm8obW9kZWwpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMocmVzLCB0aGlzLmdldEZ1bGxGaWxlTmFtZShtb2RlbC5maWxlTmFtZSB8fCBtb2RlbC5jb2RlKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0TWFueUN4RXhjZWxCeUNvZGUobW9kZWw6IEV4cG9ydE1hbnlNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0TWFueUN4RXhjZWxCeUNvZGVgO1xyXG4gICAgICAgIHRoaXMuc2V0TWFueUZpbGVJbmZvKG1vZGVsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsZVNlcnZpY2UuZG93bmxvYWRGb2xkZXIocmVzLmRhdGEuZm9sZGVySWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UocmVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkuY2F0Y2goYXN5bmMgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yVGV4dCA9IGF3YWl0IGVyci5lcnJvci50ZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShKU09OLnBhcnNlKGVycm9yVGV4dCB8fCAnJykpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGdWxsRmlsZU5hbWUoZmlsZU5hbWUsIGV4dGVuc2lvbiA9IFRlbXBsYXRlQ29uc3RhbnQuRVhDRUxfRVhURU5TSU9OKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfSR7ZXh0ZW5zaW9ufWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXNjcmlwdGlvbjogRXhwb3J0IHPhu60gZHVuZyBDbG9zZWRYbWwuUmVwb3J0IChDeCkgduG7m2kgc2lnbmFsUiwgc+G7rSBk4bulbmcgY2hvIGZpbGUgZOG7ryBsaeG7h3UgbOG7m24uXHJcbiAgICAgKiBQYXJhbTogbW9kZWwgY2jhu6lhXHJcbiAgICAgKiAgLSBjb2RlIDogIGNvZGUgY+G7p2EgdGVtcGxhdGUgY+G6pXUgaMOsbmggYsOqbiBRdeG6o24gdHLhu4sgPiBCaeG7g3UgbeG6q3UgPiBCaeG7g3UgbeG6q3UgZXhjZWwuXHJcbiAgICAgKiAgLSBkYXRhIDogb2JqZWN0IGNo4bupYSBk4buvIGxp4buHdSDEkcOjIGNodXnhu4FuIHRow6BuaCBk4bqhbmcganNvbi5cclxuICAgICAqICAtIGZpbGVOYW1lOiB0w6puIGZpbGUgc2F1IGtoaSBleHBvcnQuXHJcbiAgICAgKiAgLSB0b3BpYzogZ3VpZCBkw7luZyDEkeG7gyBzdWJzY3JpYmUuXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIEV4cG9ydEN4RXhjZWxCeUNvZGVXaXRoU2lnbmFsUihtb2RlbCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVXaXRoU2lnbmFsUmA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlc2NyaXB0aW9uOiBFeHBvcnQgc+G7rSBkdW5nIENsb3NlZFhtbC5SZXBvcnQgKEN4KSB24bubaSBIaWdoUGVyZm9ybWFuY2VTZXJ2aWNlLCBz4butIGThu6VuZyBjaG8gZmlsZSBk4buvIGxp4buHdSBs4bubbi5cclxuICAgICAqIFBhcmFtOiBtb2RlbCBjaOG7qWFcclxuICAgICAqICAtIGNvZGUgOiAgY29kZSBj4bunYSB0ZW1wbGF0ZSBj4bqldSBow6xuaCBiw6puIFF14bqjbiB0cuG7iyA+IEJp4buDdSBt4bqrdSA+IEJp4buDdSBt4bqrdSBleGNlbC5cclxuICAgICAqICAtIGRhdGEgOiBvYmplY3QgY2jhu6lhIGThu68gbGnhu4d1IMSRw6MgY2h1eeG7gW4gdGjDoG5oIGThuqFuZyBqc29uLlxyXG4gICAgICogIC0gZmlsZU5hbWU6IHTDqm4gZmlsZSBzYXUga2hpIGV4cG9ydC5cclxuICAgICAqICAtIHF1ZXVlTmFtZTogcXVldWUgY+G7p2EgdG9waWMuXHJcbiAgICAgKiAgLSB1bmlxdWVLZXk6IHVuaXF1ZSBrZXkgY2hvIHRhc2suXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIEV4cG9ydEN4RXhjZWxCeUNvZGVXaXRoSFBTKG1vZGVsKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0V2l0aEhpZ2hQZXJmb3JtYW5jZVNlcnZpY2VgO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZXhwb3J0Q3hFeGNlbEJ5Q29kZVByb21pc2UobW9kZWwpOiBQcm9taXNlPE9iamVjdD4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbEJ5Q29kZWA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBmaWxsVGVtcGxhdGVCeUNvZGVBbmRHZXRQZGYodGVtcGxhdGVDb2RlOiBzdHJpbmcsIGRhdGE6IGFueSwgb25Mb2FkaW5nRGF0YVBkZiA9IG51bGwsIG9uRW5kTG9hZGluZ0RhdGFQZGYgPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9maWxsV29yZEJ5VGVtcGxhdGVDb2RlLyR7dGVtcGxhdGVDb2RlfT9pc1ByaW50PXRydWVgO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdDxSZXNwb25zZVJlc3VsdD4odXJsLCBkYXRhKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCkudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJpbnRTZXJ2aWNlLnByaW50QmFzZTY0UGRmKHJlcy5kYXRhLCBvbkxvYWRpbmdEYXRhUGRmLCBvbkVuZExvYWRpbmdEYXRhUGRmKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZmlsbFdvcmRCeVRlbXBsYXRlQ29kZU11bHRpRGF0YSh0ZW1wbGF0ZUNvZGU6IHN0cmluZywgZGF0YTogYW55W10sIG9uTG9hZGluZ0RhdGFQZGYgPSBudWxsLCBvbkVuZExvYWRpbmdEYXRhUGRmID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vZmlsbFdvcmRCeVRlbXBsYXRlQ29kZU11bHRpRGF0YS8ke3RlbXBsYXRlQ29kZX0/aXNQcmludD10cnVlYDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgZGF0YSlcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByaW50U2VydmljZS5wcmludEJhc2U2NFBkZihyZXMuZGF0YSwgb25Mb2FkaW5nRGF0YVBkZiwgb25FbmRMb2FkaW5nRGF0YVBkZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZpbGVJbmZvKG1vZGVsOiBFeHBvcnRNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIG1vZGVsLmRhdGEgPSBtb2RlbC5kYXRhID8gbW9kZWwuZGF0YSA6IEpTT04uc3RyaW5naWZ5KG1vZGVsLmRhdGFPYmplY3QpO1xyXG4gICAgICAgIGRlbGV0ZSBtb2RlbC5kYXRhT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIHNldE1hbnlGaWxlSW5mbyhtYW55TW9kZWw6IEV4cG9ydE1hbnlNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGhhc01vZGVsID0gbWFueU1vZGVsICYmIG1hbnlNb2RlbC5sc3RGaWxlSW5mbyAmJiBtYW55TW9kZWwubHN0RmlsZUluZm8ubGVuZ3RoO1xyXG4gICAgICAgIGlmICghaGFzTW9kZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbWFueU1vZGVsLmxzdEZpbGVJbmZvLmZvckVhY2goZmlsZUluZm8gPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldEZpbGVJbmZvKGZpbGVJbmZvKTtcclxuICAgICAgICAgICAgZmlsZUluZm8uZmlsZU5hbWUgPSBgJHtmaWxlSW5mby5maWxlTmFtZX1fJHt0aGlzLl9jb21tb25TZXJ2aWNlLmd1aWQoKX0uJHtUZW1wbGF0ZUNvbnN0YW50LkVYQ0VMX0VYVEVOU0lPTn1gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhwb3J0IGThu68gbGnhu4d1IGtow7RuZyBkw7luZyB0ZW1wbGF0ZS5cclxuICAgICAqL1xyXG4gICAgZXhwb3J0Q3hFeGNlbChtb2RlbDogRXhwb3J0V2l0aG91dFRlbXBsYXRlTW9kZWwpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxgO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMocmVzLCB0aGlzLmdldEZ1bGxGaWxlTmFtZShtb2RlbC5maWxlTmFtZSB8fCAnRXhwb3J0JykpO1xyXG4gICAgICAgICAgICB9KS5jYXRjaChhc3luYyBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0ID0gYXdhaXQgZXJyLmVycm9yLnRleHQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKEpTT04ucGFyc2UoZXJyb3JUZXh0IHx8ICcnKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGV4cG9ydEN4RXhjZWxQcm9taXNlKG1vZGVsOiBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCk6IFByb21pc2U8T2JqZWN0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRDeEV4Y2VsYDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBtb2RlbCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSlcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFhakUsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFDSSxtQkFBdUMsRUFDL0IsV0FBdUIsRUFDdkIsYUFBMkIsRUFDekIsWUFBaUMsRUFDakMsZ0JBQWlDLEVBQ2pDLFlBQXlCLEVBQ3pCLGNBQTZCO1FBTC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBUjNDLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBVXJCLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUU7UUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxnQkFBZ0IsQ0FBQztRQUMvQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMs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LENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQWlDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLENBQUM7UUFFL0MsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVc7YUFDakMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs0R0FuS1EsZUFBZTtnSEFBZixlQUFlLGNBRlosTUFBTTsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2ZpbGUtZXhwbG9yZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29uc3RhbnQgfSBmcm9tICcuLi9jb25maWdzL2NvbXBvbmVudC1jb250YW50cyc7XHJcbmltcG9ydCB7IEV4cG9ydE1hbnlNb2RlbCwgRXhwb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZXhwb3J0LWZpbGUtaW5mbyc7XHJcbmltcG9ydCB7IEV4cG9ydFdpdGhvdXRUZW1wbGF0ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC13aXRob3V0LXRlbXBsYXRlJztcclxuaW1wb3J0IHsgUmVzcG9uc2VSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvcmVzcG9uc2UtcmVzdWx0JztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4vY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4vY3J1ZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9wcmludC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVTZXJ2aWNlIHtcclxuICAgIHJlYWRvbmx5IHNlcnZpY2VVcmk6IHN0cmluZztcclxuICAgIGVuZFBvaW50OiBzdHJpbmc7XHJcbiAgICBzZXJ2aWNlQ29kZSA9ICd0ZW1wbGF0ZSc7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIF9wcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbGVTZXJ2aWNlOiBGaWxlRXhwbG9yZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfbm90aWZpZXJTZXJ2aWNlOiBOb3RpZmllclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jcnVkU2VydmljZTogQ3J1ZFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmVuZFBvaW50ID0gX2Vudmlyb25tZW50U2VydmljZS5nZXRIdHRwU2VydmljZUVuZHBvaW50V2l0aFZlcnNpb24odGhpcy5zZXJ2aWNlQ29kZSk7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlVXJpID0gYCR7dGhpcy5lbmRQb2ludH0vdGVtcGxhdGVgO1xyXG4gICAgfVxyXG5cclxuICAgIGxhVGV4VG9CYXNlNjRJbWFnZShsYVRleDogc3RyaW5nLCBmb250OiBudW1iZXIgPSA1NCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBhcGkgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0xhdGV4VG9CYXNlNjRgO1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KGFwaSwgeyBsYVRleCwgZm9udCB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXNjcmlwdGlvbjogWHXhuqV0IGZpbGUgc+G7rSBk4bulbmcgdGjGsCB2aeG7h24gQ1gsIHh14bqldCB4b25nIHThu7EgxJHhu5luZyBt4bufIHBvcHVwIMSR4buDIGzGsHUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgZXhwb3J0Q3hFeGNlbEJ5Q29kZShtb2RlbDogRXhwb3J0TW9kZWwpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVgO1xyXG4gICAgICAgIHRoaXMuc2V0RmlsZUluZm8obW9kZWwpO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KSlcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMocmVzLCB0aGlzLmdldEZ1bGxGaWxlTmFtZShtb2RlbC5maWxlTmFtZSB8fCBtb2RlbC5jb2RlKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0TWFueUN4RXhjZWxCeUNvZGUobW9kZWw6IEV4cG9ydE1hbnlNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0TWFueUN4RXhjZWxCeUNvZGVgO1xyXG4gICAgICAgIHRoaXMuc2V0TWFueUZpbGVJbmZvKG1vZGVsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVTZXJ2aWNlLmRvd25sb2FkRm9sZGVyKHJlcy5kYXRhLmZvbGRlcklkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RnVsbEZpbGVOYW1lKGZpbGVOYW1lLCBleHRlbnNpb24gPSBUZW1wbGF0ZUNvbnN0YW50LkVYQ0VMX0VYVEVOU0lPTikge1xyXG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX0ke2V4dGVuc2lvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzY3JpcHRpb246IEV4cG9ydCBz4butIGR1bmcgQ2xvc2VkWG1sLlJlcG9ydCAoQ3gpIHbhu5tpIHNpZ25hbFIsIHPhu60gZOG7pW5nIGNobyBmaWxlIGThu68gbGnhu4d1IGzhu5tuLlxyXG4gICAgICogUGFyYW06IG1vZGVsIGNo4bupYVxyXG4gICAgICogIC0gY29kZSA6ICBjb2RlIGPhu6dhIHRlbXBsYXRlIGPhuqV1IGjDrG5oIGLDqm4gUXXhuqNuIHRy4buLID4gQmnhu4N1IG3huqt1ID4gQmnhu4N1IG3huqt1IGV4Y2VsLlxyXG4gICAgICogIC0gZGF0YSA6IG9iamVjdCBjaOG7qWEgZOG7ryBsaeG7h3UgxJHDoyBjaHV54buBbiB0aMOgbmggZOG6oW5nIGpzb24uXHJcbiAgICAgKiAgLSBmaWxlTmFtZTogdMOqbiBmaWxlIHNhdSBraGkgZXhwb3J0LlxyXG4gICAgICogIC0gdG9waWM6IGd1aWQgZMO5bmcgxJHhu4Mgc3Vic2NyaWJlLlxyXG4gICAgICovXHJcbiAgICBhc3luYyBFeHBvcnRDeEV4Y2VsQnlDb2RlV2l0aFNpZ25hbFIobW9kZWwpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRDeEV4Y2VsQnlDb2RlV2l0aFNpZ25hbFJgO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzY3JpcHRpb246IEV4cG9ydCBz4butIGR1bmcgQ2xvc2VkWG1sLlJlcG9ydCAoQ3gpIHbhu5tpIEhpZ2hQZXJmb3JtYW5jZVNlcnZpY2UsIHPhu60gZOG7pW5nIGNobyBmaWxlIGThu68gbGnhu4d1IGzhu5tuLlxyXG4gICAgICogUGFyYW06IG1vZGVsIGNo4bupYVxyXG4gICAgICogIC0gY29kZSA6ICBjb2RlIGPhu6dhIHRlbXBsYXRlIGPhuqV1IGjDrG5oIGLDqm4gUXXhuqNuIHRy4buLID4gQmnhu4N1IG3huqt1ID4gQmnhu4N1IG3huqt1IGV4Y2VsLlxyXG4gICAgICogIC0gZGF0YSA6IG9iamVjdCBjaOG7qWEgZOG7ryBsaeG7h3UgxJHDoyBjaHV54buBbiB0aMOgbmggZOG6oW5nIGpzb24uXHJcbiAgICAgKiAgLSBmaWxlTmFtZTogdMOqbiBmaWxlIHNhdSBraGkgZXhwb3J0LlxyXG4gICAgICogIC0gcXVldWVOYW1lOiBxdWV1ZSBj4bunYSB0b3BpYy5cclxuICAgICAqICAtIHVuaXF1ZUtleTogdW5pcXVlIGtleSBjaG8gdGFzay5cclxuICAgICAqL1xyXG4gICAgYXN5bmMgRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhIUFMobW9kZWwpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRXaXRoSGlnaFBlcmZvcm1hbmNlU2VydmljZWA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZXhwb3J0Q3hFeGNlbEJ5Q29kZVByb21pc2UobW9kZWwpOiBQcm9taXNlPE9iamVjdD4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbEJ5Q29kZWA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBmaWxsVGVtcGxhdGVCeUNvZGVBbmRHZXRQZGYodGVtcGxhdGVDb2RlOiBzdHJpbmcsIGRhdGE6IGFueSwgb25Mb2FkaW5nRGF0YVBkZiA9IG51bGwsIG9uRW5kTG9hZGluZ0RhdGFQZGYgPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9maWxsV29yZEJ5VGVtcGxhdGVDb2RlLyR7dGVtcGxhdGVDb2RlfT9pc1ByaW50PXRydWVgO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdDxSZXNwb25zZVJlc3VsdD4odXJsLCBkYXRhKVxyXG4gICAgICAgICAgICApLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByaW50U2VydmljZS5wcmludEJhc2U2NFBkZihyZXMuZGF0YSwgb25Mb2FkaW5nRGF0YVBkZiwgb25FbmRMb2FkaW5nRGF0YVBkZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbGxXb3JkQnlUZW1wbGF0ZUNvZGVNdWx0aURhdGEodGVtcGxhdGVDb2RlOiBzdHJpbmcsIGRhdGE6IGFueVtdLCBvbkxvYWRpbmdEYXRhUGRmID0gbnVsbCwgb25FbmRMb2FkaW5nRGF0YVBkZiA9IG51bGwpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L2ZpbGxXb3JkQnlUZW1wbGF0ZUNvZGVNdWx0aURhdGEvJHt0ZW1wbGF0ZUNvZGV9P2lzUHJpbnQ9dHJ1ZWA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIGRhdGEpXHJcbiAgICAgICAgICAgICkudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJpbnRTZXJ2aWNlLnByaW50QmFzZTY0UGRmKHJlcy5kYXRhLCBvbkxvYWRpbmdEYXRhUGRmLCBvbkVuZExvYWRpbmdEYXRhUGRmKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RmlsZUluZm8obW9kZWw6IEV4cG9ydE1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgbW9kZWwuZGF0YSA9IG1vZGVsLmRhdGEgPyBtb2RlbC5kYXRhIDogSlNPTi5zdHJpbmdpZnkobW9kZWwuZGF0YU9iamVjdCk7XHJcbiAgICAgICAgZGVsZXRlIG1vZGVsLmRhdGFPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TWFueUZpbGVJbmZvKG1hbnlNb2RlbDogRXhwb3J0TWFueU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaGFzTW9kZWwgPSBtYW55TW9kZWwgJiYgbWFueU1vZGVsLmxzdEZpbGVJbmZvICYmIG1hbnlNb2RlbC5sc3RGaWxlSW5mby5sZW5ndGg7XHJcbiAgICAgICAgaWYgKCFoYXNNb2RlbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtYW55TW9kZWwubHN0RmlsZUluZm8uZm9yRWFjaChmaWxlSW5mbyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsZUluZm8oZmlsZUluZm8pO1xyXG4gICAgICAgICAgICBmaWxlSW5mby5maWxlTmFtZSA9IGAke2ZpbGVJbmZvLmZpbGVOYW1lfV8ke3RoaXMuX2NvbW1vblNlcnZpY2UuZ3VpZCgpfS4ke1RlbXBsYXRlQ29uc3RhbnQuRVhDRUxfRVhURU5TSU9OfWA7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHBvcnQgZOG7ryBsaeG7h3Uga2jDtG5nIGTDuW5nIHRlbXBsYXRlLlxyXG4gICAgICovXHJcbiAgICBleHBvcnRDeEV4Y2VsKG1vZGVsOiBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbGA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhyZXMsIHRoaXMuZ2V0RnVsbEZpbGVOYW1lKG1vZGVsLmZpbGVOYW1lIHx8ICdFeHBvcnQnKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZXhwb3J0Q3hFeGNlbFByb21pc2UobW9kZWw6IEV4cG9ydFdpdGhvdXRUZW1wbGF0ZU1vZGVsKTogUHJvbWlzZTxPYmplY3Q+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxgO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as FileSaver from 'file-saver';
|
|
3
|
+
import { firstValueFrom } from 'rxjs';
|
|
3
4
|
import { GenerateLinkDownloadDTO } from '../components/file-explorer/models/generate-link-download-dto';
|
|
4
5
|
import { TemplateConstant } from '../configs/component-contants';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -39,9 +40,8 @@ export class TemplateInstanceService {
|
|
|
39
40
|
exportCxExcelByCode(model) {
|
|
40
41
|
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
41
42
|
this.setFileInfo(model);
|
|
42
|
-
return this._httpClient
|
|
43
|
-
.post(url, model, { responseType: 'blob' })
|
|
44
|
-
.toPromise()
|
|
43
|
+
return firstValueFrom(this._httpClient
|
|
44
|
+
.post(url, model, { responseType: 'blob' }))
|
|
45
45
|
.then(res => {
|
|
46
46
|
FileSaver.saveAs(res, this.getFullFileName(model.fileName || model.code));
|
|
47
47
|
}).catch(async (err) => {
|
|
@@ -60,9 +60,8 @@ export class TemplateInstanceService {
|
|
|
60
60
|
exportManyCxExcelByCode(model) {
|
|
61
61
|
const url = `${this.serviceUri}/ExportManyCxExcelByCode`;
|
|
62
62
|
this.setManyFileInfo(model);
|
|
63
|
-
return this._httpClient
|
|
64
|
-
.post(url, model)
|
|
65
|
-
.toPromise()
|
|
63
|
+
return firstValueFrom(this._httpClient
|
|
64
|
+
.post(url, model))
|
|
66
65
|
.then(res => {
|
|
67
66
|
if (res.success) {
|
|
68
67
|
this._fileService.downloadFolder(res.data.folderId);
|
|
@@ -94,9 +93,8 @@ export class TemplateInstanceService {
|
|
|
94
93
|
*/
|
|
95
94
|
exportCxExcel(model) {
|
|
96
95
|
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
97
|
-
return this._httpClient
|
|
98
|
-
.post(url, model, { responseType: 'blob' })
|
|
99
|
-
.toPromise()
|
|
96
|
+
return firstValueFrom(this._httpClient
|
|
97
|
+
.post(url, model, { responseType: 'blob' }))
|
|
100
98
|
.then(res => {
|
|
101
99
|
FileSaver.saveAs(res, this.getFullFileName(model.fileName || 'Export'));
|
|
102
100
|
}).catch(async (err) => {
|
|
@@ -118,8 +116,7 @@ export class TemplateInstanceService {
|
|
|
118
116
|
*/
|
|
119
117
|
async ExportCxExcelByCodeWithSignalR(model) {
|
|
120
118
|
const url = `${this.serviceUri}/ExportCxExcelByCodeWithSignalR`;
|
|
121
|
-
return this._httpClient.post(url, model)
|
|
122
|
-
.toPromise();
|
|
119
|
+
return firstValueFrom(this._httpClient.post(url, model));
|
|
123
120
|
}
|
|
124
121
|
/**
|
|
125
122
|
* Promise xuất file excel không dùng signalR.
|
|
@@ -127,9 +124,8 @@ export class TemplateInstanceService {
|
|
|
127
124
|
*/
|
|
128
125
|
async exportCxExcelByCodePromise(model) {
|
|
129
126
|
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
130
|
-
return this._httpClient
|
|
131
|
-
.post(url, model, { responseType: 'blob' })
|
|
132
|
-
.toPromise();
|
|
127
|
+
return firstValueFrom(this._httpClient
|
|
128
|
+
.post(url, model, { responseType: 'blob' }));
|
|
133
129
|
}
|
|
134
130
|
/**
|
|
135
131
|
* Promise xuất file excel không dùng signalR và không dùng template.
|
|
@@ -137,9 +133,8 @@ export class TemplateInstanceService {
|
|
|
137
133
|
*/
|
|
138
134
|
async exportCxExcelPromise(model) {
|
|
139
135
|
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
140
|
-
return this._httpClient
|
|
141
|
-
.post(url, model, { responseType: 'blob' })
|
|
142
|
-
.toPromise();
|
|
136
|
+
return firstValueFrom(this._httpClient
|
|
137
|
+
.post(url, model, { responseType: 'blob' }));
|
|
143
138
|
}
|
|
144
139
|
/**
|
|
145
140
|
* Word
|
|
@@ -148,9 +143,8 @@ export class TemplateInstanceService {
|
|
|
148
143
|
*/
|
|
149
144
|
fillTemplateByCodeAndGetPdf(templateCode, data) {
|
|
150
145
|
const url = `${this.serviceUri}/fillWordByTemplateCode/${templateCode}?isPrint=true`;
|
|
151
|
-
return this._httpClient
|
|
152
|
-
.post(url, data)
|
|
153
|
-
.toPromise().then(res => {
|
|
146
|
+
return firstValueFrom(this._httpClient
|
|
147
|
+
.post(url, data)).then(res => {
|
|
154
148
|
if (res.data) {
|
|
155
149
|
this._printService.printBase64Pdf(res.data);
|
|
156
150
|
}
|
|
@@ -163,9 +157,8 @@ export class TemplateInstanceService {
|
|
|
163
157
|
*/
|
|
164
158
|
fillTemplateByCode(templateCode, data, name = 'Export') {
|
|
165
159
|
const url = `${this.serviceUri}/fillWordByTemplateCode/${templateCode}?isPrint=false`;
|
|
166
|
-
return this._httpClient
|
|
167
|
-
.post(url, data, { responseType: 'blob' })
|
|
168
|
-
.toPromise()
|
|
160
|
+
return firstValueFrom(this._httpClient
|
|
161
|
+
.post(url, data, { responseType: 'blob' }))
|
|
169
162
|
.then(res => {
|
|
170
163
|
FileSaver.saveAs(res, this.getFullFileName(name || 'Export', TemplateConstant.WORD_EXTENSION));
|
|
171
164
|
}).catch(async (err) => {
|
|
@@ -175,13 +168,12 @@ export class TemplateInstanceService {
|
|
|
175
168
|
}
|
|
176
169
|
laTexToBase64Image(laTex, font = 54) {
|
|
177
170
|
const api = `${this.serviceUri}/LatexToBase64`;
|
|
178
|
-
return this._httpClient.post(api, { laTex, font })
|
|
171
|
+
return firstValueFrom(this._httpClient.post(api, { laTex, font }));
|
|
179
172
|
}
|
|
180
173
|
async _export(model) {
|
|
181
174
|
const url = `${this.serviceUri}/export`;
|
|
182
|
-
return this._httpClient
|
|
183
|
-
.post(url, model)
|
|
184
|
-
.toPromise();
|
|
175
|
+
return firstValueFrom(this._httpClient
|
|
176
|
+
.post(url, model));
|
|
185
177
|
}
|
|
186
178
|
/**
|
|
187
179
|
* Export a tree of folders, files using background job.
|
|
@@ -204,9 +196,8 @@ export class TemplateInstanceService {
|
|
|
204
196
|
}
|
|
205
197
|
async _exportNormal(model) {
|
|
206
198
|
const url = `${this.serviceUri}/exportNormal`;
|
|
207
|
-
return this._httpClient
|
|
208
|
-
.post(url, model)
|
|
209
|
-
.toPromise();
|
|
199
|
+
return firstValueFrom(this._httpClient
|
|
200
|
+
.post(url, model));
|
|
210
201
|
}
|
|
211
202
|
/**
|
|
212
203
|
* Export a tree of folders, files directly.
|
|
@@ -242,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
242
233
|
providedIn: 'root'
|
|
243
234
|
}]
|
|
244
235
|
}], ctorParameters: function () { return [{ type: i1.EnvironmentService }, { type: i2.HttpClient }, { type: i3.PrintService }, { type: i4.FileExplorerService }, { type: i5.NotifierService }, { type: i6.CrudService }, { type: i7.CommonService }, { type: i8.DownloadLinkService }]; } });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVpbnN0YW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdGVtcGxhdGVpbnN0YW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFHeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7QUFlakUsTUFBTSxPQUFPLHVCQUF1QjtJQUtoQyxZQUNZLG1CQUF1QyxFQUN2QyxXQUF1QixFQUN2QixhQUEyQixFQUN6QixZQUFpQyxFQUNqQyxnQkFBaUMsRUFDakMsWUFBeUIsRUFDekIsY0FBNkIsRUFDL0Isb0JBQXlDO1FBUHpDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQVpyRCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQWNyQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsbUJBQW1CLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJ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LENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDUCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQWtCLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsSUFBSSx1QkFBdUIsQ0FBQztvQkFDL0QsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO29CQUN2QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7aUJBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ1A7aUJBQ0k7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNMLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsaURBQWlELENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pFLE9BQVksUUFBUSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7b0hBalFRLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07MkZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQgeyBHZW5lcmF0ZUxpbmtEb3dubG9hZERUTyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9tb2RlbHMvZ2VuZXJhdGUtbGluay1kb3dubG9hZC1kdG8nO1xyXG5pbXBvcnQgeyBEb3dubG9hZExpbmtTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL3NlcnZpY2VzL2Rvd25sb2FkLWxpbmsuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVFeHBsb3JlclNlcnZpY2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZmlsZS1leHBsb3Jlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVDb25zdGFudCB9IGZyb20gJy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRhbnRzJztcclxuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcclxuaW1wb3J0IHsgRXhwb3J0TWFueU1vZGVsLCBFeHBvcnRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQtZmlsZS1pbmZvJztcclxuaW1wb3J0IHsgRXhwb3J0SXRlbSB9IGZyb20gJy4uL21vZGVscy9leHBvcnQtaXRlbSc7XHJcbmltcG9ydCB7IEV4cG9ydFdpdGhvdXRUZW1wbGF0ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC13aXRob3V0LXRlbXBsYXRlJztcclxuaW1wb3J0IHsgUmVzcG9uc2VSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvcmVzcG9uc2UtcmVzdWx0JztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4vY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4vY3J1ZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9wcmludC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVJbnN0YW5jZVNlcnZpY2Uge1xyXG4gICAgc2VydmljZUNvZGUgPSAndGVtcGxhdGUnO1xyXG4gICAgZW5kUG9pbnQ6IHN0cmluZztcclxuICAgIHNlcnZpY2VVcmk6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgX3ByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZmlsZVNlcnZpY2U6IEZpbGVFeHBsb3JlclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9ub3RpZmllclNlcnZpY2U6IE5vdGlmaWVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NydWRTZXJ2aWNlOiBDcnVkU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZG93bmxvYWRMaW5rU2VydmljZTogRG93bmxvYWRMaW5rU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5lbmRQb2ludCA9IF9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0SHR0cFNlcnZpY2VFbmRwb2ludFdpdGhWZXJzaW9uKHRoaXMuc2VydmljZUNvZGUpO1xyXG4gICAgICAgIHRoaXMuc2VydmljZVVyaSA9IGAke3RoaXMuZW5kUG9pbnR9L1RlbXBsYXRlSW5zdGFuY2VgO1xyXG4gICAgfVxyXG5cclxuICAgIHVzZVY0KCkge1xyXG4gICAgICAgIHRoaXMuZW5kUG9pbnQgPSB0aGlzLl9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0SHR0cFNlcnZpY2VFbmRwb2ludE9sZCh0aGlzLnNlcnZpY2VDb2RlKTtcclxuICAgICAgICB0aGlzLnNlcnZpY2VVcmkgPSBgJHt0aGlzLmVuZFBvaW50fS9UZW1wbGF0ZWA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgIFhV4bqkVCBFWENFTDoga2jDtG5nIGTDuW5nIHNpZ25hbFIsIHThu7EgxJHhu5luZyBsxrB1IHh14buRbmdcclxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogWHXhuqV0IG3hu5l0IGZpbGUgdHLhu7FjIHRp4bq/cCBraMO0bmcsIHhvbmcgdGjDrCB04buxIGzGsHUgeHXhu5FuZy5cclxuICAgICAqIEBwYXJhbSBtb2RlbFxyXG4gICAgICovXHJcbiAgICBleHBvcnRDeEV4Y2VsQnlDb2RlKG1vZGVsOiBFeHBvcnRNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbEJ5Q29kZWA7XHJcbiAgICAgICAgdGhpcy5zZXRGaWxlSW5mbyhtb2RlbCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhyZXMsIHRoaXMuZ2V0RnVsbEZpbGVOYW1lKG1vZGVsLmZpbGVOYW1lIHx8IG1vZGVsLmNvZGUpKTtcclxuICAgICAgICAgICAgfSkuY2F0Y2goYXN5bmMgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yVGV4dCA9IGF3YWl0IGVyci5lcnJvci50ZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShKU09OLnBhcnNlKGVycm9yVGV4dCB8fCAnJykpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRGaWxlSW5mbyhtb2RlbDogRXhwb3J0TW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBtb2RlbC5kYXRhID0gbW9kZWwuZGF0YSA/IG1vZGVsLmRhdGEgOiBKU09OLnN0cmluZ2lmeShtb2RlbC5kYXRhT2JqZWN0KTtcclxuICAgICAgICBkZWxldGUgbW9kZWwuZGF0YU9iamVjdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFh14bqldCBuaGnhu4F1IGZpbGUsIHhvbmcgdGjDrCB04buxIMSR4buZbmcgdOG6o2kgduG7gSBmb2xkZXIgxJHDoyBuw6luLlxyXG4gICAgICogQHBhcmFtIG1vZGVsXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydE1hbnlDeEV4Y2VsQnlDb2RlKG1vZGVsOiBFeHBvcnRNYW55TW9kZWwpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydE1hbnlDeEV4Y2VsQnlDb2RlYDtcclxuICAgICAgICB0aGlzLnNldE1hbnlGaWxlSW5mbyhtb2RlbCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVTZXJ2aWNlLmRvd25sb2FkRm9sZGVyKHJlcy5kYXRhLmZvbGRlcklkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TWFueUZpbGVJbmZvKG1hbnlNb2RlbDogRXhwb3J0TWFueU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaGFzTW9kZWwgPSBtYW55TW9kZWwgJiYgbWFueU1vZGVsLmxzdEZpbGVJbmZvICYmIG1hbnlNb2RlbC5sc3RGaWxlSW5mby5sZW5ndGg7XHJcbiAgICAgICAgaWYgKCFoYXNNb2RlbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtYW55TW9kZWwubHN0RmlsZUluZm8uZm9yRWFjaChmaWxlSW5mbyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsZUluZm8oZmlsZUluZm8pO1xyXG4gICAgICAgICAgICBmaWxlSW5mby5maWxlTmFtZSA9IGAke2ZpbGVJbmZvLmZpbGVOYW1lfV8ke3RoaXMuX2NvbW1vblNlcnZpY2UuZ3VpZCgpfS4ke1RlbXBsYXRlQ29uc3RhbnQuRVhDRUxfRVhURU5TSU9OfWA7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RnVsbEZpbGVOYW1lKGZpbGVOYW1lLCBleHRlbnNpb24gPSBUZW1wbGF0ZUNvbnN0YW50LkVYQ0VMX0VYVEVOU0lPTikge1xyXG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX0ke2V4dGVuc2lvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogWHXhuqV0IGZpbGUgZXhjZWwga2jDtG5nIGTDuW5nIHRlbXBsYXRlLCB04buxIMSR4buZbmcgdOG6o2kgeHXhu5FuZy5cclxuICAgICAqIEBwYXJhbSBtb2RlbFxyXG4gICAgICovXHJcbiAgICBleHBvcnRDeEV4Y2VsKG1vZGVsOiBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbGA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhyZXMsIHRoaXMuZ2V0RnVsbEZpbGVOYW1lKG1vZGVsLmZpbGVOYW1lIHx8ICdFeHBvcnQnKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhV4bqkVCBFWENFTDogZMO5bmcgY2hvIHJlcG9ydCBxdWV1ZVxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9taXNlIHh14bqldCBmaWxlIGV4Y2VsIGTDuW5nIHNpZ25hbFIuXHJcbiAgICAgKiAtIERlc2NyaXB0aW9uOiBFeHBvcnQgc+G7rSBkdW5nIENsb3NlZFhtbC5SZXBvcnQgKEN4KSB24bubaSBzaWduYWxSLCBz4butIGThu6VuZyBjaG8gZmlsZSBk4buvIGxp4buHdSBs4bubbi5cclxuICAgICAqIC0gUGFyYW06IG1vZGVsIGNo4bupYVxyXG4gICAgICogICAgICAtIGNvZGUgOiAgY29kZSBj4bunYSB0ZW1wbGF0ZSBj4bqldSBow6xuaCBiw6puIFF14bqjbiB0cuG7iyA+IEJp4buDdSBt4bqrdSA+IEJp4buDdSBt4bqrdSBleGNlbC5cclxuICAgICAqICAgICAgLSBkYXRhIDogb2JqZWN0IGNo4bupYSBk4buvIGxp4buHdSDEkcOjIGNodXnhu4FuIHRow6BuaCBk4bqhbmcganNvbi5cclxuICAgICAqICAgICAgLSBmaWxlTmFtZTogdMOqbiBmaWxlIHNhdSBraGkgZXhwb3J0LlxyXG4gICAgICogICAgICAtIHRvcGljOiBndWlkIGTDuW5nIMSR4buDIHN1YnNjcmliZS5cclxuICAgICAqL1xyXG4gICAgYXN5bmMgRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhTaWduYWxSKG1vZGVsOiBFeHBvcnRNb2RlbCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVXaXRoU2lnbmFsUmA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb21pc2UgeHXhuqV0IGZpbGUgZXhjZWwga2jDtG5nIGTDuW5nIHNpZ25hbFIuXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxcclxuICAgICAqL1xyXG4gICAgYXN5bmMgZXhwb3J0Q3hFeGNlbEJ5Q29kZVByb21pc2UobW9kZWw6IEV4cG9ydE1vZGVsKTogUHJvbWlzZTxPYmplY3Q+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVgO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9taXNlIHh14bqldCBmaWxlIGV4Y2VsIGtow7RuZyBkw7luZyBzaWduYWxSIHbDoCBraMO0bmcgZMO5bmcgdGVtcGxhdGUuXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxcclxuICAgICAqL1xyXG4gICAgYXN5bmMgZXhwb3J0Q3hFeGNlbFByb21pc2UobW9kZWw6IEV4cG9ydFdpdGhvdXRUZW1wbGF0ZU1vZGVsKTogUHJvbWlzZTxPYmplY3Q+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxgO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdCh1cmwsIG1vZGVsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV29yZFxyXG4gICAgICogQHBhcmFtIHRlbXBsYXRlQ29kZVxyXG4gICAgICogQHBhcmFtIGRhdGFcclxuICAgICAqL1xyXG4gICAgZmlsbFRlbXBsYXRlQnlDb2RlQW5kR2V0UGRmKHRlbXBsYXRlQ29kZTogc3RyaW5nLCBkYXRhOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L2ZpbGxXb3JkQnlUZW1wbGF0ZUNvZGUvJHt0ZW1wbGF0ZUNvZGV9P2lzUHJpbnQ9dHJ1ZWA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIGRhdGEpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcmludFNlcnZpY2UucHJpbnRCYXNlNjRQZGYocmVzLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdvcmRcclxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZUNvZGVcclxuICAgICAqIEBwYXJhbSBkYXRhXHJcbiAgICAgKi9cclxuICAgIGZpbGxUZW1wbGF0ZUJ5Q29kZSh0ZW1wbGF0ZUNvZGU6IHN0cmluZywgZGF0YTogYW55LCBuYW1lOiBzdHJpbmcgPSAnRXhwb3J0Jykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vZmlsbFdvcmRCeVRlbXBsYXRlQ29kZS8ke3RlbXBsYXRlQ29kZX0/aXNQcmludD1mYWxzZWA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSlcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKHJlcywgdGhpcy5nZXRGdWxsRmlsZU5hbWUobmFtZSB8fCAnRXhwb3J0JywgVGVtcGxhdGVDb25zdGFudC5XT1JEX0VYVEVOU0lPTikpO1xyXG4gICAgICAgICAgICB9KS5jYXRjaChhc3luYyBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0ID0gYXdhaXQgZXJyLmVycm9yLnRleHQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKEpTT04ucGFyc2UoZXJyb3JUZXh0IHx8ICcnKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGxhVGV4VG9CYXNlNjRJbWFnZShsYVRleDogc3RyaW5nLCBmb250OiBudW1iZXIgPSA1NCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCBhcGkgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0xhdGV4VG9CYXNlNjRgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KGFwaSwgeyBsYVRleCwgZm9udCB9KS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgYXN5bmMgX2V4cG9ydChtb2RlbDogRXhwb3J0SXRlbSk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L2V4cG9ydGA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHBvcnQgYSB0cmVlIG9mIGZvbGRlcnMsIGZpbGVzIHVzaW5nIGJhY2tncm91bmQgam9iLlxyXG4gICAgICogQHBhcmFtIG1vZGVsXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGV4cG9ydChtb2RlbDogRXhwb3J0SXRlbSkge1xyXG4gICAgICAgIHRoaXMuX2V4cG9ydChtb2RlbClcclxuICAgICAgICAgICAgLnRoZW4ocnMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Row6ptIHh14bqldCBmaWxlIHRow6BuaCBjw7RuZyEnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ1RoYW8gdMOhYyBjaMawYSB0aMOgbmggY8O0bmcuIFZ1aSBsw7JuZyB0aOG7rSBs4bqhaSBzYXUhJyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmxvZ0luZm9TaW1wbGUoZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2V4cG9ydE5vcm1hbChtb2RlbDogRXhwb3J0SXRlbSk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L2V4cG9ydE5vcm1hbGA7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeHBvcnQgYSB0cmVlIG9mIGZvbGRlcnMsIGZpbGVzIGRpcmVjdGx5LlxyXG4gICAgICogQHBhcmFtIGRhdGFcclxuICAgICAqL1xyXG4gICAgYXN5bmMgZXhwb3J0Tm9ybWFsKGRhdGE6IEV4cG9ydEl0ZW0pOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cG9ydE5vcm1hbChkYXRhKVxyXG4gICAgICAgICAgICAudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocnMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RJdGVtID0gcnMuZGF0YSBhcyBFeHBvcnRJdGVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Rvd25sb2FkTGlua1NlcnZpY2UuZG93bmxvYWRMaW5rKG5ldyBHZW5lcmF0ZUxpbmtEb3dubG9hZERUTyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVJZDogcm9vdEl0ZW0uZmlsZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2xkZXJJZDogcm9vdEl0ZW0uZm9sZGVySWRcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdUaGFvIHTDoWMgY2jGsGEgdGjDoG5oIGPDtG5nLiBWdWkgbMOybmcgdGjhu60gbOG6oWkgc2F1IScpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5sb2dJbmZvU2ltcGxlKGVycik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuX2NvbW1vblNlcnZpY2UuZ2V0UmVzcG9uc2VSZXN1bHRGcm9tRXhjZXB0aW9uKGVycik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gPGFueT5yZXNwb25zZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVpbnN0YW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdGVtcGxhdGVpbnN0YW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUd4RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7OztBQWVqRSxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLFlBQ1ksbUJBQXVDLEVBQ3ZDLFdBQXVCLEVBQ3ZCLGFBQTJCLEVBQ3pCLFlBQWlDLEVBQ2pDLGdCQUFpQyxFQUNqQyxZQUF5QixFQUN6QixjQUE2QixFQUMvQixvQkFBeUM7UUFQekMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUMvQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBWnJELGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBY3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxt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Q0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNQLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDWixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBa0IsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLHVCQUF1QixDQUFDO29CQUMvRCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3ZCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtpQkFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDUDtpQkFDSTtnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekUsT0FBWSxRQUFRLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOztvSEE1UFEsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTsyRkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdlbmVyYXRlTGlua0Rvd25sb2FkRFRPIH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyL21vZGVscy9nZW5lcmF0ZS1saW5rLWRvd25sb2FkLWR0byc7XHJcbmltcG9ydCB7IERvd25sb2FkTGlua1NlcnZpY2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZG93bmxvYWQtbGluay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZUV4cGxvcmVyU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWV4cGxvcmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbnN0YW50IH0gZnJvbSAnLi4vY29uZmlncy9jb21wb25lbnQtY29udGFudHMnO1xyXG5pbXBvcnQgeyBNb2R1bGVDb25maWcgfSBmcm9tICcuLi9jb25maWdzL21vZHVsZS1jb25maWcnO1xyXG5pbXBvcnQgeyBFeHBvcnRNYW55TW9kZWwsIEV4cG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC1maWxlLWluZm8nO1xyXG5pbXBvcnQgeyBFeHBvcnRJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC1pdGVtJztcclxuaW1wb3J0IHsgRXhwb3J0V2l0aG91dFRlbXBsYXRlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZXhwb3J0LXdpdGhvdXQtdGVtcGxhdGUnO1xyXG5pbXBvcnQgeyBSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uL21vZGVscy9yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSAnLi9jcnVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuL3ByaW50LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUluc3RhbmNlU2VydmljZSB7XHJcbiAgICBzZXJ2aWNlQ29kZSA9ICd0ZW1wbGF0ZSc7XHJcbiAgICBlbmRQb2ludDogc3RyaW5nO1xyXG4gICAgc2VydmljZVVyaTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2Vudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9maWxlU2VydmljZTogRmlsZUV4cGxvcmVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY3J1ZFNlcnZpY2U6IENydWRTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9kb3dubG9hZExpbmtTZXJ2aWNlOiBEb3dubG9hZExpbmtTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmVuZFBvaW50ID0gX2Vudmlyb25tZW50U2VydmljZS5nZXRIdHRwU2VydmljZUVuZHBvaW50V2l0aFZlcnNpb24odGhpcy5zZXJ2aWNlQ29kZSk7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlVXJpID0gYCR7dGhpcy5lbmRQb2ludH0vVGVtcGxhdGVJbnN0YW5jZWA7XHJcbiAgICB9XHJcblxyXG4gICAgdXNlVjQoKSB7XHJcbiAgICAgICAgdGhpcy5lbmRQb2ludCA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRIdHRwU2VydmljZUVuZHBvaW50T2xkKHRoaXMuc2VydmljZUNvZGUpO1xyXG4gICAgICAgIHRoaXMuc2VydmljZVVyaSA9IGAke3RoaXMuZW5kUG9pbnR9L1RlbXBsYXRlYDtcclxuICAgIH1cclxuXHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy9cclxuICAgIC8vICAgICAgICAgICAgICAgICAgWFXhuqRUIEVYQ0VMOiBraMO0bmcgZMO5bmcgc2lnbmFsUiwgdOG7sSDEkeG7mW5nIGzGsHUgeHXhu5FuZ1xyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBYdeG6pXQgbeG7mXQgZmlsZSB0cuG7sWMgdGnhur9wIGtow7RuZywgeG9uZyB0aMOsIHThu7EgbMawdSB4deG7kW5nLlxyXG4gICAgICogQHBhcmFtIG1vZGVsXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydEN4RXhjZWxCeUNvZGUobW9kZWw6IEV4cG9ydE1vZGVsKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRDeEV4Y2VsQnlDb2RlYDtcclxuICAgICAgICB0aGlzLnNldEZpbGVJbmZvKG1vZGVsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBtb2RlbCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSkpXHJcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKHJlcywgdGhpcy5nZXRGdWxsRmlsZU5hbWUobW9kZWwuZmlsZU5hbWUgfHwgbW9kZWwuY29kZSkpO1xyXG4gICAgICAgICAgICB9KS5jYXRjaChhc3luYyBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0ID0gYXdhaXQgZXJyLmVycm9yLnRleHQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKEpTT04ucGFyc2UoZXJyb3JUZXh0IHx8ICcnKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEZpbGVJbmZvKG1vZGVsOiBFeHBvcnRNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIG1vZGVsLmRhdGEgPSBtb2RlbC5kYXRhID8gbW9kZWwuZGF0YSA6IEpTT04uc3RyaW5naWZ5KG1vZGVsLmRhdGFPYmplY3QpO1xyXG4gICAgICAgIGRlbGV0ZSBtb2RlbC5kYXRhT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogWHXhuqV0IG5oaeG7gXUgZmlsZSwgeG9uZyB0aMOsIHThu7EgxJHhu5luZyB04bqjaSB24buBIGZvbGRlciDEkcOjIG7DqW4uXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxcclxuICAgICAqL1xyXG4gICAgZXhwb3J0TWFueUN4RXhjZWxCeUNvZGUobW9kZWw6IEV4cG9ydE1hbnlNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0TWFueUN4RXhjZWxCeUNvZGVgO1xyXG4gICAgICAgIHRoaXMuc2V0TWFueUZpbGVJbmZvKG1vZGVsKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVTZXJ2aWNlLmRvd25sb2FkRm9sZGVyKHJlcy5kYXRhLmZvbGRlcklkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TWFueUZpbGVJbmZvKG1hbnlNb2RlbDogRXhwb3J0TWFueU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaGFzTW9kZWwgPSBtYW55TW9kZWwgJiYgbWFueU1vZGVsLmxzdEZpbGVJbmZvICYmIG1hbnlNb2RlbC5sc3RGaWxlSW5mby5sZW5ndGg7XHJcbiAgICAgICAgaWYgKCFoYXNNb2RlbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtYW55TW9kZWwubHN0RmlsZUluZm8uZm9yRWFjaChmaWxlSW5mbyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsZUluZm8oZmlsZUluZm8pO1xyXG4gICAgICAgICAgICBmaWxlSW5mby5maWxlTmFtZSA9IGAke2ZpbGVJbmZvLmZpbGVOYW1lfV8ke3RoaXMuX2NvbW1vblNlcnZpY2UuZ3VpZCgpfS4ke1RlbXBsYXRlQ29uc3RhbnQuRVhDRUxfRVhURU5TSU9OfWA7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RnVsbEZpbGVOYW1lKGZpbGVOYW1lLCBleHRlbnNpb24gPSBUZW1wbGF0ZUNvbnN0YW50LkVYQ0VMX0VYVEVOU0lPTikge1xyXG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX0ke2V4dGVuc2lvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogWHXhuqV0IGZpbGUgZXhjZWwga2jDtG5nIGTDuW5nIHRlbXBsYXRlLCB04buxIMSR4buZbmcgdOG6o2kgeHXhu5FuZy5cclxuICAgICAqIEBwYXJhbSBtb2RlbFxyXG4gICAgICovXHJcbiAgICBleHBvcnRDeEV4Y2VsKG1vZGVsOiBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vRXhwb3J0Q3hFeGNlbGA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0KHVybCwgbW9kZWwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pKVxyXG4gICAgICAgICAgICAudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhyZXMsIHRoaXMuZ2V0RnVsbEZpbGVOYW1lKG1vZGVsLmZpbGVOYW1lIHx8ICdFeHBvcnQnKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhV4bqkVCBFWENFTDogZMO5bmcgY2hvIHJlcG9ydCBxdWV1ZVxyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9taXNlIHh14bqldCBmaWxlIGV4Y2VsIGTDuW5nIHNpZ25hbFIuXHJcbiAgICAgKiAtIERlc2NyaXB0aW9uOiBFeHBvcnQgc+G7rSBkdW5nIENsb3NlZFhtbC5SZXBvcnQgKEN4KSB24bubaSBzaWduYWxSLCBz4butIGThu6VuZyBjaG8gZmlsZSBk4buvIGxp4buHdSBs4bubbi5cclxuICAgICAqIC0gUGFyYW06IG1vZGVsIGNo4bupYVxyXG4gICAgICogICAgICAtIGNvZGUgOiAgY29kZSBj4bunYSB0ZW1wbGF0ZSBj4bqldSBow6xuaCBiw6puIFF14bqjbiB0cuG7iyA+IEJp4buDdSBt4bqrdSA+IEJp4buDdSBt4bqrdSBleGNlbC5cclxuICAgICAqICAgICAgLSBkYXRhIDogb2JqZWN0IGNo4bupYSBk4buvIGxp4buHdSDEkcOjIGNodXnhu4FuIHRow6BuaCBk4bqhbmcganNvbi5cclxuICAgICAqICAgICAgLSBmaWxlTmFtZTogdMOqbiBmaWxlIHNhdSBraGkgZXhwb3J0LlxyXG4gICAgICogICAgICAtIHRvcGljOiBndWlkIGTDuW5nIMSR4buDIHN1YnNjcmliZS5cclxuICAgICAqL1xyXG4gICAgYXN5bmMgRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhTaWduYWxSKG1vZGVsOiBFeHBvcnRNb2RlbCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0V4cG9ydEN4RXhjZWxCeUNvZGVXaXRoU2lnbmFsUmA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50LnBvc3Q8UmVzcG9uc2VSZXN1bHQ+KHVybCwgbW9kZWwpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9taXNlIHh14bqldCBmaWxlIGV4Y2VsIGtow7RuZyBkw7luZyBzaWduYWxSLlxyXG4gICAgICogQHBhcmFtIG1vZGVsXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGV4cG9ydEN4RXhjZWxCeUNvZGVQcm9taXNlKG1vZGVsOiBFeHBvcnRNb2RlbCk6IFByb21pc2U8T2JqZWN0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRDeEV4Y2VsQnlDb2RlYDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBtb2RlbCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvbWlzZSB4deG6pXQgZmlsZSBleGNlbCBraMO0bmcgZMO5bmcgc2lnbmFsUiB2w6Aga2jDtG5nIGTDuW5nIHRlbXBsYXRlLlxyXG4gICAgICogQHBhcmFtIG1vZGVsXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGV4cG9ydEN4RXhjZWxQcm9taXNlKG1vZGVsOiBFeHBvcnRXaXRob3V0VGVtcGxhdGVNb2RlbCk6IFByb21pc2U8T2JqZWN0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9FeHBvcnRDeEV4Y2VsYDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBtb2RlbCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdvcmRcclxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZUNvZGVcclxuICAgICAqIEBwYXJhbSBkYXRhXHJcbiAgICAgKi9cclxuICAgIGZpbGxUZW1wbGF0ZUJ5Q29kZUFuZEdldFBkZih0ZW1wbGF0ZUNvZGU6IHN0cmluZywgZGF0YTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9maWxsV29yZEJ5VGVtcGxhdGVDb2RlLyR7dGVtcGxhdGVDb2RlfT9pc1ByaW50PXRydWVgO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdDxSZXNwb25zZVJlc3VsdD4odXJsLCBkYXRhKVxyXG4gICAgICAgICAgICApLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ByaW50U2VydmljZS5wcmludEJhc2U2NFBkZihyZXMuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV29yZFxyXG4gICAgICogQHBhcmFtIHRlbXBsYXRlQ29kZVxyXG4gICAgICogQHBhcmFtIGRhdGFcclxuICAgICAqL1xyXG4gICAgZmlsbFRlbXBsYXRlQnlDb2RlKHRlbXBsYXRlQ29kZTogc3RyaW5nLCBkYXRhOiBhbnksIG5hbWU6IHN0cmluZyA9ICdFeHBvcnQnKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9maWxsV29yZEJ5VGVtcGxhdGVDb2RlLyR7dGVtcGxhdGVDb2RlfT9pc1ByaW50PWZhbHNlYDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnRcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyB9KSlcclxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMocmVzLCB0aGlzLmdldEZ1bGxGaWxlTmFtZShuYW1lIHx8ICdFeHBvcnQnLCBUZW1wbGF0ZUNvbnN0YW50LldPUkRfRVhURU5TSU9OKSk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoSlNPTi5wYXJzZShlcnJvclRleHQgfHwgJycpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGFUZXhUb0Jhc2U2NEltYWdlKGxhVGV4OiBzdHJpbmcsIGZvbnQ6IG51bWJlciA9IDU0KTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIGNvbnN0IGFwaSA9IGAke3RoaXMuc2VydmljZVVyaX0vTGF0ZXhUb0Jhc2U2NGA7XHJcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHBDbGllbnQucG9zdDxSZXNwb25zZVJlc3VsdD4oYXBpLCB7IGxhVGV4LCBmb250IH0pKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgYXN5bmMgX2V4cG9ydChtb2RlbDogRXhwb3J0SXRlbSk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L2V4cG9ydGA7XHJcblxyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5wb3N0PFJlc3BvbnNlUmVzdWx0Pih1cmwsIG1vZGVsKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhwb3J0IGEgdHJlZSBvZiBmb2xkZXJzLCBmaWxlcyB1c2luZyBiYWNrZ3JvdW5kIGpvYi5cclxuICAgICAqIEBwYXJhbSBtb2RlbFxyXG4gICAgICovXHJcbiAgICBhc3luYyBleHBvcnQobW9kZWw6IEV4cG9ydEl0ZW0pIHtcclxuICAgICAgICB0aGlzLl9leHBvcnQobW9kZWwpXHJcbiAgICAgICAgICAgIC50aGVuKHJzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dTdWNjZXNzKCdUaMOqbSB4deG6pXQgZmlsZSB0aMOgbmggY8O0bmchJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKCdUaGFvIHTDoWMgY2jGsGEgdGjDoG5oIGPDtG5nLiBWdWkgbMOybmcgdGjhu60gbOG6oWkgc2F1IScpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5sb2dJbmZvU2ltcGxlKGVycik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9leHBvcnROb3JtYWwobW9kZWw6IEV4cG9ydEl0ZW0pOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9leHBvcnROb3JtYWxgO1xyXG5cclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cENsaWVudFxyXG4gICAgICAgICAgICAucG9zdDxSZXNwb25zZVJlc3VsdD4odXJsLCBtb2RlbClcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4cG9ydCBhIHRyZWUgb2YgZm9sZGVycywgZmlsZXMgZGlyZWN0bHkuXHJcbiAgICAgKiBAcGFyYW0gZGF0YVxyXG4gICAgICovXHJcbiAgICBhc3luYyBleHBvcnROb3JtYWwoZGF0YTogRXhwb3J0SXRlbSk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZXhwb3J0Tm9ybWFsKGRhdGEpXHJcbiAgICAgICAgICAgIC50aGVuKHJzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdEl0ZW0gPSBycy5kYXRhIGFzIEV4cG9ydEl0ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZG93bmxvYWRMaW5rU2VydmljZS5kb3dubG9hZExpbmsobmV3IEdlbmVyYXRlTGlua0Rvd25sb2FkRFRPKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUlkOiByb290SXRlbS5maWxlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlcklkOiByb290SXRlbS5mb2xkZXJJZFxyXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ1RoYW8gdMOhYyBjaMawYSB0aMOgbmggY8O0bmcuIFZ1aSBsw7JuZyB0aOG7rSBs4bqhaSBzYXUhJyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmxvZ0luZm9TaW1wbGUoZXJyKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5fY29tbW9uU2VydmljZS5nZXRSZXNwb25zZVJlc3VsdEZyb21FeGNlcHRpb24oZXJyKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8YW55PnJlc3BvbnNlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
2
|
+
import { firstValueFrom, ReplaySubject } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./environment.service";
|
|
5
5
|
export class TnClientService {
|
|
@@ -69,7 +69,7 @@ export class TnClientService {
|
|
|
69
69
|
if (connetionState) {
|
|
70
70
|
// send command
|
|
71
71
|
command.sourceConnectionId = this._connection.id;
|
|
72
|
-
const status = await this._connection.status
|
|
72
|
+
const status = await firstValueFrom(this._connection.status);
|
|
73
73
|
console.log('status connection signalr', status);
|
|
74
74
|
this._connection.invoke('SendCommand', command);
|
|
75
75
|
resolve();
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
90
90
|
providedIn: 'root'
|
|
91
91
|
}]
|
|
92
92
|
}], ctorParameters: function () { return [{ type: i1.EnvironmentService }]; } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG4tY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90bi1jbGllbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFPckQsTUFBTSxPQUFPLGVBQWU7SUFPeEI7SUFDSSw2QkFBNkI7SUFDckIsbUJBQXVDO1FBQXZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFQM0Msc0JBQWlCLEdBQUcsSUFBSSxhQUFhLEVBQVcsQ0FBQztRQUNqRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBT3RCLElBQUksbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSTtZQUNBLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsb0NBQW9DO1lBRTdELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXdCLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEMsb0NBQW9DO2lCQUN2QztnQkFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssY0FBYyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUM3Qyxt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QUNQLENBQUM7OzRHQXpGUSxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzLCBTaWduYWxSQ29ubmVjdGlvbiB9IGZyb20gJ25nMi1zaWduYWxyJztcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVG5DbGllbnRDb21tYW5kIH0gZnJvbSAnLi4vbW9kZWxzL3RuLWNsaWVudC1jb21tYW5kJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG5DbGllbnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgX2Nvbm5lY3Rpb246IFNpZ25hbFJDb25uZWN0aW9uO1xyXG4gICAgcHJpdmF0ZSBfY29ubmVjdGVkQ2hhbmdlZCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgICBwcml2YXRlIF9jb25uZWN0ZWQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgbnVtYmVyT2ZSZXRyeSA9IDE7XHJcbiAgICBwcml2YXRlIHRpbWVvdXRJbnRlcnZhbDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8vIHByaXZhdGUgX3NpZ25hbFI6IFNpZ25hbFIsXHJcbiAgICAgICAgcHJpdmF0ZSBfZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIGlmIChfZW52aXJvbm1lbnRTZXJ2aWNlLmdldEVuYWJsZVRuQ2xpZW50KCkpIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5fY29ubmVjdGlvbiA9IG51bGw7IC8vIHRoaXMuX3NpZ25hbFIuY3JlYXRlQ29ubmVjdGlvbigpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5zdGF0dXMuc3Vic2NyaWJlKChzdGF0dXM6IENvbm5lY3Rpb25TdGF0dXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChzdGF0dXMubmFtZSAhPT0gJ2Nvbm5lY3RlZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25uZWN0ZWRDaGFuZ2VkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3NpZ25hbHIgY29ubmVjdGVkJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHN0YXR1cy5uYW1lID09PSAnZGlzY29ubmVjdGVkJyAmJiBzdGF0dXMudmFsdWUgPT09IDQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZGlzY29ubmVjdGVkLCByZWFzb24gJywgc3RhdHVzKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyByZXRyeSB0byBjb25uZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlDb25uZWN0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy50cnlDb25uZWN0KCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmVycm9ycy5zdWJzY3JpYmUoKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ3NpZ25hbHIgZXJyb3InLCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUNvbm5lY3QoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyeUNvbm5lY3QoKSB7XHJcbiAgICAgICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY29ubmVjdGVkQ2hhbmdlZC5uZXh0KGZhbHNlKTtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SW50ZXJ2YWwpO1xyXG4gICAgICAgIHRoaXMudGltZW91dEludGVydmFsID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXRyeSBjb25uZWN0IHRvIHRuIGNsaWVudCBhZnRlciAnICsgKDIwMDAgKiB0aGlzLm51bWJlck9mUmV0cnkpICsgJyBzZWNvbmRzJyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uc3RhcnQoKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb25uZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJPZlJldHJ5ID0gMTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Nvbm5lY3RlZENoYW5nZWQubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJbnRlcnZhbCk7XHJcbiAgICAgICAgICAgIH0pLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyeUNvbm5lY3QoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubnVtYmVyT2ZSZXRyeSsrO1xyXG4gICAgICAgIH0sIDIwMDAgKiB0aGlzLm51bWJlck9mUmV0cnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRDb21tYW5kKGNvbW1hbmQ6IFRuQ2xpZW50Q29tbWFuZCwgbnVtYmVyT2ZSZXRyeSA9IDApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY29ubmVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzZW5kIGNvbW1hbmRcclxuICAgICAgICAgICAgICAgIGNvbW1hbmQuc291cmNlQ29ubmVjdGlvbklkID0gdGhpcy5fY29ubmVjdGlvbi5pZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uaW52b2tlKCdTZW5kQ29tbWFuZCcsIGNvbW1hbmQpO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5fY29ubmVjdGVkQ2hhbmdlZFxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgY29ubmV0aW9uU3RhdGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29ubmV0aW9uU3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNlbmQgY29tbWFuZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZC5zb3VyY2VDb25uZWN0aW9uSWQgPSB0aGlzLl9jb25uZWN0aW9uLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fY29ubmVjdGlvbi5zdGF0dXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3N0YXR1cyBjb25uZWN0aW9uIHNpZ25hbHInLCBzdGF0dXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5pbnZva2UoJ1NlbmRDb21tYW5kJywgY29tbWFuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1Yikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { firstValueFrom } from 'rxjs';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common/http";
|
|
4
5
|
import * as i2 from "./environment.service";
|
|
@@ -12,10 +13,10 @@ export class UniqueNumberService {
|
|
|
12
13
|
this.serviceUri = this.endPoint;
|
|
13
14
|
}
|
|
14
15
|
getUniqueNumber(code) {
|
|
15
|
-
return this._http.get(`${this.serviceUri}/Main/GetUniqueNumber/${code}`)
|
|
16
|
+
return firstValueFrom(this._http.get(`${this.serviceUri}/Main/GetUniqueNumber/${code}`));
|
|
16
17
|
}
|
|
17
18
|
confirmUniqueNumber(code, number) {
|
|
18
|
-
return this._http.get(`${this.serviceUri}/Main/ConfirmUniqueNumber/${code}/${number}`)
|
|
19
|
+
return firstValueFrom(this._http.get(`${this.serviceUri}/Main/ConfirmUniqueNumber/${code}/${number}`));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
UniqueNumberService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: UniqueNumberService, deps: [{ token: i1.HttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -26,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
26
27
|
providedIn: 'root'
|
|
27
28
|
}]
|
|
28
29
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EnvironmentService }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLW51bWJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdW5pcXVlLW51bWJlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUt0QyxNQUFNLE9BQU8sbUJBQW1CO0lBSzVCLFlBQ1ksS0FBaUIsRUFDakIsbUJBQXVDO1FBRHZDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQU5uRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQVF6QixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsaUJBQWlCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUN4QixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSx5QkFBeUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsTUFBYztRQUM1QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSw2QkFBNkIsSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzSCxDQUFDOztnSEFwQlEsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uL21vZGVscy9yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlxdWVOdW1iZXJTZXJ2aWNlIHtcclxuICAgIHNlcnZpY2VDb2RlID0gJ3VuaXF1ZU51bWJlcic7XHJcbiAgICBlbmRQb2ludDogc3RyaW5nO1xyXG4gICAgc2VydmljZVVyaTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSBfZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuZW5kUG9pbnQgPSBfZW52aXJvbm1lbnRTZXJ2aWNlLmdldEh0dHBTZXJ2aWNlRW5kcG9pbnRXaXRoVmVyc2lvbih0aGlzLnNlcnZpY2VDb2RlKTtcclxuICAgICAgICB0aGlzLnNlcnZpY2VVcmkgPSBgJHt0aGlzLmVuZFBvaW50fS9Db25nVmllY19DaGluaGA7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlVXJpID0gdGhpcy5lbmRQb2ludDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRVbmlxdWVOdW1iZXIoY29kZTogc3RyaW5nKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLmdldDxSZXNwb25zZVJlc3VsdD4oYCR7dGhpcy5zZXJ2aWNlVXJpfS9NYWluL0dldFVuaXF1ZU51bWJlci8ke2NvZGV9YCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpcm1VbmlxdWVOdW1iZXIoY29kZTogc3RyaW5nLCBudW1iZXI6IG51bWJlcik6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cC5nZXQ8UmVzcG9uc2VSZXN1bHQ+KGAke3RoaXMuc2VydmljZVVyaX0vTWFpbi9Db25maXJtVW5pcXVlTnVtYmVyLyR7Y29kZX0vJHtudW1iZXJ9YCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|