@colijnit/sharedcomponents 259.1.5 → 259.1.6
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/267.48755ac117fce8407070.js +1 -0
- package/358.645812766f7a400d0d38.js +1 -0
- package/3rdpartylicenses.txt +2222 -0
- package/977.bd6291f9ee6f6ddf91f1.js +1 -0
- package/bundles/colijnit-sharedcomponents.umd.js +77 -46
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.component.js +55 -47
- package/esm2015/lib/components/custom-pdf/custom-pdf-dialog.module.js +3 -2
- package/favicon.ico +0 -0
- package/fesm2015/colijnit-sharedcomponents.js +56 -47
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +12 -0
- package/lib/components/custom-pdf/custom-pdf-dialog.component.d.ts +1 -0
- package/lib/components/custom-pdf/style/_layout.scss +12 -0
- package/main.26d227fd7f8d16716472.js +1 -0
- package/package.json +1 -1
- package/polyfills.907fe9d1887c5de17993.js +1 -0
- package/runtime.8e71661a9a96996bf63e.js +1 -0
- package/styles.3abd564826d6b43944b7.css +1 -0
|
@@ -18,6 +18,7 @@ export class CustomPdfDialogComponent {
|
|
|
18
18
|
this.additionalFileChangeEvent = new EventEmitter();
|
|
19
19
|
this.signaturePads = {};
|
|
20
20
|
this.signatureCanvases = {};
|
|
21
|
+
this.showLoader = false;
|
|
21
22
|
}
|
|
22
23
|
showClass() {
|
|
23
24
|
return true;
|
|
@@ -100,6 +101,7 @@ export class CustomPdfDialogComponent {
|
|
|
100
101
|
}
|
|
101
102
|
handleSaveClicked() {
|
|
102
103
|
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
this.showLoader = true;
|
|
103
105
|
const clearButton = document.getElementById('clearButton');
|
|
104
106
|
clearButton.hidden = true;
|
|
105
107
|
const doc = new jsPDF();
|
|
@@ -108,38 +110,39 @@ export class CustomPdfDialogComponent {
|
|
|
108
110
|
const sectionsCount = documentSection.length;
|
|
109
111
|
for (let i = 0; i < sectionsCount; i++) {
|
|
110
112
|
const html = documentSection[i];
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
try {
|
|
114
|
+
const dataUrl = yield toJpeg(html, {
|
|
115
|
+
quality: 1,
|
|
116
|
+
backgroundColor: 'white'
|
|
117
|
+
});
|
|
115
118
|
const img = new Image();
|
|
116
119
|
img.src = dataUrl;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
fileAsCoDocument.reports = 1;
|
|
131
|
-
this.additionalFileChangeEvent.emit(fileAsCoDocument);
|
|
132
|
-
this.closePDFDialog.emit();
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
doc.addPage();
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
}).catch((error) => {
|
|
120
|
+
yield new Promise((resolve) => {
|
|
121
|
+
img.onload = () => {
|
|
122
|
+
const imgWidth = 218;
|
|
123
|
+
const imgHeight = (img.height * imgWidth) / img.width;
|
|
124
|
+
doc.addImage(dataUrl, 'JPG', -4, 0, imgWidth, imgHeight);
|
|
125
|
+
if (i < sectionsCount - 1) {
|
|
126
|
+
doc.addPage();
|
|
127
|
+
}
|
|
128
|
+
resolve();
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
140
133
|
console.error('Error generating image:', error);
|
|
141
|
-
}
|
|
134
|
+
}
|
|
142
135
|
}
|
|
136
|
+
const tempFile = doc.output('datauristring');
|
|
137
|
+
const file = this.dataURItoBlob(tempFile);
|
|
138
|
+
const fileAsCoDocument = yield FileUtils.ReadFileAsNewCoDocument(file);
|
|
139
|
+
fileAsCoDocument.fileType = FileUtils.IsImageFile(file) ? FileType.Image : FileType.Document;
|
|
140
|
+
fileAsCoDocument.creationDate = new Date();
|
|
141
|
+
fileAsCoDocument.modifiedDate = new Date();
|
|
142
|
+
fileAsCoDocument.reports = 1;
|
|
143
|
+
this.additionalFileChangeEvent.emit(fileAsCoDocument);
|
|
144
|
+
this.showLoader = false;
|
|
145
|
+
this.closePDFDialog.emit();
|
|
143
146
|
clearButton.hidden = false;
|
|
144
147
|
});
|
|
145
148
|
}
|
|
@@ -170,24 +173,29 @@ CustomPdfDialogComponent.decorators = [
|
|
|
170
173
|
{ type: Component, args: [{
|
|
171
174
|
selector: 'co-custom-pdf-dialog',
|
|
172
175
|
template: `
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
176
|
+
<co-dialog
|
|
177
|
+
[footerTemplate]="footerTemplate"
|
|
178
|
+
id="custom-pdf-dialog"
|
|
179
|
+
(closeClick)="closePDFDialog.emit()">
|
|
180
|
+
<!-- create a nice container for loader so it is not random in the corner somewhere -->
|
|
181
|
+
<div *ngIf="showLoader" class="loader-container">
|
|
182
|
+
<co-loader *ngIf="showLoader"></co-loader>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<div #pdfBody id="pdfBody">
|
|
186
|
+
<section [innerHTML]="fileBody"></section>
|
|
187
|
+
</div>
|
|
188
|
+
<ng-template #footerTemplate>
|
|
189
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
190
|
+
<co-button class="save-button"
|
|
191
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
192
|
+
(click)="handleSaveClicked()"></co-button>
|
|
193
|
+
<co-button class="close-button"
|
|
194
|
+
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)"
|
|
195
|
+
(click)="closePDFDialog.emit()"></co-button>
|
|
196
|
+
</div>
|
|
197
|
+
</ng-template>
|
|
198
|
+
</co-dialog>
|
|
191
199
|
`,
|
|
192
200
|
encapsulation: ViewEncapsulation.None
|
|
193
201
|
},] }
|
|
@@ -204,4 +212,4 @@ CustomPdfDialogComponent.propDecorators = {
|
|
|
204
212
|
closePDFDialog: [{ type: Output }],
|
|
205
213
|
additionalFileChangeEvent: [{ type: Output }]
|
|
206
214
|
};
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBkZi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXBkZi9jdXN0b20tcGRmLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25KLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFDNUIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBMEIxQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEJuQyxZQUNTLGdCQUFrQyxFQUNqQyxVQUF3QjtRQUR6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQWM7UUEvQmxCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBY25DLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRzVELDhCQUF5QixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFD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SyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsU0FBdUIsRUFBRSxlQUEyQjtRQUNqRixNQUFNLGlCQUFpQixHQUFXLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hGLGVBQWUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxRixlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25FLFNBQVMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUFoTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBakNPLGdCQUFnQjtZQUNoQixZQUFZOzs7d0JBb0NqQixXQUFXLFNBQUMsNEJBQTRCO3NCQUt4QyxTQUFTLFNBQUMsU0FBUztxQ0FHbkIsS0FBSztpQ0FHTCxLQUFLOzZCQUdMLE1BQU07d0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2pzUERGfSBmcm9tICdqc3BkZic7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCBTaWduYXR1cmVQYWQgZnJvbSAnc2lnbmF0dXJlX3BhZCc7XHJcbmltcG9ydCB7dG9KcGVnfSBmcm9tICdodG1sLXRvLWltYWdlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC5ibyc7XHJcbmltcG9ydCB7RmlsZVV0aWxzfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy9maWxlLXV0aWxzJztcclxuXHJcbmltcG9ydCB7RmlsZVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vZmlsZS10eXBlLmVudW0nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tY3VzdG9tLXBkZi1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1kaWFsb2dcclxuICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIGlkPVwiY3VzdG9tLXBkZi1kaWFsb2dcIlxyXG4gICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlUERGRGlhbG9nLmVtaXQoKVwiPlxyXG4gICAgICAgICAgPGRpdiAjcGRmQm9keSBpZD1cInBkZkJvZHlcIj5cclxuICAgICAgICAgICAgICA8c2VjdGlvbiBbaW5uZXJIVE1MXT1cImZpbGVCb2R5XCI+PC9zZWN0aW9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZUNsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3NzU2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUERGRGlhbG9nLmVtaXQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21QZGZEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWN1c3RvbS1wZGYtZGlhbG9nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdwZGZCb2R5JylcclxuICBwdWJsaWMgcGRmQm9keTogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VQREZEaWFsb2c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xyXG4gIHB1YmxpYyBjb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XHJcbiAgcHVibGljIHNpZ25hdHVyZVBhZHM6IHsgW2tleTogc3RyaW5nXTogU2lnbmF0dXJlUGFkIH0gPSB7fTtcclxuICBwdWJsaWMgc2lnbmF0dXJlQ2FudmFzZXM6IHsgW2tleTogc3RyaW5nXTogRWxlbWVudFJlZiB9ID0ge307XHJcbiAgcHVibGljIGZpbGVCb2R5OiBhbnk7XHJcbiAgcHVibGljIGZpbGVTdHlsZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWRkaXRpb25hbEZpbGVDb250ZW50cykge1xyXG4gICAgICBjb25zdCBoZWFkOiBIVE1MSGVhZEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgICBjb25zdCBzdHlsZXM6IHN0cmluZ1tdID0gdGhpcy5leHRyYWN0U3R5bGVQYXJ0cyh0aGlzLmFkZGl0aW9uYWxGaWxlQ29udGVudHMpO1xyXG4gICAgICB0aGlzLmZpbGVTdHlsZSA9IHN0eWxlc1swXTtcclxuICAgICAgY29uc3Qgc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG4gICAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLmZpbGVTdHlsZSkpO1xyXG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICAgICAgY29uc3QgYm9keTogc3RyaW5nW10gPSB0aGlzLmV4dHJhY3RCb2R5Q29udGVudHModGhpcy5hZGRpdGlvbmFsRmlsZUNvbnRlbnRzKTtcclxuICAgICAgdGhpcy5maWxlQm9keSA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChib2R5WzBdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIFsnc2lnbmF0dXJlQ2FudmFzJywgJ3NpZ25hdHVyZUNhbnZhczInXS5mb3JFYWNoKGlkID0+IHtcclxuICAgICAgY29uc3QgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBjYW52YXNSZWYgPSBuZXcgRWxlbWVudFJlZihjYW52YXNFbGVtZW50KTtcclxuICAgICAgICBjb25zdCBzaWduYXR1cmVQYWQgPSBuZXcgU2lnbmF0dXJlUGFkKDxIVE1MQ2FudmFzRWxlbWVudD5jYW52YXNSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVDYW52YXNlc1tpZF0gPSBjYW52YXNSZWY7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWRzW2lkXSA9IHNpZ25hdHVyZVBhZDtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9yZXNpemVTaWduYXR1cmVDYW52YXMoc2lnbmF0dXJlUGFkLCBjYW52YXNSZWYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGNsZWFyQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsZWFyQnV0dG9uJyk7XHJcbiAgICBjbGVhckJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmhhbmRsZUNsZWFyKCkpO1xyXG5cclxuICAgIC8vIER1ZSB0byBhIGJ1ZyBvciBrbm93biBpc3N1ZSB3aXRoIGh0bWwtdG8taW1hZ2Ugd2UgbmVlZCBhIGJpdCBvZiBKUyB0aGUgZmlsbCBpbiB0aGUgY2hlY2tlZCB2YWx1ZSB3aGVuIHNlbGVjdGluZyBhIGNoZWNrYm94LlxyXG4gICAgLy8gSGFuZGxpbmcgdGhlIGNoZWNrYm94ZXMgYW5kIHJhZGlvYnV0dG9uc1xyXG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IHRoaXMucGRmQm9keS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS50eXBlID09PSAnY2hlY2tib3gnKSB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tib3g6IEhUTUxJbnB1dEVsZW1lbnQgPSB0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkge1xyXG4gICAgICAgICAgY2hlY2tib3guc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ3RydWUnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2hlY2tib3gucmVtb3ZlQXR0cmlidXRlKCdjaGVja2VkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnICYmICh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudHlwZSA9PT0gJ3JhZGlvJykge1xyXG4gICAgICAgIGNvbnN0IHJhZGlvOiBIVE1MSW5wdXRFbGVtZW50ID0gdGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBOYW1lOiBzdHJpbmcgPSByYWRpby5uYW1lO1xyXG4gICAgICAgIGNvbnN0IHJhZGlvczogTm9kZUxpc3RPZjxFbGVtZW50PiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKGBpbnB1dFt0eXBlPVwicmFkaW9cIl1bbmFtZT1cIiR7Z3JvdXBOYW1lfVwiXWApO1xyXG4gICAgICAgIHJhZGlvcy5mb3JFYWNoKChyYWRpbykgPT4gcmFkaW8ucmVtb3ZlQXR0cmlidXRlKCdjaGVja2VkJykpO1xyXG4gICAgICAgIGlmIChyYWRpby5jaGVja2VkKSB7XHJcbiAgICAgICAgICByYWRpby5zZXRBdHRyaWJ1dGUoJ2NoZWNrZWQnLCAndHJ1ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXh0cmFjdFN0eWxlUGFydHMoaHRtbDogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3Qgc3R5bGVQYXR0ZXJuOiBSZWdFeHAgPSAvPHN0eWxlW14+XSo+KFtcXHNcXFNdKj8pPFxcL3N0eWxlPi9naTtcclxuICAgIGNvbnN0IG1hdGNoZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgICB3aGlsZSAoKG1hdGNoID0gc3R5bGVQYXR0ZXJuLmV4ZWMoaHRtbCkpICE9PSBudWxsKSB7XHJcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaFsxXS50cmltKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdGNoZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlU3R5bGVBbmRTY3JpcHRUYWdzKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzdHlsZVRhZ1BhdHRlcm46IFJlZ0V4cCA9IC88c3R5bGVbXj5dKj5bXFxzXFxTXSo/PFxcL3N0eWxlPi9naTtcclxuICAgIGNvbnN0IHNjcmlwdFRhZ1BhdHRlcm46IFJlZ0V4cCA9IC88c2NyaXB0W14+XSo+W1xcc1xcU10qPzxcXC9zY3JpcHQ+L2dpO1xyXG4gICAgcmV0dXJuIGh0bWwucmVwbGFjZShzdHlsZVRhZ1BhdHRlcm4sICcnKS5yZXBsYWNlKHNjcmlwdFRhZ1BhdHRlcm4sICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHRyYWN0Qm9keUNvbnRlbnRzKGh0bWw6IHN0cmluZyk6IHN0cmluZyBbXSB7XHJcbiAgICBodG1sID0gdGhpcy5yZW1vdmVTdHlsZUFuZFNjcmlwdFRhZ3MoaHRtbCk7XHJcbiAgICBjb25zdCBzdHlsZVBhdHRlcm46IFJlZ0V4cCA9IC88Ym9keVtePl0qPihbXFxzXFxTXSo/KTxcXC9ib2R5Pi9naTtcclxuICAgIGNvbnN0IG1hdGNoZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgICB3aGlsZSAoKG1hdGNoID0gc3R5bGVQYXR0ZXJuLmV4ZWMoaHRtbCkpICE9PSBudWxsKSB7XHJcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaFsxXS50cmltKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdGNoZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBjbGVhckJ1dHRvbjogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xlYXJCdXR0b24nKTtcclxuICAgIGNsZWFyQnV0dG9uLmhpZGRlbiA9IHRydWU7XHJcbiAgICBjb25zdCBkb2M6IGpzUERGID0gbmV3IGpzUERGKCk7XHJcbiAgICBjb25zdCBodG1sRG9jdW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNwZGZCb2R5XCIpO1xyXG4gICAgY29uc3QgZG9jdW1lbnRTZWN0aW9uOiBIVE1MQ29sbGVjdGlvbk9mPEhUTUxFbGVtZW50PiA9IGh0bWxEb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VjdGlvbicpO1xyXG4gICAgY29uc3Qgc2VjdGlvbnNDb3VudDogbnVtYmVyID0gZG9jdW1lbnRTZWN0aW9uLmxlbmd0aDtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgc2VjdGlvbnNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGh0bWw6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnRTZWN0aW9uW2ldO1xyXG4gICAgICB0b0pwZWcoaHRtbCwge1xyXG4gICAgICAgIHF1YWxpdHk6IDEsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnXHJcbiAgICAgIH0pLnRoZW4oKGRhdGFVcmw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgIGltZy5zcmMgPSBkYXRhVXJsO1xyXG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpbWdXaWR0aDogbnVtYmVyID0gMjE4O1xyXG4gICAgICAgICAgY29uc3QgaW1nSGVpZ2h0OiBudW1iZXIgPSAoaW1nLmhlaWdodCAqIGltZ1dpZHRoKSAvIGltZy53aWR0aDtcclxuICAgICAgICAgIGRvYy5hZGRJbWFnZShkYXRhVXJsLCAnSlBHJywgLTQsIDAsIGltZ1dpZHRoLCBpbWdIZWlnaHQpO1xyXG4gICAgICAgICAgaWYgKGkgPT09IHNlY3Rpb25zQ291bnQgLSAxKSB7XHJcbiAgICAgICAgICAgIC8vIGRvYy5zYXZlKHRoaXMuYWRkaXRpb25hbEZpbGVOYW1lICsgJy5wZGYnKTtcclxuICAgICAgICAgICAgY29uc3QgdGVtcEZpbGU6IHN0cmluZyA9IGRvYy5vdXRwdXQoJ2RhdGF1cmlzdHJpbmcnKTtcclxuICAgICAgICAgICAgY29uc3QgZmlsZTogRmlsZSA9IHRoaXMuZGF0YVVSSXRvQmxvYih0ZW1wRmlsZSk7XHJcbiAgICAgICAgICAgIEZpbGVVdGlscy5SZWFkRmlsZUFzTmV3Q29Eb2N1bWVudChmaWxlKS50aGVuKGZpbGVBc0NvRG9jdW1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIHNldCBzb21lIGV4dHJhIGtub3duIGZpZWxkcyBmb3IgdGhlIGNvZG9jdW1lbnQ6XHJcbiAgICAgICAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5maWxlVHlwZSA9IEZpbGVVdGlscy5Jc0ltYWdlRmlsZShmaWxlKSA/IEZpbGVUeXBlLkltYWdlIDogRmlsZVR5cGUuRG9jdW1lbnQ7XHJcbiAgICAgICAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgICAgICAgIGZpbGVBc0NvRG9jdW1lbnQubW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgICBmaWxlQXNDb0RvY3VtZW50LnJlcG9ydHMgPSAxO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KGZpbGVBc0NvRG9jdW1lbnQpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2xvc2VQREZEaWFsb2cuZW1pdCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRvYy5hZGRQYWdlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZ2VuZXJhdGluZyBpbWFnZTonLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY2xlYXJCdXR0b24uaGlkZGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGF0YVVSSXRvQmxvYihkYXRhVVJJKTogRmlsZSB7XHJcbiAgICBjb25zdCBieXRlU3RyaW5nOiBzdHJpbmcgPSBhdG9iKGRhdGFVUkkuc3BsaXQoJywnKVsxXSk7XHJcbiAgICBjb25zdCBhYjogQXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnl0ZVN0cmluZy5sZW5ndGgpO1xyXG4gICAgY29uc3QgaWE6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShhYik7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpYVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRmlsZShbYWJdLCB0aGlzLmFkZGl0aW9uYWxGaWxlTmFtZSArICcucGRmJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xlYXIoKTogdm9pZCB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc2lnbmF0dXJlUGFkcykuZm9yRWFjaChzaWduYXR1cmVQYWQgPT4ge1xyXG4gICAgICBzaWduYXR1cmVQYWQ/LmNsZWFyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2l6ZVNpZ25hdHVyZUNhbnZhcyhzaWduYXR1cmU6IFNpZ25hdHVyZVBhZCwgc2lnbmF0dXJlQ2FudmFzOiBFbGVtZW50UmVmKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbWFnZUJlZm9yZVJlc2l6ZTogc3RyaW5nID0gc2lnbmF0dXJlLnRvRGF0YVVSTCgpO1xyXG4gICAgY29uc3QgcmF0aW86IG51bWJlciA9IE1hdGgubWF4KHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvIHx8IDEsIDEpO1xyXG4gICAgc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGggPSBzaWduYXR1cmVDYW52YXMubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIHJhdGlvO1xyXG4gICAgc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICogcmF0aW87XHJcbiAgICBzaWduYXR1cmVDYW52YXMubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KFwiMmRcIikuc2NhbGUocmF0aW8sIHJhdGlvKTtcclxuICAgIHNpZ25hdHVyZS5mcm9tRGF0YVVSTChpbWFnZUJlZm9yZVJlc2l6ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBkZi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXBkZi9jdXN0b20tcGRmLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25KLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFDNUIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBK0IxQyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0NuQyxZQUNTLGdCQUFrQyxFQUNqQyxVQUF3QjtRQUR6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQWM7UUFqQ2xCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBY25DLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUdoQyxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRzVELDhCQUF5QixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBSXJGLGtCQUFhLEdBQW9DLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBa0MsRUFBRSxDQUFDO1FBSXRELGVBQVUsR0FBWSxLQUFLLENBQUM7SUFNbkMsQ0FBQztJQWhDTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBZ0NELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixNQUFNLElBQUksR0FBb0IsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sTUFBTSxHQUFhLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixNQUFNLEtBQUssR0FBcUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixNQUFNLElBQUksR0FBYSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25ELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEQsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBb0IsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNsRixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQztnQkFFdEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFakUsOEhBQThIO1FBQzlILDJDQUEyQztRQUMzQyxNQUFNLFNBQVMsR0FBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDO1FBQ3pFLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztZQUMzQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFLLE1BQTJCLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtnQkFDbEYsTUFBTSxRQUFRLEdBQXFCLE1BQTBCLENBQUM7Z0JBQzlELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDcEIsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzFDO3FCQUFNO29CQUNMLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3JDO2FBQ0Y7aUJBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSyxNQUEyQixDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ3RGLE1BQU0sS0FBSyxHQUFxQixNQUEwQixDQUFDO2dCQUMzRCxNQUFNLFNBQVMsR0FBVyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNLE1BQU0sR0FBd0IsU0FBUyxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixTQUFTLElBQUksQ0FBQyxDQUFDO2dCQUMzRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFZO1FBQ25DLE1BQU0sWUFBWSxHQUFXLG1DQUFtQyxDQUFDO1FBQ2pFLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztRQUM3QixJQUFJLEtBQTZCLENBQUM7UUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDL0I7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sd0JBQXdCLENBQUMsSUFBWTtRQUMxQyxNQUFNLGVBQWUsR0FBVyxpQ0FBaUMsQ0FBQztRQUNsRSxNQUFNLGdCQUFnQixHQUFXLG1DQUFtQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxJQUFZO1FBQ3JDLElBQUksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQVcsaUNBQWlDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksS0FBNkIsQ0FBQztRQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFWSxpQkFBaUI7O1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE1BQU0sV0FBVyxHQUFnQixRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE1BQU0sR0FBRyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7WUFDL0IsTUFBTSxZQUFZLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckUsTUFBTSxlQUFlLEdBQWtDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRyxNQUFNLGFBQWEsR0FBVyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBRXJELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlDLE1BQU0sSUFBSSxHQUFnQixlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLElBQUk7b0JBQ0YsTUFBTSxPQUFPLEdBQVcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFO3dCQUN6QyxPQUFPLEVBQUUsQ0FBQzt3QkFDVixlQUFlLEVBQUUsT0FBTztxQkFDekIsQ0FBQyxDQUFDO29CQUNILE1BQU0sR0FBRyxHQUFxQixJQUFJLEtBQUssRUFBRSxDQUFDO29CQUMxQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztvQkFDbEIsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO3dCQUNsQyxHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTs0QkFDaEIsTUFBTSxRQUFRLEdBQVcsR0FBRyxDQUFDOzRCQUM3QixNQUFNLFNBQVMsR0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzs0QkFDOUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7NEJBQ3pELElBQUksQ0FBQyxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUU7Z0NBQ3pCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs2QkFDZjs0QkFDRCxPQUFPLEVBQUUsQ0FBQzt3QkFDWixDQUFDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDakQ7YUFDRjtZQUNELE1BQU0sUUFBUSxHQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLEdBQVMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZFLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQzdGLGdCQUFnQixDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNDLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsV0FBVyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQztLQUFBO0lBRU0sYUFBYSxDQUFDLE9BQU87UUFDMUIsTUFBTSxVQUFVLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBZ0IsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxHQUFlLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xELEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDdkQsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFNBQXVCLEVBQUUsZUFBMkI7UUFDakYsTUFBTSxpQkFBaUIsR0FBVyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDeEQsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4RixlQUFlLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUYsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxTQUFTLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0MsQ0FBQzs7O1lBek5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdENPLGdCQUFnQjtZQUNoQixZQUFZOzs7d0JBeUNqQixXQUFXLFNBQUMsNEJBQTRCO3NCQUt4QyxTQUFTLFNBQUMsU0FBUztxQ0FHbkIsS0FBSztpQ0FHTCxLQUFLOzZCQUdMLE1BQU07d0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2pzUERGfSBmcm9tICdqc3BkZic7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCBTaWduYXR1cmVQYWQgZnJvbSAnc2lnbmF0dXJlX3BhZCc7XHJcbmltcG9ydCB7dG9KcGVnfSBmcm9tICdodG1sLXRvLWltYWdlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC5ibyc7XHJcbmltcG9ydCB7RmlsZVV0aWxzfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy9maWxlLXV0aWxzJztcclxuXHJcbmltcG9ydCB7RmlsZVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vZmlsZS10eXBlLmVudW0nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tY3VzdG9tLXBkZi1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nXHJcbiAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgIGlkPVwiY3VzdG9tLXBkZi1kaWFsb2dcIlxyXG4gICAgICAoY2xvc2VDbGljayk9XCJjbG9zZVBERkRpYWxvZy5lbWl0KClcIj5cclxuICAgICAgPCEtLSBjcmVhdGUgYSBuaWNlIGNvbnRhaW5lciBmb3IgbG9hZGVyIHNvIGl0IGlzIG5vdCByYW5kb20gaW4gdGhlIGNvcm5lciBzb21ld2hlcmUgLS0+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93TG9hZGVyXCIgY2xhc3M9XCJsb2FkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGNvLWxvYWRlciAqbmdJZj1cInNob3dMb2FkZXJcIj48L2NvLWxvYWRlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICA8ZGl2ICNwZGZCb2R5IGlkPVwicGRmQm9keVwiPlxyXG4gICAgICAgIDxzZWN0aW9uIFtpbm5lckhUTUxdPVwiZmlsZUJvZHlcIj48L3NlY3Rpb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZUNsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUERGRGlhbG9nLmVtaXQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21QZGZEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWN1c3RvbS1wZGYtZGlhbG9nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdwZGZCb2R5JylcclxuICBwdWJsaWMgcGRmQm9keTogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VQREZEaWFsb2c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xyXG4gIHB1YmxpYyBjb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XHJcbiAgcHVibGljIHNpZ25hdHVyZVBhZHM6IHsgW2tleTogc3RyaW5nXTogU2lnbmF0dXJlUGFkIH0gPSB7fTtcclxuICBwdWJsaWMgc2lnbmF0dXJlQ2FudmFzZXM6IHsgW2tleTogc3RyaW5nXTogRWxlbWVudFJlZiB9ID0ge307XHJcbiAgcHVibGljIGZpbGVCb2R5OiBhbnk7XHJcbiAgcHVibGljIGZpbGVTdHlsZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWRkaXRpb25hbEZpbGVDb250ZW50cykge1xyXG4gICAgICBjb25zdCBoZWFkOiBIVE1MSGVhZEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgICBjb25zdCBzdHlsZXM6IHN0cmluZ1tdID0gdGhpcy5leHRyYWN0U3R5bGVQYXJ0cyh0aGlzLmFkZGl0aW9uYWxGaWxlQ29udGVudHMpO1xyXG4gICAgICB0aGlzLmZpbGVTdHlsZSA9IHN0eWxlc1swXTtcclxuICAgICAgY29uc3Qgc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG4gICAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLmZpbGVTdHlsZSkpO1xyXG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICAgICAgY29uc3QgYm9keTogc3RyaW5nW10gPSB0aGlzLmV4dHJhY3RCb2R5Q29udGVudHModGhpcy5hZGRpdGlvbmFsRmlsZUNvbnRlbnRzKTtcclxuICAgICAgdGhpcy5maWxlQm9keSA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChib2R5WzBdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIFsnc2lnbmF0dXJlQ2FudmFzJywgJ3NpZ25hdHVyZUNhbnZhczInXS5mb3JFYWNoKGlkID0+IHtcclxuICAgICAgY29uc3QgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBjYW52YXNSZWYgPSBuZXcgRWxlbWVudFJlZihjYW52YXNFbGVtZW50KTtcclxuICAgICAgICBjb25zdCBzaWduYXR1cmVQYWQgPSBuZXcgU2lnbmF0dXJlUGFkKDxIVE1MQ2FudmFzRWxlbWVudD5jYW52YXNSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVDYW52YXNlc1tpZF0gPSBjYW52YXNSZWY7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWRzW2lkXSA9IHNpZ25hdHVyZVBhZDtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9yZXNpemVTaWduYXR1cmVDYW52YXMoc2lnbmF0dXJlUGFkLCBjYW52YXNSZWYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGNsZWFyQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsZWFyQnV0dG9uJyk7XHJcbiAgICBjbGVhckJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmhhbmRsZUNsZWFyKCkpO1xyXG5cclxuICAgIC8vIER1ZSB0byBhIGJ1ZyBvciBrbm93biBpc3N1ZSB3aXRoIGh0bWwtdG8taW1hZ2Ugd2UgbmVlZCBhIGJpdCBvZiBKUyB0aGUgZmlsbCBpbiB0aGUgY2hlY2tlZCB2YWx1ZSB3aGVuIHNlbGVjdGluZyBhIGNoZWNrYm94LlxyXG4gICAgLy8gSGFuZGxpbmcgdGhlIGNoZWNrYm94ZXMgYW5kIHJhZGlvYnV0dG9uc1xyXG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IHRoaXMucGRmQm9keS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS50eXBlID09PSAnY2hlY2tib3gnKSB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tib3g6IEhUTUxJbnB1dEVsZW1lbnQgPSB0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkge1xyXG4gICAgICAgICAgY2hlY2tib3guc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ3RydWUnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2hlY2tib3gucmVtb3ZlQXR0cmlidXRlKCdjaGVja2VkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnICYmICh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudHlwZSA9PT0gJ3JhZGlvJykge1xyXG4gICAgICAgIGNvbnN0IHJhZGlvOiBIVE1MSW5wdXRFbGVtZW50ID0gdGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBOYW1lOiBzdHJpbmcgPSByYWRpby5uYW1lO1xyXG4gICAgICAgIGNvbnN0IHJhZGlvczogTm9kZUxpc3RPZjxFbGVtZW50PiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKGBpbnB1dFt0eXBlPVwicmFkaW9cIl1bbmFtZT1cIiR7Z3JvdXBOYW1lfVwiXWApO1xyXG4gICAgICAgIHJhZGlvcy5mb3JFYWNoKChyYWRpbykgPT4gcmFkaW8ucmVtb3ZlQXR0cmlidXRlKCdjaGVja2VkJykpO1xyXG4gICAgICAgIGlmIChyYWRpby5jaGVja2VkKSB7XHJcbiAgICAgICAgICByYWRpby5zZXRBdHRyaWJ1dGUoJ2NoZWNrZWQnLCAndHJ1ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXh0cmFjdFN0eWxlUGFydHMoaHRtbDogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3Qgc3R5bGVQYXR0ZXJuOiBSZWdFeHAgPSAvPHN0eWxlW14+XSo+KFtcXHNcXFNdKj8pPFxcL3N0eWxlPi9naTtcclxuICAgIGNvbnN0IG1hdGNoZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgICB3aGlsZSAoKG1hdGNoID0gc3R5bGVQYXR0ZXJuLmV4ZWMoaHRtbCkpICE9PSBudWxsKSB7XHJcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaFsxXS50cmltKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdGNoZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlU3R5bGVBbmRTY3JpcHRUYWdzKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBzdHlsZVRhZ1BhdHRlcm46IFJlZ0V4cCA9IC88c3R5bGVbXj5dKj5bXFxzXFxTXSo/PFxcL3N0eWxlPi9naTtcclxuICAgIGNvbnN0IHNjcmlwdFRhZ1BhdHRlcm46IFJlZ0V4cCA9IC88c2NyaXB0W14+XSo+W1xcc1xcU10qPzxcXC9zY3JpcHQ+L2dpO1xyXG4gICAgcmV0dXJuIGh0bWwucmVwbGFjZShzdHlsZVRhZ1BhdHRlcm4sICcnKS5yZXBsYWNlKHNjcmlwdFRhZ1BhdHRlcm4sICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHRyYWN0Qm9keUNvbnRlbnRzKGh0bWw6IHN0cmluZyk6IHN0cmluZyBbXSB7XHJcbiAgICBodG1sID0gdGhpcy5yZW1vdmVTdHlsZUFuZFNjcmlwdFRhZ3MoaHRtbCk7XHJcbiAgICBjb25zdCBzdHlsZVBhdHRlcm46IFJlZ0V4cCA9IC88Ym9keVtePl0qPihbXFxzXFxTXSo/KTxcXC9ib2R5Pi9naTtcclxuICAgIGNvbnN0IG1hdGNoZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgICB3aGlsZSAoKG1hdGNoID0gc3R5bGVQYXR0ZXJuLmV4ZWMoaHRtbCkpICE9PSBudWxsKSB7XHJcbiAgICAgIG1hdGNoZXMucHVzaChtYXRjaFsxXS50cmltKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdGNoZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgY2xlYXJCdXR0b246IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NsZWFyQnV0dG9uJyk7XHJcbiAgICBjbGVhckJ1dHRvbi5oaWRkZW4gPSB0cnVlO1xyXG4gICAgY29uc3QgZG9jOiBqc1BERiA9IG5ldyBqc1BERigpO1xyXG4gICAgY29uc3QgaHRtbERvY3VtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjcGRmQm9keVwiKTtcclxuICAgIGNvbnN0IGRvY3VtZW50U2VjdGlvbjogSFRNTENvbGxlY3Rpb25PZjxIVE1MRWxlbWVudD4gPSBodG1sRG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlY3Rpb24nKTtcclxuICAgIGNvbnN0IHNlY3Rpb25zQ291bnQ6IG51bWJlciA9IGRvY3VtZW50U2VjdGlvbi5sZW5ndGg7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHNlY3Rpb25zQ291bnQ7IGkrKykge1xyXG4gICAgICBjb25zdCBodG1sOiBIVE1MRWxlbWVudCA9IGRvY3VtZW50U2VjdGlvbltpXTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBkYXRhVXJsOiBzdHJpbmcgPSBhd2FpdCB0b0pwZWcoaHRtbCwge1xyXG4gICAgICAgICAgcXVhbGl0eTogMSxcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgIGltZy5zcmMgPSBkYXRhVXJsO1xyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbWdXaWR0aDogbnVtYmVyID0gMjE4O1xyXG4gICAgICAgICAgICBjb25zdCBpbWdIZWlnaHQ6IG51bWJlciA9IChpbWcuaGVpZ2h0ICogaW1nV2lkdGgpIC8gaW1nLndpZHRoO1xyXG4gICAgICAgICAgICBkb2MuYWRkSW1hZ2UoZGF0YVVybCwgJ0pQRycsIC00LCAwLCBpbWdXaWR0aCwgaW1nSGVpZ2h0KTtcclxuICAgICAgICAgICAgaWYgKGkgPCBzZWN0aW9uc0NvdW50IC0gMSkge1xyXG4gICAgICAgICAgICAgIGRvYy5hZGRQYWdlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBnZW5lcmF0aW5nIGltYWdlOicsIGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgdGVtcEZpbGU6IHN0cmluZyA9IGRvYy5vdXRwdXQoJ2RhdGF1cmlzdHJpbmcnKTtcclxuICAgIGNvbnN0IGZpbGU6IEZpbGUgPSB0aGlzLmRhdGFVUkl0b0Jsb2IodGVtcEZpbGUpO1xyXG4gICAgY29uc3QgZmlsZUFzQ29Eb2N1bWVudCA9IGF3YWl0IEZpbGVVdGlscy5SZWFkRmlsZUFzTmV3Q29Eb2N1bWVudChmaWxlKTtcclxuICAgIGZpbGVBc0NvRG9jdW1lbnQuZmlsZVR5cGUgPSBGaWxlVXRpbHMuSXNJbWFnZUZpbGUoZmlsZSkgPyBGaWxlVHlwZS5JbWFnZSA6IEZpbGVUeXBlLkRvY3VtZW50O1xyXG4gICAgZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZmlsZUFzQ29Eb2N1bWVudC5tb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZmlsZUFzQ29Eb2N1bWVudC5yZXBvcnRzID0gMTtcclxuICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KGZpbGVBc0NvRG9jdW1lbnQpO1xyXG4gICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlUERGRGlhbG9nLmVtaXQoKTtcclxuICAgIGNsZWFyQnV0dG9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFVUkl0b0Jsb2IoZGF0YVVSSSk6IEZpbGUge1xyXG4gICAgY29uc3QgYnl0ZVN0cmluZzogc3RyaW5nID0gYXRvYihkYXRhVVJJLnNwbGl0KCcsJylbMV0pO1xyXG4gICAgY29uc3QgYWI6IEFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcclxuICAgIGNvbnN0IGlhOiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYWIpO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGJ5dGVTdHJpbmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWFbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEZpbGUoW2FiXSwgdGhpcy5hZGRpdGlvbmFsRmlsZU5hbWUgKyAnLnBkZicpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsZWFyKCk6IHZvaWQge1xyXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnNpZ25hdHVyZVBhZHMpLmZvckVhY2goc2lnbmF0dXJlUGFkID0+IHtcclxuICAgICAgc2lnbmF0dXJlUGFkPy5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNpemVTaWduYXR1cmVDYW52YXMoc2lnbmF0dXJlOiBTaWduYXR1cmVQYWQsIHNpZ25hdHVyZUNhbnZhczogRWxlbWVudFJlZik6IHZvaWQge1xyXG4gICAgY29uc3QgaW1hZ2VCZWZvcmVSZXNpemU6IHN0cmluZyA9IHNpZ25hdHVyZS50b0RhdGFVUkwoKTtcclxuICAgIGNvbnN0IHJhdGlvOiBudW1iZXIgPSBNYXRoLm1heCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxLCAxKTtcclxuICAgIHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiByYXRpbztcclxuICAgIHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IHNpZ25hdHVyZUNhbnZhcy5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAqIHJhdGlvO1xyXG4gICAgc2lnbmF0dXJlQ2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dChcIjJkXCIpLnNjYWxlKHJhdGlvLCByYXRpbyk7XHJcbiAgICBzaWduYXR1cmUuZnJvbURhdGFVUkwoaW1hZ2VCZWZvcmVSZXNpemUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from "@angular/core";
|
|
2
|
-
import { ButtonModule, CoDialogModule, IconModule } from
|
|
2
|
+
import { ButtonModule, CoDialogModule, IconModule, LoaderModule } from '@colijnit/corecomponents_v12';
|
|
3
3
|
import { CustomPdfDialogComponent } from "./custom-pdf-dialog.component";
|
|
4
4
|
import { CommonModule } from "@angular/common";
|
|
5
5
|
import { SharedComponentsTranslationModule } from "../../translation/shared-components-translation.module";
|
|
@@ -13,6 +13,7 @@ CustomPdfDialogModule.decorators = [
|
|
|
13
13
|
CommonModule,
|
|
14
14
|
ButtonModule,
|
|
15
15
|
SharedComponentsTranslationModule,
|
|
16
|
+
LoaderModule
|
|
16
17
|
],
|
|
17
18
|
declarations: [
|
|
18
19
|
CustomPdfDialogComponent
|
|
@@ -23,4 +24,4 @@ CustomPdfDialogModule.decorators = [
|
|
|
23
24
|
providers: []
|
|
24
25
|
},] }
|
|
25
26
|
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBkZi1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXBkZi9jdXN0b20tcGRmLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBcUJ6RyxNQUFNLE9BQU8scUJBQXFCOzs7WUFsQmpDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsVUFBVTtvQkFDVixjQUFjO29CQUNkLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixpQ0FBaUM7b0JBQ2pDLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtpQkFDekI7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgSWNvbk1vZHVsZSwgTG9hZGVyTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtDdXN0b21QZGZEaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL2N1c3RvbS1wZGYtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZVwiO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgTG9hZGVyTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEN1c3RvbVBkZkRpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ3VzdG9tUGRmRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21QZGZEaWFsb2dNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
|
package/favicon.ico
ADDED
|
Binary file
|
|
@@ -46,7 +46,7 @@ import { ArticleExtendedRequest } from '@colijnit/articleapi/build/model/article
|
|
|
46
46
|
import * as i1 from '@angular/platform-browser';
|
|
47
47
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
48
48
|
import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
|
|
49
|
-
import { BaseModuleScreenConfigService, IconModule, ListOfValuesModule, InputCheckboxModule, CoDialogModule, ButtonModule, ScreenConfigurationModule, OverlayService, ClickoutsideModule, OverlayModule, CoreDialogService, InputRadioButtonModule, SimpleGridModule, ImageModule, InputTextModule, InputNumberPickerModule, CoDialogWizardModule, InputTextareaModule, PopupModule, InputDatePickerModule, ResponsiveTextModule, InputSearchModule, PromptService, FormComponent, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, CoOrientation, CoreComponentsTranslationModule, TemplateWrapperModule, FormModule, FormMasterService, IconCacheService as IconCacheService$1, InputDateRangePickerModule, CollapsibleModule, ColorSequenceService, ListOfIconsModule } from '@colijnit/corecomponents_v12';
|
|
49
|
+
import { BaseModuleScreenConfigService, IconModule, ListOfValuesModule, InputCheckboxModule, CoDialogModule, ButtonModule, LoaderModule, ScreenConfigurationModule, OverlayService, ClickoutsideModule, OverlayModule, CoreDialogService, InputRadioButtonModule, SimpleGridModule, ImageModule, InputTextModule, InputNumberPickerModule, CoDialogWizardModule, InputTextareaModule, PopupModule, InputDatePickerModule, ResponsiveTextModule, InputSearchModule, PromptService, FormComponent, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, CoOrientation, CoreComponentsTranslationModule, TemplateWrapperModule, FormModule, FormMasterService, IconCacheService as IconCacheService$1, InputDateRangePickerModule, CollapsibleModule, ColorSequenceService, ListOfIconsModule } from '@colijnit/corecomponents_v12';
|
|
50
50
|
import { ArticleTransaction as ArticleTransaction$1 } from '@colijnit/articleapi/build/model/article-transaction';
|
|
51
51
|
import { PrintPriceStickers } from '@colijnit/sharedapi/build/model/print-price-stickers.bo';
|
|
52
52
|
import { ReportingDocumentEmailSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';
|
|
@@ -3449,6 +3449,7 @@ class CustomPdfDialogComponent {
|
|
|
3449
3449
|
this.additionalFileChangeEvent = new EventEmitter();
|
|
3450
3450
|
this.signaturePads = {};
|
|
3451
3451
|
this.signatureCanvases = {};
|
|
3452
|
+
this.showLoader = false;
|
|
3452
3453
|
}
|
|
3453
3454
|
showClass() {
|
|
3454
3455
|
return true;
|
|
@@ -3531,6 +3532,7 @@ class CustomPdfDialogComponent {
|
|
|
3531
3532
|
}
|
|
3532
3533
|
handleSaveClicked() {
|
|
3533
3534
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3535
|
+
this.showLoader = true;
|
|
3534
3536
|
const clearButton = document.getElementById('clearButton');
|
|
3535
3537
|
clearButton.hidden = true;
|
|
3536
3538
|
const doc = new jsPDF();
|
|
@@ -3539,38 +3541,39 @@ class CustomPdfDialogComponent {
|
|
|
3539
3541
|
const sectionsCount = documentSection.length;
|
|
3540
3542
|
for (let i = 0; i < sectionsCount; i++) {
|
|
3541
3543
|
const html = documentSection[i];
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3544
|
+
try {
|
|
3545
|
+
const dataUrl = yield toJpeg(html, {
|
|
3546
|
+
quality: 1,
|
|
3547
|
+
backgroundColor: 'white'
|
|
3548
|
+
});
|
|
3546
3549
|
const img = new Image();
|
|
3547
3550
|
img.src = dataUrl;
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
fileAsCoDocument.reports = 1;
|
|
3562
|
-
this.additionalFileChangeEvent.emit(fileAsCoDocument);
|
|
3563
|
-
this.closePDFDialog.emit();
|
|
3564
|
-
});
|
|
3565
|
-
}
|
|
3566
|
-
else {
|
|
3567
|
-
doc.addPage();
|
|
3568
|
-
}
|
|
3569
|
-
};
|
|
3570
|
-
}).catch((error) => {
|
|
3551
|
+
yield new Promise((resolve) => {
|
|
3552
|
+
img.onload = () => {
|
|
3553
|
+
const imgWidth = 218;
|
|
3554
|
+
const imgHeight = (img.height * imgWidth) / img.width;
|
|
3555
|
+
doc.addImage(dataUrl, 'JPG', -4, 0, imgWidth, imgHeight);
|
|
3556
|
+
if (i < sectionsCount - 1) {
|
|
3557
|
+
doc.addPage();
|
|
3558
|
+
}
|
|
3559
|
+
resolve();
|
|
3560
|
+
};
|
|
3561
|
+
});
|
|
3562
|
+
}
|
|
3563
|
+
catch (error) {
|
|
3571
3564
|
console.error('Error generating image:', error);
|
|
3572
|
-
}
|
|
3565
|
+
}
|
|
3573
3566
|
}
|
|
3567
|
+
const tempFile = doc.output('datauristring');
|
|
3568
|
+
const file = this.dataURItoBlob(tempFile);
|
|
3569
|
+
const fileAsCoDocument = yield FileUtils.ReadFileAsNewCoDocument(file);
|
|
3570
|
+
fileAsCoDocument.fileType = FileUtils.IsImageFile(file) ? FileType$1.Image : FileType$1.Document;
|
|
3571
|
+
fileAsCoDocument.creationDate = new Date();
|
|
3572
|
+
fileAsCoDocument.modifiedDate = new Date();
|
|
3573
|
+
fileAsCoDocument.reports = 1;
|
|
3574
|
+
this.additionalFileChangeEvent.emit(fileAsCoDocument);
|
|
3575
|
+
this.showLoader = false;
|
|
3576
|
+
this.closePDFDialog.emit();
|
|
3574
3577
|
clearButton.hidden = false;
|
|
3575
3578
|
});
|
|
3576
3579
|
}
|
|
@@ -3601,24 +3604,29 @@ CustomPdfDialogComponent.decorators = [
|
|
|
3601
3604
|
{ type: Component, args: [{
|
|
3602
3605
|
selector: 'co-custom-pdf-dialog',
|
|
3603
3606
|
template: `
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3607
|
+
<co-dialog
|
|
3608
|
+
[footerTemplate]="footerTemplate"
|
|
3609
|
+
id="custom-pdf-dialog"
|
|
3610
|
+
(closeClick)="closePDFDialog.emit()">
|
|
3611
|
+
<!-- create a nice container for loader so it is not random in the corner somewhere -->
|
|
3612
|
+
<div *ngIf="showLoader" class="loader-container">
|
|
3613
|
+
<co-loader *ngIf="showLoader"></co-loader>
|
|
3614
|
+
</div>
|
|
3615
|
+
|
|
3616
|
+
<div #pdfBody id="pdfBody">
|
|
3617
|
+
<section [innerHTML]="fileBody"></section>
|
|
3618
|
+
</div>
|
|
3619
|
+
<ng-template #footerTemplate>
|
|
3620
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
3621
|
+
<co-button class="save-button"
|
|
3622
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
3623
|
+
(click)="handleSaveClicked()"></co-button>
|
|
3624
|
+
<co-button class="close-button"
|
|
3625
|
+
[iconData]="iconCacheService.getIcon(icons.CrossSkinny)"
|
|
3626
|
+
(click)="closePDFDialog.emit()"></co-button>
|
|
3627
|
+
</div>
|
|
3628
|
+
</ng-template>
|
|
3629
|
+
</co-dialog>
|
|
3622
3630
|
`,
|
|
3623
3631
|
encapsulation: ViewEncapsulation.None
|
|
3624
3632
|
},] }
|
|
@@ -3646,6 +3654,7 @@ CustomPdfDialogModule.decorators = [
|
|
|
3646
3654
|
CommonModule,
|
|
3647
3655
|
ButtonModule,
|
|
3648
3656
|
SharedComponentsTranslationModule,
|
|
3657
|
+
LoaderModule
|
|
3649
3658
|
],
|
|
3650
3659
|
declarations: [
|
|
3651
3660
|
CustomPdfDialogComponent
|