@colijnit/transaction 255.1.42 → 255.1.44
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/bundles/colijnit-transaction.umd.js +33 -53
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/add-product/add-product.component.js +23 -28
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +3 -3
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +4 -2
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +29 -32
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +1 -0
- package/package.json +2 -2
|
@@ -85,38 +85,33 @@ export class AddProductComponent {
|
|
|
85
85
|
handleAddArticleClick(data) {
|
|
86
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
87
|
this.showCatalog = false;
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
lastArticle: true
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
if (data.article) {
|
|
99
|
-
const articleTreeData = JSON.parse(data.article);
|
|
100
|
-
if (articleTreeData.articleTree && articleTreeData.articleTree.article) {
|
|
101
|
-
if (articleTreeData.articleTree.compositeGoods && Array.isArray(articleTreeData.articleTree.compositeGoods) &&
|
|
102
|
-
articleTreeData.articleTree.compositeGoods.length > 0 && articleTreeData.articleTree.subArticles && Array.isArray(articleTreeData.articleTree.subArticles)) {
|
|
103
|
-
const compositeGoods = articleTreeData.articleTree.compositeGoods;
|
|
104
|
-
compositeGoods.sort((a, b) => a.versionNumber < b.versionNumber ? -1 : 1);
|
|
105
|
-
for (let i = 0; i < compositeGoods.length; i++) {
|
|
106
|
-
const lastArticle = i === compositeGoods.length - 1;
|
|
107
|
-
const good = compositeGoods[i];
|
|
108
|
-
const subArticle = articleTreeData.articleTree.subArticles.find(s => s.goodId === good.memberGoodId);
|
|
109
|
-
if (subArticle) {
|
|
110
|
-
yield this.transactionService.addArticle(subArticle.articleNumber, this.getActualQuantity(good.quantity), 0, 0, lastArticle);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
88
|
+
if (this.handleAddArticleInternally) {
|
|
89
|
+
if (data && data.article) {
|
|
90
|
+
if (typeof data.article === 'string') {
|
|
91
|
+
const article = JSON.parse(data.article);
|
|
92
|
+
if (article.selectorData && article.selectorData.compositions) { // configured (frozen) article
|
|
93
|
+
yield this.transactionService.addArticle(article.selectorData.compositions[0].compositionArticleNo, data.quantity, 0, 0 /*, lastArticle*/);
|
|
113
94
|
}
|
|
114
|
-
|
|
115
|
-
|
|
95
|
+
}
|
|
96
|
+
else { // flat (simple) article
|
|
97
|
+
const articleNr = data.article['articleNr'] || data.article['articleNumber'] || data.article['articleNo'];
|
|
98
|
+
if (articleNr) {
|
|
99
|
+
yield this.transactionService.addArticle(articleNr, data.quantity, 0, 0 /*, lastArticle*/);
|
|
116
100
|
}
|
|
117
101
|
}
|
|
118
102
|
}
|
|
119
103
|
}
|
|
104
|
+
else {
|
|
105
|
+
if (data && data.article instanceof ArticleExtended) {
|
|
106
|
+
this.addArticle.next({
|
|
107
|
+
article: data.article,
|
|
108
|
+
quantity: this.getActualQuantity(data.quantity),
|
|
109
|
+
aboveLineNr: 0,
|
|
110
|
+
belowLineNr: 0,
|
|
111
|
+
lastArticle: true
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
120
115
|
});
|
|
121
116
|
}
|
|
122
117
|
getActualQuantity(quantityInput) {
|
|
@@ -231,4 +226,4 @@ AddProductComponent.propDecorators = {
|
|
|
231
226
|
showClass: [{ type: HostBinding, args: ['class.co-add-product',] }],
|
|
232
227
|
return: [{ type: HostBinding, args: ['class.return',] }]
|
|
233
228
|
};
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQThDckcsTUFBTSxPQUFPLG1CQUFtQjtJQWtDOUIsWUFDUyxXQUE2QixFQUM3QixrQkFBc0MsRUFDckMsZUFBa0M7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBcEM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQywrQkFBMEIsR0FBWSxJQUFJLENBQUM7UUFHM0MsZUFBVSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQVV4RixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLG1CQUFjLEdBQVE7WUFDM0IsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFB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QztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBcERPLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFaeEIsaUJBQWlCOzs7eUNBbUVoQixLQUFLO3lCQUdMLE1BQU07OEJBR04sU0FBUyxTQUFDLGFBQWE7d0JBRXZCLFdBQVcsU0FBQyxzQkFBc0I7cUJBS2xDLFdBQVcsU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaWdodH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saWdodC5ibyc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1xyXG4gIEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLWNhdGFsb2ctYWRkLWFydGljbGUtcmVxdWVzdCc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nVHlwZXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2V4dGVybmFsLWNhdGFsb2ctdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7SW5wdXRTY2FubmVyQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBZGRBcnRpY2xlSW50ZXJmYWNlIHtcclxuICBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcbiAgcXVhbnRpdHk6IG51bWJlcjtcclxuICBhYm92ZUxpbmVOcjogbnVtYmVyO1xyXG4gIGJlbG93TGluZU5yOiBudW1iZXI7XHJcbiAgbGFzdEFydGljbGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tYWRkLXByb2R1Y3QnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28taW5wdXQtc2Nhbm5lclxyXG4gICAgICAjaW5wdXRTZWFyY2hcclxuICAgICAgW2N1c3RvbUNzc0NsYXNzXT1cIiduby1mb2N1cy1saW5lJ1wiXHJcbiAgICAgIFsobW9kZWwpXT1cInNlYXJjaFRleHRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9BRERfQVJUSUNMRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgIFtjZW50ZXJMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgW3VzZUxlZnRJY29uXT1cInRydWVcIlxyXG4gICAgICBbbGVmdEljb25EYXRhXT1cInJldHVybiA/IGNhcnRNaW5JY29uIDogY2FydFBsdXNJY29uXCJcclxuICAgICAgW3VzZVJpZ2h0SWNvbl09XCJ0cnVlXCJcclxuICAgICAgKGxlZnRJY29uQ2xpY2spPVwiaGFuZGxlQ2FydEljb25DbGljaygkZXZlbnQpXCJcclxuICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cImhhbmRsZVNlYXJjaEljb25DbGljaygpXCJcclxuICAgICAgKGJhckNvZGVTY2FubmVkKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgKHNlYXJjaCk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgIChpc0ZvY3VzZWQpPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgID48L2NvLWlucHV0LXNjYW5uZXI+XHJcbiAgICA8Y28tZGlhbG9nLWNhdGFsb2cgKm5nSWY9XCJzaG93Q2F0YWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY2F0YWxvZ09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXJhbWV0ZXJzXT1cImNhdGFsb2dQYXJhbWV0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHldPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaXNSZXR1cm5dPVwidGhpcy5yZXR1cm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93Q2F0YWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoYXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQ2F0YWxvZ0FydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoYWRkQXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChhZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoaUZyYW1lRmVlZGJhY2spPVwiaGFuZGxlSUZyYW1lRmVlZGJhY2soJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2NvLWRpYWxvZy1jYXRhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUHJvZHVjdENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEFydGljbGU6IEV2ZW50RW1pdHRlcjxBZGRBcnRpY2xlSW50ZXJmYWNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QWRkQXJ0aWNsZUludGVyZmFjZT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRTZWFyY2gnKSBwdWJsaWMgaW5wdXRTZWFyY2hUZXh0OiBJbnB1dFNjYW5uZXJDb21wb25lbnQ7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tYWRkLXByb2R1Y3QnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MucmV0dXJuJylcclxuICBwdWJsaWMgcmV0dXJuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBjYXRhbG9nT3B0aW9uczogYW55ID0ge1xyXG4gICAgc2VhcmNoT25TdGFydDogdHJ1ZSxcclxuICAgIHNob3dBZGRUb0NhcnQ6IGZhbHNlLFxyXG4gICAgc2hvd0xvb2tBdEFydGljbGVCdXR0b246IGZhbHNlLFxyXG4gICAgc2hvd0FkZEFydGljbGVCdXR0b246IHRydWUsXHJcbiAgICBvbmx5VGhyZWVEOiBmYWxzZVxyXG4gIH07XHJcbiAgcHVibGljIGNhdGFsb2dQYXJhbWV0ZXJzOiBhbnkgPSB7fTtcclxuICBwdWJsaWMgc2hvd0NhdGFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNTZWFyY2hJbnB1dEZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgY2FydFBsdXNJY29uOiBTYWZlSHRtbCA9IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNhcnRQbHVzUmVndWxhcik7XHJcbiAgcHVibGljIGNhcnRNaW5JY29uOiBTYWZlSHRtbCA9IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNhcnRNaW51c1JlZ3VsYXIpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXRhbG9nUmVxdWVzdCgpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgLy8gZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBhIHNpbmdsZSBhcnRpY2xlIGZvdW5kXHJcbiAgICAvLyBUaGlzIGlzIGEgdHdvIGNoZWNrIHN0ZXA6XHJcbiAgICAvLyBDaGVjayBpZiB0aGVyZSBpcyBhbiBleGFjdCBtYXRjaCBvbiBiYXJjb2RlLCBlYW4gb3IgYXJ0aWNsZW51bWJlclxyXG4gICAgLy8gaWYgbm90OiBjaGVjayB3aXRoIHNlYXJjaCBsaWtlXHJcbiAgICAvLyBlbHNlIG9wZW4gY2F0YWxvZ3VzXHJcblxyXG4gICAgY29uc3QgZnVsbE1hdGNoU2VhcmNoOiBhbnlbXSA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVMaXN0V2l0aEJhcmNvZGVBcnRpY2xlTnJFYW5Db2RlKHRleHQpO1xyXG4gICAgaWYgKGZ1bGxNYXRjaFNlYXJjaCAmJiBmdWxsTWF0Y2hTZWFyY2gubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IGFydGljbGU6IEFydGljbGVFeHRlbmRlZCA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVFeHRlbmRlZChmdWxsTWF0Y2hTZWFyY2hbMF0uYXJ0aWNsZU5yKTtcclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVBZGRBcnRpY2xlKGFydGljbGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZm91bmRBcnRpY2xlczogQXJ0aWNsZUxpZ2h0W10gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlcyh0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzKTtcclxuICAgICAgaWYgKGZvdW5kQXJ0aWNsZXMgJiYgZm91bmRBcnRpY2xlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlRXh0ZW5kZWQoZm91bmRBcnRpY2xlc1swXS5hcnRpY2xlTnVtYmVyKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2F0YWxvZ0RpYWxvZygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBpc0ZvY3VzZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGUuYXJ0aWNsZU51bWJlciwgdGhpcy5yZXR1cm4gPyAtMSA6IDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRBcnRpY2xlLm5leHQoe1xyXG4gICAgICAgIGFydGljbGU6IGFydGljbGUsXHJcbiAgICAgICAgcXVhbnRpdHk6IHRoaXMucmV0dXJuID8gLTEgOiAxLFxyXG4gICAgICAgIGFib3ZlTGluZU5yOiAwLFxyXG4gICAgICAgIGJlbG93TGluZU5yOiAwLFxyXG4gICAgICAgIGxhc3RBcnRpY2xlOiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZEFydGljbGVDbGljayhkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICBpZiAoZGF0YSAmJiBkYXRhLmFydGljbGUgaW5zdGFuY2VvZiBBcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgdGhpcy5hZGRBcnRpY2xlLm5leHQoe1xyXG4gICAgICAgIGFydGljbGU6IGRhdGEuYXJ0aWNsZSxcclxuICAgICAgICBxdWFudGl0eTogdGhpcy5nZXRBY3R1YWxRdWFudGl0eShkYXRhLnF1YW50aXR5KSxcclxuICAgICAgICBhYm92ZUxpbmVOcjogMCxcclxuICAgICAgICBiZWxvd0xpbmVOcjogMCxcclxuICAgICAgICBsYXN0QXJ0aWNsZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChkYXRhLmFydGljbGUpIHtcclxuICAgICAgICBjb25zdCBhcnRpY2xlVHJlZURhdGEgPSBKU09OLnBhcnNlKGRhdGEuYXJ0aWNsZSBhcyBzdHJpbmcpO1xyXG4gICAgICAgIGlmIChhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUgJiYgYXJ0aWNsZVRyZWVEYXRhLmFydGljbGVUcmVlLmFydGljbGUpIHtcclxuICAgICAgICAgIGlmIChhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHMgJiYgQXJyYXkuaXNBcnJheShhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHMpICYmXHJcbiAgICAgICAgICAgIGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5jb21wb3NpdGVHb29kcy5sZW5ndGggPiAwICYmIGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5zdWJBcnRpY2xlcyAmJiBBcnJheS5pc0FycmF5KGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5zdWJBcnRpY2xlcykpIHtcclxuICAgICAgICAgICAgY29uc3QgY29tcG9zaXRlR29vZHMgPSBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHM7XHJcbiAgICAgICAgICAgIGNvbXBvc2l0ZUdvb2RzLnNvcnQoKGEsIGIpID0+IGEudmVyc2lvbk51bWJlciA8IGIudmVyc2lvbk51bWJlciA/IC0xIDogMSk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcG9zaXRlR29vZHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYXN0QXJ0aWNsZTogYm9vbGVhbiA9IGkgPT09IGNvbXBvc2l0ZUdvb2RzLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgICAgICAgY29uc3QgZ29vZCA9IGNvbXBvc2l0ZUdvb2RzW2ldO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN1YkFydGljbGUgPSBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuc3ViQXJ0aWNsZXMuZmluZChzID0+IHMuZ29vZElkID09PSBnb29kLm1lbWJlckdvb2RJZCk7XHJcbiAgICAgICAgICAgICAgaWYgKHN1YkFydGljbGUpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoc3ViQXJ0aWNsZS5hcnRpY2xlTnVtYmVyLCB0aGlzLmdldEFjdHVhbFF1YW50aXR5KGdvb2QucXVhbnRpdHkpLCAwLCAwLCBsYXN0QXJ0aWNsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5hcnRpY2xlLmFydGljbGVOdW1iZXIsIHRoaXMuZ2V0QWN0dWFsUXVhbnRpdHkoYXJ0aWNsZVRyZWVEYXRhLnF1YW50aXR5KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0dWFsUXVhbnRpdHkocXVhbnRpdHlJbnB1dCk6IG51bWJlciB7XHJcbiAgICBsZXQgcXVhbnRpdHk6IG51bWJlciA9IDA7XHJcbiAgICBpZiAodGhpcy5yZXR1cm4gJiYgcXVhbnRpdHlJbnB1dCA+IDApIHtcclxuICAgICAgcXVhbnRpdHkgPSAtMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHF1YW50aXR5ID0gcXVhbnRpdHlJbnB1dDtcclxuICAgIH1cclxuICAgIHJldHVybiBxdWFudGl0eTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDYXRhbG9nQXJ0aWNsZUNsaWNrKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5oYW5kbGVBZGRBcnRpY2xlKGFydGljbGUpO1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDYXRhbG9nRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FydEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXR1cm4gPSAhdGhpcy5yZXR1cm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VhcmNoSWNvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRoaXMuaW5wdXRTZWFyY2hUZXh0Lm1vZGVsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcHJlcGFyZUNhdGFsb2dSZXF1ZXN0KCk7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlSUZyYW1lRmVlZGJhY2soaUZyYW1lRmVlZGJhY2tPYmplY3Q6IHtcclxuICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgIGNhdGFsb2c6IG51bWJlcixcclxuICAgIHNvdXJjZVR5cGU6IHN0cmluZ1xyXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd0NhdGFsb2cgPSBmYWxzZTtcclxuICAgIGxldCByZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCA9IG5ldyBFeHRlcm5hbENhdGFsb2dBZGRBcnRpY2xlUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5jYXRhbG9nSWQgPSBpRnJhbWVGZWVkYmFja09iamVjdC5jYXRhbG9nO1xyXG4gICAgcmVxdWVzdC5jYXRhbG9nVHlwZSA9IGlGcmFtZUZlZWRiYWNrT2JqZWN0LnNvdXJjZVR5cGU7XHJcbiAgICByZXF1ZXN0LmFydGljbGVKc29uID0gaUZyYW1lRmVlZGJhY2tPYmplY3QuanNvblN0cmluZztcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEV4dGVybmFsQ2F0YWxvZ0FydGljbGUocmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGljayhkYXRhOiB7XHJcbiAgICBxdWFudGl0eTogbnVtYmVyLFxyXG4gICAganNvblN0cmluZzogc3RyaW5nLFxyXG4gICAgY2F0YWxvZzogbnVtYmVyXHJcbiAgfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgbGV0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0ID0gbmV3IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmNhdGFsb2dJZCA9IGRhdGEuY2F0YWxvZztcclxuICAgIHJlcXVlc3QuY2F0YWxvZ1R5cGUgPSBFeHRlcm5hbENhdGFsb2dUeXBlcy5DYXRhbG9nRmFybTtcclxuICAgIHJlcXVlc3QuYXJ0aWNsZUpzb24gPSBkYXRhLmpzb25TdHJpbmc7XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRFeHRlcm5hbENhdGFsb2dBcnRpY2xlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhdGFsb2dSZXF1ZXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5nZW5lcmFsID0gdGhpcy5zZWFyY2hUZXh0O1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93UmVndWxhckFydGljbGVzID0gdHJ1ZTtcclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd0NvbmZpZ3VyZWRBcnRpY2xlcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJhYmxlQXJ0aWNsZXMgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29tcG9zaXRpb25BcnRpY2xlcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q3VzdG9taXplZEFydGljbGVzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dJbmFjdGl2ZUFydGljbGVzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnB1YmxpY2F0aW9uQ29kZSA9IDcxOyAvLyB0b2RvOiBmaXggdGhpcz9cclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuaXNSZXR1cm4gPSB0aGlzLnJldHVybjtcclxuICB9XHJcbn1cclxuIl19
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQThDckcsTUFBTSxPQUFPLG1CQUFtQjtJQWtDOUIsWUFDUyxXQUE2QixFQUM3QixrQkFBc0MsRUFDckMsZUFBa0M7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDckMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBcEM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQywrQkFBMEIsR0FBWSxJQUFJLENBQUM7UUFHM0MsZUFBVSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQVV4RixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLG1CQUFjLEdBQVE7WUFDM0IsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFB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QixDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsa0JBQWtCO1FBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDOzs7WUEvTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFwRE8sZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQVp4QixpQkFBaUI7Ozt5Q0FtRWhCLEtBQUs7eUJBR0wsTUFBTTs4QkFHTixTQUFTLFNBQUMsYUFBYTt3QkFFdkIsV0FBVyxTQUFDLHNCQUFzQjtxQkFLbEMsV0FBVyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpZ2h0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpZ2h0LmJvJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7XHJcbiAgRXh0ZXJuYWxDYXRhbG9nQWRkQXJ0aWNsZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtY2F0YWxvZy1hZGQtYXJ0aWNsZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtFeHRlcm5hbENhdGFsb2dUeXBlc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vZXh0ZXJuYWwtY2F0YWxvZy10eXBlcy5lbnVtJztcclxuaW1wb3J0IHtJbnB1dFNjYW5uZXJDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZEFydGljbGVJbnRlcmZhY2Uge1xyXG4gIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuICBxdWFudGl0eTogbnVtYmVyO1xyXG4gIGFib3ZlTGluZU5yOiBudW1iZXI7XHJcbiAgYmVsb3dMaW5lTnI6IG51bWJlcjtcclxuICBsYXN0QXJ0aWNsZTogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1hZGQtcHJvZHVjdCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1pbnB1dC1zY2FubmVyXHJcbiAgICAgICNpbnB1dFNlYXJjaFxyXG4gICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiJ25vLWZvY3VzLWxpbmUnXCJcclxuICAgICAgWyhtb2RlbCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VBUkNIX0FERF9BUlRJQ0xFJyB8IGxvY2FsaXplXCJcclxuICAgICAgW2NlbnRlckxhYmVsXT1cInRydWVcIlxyXG4gICAgICBbdXNlTGVmdEljb25dPVwidHJ1ZVwiXHJcbiAgICAgIFtsZWZ0SWNvbkRhdGFdPVwicmV0dXJuID8gY2FydE1pbkljb24gOiBjYXJ0UGx1c0ljb25cIlxyXG4gICAgICBbdXNlUmlnaHRJY29uXT1cInRydWVcIlxyXG4gICAgICAobGVmdEljb25DbGljayk9XCJoYW5kbGVDYXJ0SWNvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAocmlnaHRJY29uQ2xpY2spPVwiaGFuZGxlU2VhcmNoSWNvbkNsaWNrKClcIlxyXG4gICAgICAoYmFyQ29kZVNjYW5uZWQpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG4gICAgICAoc2VhcmNoKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgKGlzRm9jdXNlZCk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxyXG4gICAgPjwvY28taW5wdXQtc2Nhbm5lcj5cclxuICAgIDxjby1kaWFsb2ctY2F0YWxvZyAqbmdJZj1cInNob3dDYXRhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJjYXRhbG9nT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFtZXRlcnNdPVwiY2F0YWxvZ1BhcmFtZXRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtpc1JldHVybl09XCJ0aGlzLnJldHVyblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dDYXRhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChhcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVDYXRhbG9nQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVBZGRBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGFkZENhdEZhcm1BcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChpRnJhbWVGZWVkYmFjayk9XCJoYW5kbGVJRnJhbWVGZWVkYmFjaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvY28tZGlhbG9nLWNhdGFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRQcm9kdWN0Q29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQXJ0aWNsZTogRXZlbnRFbWl0dGVyPEFkZEFydGljbGVJbnRlcmZhY2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRBcnRpY2xlSW50ZXJmYWNlPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dFNlYXJjaCcpIHB1YmxpYyBpbnB1dFNlYXJjaFRleHQ6IElucHV0U2Nhbm5lckNvbXBvbmVudDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1hZGQtcHJvZHVjdCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXR1cm4nKVxyXG4gIHB1YmxpYyByZXR1cm46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGNhdGFsb2dPcHRpb25zOiBhbnkgPSB7XHJcbiAgICBzZWFyY2hPblN0YXJ0OiB0cnVlLFxyXG4gICAgc2hvd0FkZFRvQ2FydDogZmFsc2UsXHJcbiAgICBzaG93TG9va0F0QXJ0aWNsZUJ1dHRvbjogZmFsc2UsXHJcbiAgICBzaG93QWRkQXJ0aWNsZUJ1dHRvbjogdHJ1ZSxcclxuICAgIG9ubHlUaHJlZUQ6IGZhbHNlXHJcbiAgfTtcclxuICBwdWJsaWMgY2F0YWxvZ1BhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBzaG93Q2F0YWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc1NlYXJjaElucHV0Rm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBjYXJ0UGx1c0ljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydFBsdXNSZWd1bGFyKTtcclxuICBwdWJsaWMgY2FydE1pbkljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydE1pbnVzUmVndWxhcik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VhcmNoKHRleHQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmlzU2VhcmNoSW5wdXRGb2N1c2VkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5fcHJlcGFyZUNhdGFsb2dSZXF1ZXN0KCk7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAvLyBmaXJzdCBjaGVjayBpZiB0aGVyZSdzIGEgc2luZ2xlIGFydGljbGUgZm91bmRcclxuICAgIC8vIFRoaXMgaXMgYSB0d28gY2hlY2sgc3RlcDpcclxuICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGFuIGV4YWN0IG1hdGNoIG9uIGJhcmNvZGUsIGVhbiBvciBhcnRpY2xlbnVtYmVyXHJcbiAgICAvLyBpZiBub3Q6IGNoZWNrIHdpdGggc2VhcmNoIGxpa2VcclxuICAgIC8vIGVsc2Ugb3BlbiBjYXRhbG9ndXNcclxuXHJcbiAgICBjb25zdCBmdWxsTWF0Y2hTZWFyY2g6IGFueVtdID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZUxpc3RXaXRoQmFyY29kZUFydGljbGVOckVhbkNvZGUodGV4dCk7XHJcbiAgICBpZiAoZnVsbE1hdGNoU2VhcmNoICYmIGZ1bGxNYXRjaFNlYXJjaC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZUV4dGVuZGVkKGZ1bGxNYXRjaFNlYXJjaFswXS5hcnRpY2xlTnIpO1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBmb3VuZEFydGljbGVzOiBBcnRpY2xlTGlnaHRbXSA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVzKHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMpO1xyXG4gICAgICBpZiAoZm91bmRBcnRpY2xlcyAmJiBmb3VuZEFydGljbGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIGNvbnN0IGFydGljbGU6IEFydGljbGVFeHRlbmRlZCA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEFydGljbGVFeHRlbmRlZChmb3VuZEFydGljbGVzWzBdLmFydGljbGVOdW1iZXIpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbnB1dEZvY3VzKGlzRm9jdXNlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRBcnRpY2xlKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKHRoaXMuaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHkpIHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoYXJ0aWNsZS5hcnRpY2xlTnVtYmVyLCB0aGlzLnJldHVybiA/IC0xIDogMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFkZEFydGljbGUubmV4dCh7XHJcbiAgICAgICAgYXJ0aWNsZTogYXJ0aWNsZSxcclxuICAgICAgICBxdWFudGl0eTogdGhpcy5yZXR1cm4gPyAtMSA6IDEsXHJcbiAgICAgICAgYWJvdmVMaW5lTnI6IDAsXHJcbiAgICAgICAgYmVsb3dMaW5lTnI6IDAsXHJcbiAgICAgICAgbGFzdEFydGljbGU6IHRydWVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd0NhdGFsb2cgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5KSB7XHJcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuYXJ0aWNsZSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZGF0YS5hcnRpY2xlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgY29uc3QgYXJ0aWNsZSA9IEpTT04ucGFyc2UoZGF0YS5hcnRpY2xlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICBpZiAoYXJ0aWNsZS5zZWxlY3RvckRhdGEgJiYgYXJ0aWNsZS5zZWxlY3RvckRhdGEuY29tcG9zaXRpb25zKSB7IC8vIGNvbmZpZ3VyZWQgKGZyb3plbikgYXJ0aWNsZVxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGUuc2VsZWN0b3JEYXRhLmNvbXBvc2l0aW9uc1swXS5jb21wb3NpdGlvbkFydGljbGVObywgZGF0YS5xdWFudGl0eSwgMCwgMC8qLCBsYXN0QXJ0aWNsZSovKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgeyAvLyBmbGF0IChzaW1wbGUpIGFydGljbGVcclxuICAgICAgICAgIGNvbnN0IGFydGljbGVOcjogc3RyaW5nID0gZGF0YS5hcnRpY2xlWydhcnRpY2xlTnInXSB8fCBkYXRhLmFydGljbGVbJ2FydGljbGVOdW1iZXInXSB8fCBkYXRhLmFydGljbGVbJ2FydGljbGVObyddO1xyXG4gICAgICAgICAgaWYgKGFydGljbGVOcikge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKGFydGljbGVOciwgZGF0YS5xdWFudGl0eSwgMCwgMC8qLCBsYXN0QXJ0aWNsZSovKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuYXJ0aWNsZSBpbnN0YW5jZW9mIEFydGljbGVFeHRlbmRlZCkge1xyXG4gICAgICAgIHRoaXMuYWRkQXJ0aWNsZS5uZXh0KHtcclxuICAgICAgICAgIGFydGljbGU6IGRhdGEuYXJ0aWNsZSxcclxuICAgICAgICAgIHF1YW50aXR5OiB0aGlzLmdldEFjdHVhbFF1YW50aXR5KGRhdGEucXVhbnRpdHkpLFxyXG4gICAgICAgICAgYWJvdmVMaW5lTnI6IDAsXHJcbiAgICAgICAgICBiZWxvd0xpbmVOcjogMCxcclxuICAgICAgICAgIGxhc3RBcnRpY2xlOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBY3R1YWxRdWFudGl0eShxdWFudGl0eUlucHV0KTogbnVtYmVyIHtcclxuICAgIGxldCBxdWFudGl0eTogbnVtYmVyID0gMDtcclxuICAgIGlmICh0aGlzLnJldHVybiAmJiBxdWFudGl0eUlucHV0ID4gMCkge1xyXG4gICAgICBxdWFudGl0eSA9IC0xO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcXVhbnRpdHkgPSBxdWFudGl0eUlucHV0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHF1YW50aXR5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNhdGFsb2dBcnRpY2xlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZSk7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0NhdGFsb2dEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYXJ0SWNvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnJldHVybiA9ICF0aGlzLnJldHVybjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWFyY2hJY29uQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbnB1dFNlYXJjaFRleHQubW9kZWwpIHtcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gdGhpcy5pbnB1dFNlYXJjaFRleHQubW9kZWw7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2hvd0NhdGFsb2dEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVJRnJhbWVGZWVkYmFjayhpRnJhbWVGZWVkYmFja09iamVjdDoge1xyXG4gICAganNvblN0cmluZzogc3RyaW5nLFxyXG4gICAgY2F0YWxvZzogbnVtYmVyLFxyXG4gICAgc291cmNlVHlwZTogc3RyaW5nXHJcbiAgfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgbGV0IHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0ID0gbmV3IEV4dGVybmFsQ2F0YWxvZ0FkZEFydGljbGVSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmNhdGFsb2dJZCA9IGlGcmFtZUZlZWRiYWNrT2JqZWN0LmNhdGFsb2c7XHJcbiAgICByZXF1ZXN0LmNhdGFsb2dUeXBlID0gaUZyYW1lRmVlZGJhY2tPYmplY3Quc291cmNlVHlwZTtcclxuICAgIHJlcXVlc3QuYXJ0aWNsZUpzb24gPSBpRnJhbWVGZWVkYmFja09iamVjdC5qc29uU3RyaW5nO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuYWRkRXh0ZXJuYWxDYXRhbG9nQXJ0aWNsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrKGRhdGE6IHtcclxuICAgIHF1YW50aXR5OiBudW1iZXIsXHJcbiAgICBqc29uU3RyaW5nOiBzdHJpbmcsXHJcbiAgICBjYXRhbG9nOiBudW1iZXJcclxuICB9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICBsZXQgcmVxdWVzdDogRXh0ZXJuYWxDYXRhbG9nQWRkQXJ0aWNsZVJlcXVlc3QgPSBuZXcgRXh0ZXJuYWxDYXRhbG9nQWRkQXJ0aWNsZVJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuY2F0YWxvZ0lkID0gZGF0YS5jYXRhbG9nO1xyXG4gICAgcmVxdWVzdC5jYXRhbG9nVHlwZSA9IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLkNhdGFsb2dGYXJtO1xyXG4gICAgcmVxdWVzdC5hcnRpY2xlSnNvbiA9IGRhdGEuanNvblN0cmluZztcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEV4dGVybmFsQ2F0YWxvZ0FydGljbGUocmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLmdlbmVyYWwgPSB0aGlzLnNlYXJjaFRleHQ7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dSZWd1bGFyQXJ0aWNsZXMgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5zaG93Q29uZmlndXJlZEFydGljbGVzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dDb25maWd1cmFibGVBcnRpY2xlcyA9IHRydWU7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dDb21wb3NpdGlvbkFydGljbGVzID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnNob3dDdXN0b21pemVkQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuc2hvd0luYWN0aXZlQXJ0aWNsZXMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMucHVibGljYXRpb25Db2RlID0gNzE7IC8vIHRvZG86IGZpeCB0aGlzP1xyXG4gICAgdGhpcy5jYXRhbG9nUGFyYW1ldGVycy5pc1JldHVybiA9IHRoaXMucmV0dXJuO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -201,7 +201,7 @@ DialogCatalogComponent.decorators = [
|
|
|
201
201
|
[title]="'CATALOG' | localize"
|
|
202
202
|
[subTitle]="'SEARCH_BY_ARTICLENUMBER_NAME_OR_DESCRIPTION' | localize"
|
|
203
203
|
[searchPlaceholder]="'SEARCH_BY_ARTICLENUMBER_OR_DESCRIPTION' | localize"
|
|
204
|
-
[createFrozenArticle]="
|
|
204
|
+
[createFrozenArticle]="false"
|
|
205
205
|
[showNavigation]="showNavigation"
|
|
206
206
|
[settings]="catalogSettings"
|
|
207
207
|
(onExternalSourceClick)="handleExternalSourceClick($event)"
|
|
@@ -215,7 +215,7 @@ DialogCatalogComponent.decorators = [
|
|
|
215
215
|
<app-ione-product *ngIf="showProduct"
|
|
216
216
|
[sku]="sku"
|
|
217
217
|
[settings]="catalogSettings"
|
|
218
|
-
[handleAddArticleInternally]="
|
|
218
|
+
[handleAddArticleInternally]="false"
|
|
219
219
|
[isReturn]="isReturn"
|
|
220
220
|
(onAddToCart)="handleAddArticleFromArticleClick($event)"
|
|
221
221
|
(onAlternativeClick)="handleOnAlternativeClick($event)"
|
|
@@ -296,4 +296,4 @@ DialogCatalogComponent.propDecorators = {
|
|
|
296
296
|
addExternalArticleClicked: [{ type: Output }],
|
|
297
297
|
showClass: [{ type: HostBinding, args: ["class.co-dialog-catalog",] }]
|
|
298
298
|
};
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFDTCxpQ0FBaUMsRUFDbEMsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFJbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQXFG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SUFBSTthQUN0Qzs7O1lBNUdPLGtCQUFrQjtZQUNHLGNBQWM7WUFBbkMsbUJBQW1CO1lBWW5CLGNBQWM7WUFJZCxhQUFhO1lBWmIsZ0JBQWdCOzs7eUNBMkdyQixLQUFLO3NCQUdMLEtBQUs7eUJBR0wsS0FBSzs2QkFHTCxLQUFLO3VDQUdMLEtBQUs7MEJBR0wsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLE1BQU07NkJBR04sTUFBTTs2QkFNTixNQUFNO2dDQUlOLE1BQU07dUNBTU4sTUFBTTt3Q0FPTixNQUFNO3dCQUdOLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXRhbG9nRXZlbnRTZXJ2aWNlLCBDYXRhbG9nU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NhdGFsb2cnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nL2xpYi9tb2RlbC9leHRlcm5hbC1zb3VyY2Utdmlld21vZGVsJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7Q2F0YWxvZ0RlZmluaXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NhdGFsb2ctZGVmaW5pdGlvbi5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLWNhdGFsb2ctc3RhcnR1cC1pbmZvJztcclxuaW1wb3J0IHtcclxuICBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mby1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9hcnRpY2xlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1R5cGVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9leHRlcm5hbC1jYXRhbG9nLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFByb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcclxuICBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2VcclxufSBmcm9tICdAY29saWpuaXQvcHJvZHVjdCc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRpYWxvZy1jYXRhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgKGNsb3NlQ2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIiBbQC5kaXNhYmxlZF09XCJkZXN0cm95ZWRcIj5cclxuICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93RXh0ZXJuYWxDYXRhbG9nXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQmFja0NsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcbiAgICAgICAgICA8Y28tY2F0YWxvZy1zZWFyY2hcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidDQVRBTE9HJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgIFtjcmVhdGVGcm96ZW5BcnRpY2xlXT1cImhhbmRsZUFkZEFydGljbGVJbnRlcm5hbGx5XCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInNob3dOYXZpZ2F0aW9uXCJcclxuICAgICAgICAgICAgW3NldHRpbmdzXT1cImNhdGFsb2dTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgIChvbkV4dGVybmFsU291cmNlQ2xpY2spPVwiaGFuZGxlRXh0ZXJuYWxTb3VyY2VDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQWRkQXJ0aWNsZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUFkZEFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uTG9va0F0QXJ0aWNsZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQXJ0aWNsZUNsaWNrKT1cImhhbmRsZUFydGljbGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWNhdGFsb2ctc2VhcmNoPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGFsb2ctYXJ0aWNsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYmFjay1idXR0b24tcHJvZHVjdFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dQcm9kdWN0ID0gZmFsc2VcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtaW9uZS1wcm9kdWN0ICpuZ0lmPVwic2hvd1Byb2R1Y3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHldPVwiaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNSZXR1cm5dPVwiaXNSZXR1cm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25BZGRUb0NhcnQpPVwiaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkFsdGVybmF0aXZlQ2xpY2spPVwiaGFuZGxlT25BbHRlcm5hdGl2ZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtaW9uZS1wcm9kdWN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcblxyXG4gICAgICAgICAgPGNvLWNhdGFsb2ctZXh0ZXJuYWwtc291cmNlXHJcbiAgICAgICAgICAgIFtleHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb109XCJjYXRhbG9nSW5mb1wiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZSB8IGFwcGVuZDogJyAnIHwgYXBwZW5kOiBleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgIFtuYW1lXT1cImV4dGVybmFsQ2F0YWxvZ05hbWVcIlxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJleHRlcm5hbENhdGFsb2dPcHRpb25zXCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKGFydGljbGVDbGljayk9XCJoYW5kbGVDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2spPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAoaUZyYW1lRmVlZGJhY2tSZWNlaXZlZCk9XCJoYW5kbGVJRnJhbWVGZWVkYmFjaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2NvLWNhdGFsb2ctZXh0ZXJuYWwtc291cmNlPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRhbG9nLWFydGljbGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImJhY2stYnV0dG9uLXByb2R1Y3RcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UHJvZHVjdCA9IGZhbHNlXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8Y28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UgKm5nSWY9XCJzaG93UHJvZHVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJjYXRTa3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZFRvQ2FydCk9XCJoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwiYXJ0aWNsZUZvclN0b2NrICYmIHNob3dTdG9ja1wiIChjbG9zZUNsaWNrKT1cImNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKVwiPlxyXG4gICAgICA8Y28tc3RvY2sgW2FydGljbGVdPVwiYXJ0aWNsZUZvclN0b2NrXCIgKGNhbmNlbEJ1dHRvbkNsaWNrZWQpPVwiY2FuY2VsU3RvY2tCdXR0b25DbGljaygpXCI+PC9jby1zdG9jaz5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBDYXRhbG9nU2VydmljZSxcclxuICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdFNldHRpbmdzU2VydmljZSxcclxuICAgIFByb2R1Y3RFdmVudFNlcnZpY2VcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVByb2R1Y3RcIiwgW1xyXG4gICAgICBzdGF0ZShcInRydWVcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKC01MCUpXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiZmFsc2VcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJmYWxzZSA8PT4gdHJ1ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ2F0YWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhcmFtZXRlcnM6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd05hdmlnYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXR1cm5BcnRpY2xlT25UaWxlQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1JldHVybjogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPigpO1xyXG5cclxuICAvKkBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4oKTsqL1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaUZyYW1lRmVlZGJhY2s6IEV2ZW50RW1pdHRlcjx7IGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyLCBzb3VyY2VUeXBlOiBzdHJpbmcgfT5cclxuICAgID0gbmV3IEV2ZW50RW1pdHRlcjx7IGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyLCBzb3VyY2VUeXBlOiBzdHJpbmcgfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGFydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCxcclxuICAgIHF1YW50aXR5OiBudW1iZXJcclxuICB9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQ2F0RmFybUFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcixcclxuICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgIGNhdGFsb2c6IG51bWJlclxyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHF1YW50aXR5OiBudW1iZXIsIGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyIH0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRFeHRlcm5hbEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kaWFsb2ctY2F0YWxvZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYXRhbG9nU2V0dGluZ3M6IGFueTtcclxuICBwdWJsaWMgZXh0ZXJuYWxDYXRhbG9nTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGV4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcclxuICBwdWJsaWMgY2F0YWxvZ0RlZmluaXRpb246IENhdGFsb2dEZWZpbml0aW9uO1xyXG4gIHB1YmxpYyBhcnRpY2xlRm9yU3RvY2s6IEFydGljbGVFeHRlbmRlZDtcclxuICBwdWJsaWMgc2hvd1N0b2NrOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeHRlcm5hbFByb2R1Y3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcbiAgcHVibGljIGNhdFNrdTogc3RyaW5nO1xyXG4gIHB1YmxpYyBjYXRBcnROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIGRlc3Ryb3llZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBleHRlcm5hbENhdGFsb2dPcHRpb25zID0ge1xyXG4gICAgc2VhcmNoT25TdGFydDogdHJ1ZVxyXG4gIH1cclxuICBwdWJsaWMgY2F0YWxvZ0luZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2F0YWxvZ0V2ZW50U2VydmljZTogQ2F0YWxvZ0V2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FydGljbGVTZXJ2aWNlOiBBcnRpY2xlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNhdGFsb2dTZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5vcHRpb25zU2VydmljZS5zZXR0aW5ncyk7XHJcbiAgICBpZiAodGhpcy5jYXRhbG9nU2V0dGluZ3MpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY3JlYXRlV2ViT3JkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3Mub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY2F0YWxvZ1BhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2NhdGFsb2dTZXJ2aWNlLmluaXQodGhpcy5jYXRhbG9nU2V0dGluZ3MsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fY2F0YWxvZ0V2ZW50U2VydmljZS5zdG9ja0RldGFpbHNDbGljay5zdWJzY3JpYmUoKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlKTtcclxuICAgICAgfSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gYXJ0aWNsZTtcclxuICAgIHRoaXMuc2hvd1N0b2NrID0gIXRoaXMuc2hvd1N0b2NrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUV4dGVybmFsU291cmNlQ2xpY2soc291cmNlPzogRXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChzb3VyY2UpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nRGVmaW5pdGlvbiA9IHNvdXJjZS5jYXRhbG9nRGVmaW5pdGlvbjtcclxuICAgICAgdGhpcy5leHRlcm5hbFNvdXJjZSA9IHNvdXJjZS5leHRlcm5hbFNvdXJjZTtcclxuICAgICAgbGV0IGluZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvID0gbmV3IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpKSB7XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdDogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0ID0gdGhpcy5idWlsZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgaW5mbyA9IGF3YWl0IHRoaXMuX2FydGljbGVTZXJ2aWNlLmdldFdlYlZpZXdTdGFydHVwSW5mbyhyZXF1ZXN0KTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dJbmZvID0gaW5mbztcclxuICAgICAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd1RvYXN0KFwiRVhURVJOQUxfQ0FUQUxPR19JVEVNU19BTFJFQURZX09SREVSRURcIiwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBcnRpY2xlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmV0dXJuQXJ0aWNsZU9uVGlsZUNsaWNrKSB7XHJcbiAgICAgIHRoaXMuc2t1ID0gYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZUNsaWNrZWQubmV4dChhcnRpY2xlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEFydGljbGVDbGlja2VkLm5leHQoe2FydGljbGU6IGpzb24sIHF1YW50aXR5OiAxfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRBcnRpY2xlQ2xpY2tlZC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZEV4dGVybmFsQXJ0aWNsZUNsaWNrKGpzb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRFeHRlcm5hbEFydGljbGVDbGlja2VkLm5leHQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmFja0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJRnJhbWVGZWVkYmFjayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaUZyYW1lRmVlZGJhY2suZW1pdCh7XHJcbiAgICAgIGpzb25TdHJpbmc6IGpzb24sXHJcbiAgICAgIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSxcclxuICAgICAgc291cmNlVHlwZTogdGhpcy5leHRlcm5hbFNvdXJjZS50eXBlXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmV4dGVybmFsU291cmNlLnR5cGUgIT09IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLldlYnNob3ApIHtcclxuICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2F0RmFybUFydGljbGVDbGlja2VkKGRhdGE6IHsgYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgc2V0dGluZ3M6IGFueSB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdFNrdSA9IGRhdGEuYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgdGhpcy5jYXRBcnROYW1lID0gZGF0YS5hcnRpY2xlLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoZGF0YTogeyBxdWFudGl0eTogbnVtYmVyLCBhcnRpY2xlOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQuZW1pdCh7XHJcbiAgICAgIHF1YW50aXR5OiBkYXRhLnF1YW50aXR5LFxyXG4gICAgICBqc29uU3RyaW5nOiBkYXRhLmFydGljbGUsXHJcbiAgICAgIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVPbkFsdGVybmF0aXZlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlRXh0ZW5kZWQoYXJ0aWNsZS5hcnRpY2xlTnVtYmVyKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLnNrdSA9IHJlc3VsdC5hcnRpY2xlTnVtYmVyO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0Q29kZXM6IHN0cmluZ1tdID1cclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbHRlcihvID0+IG8uY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpKS5tYXAobyA9PiBvLm9yZGVyTGluZVNldENvZGUpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMuZm9yRWFjaChsID0+IHtcclxuICAgICAgICBpZiAoKG9yZGVyTGluZVNldENvZGVzLmZpbmRJbmRleChjID0+IGMgPT09IGwub3JkZXJMaW5lU2V0Q29kZSkgPj0gMClcclxuICAgICAgICAgICYmIGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlPcmRlcmVkJykgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRFeHRlcm5hbENhdGFsb2dSZXF1ZXN0KCk6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QgPSBuZXcgRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmNhdGFsb2dJZCA9IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKTtcclxuICAgIHJlcXVlc3QucG9zRW1wbG95ZWUgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnk7XHJcbiAgICByZXF1ZXN0LmlvbmVPcmRlck5yID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Oci50b1N0cmluZygpO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uKSB7XHJcbiAgICAgIHJlcXVlc3QucG9zTmFtZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLmZhbWlseU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0LnBvc05hbWUgPSAnTk5CJyAvL05vZyBOaWV0IEJlcGFhbGRcclxuICAgIH1cclxuICAgIHRoaXMuZXhwYW5kRXh0ZXJuYWxDYXRhbG9nUmVxdWVzdElmTmVlZGVkKHJlcXVlc3QpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3RcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwYW5kRXh0ZXJuYWxDYXRhbG9nUmVxdWVzdElmTmVlZGVkKHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBvcmRlckxpbmVTZXQ6IE9yZGVyTGluZVNldEluZm8gPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbmQoc2V0ID0+IHNldC5jYXRhbG9nSWQgPT09IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSk7XHJcbiAgICAgIGlmIChvcmRlckxpbmVTZXQpIHtcclxuICAgICAgICByZXF1ZXN0LnBvc0F1cGluZyA9IG9yZGVyTGluZVNldC5hdXBPcmRlck5yXHJcbiAgICAgICAgaWYgKHJlcXVlc3QucG9zQXVwaW5nKSB7XHJcbiAgICAgICAgICByZXF1ZXN0LnBvc1N0YXR1cyA9ICdDaGFuZ2UnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob3JkZXJMaW5lU2V0LnZkUHJvamVjdElkKSB7XHJcbiAgICAgICAgICByZXF1ZXN0Lm9yZGVySWQgPSBvcmRlckxpbmVTZXQudmRQcm9qZWN0SWQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcmRlckxpbmVTZXQud3RQcm9qZWN0TnIpIHtcclxuICAgICAgICAgIHJlcXVlc3Qub3JkZXJJZCA9IG9yZGVyTGluZVNldC53dFByb2plY3ROcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzFHLE9BQU8sRUFDTCxpQ0FBaUMsRUFDbEMsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFJbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQXFG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SUFBSTthQUN0Qzs7O1lBNUdPLGtCQUFrQjtZQUNHLGNBQWM7WUFBbkMsbUJBQW1CO1lBWW5CLGNBQWM7WUFJZCxhQUFhO1lBWmIsZ0JBQWdCOzs7eUNBMkdyQixLQUFLO3NCQUdMLEtBQUs7eUJBR0wsS0FBSzs2QkFHTCxLQUFLO3VDQUdMLEtBQUs7MEJBR0wsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLE1BQU07NkJBR04sTUFBTTs2QkFNTixNQUFNO2dDQUlOLE1BQU07dUNBTU4sTUFBTTt3Q0FPTixNQUFNO3dCQUdOLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDYXRhbG9nRXZlbnRTZXJ2aWNlLCBDYXRhbG9nU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NhdGFsb2cnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nL2xpYi9tb2RlbC9leHRlcm5hbC1zb3VyY2Utdmlld21vZGVsJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7Q2F0YWxvZ0RlZmluaXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NhdGFsb2ctZGVmaW5pdGlvbi5ibyc7XHJcbmltcG9ydCB7RXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLWNhdGFsb2ctc3RhcnR1cC1pbmZvJztcclxuaW1wb3J0IHtcclxuICBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1jYXRhbG9nLXN0YXJ0dXAtaW5mby1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9hcnRpY2xlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0V4dGVybmFsQ2F0YWxvZ1R5cGVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9leHRlcm5hbC1jYXRhbG9nLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFByb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcclxuICBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcclxuICBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxyXG4gIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2VcclxufSBmcm9tICdAY29saWpuaXQvcHJvZHVjdCc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRpYWxvZy1jYXRhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgKGNsb3NlQ2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIiBbQC5kaXNhYmxlZF09XCJkZXN0cm95ZWRcIj5cclxuICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93RXh0ZXJuYWxDYXRhbG9nXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQmFja0NsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcbiAgICAgICAgICA8Y28tY2F0YWxvZy1zZWFyY2hcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidDQVRBTE9HJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgIFtjcmVhdGVGcm96ZW5BcnRpY2xlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInNob3dOYXZpZ2F0aW9uXCJcclxuICAgICAgICAgICAgW3NldHRpbmdzXT1cImNhdGFsb2dTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgIChvbkV4dGVybmFsU291cmNlQ2xpY2spPVwiaGFuZGxlRXh0ZXJuYWxTb3VyY2VDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQWRkQXJ0aWNsZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUFkZEFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uTG9va0F0QXJ0aWNsZUJ1dHRvbkNsaWNrKT1cImhhbmRsZUFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKG9uQXJ0aWNsZUNsaWNrKT1cImhhbmRsZUFydGljbGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWNhdGFsb2ctc2VhcmNoPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGFsb2ctYXJ0aWNsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYmFjay1idXR0b24tcHJvZHVjdFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dQcm9kdWN0ID0gZmFsc2VcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtaW9uZS1wcm9kdWN0ICpuZ0lmPVwic2hvd1Byb2R1Y3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNSZXR1cm5dPVwiaXNSZXR1cm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25BZGRUb0NhcnQpPVwiaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkFsdGVybmF0aXZlQ2xpY2spPVwiaGFuZGxlT25BbHRlcm5hdGl2ZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtaW9uZS1wcm9kdWN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2F0YWxvZy1wcm9kdWN0LXdyYXBwZXJcIiBbY2xhc3Muc2hvdy1wcm9kdWN0XT1cInNob3dQcm9kdWN0XCI+XHJcblxyXG4gICAgICAgICAgPGNvLWNhdGFsb2ctZXh0ZXJuYWwtc291cmNlXHJcbiAgICAgICAgICAgIFtleHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb109XCJjYXRhbG9nSW5mb1wiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZSB8IGFwcGVuZDogJyAnIHwgYXBwZW5kOiBleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgW3N1YlRpdGxlXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9OQU1FX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgIFtuYW1lXT1cImV4dGVybmFsQ2F0YWxvZ05hbWVcIlxyXG4gICAgICAgICAgICBbb3B0aW9uc109XCJleHRlcm5hbENhdGFsb2dPcHRpb25zXCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgKGFydGljbGVDbGljayk9XCJoYW5kbGVDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2spPVwiaGFuZGxlQWRkQ2F0RmFybUFydGljbGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAoaUZyYW1lRmVlZGJhY2tSZWNlaXZlZCk9XCJoYW5kbGVJRnJhbWVGZWVkYmFjaygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2NvLWNhdGFsb2ctZXh0ZXJuYWwtc291cmNlPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRhbG9nLWFydGljbGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImJhY2stYnV0dG9uLXByb2R1Y3RcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UHJvZHVjdCA9IGZhbHNlXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8Y28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UgKm5nSWY9XCJzaG93UHJvZHVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJjYXRTa3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZFRvQ2FydCk9XCJoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwiYXJ0aWNsZUZvclN0b2NrICYmIHNob3dTdG9ja1wiIChjbG9zZUNsaWNrKT1cImNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKVwiPlxyXG4gICAgICA8Y28tc3RvY2sgW2FydGljbGVdPVwiYXJ0aWNsZUZvclN0b2NrXCIgKGNhbmNlbEJ1dHRvbkNsaWNrZWQpPVwiY2FuY2VsU3RvY2tCdXR0b25DbGljaygpXCI+PC9jby1zdG9jaz5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBDYXRhbG9nU2VydmljZSxcclxuICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgUHJvZHVjdFNldHRpbmdzU2VydmljZSxcclxuICAgIFByb2R1Y3RFdmVudFNlcnZpY2VcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVByb2R1Y3RcIiwgW1xyXG4gICAgICBzdGF0ZShcInRydWVcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKC01MCUpXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiZmFsc2VcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJmYWxzZSA8PT4gdHJ1ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ2F0YWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhcmFtZXRlcnM6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd05hdmlnYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXR1cm5BcnRpY2xlT25UaWxlQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1JldHVybjogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPigpO1xyXG5cclxuICAvKkBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4oKTsqL1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaUZyYW1lRmVlZGJhY2s6IEV2ZW50RW1pdHRlcjx7IGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyLCBzb3VyY2VUeXBlOiBzdHJpbmcgfT5cclxuICAgID0gbmV3IEV2ZW50RW1pdHRlcjx7IGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyLCBzb3VyY2VUeXBlOiBzdHJpbmcgfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGFydGljbGU6IHN0cmluZyB8IEFydGljbGVFeHRlbmRlZCxcclxuICAgIHF1YW50aXR5OiBudW1iZXJcclxuICB9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQ2F0RmFybUFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcixcclxuICAgIGpzb25TdHJpbmc6IHN0cmluZyxcclxuICAgIGNhdGFsb2c6IG51bWJlclxyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHF1YW50aXR5OiBudW1iZXIsIGpzb25TdHJpbmc6IHN0cmluZywgY2F0YWxvZzogbnVtYmVyIH0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRFeHRlcm5hbEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kaWFsb2ctY2F0YWxvZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYXRhbG9nU2V0dGluZ3M6IGFueTtcclxuICBwdWJsaWMgZXh0ZXJuYWxDYXRhbG9nTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGV4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcclxuICBwdWJsaWMgY2F0YWxvZ0RlZmluaXRpb246IENhdGFsb2dEZWZpbml0aW9uO1xyXG4gIHB1YmxpYyBhcnRpY2xlRm9yU3RvY2s6IEFydGljbGVFeHRlbmRlZDtcclxuICBwdWJsaWMgc2hvd1N0b2NrOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeHRlcm5hbFByb2R1Y3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2t1OiBzdHJpbmc7XHJcbiAgcHVibGljIGNhdFNrdTogc3RyaW5nO1xyXG4gIHB1YmxpYyBjYXRBcnROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIGRlc3Ryb3llZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBleHRlcm5hbENhdGFsb2dPcHRpb25zID0ge1xyXG4gICAgc2VhcmNoT25TdGFydDogdHJ1ZVxyXG4gIH1cclxuICBwdWJsaWMgY2F0YWxvZ0luZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2F0YWxvZ0V2ZW50U2VydmljZTogQ2F0YWxvZ0V2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FydGljbGVTZXJ2aWNlOiBBcnRpY2xlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNhdGFsb2dTZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5vcHRpb25zU2VydmljZS5zZXR0aW5ncyk7XHJcbiAgICBpZiAodGhpcy5jYXRhbG9nU2V0dGluZ3MpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY3JlYXRlV2ViT3JkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3Mub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY2F0YWxvZ1BhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2NhdGFsb2dTZXJ2aWNlLmluaXQodGhpcy5jYXRhbG9nU2V0dGluZ3MsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fY2F0YWxvZ0V2ZW50U2VydmljZS5zdG9ja0RldGFpbHNDbGljay5zdWJzY3JpYmUoKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlKTtcclxuICAgICAgfSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gYXJ0aWNsZTtcclxuICAgIHRoaXMuc2hvd1N0b2NrID0gIXRoaXMuc2hvd1N0b2NrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUV4dGVybmFsU291cmNlQ2xpY2soc291cmNlPzogRXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChzb3VyY2UpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nRGVmaW5pdGlvbiA9IHNvdXJjZS5jYXRhbG9nRGVmaW5pdGlvbjtcclxuICAgICAgdGhpcy5leHRlcm5hbFNvdXJjZSA9IHNvdXJjZS5leHRlcm5hbFNvdXJjZTtcclxuICAgICAgbGV0IGluZm86IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvID0gbmV3IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpKSB7XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdDogRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0ID0gdGhpcy5idWlsZEV4dGVybmFsQ2F0YWxvZ1JlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgaW5mbyA9IGF3YWl0IHRoaXMuX2FydGljbGVTZXJ2aWNlLmdldFdlYlZpZXdTdGFydHVwSW5mbyhyZXF1ZXN0KTtcclxuICAgICAgICB0aGlzLmNhdGFsb2dJbmZvID0gaW5mbztcclxuICAgICAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd1RvYXN0KFwiRVhURVJOQUxfQ0FUQUxPR19JVEVNU19BTFJFQURZX09SREVSRURcIiwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBcnRpY2xlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmV0dXJuQXJ0aWNsZU9uVGlsZUNsaWNrKSB7XHJcbiAgICAgIHRoaXMuc2t1ID0gYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZUNsaWNrZWQubmV4dChhcnRpY2xlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEFydGljbGVDbGlja2VkLm5leHQoe2FydGljbGU6IGpzb24sIHF1YW50aXR5OiAxfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUZyb21BcnRpY2xlQ2xpY2soZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlRXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRBcnRpY2xlQ2xpY2tlZC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZEV4dGVybmFsQXJ0aWNsZUNsaWNrKGpzb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRFeHRlcm5hbEFydGljbGVDbGlja2VkLm5leHQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmFja0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJRnJhbWVGZWVkYmFjayhqc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaUZyYW1lRmVlZGJhY2suZW1pdCh7XHJcbiAgICAgIGpzb25TdHJpbmc6IGpzb24sXHJcbiAgICAgIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSxcclxuICAgICAgc291cmNlVHlwZTogdGhpcy5leHRlcm5hbFNvdXJjZS50eXBlXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmV4dGVybmFsU291cmNlLnR5cGUgIT09IEV4dGVybmFsQ2F0YWxvZ1R5cGVzLldlYnNob3ApIHtcclxuICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2F0RmFybUFydGljbGVDbGlja2VkKGRhdGE6IHsgYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgc2V0dGluZ3M6IGFueSB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdFNrdSA9IGRhdGEuYXJ0aWNsZS5hcnRpY2xlTnVtYmVyO1xyXG4gICAgdGhpcy5jYXRBcnROYW1lID0gZGF0YS5hcnRpY2xlLm5hbWU7XHJcbiAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQoZGF0YTogeyBxdWFudGl0eTogbnVtYmVyLCBhcnRpY2xlOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRDYXRGYXJtQXJ0aWNsZUNsaWNrZWQuZW1pdCh7XHJcbiAgICAgIHF1YW50aXR5OiBkYXRhLnF1YW50aXR5LFxyXG4gICAgICBqc29uU3RyaW5nOiBkYXRhLmFydGljbGUsXHJcbiAgICAgIGNhdGFsb2c6IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVPbkFsdGVybmF0aXZlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlRXh0ZW5kZWQoYXJ0aWNsZS5hcnRpY2xlTnVtYmVyKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLnNrdSA9IHJlc3VsdC5hcnRpY2xlTnVtYmVyO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2R1Y3QgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lmT3BlbmluZ0lzQWxsb3dlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgb3JkZXJMaW5lU2V0Q29kZXM6IHN0cmluZ1tdID1cclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbHRlcihvID0+IG8uY2F0YWxvZ0lkID0gdGhpcy5jYXRhbG9nRGVmaW5pdGlvbi5nZXRJZCgpKS5tYXAobyA9PiBvLm9yZGVyTGluZVNldENvZGUpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMuZm9yRWFjaChsID0+IHtcclxuICAgICAgICBpZiAoKG9yZGVyTGluZVNldENvZGVzLmZpbmRJbmRleChjID0+IGMgPT09IGwub3JkZXJMaW5lU2V0Q29kZSkgPj0gMClcclxuICAgICAgICAgICYmIGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlPcmRlcmVkJykgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRFeHRlcm5hbENhdGFsb2dSZXF1ZXN0KCk6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBFeHRlcm5hbENhdGFsb2dTdGFydHVwSW5mb1JlcXVlc3QgPSBuZXcgRXh0ZXJuYWxDYXRhbG9nU3RhcnR1cEluZm9SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmNhdGFsb2dJZCA9IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKTtcclxuICAgIHJlcXVlc3QucG9zRW1wbG95ZWUgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnk7XHJcbiAgICByZXF1ZXN0LmlvbmVPcmRlck5yID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Oci50b1N0cmluZygpO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uKSB7XHJcbiAgICAgIHJlcXVlc3QucG9zTmFtZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLmZhbWlseU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0LnBvc05hbWUgPSAnTk5CJyAvL05vZyBOaWV0IEJlcGFhbGRcclxuICAgIH1cclxuICAgIHRoaXMuZXhwYW5kRXh0ZXJuYWxDYXRhbG9nUmVxdWVzdElmTmVlZGVkKHJlcXVlc3QpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3RcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwYW5kRXh0ZXJuYWxDYXRhbG9nUmVxdWVzdElmTmVlZGVkKHJlcXVlc3Q6IEV4dGVybmFsQ2F0YWxvZ1N0YXJ0dXBJbmZvUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm9yZGVyTGluZVNldHMgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBvcmRlckxpbmVTZXQ6IE9yZGVyTGluZVNldEluZm8gPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5vcmRlckxpbmVTZXRzLmZpbmQoc2V0ID0+IHNldC5jYXRhbG9nSWQgPT09IHRoaXMuY2F0YWxvZ0RlZmluaXRpb24uZ2V0SWQoKSk7XHJcbiAgICAgIGlmIChvcmRlckxpbmVTZXQpIHtcclxuICAgICAgICByZXF1ZXN0LnBvc0F1cGluZyA9IG9yZGVyTGluZVNldC5hdXBPcmRlck5yXHJcbiAgICAgICAgaWYgKHJlcXVlc3QucG9zQXVwaW5nKSB7XHJcbiAgICAgICAgICByZXF1ZXN0LnBvc1N0YXR1cyA9ICdDaGFuZ2UnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob3JkZXJMaW5lU2V0LnZkUHJvamVjdElkKSB7XHJcbiAgICAgICAgICByZXF1ZXN0Lm9yZGVySWQgPSBvcmRlckxpbmVTZXQudmRQcm9qZWN0SWQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcmRlckxpbmVTZXQud3RQcm9qZWN0TnIpIHtcclxuICAgICAgICAgIHJlcXVlc3Qub3JkZXJJZCA9IG9yZGVyTGluZVNldC53dFByb2plY3ROcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -29,8 +29,10 @@ export class TransactionLineSidePanelSalesReservationComponent {
|
|
|
29
29
|
request.reservationLines = [...this.reservationOrderLines.filter(line => line.selected)];
|
|
30
30
|
let response = yield this._transactionService.processReservation(request);
|
|
31
31
|
if (response) {
|
|
32
|
+
this._transactionService.currentTransaction = response;
|
|
33
|
+
yield this._transactionService.saveTransaction();
|
|
32
34
|
yield this._transactionService.checkRefTransaction();
|
|
33
|
-
|
|
35
|
+
// await this._transactionService.rememberCurrentTransaction(this._transactionService.currentTransaction);
|
|
34
36
|
this.handleCloseSidePanel();
|
|
35
37
|
}
|
|
36
38
|
});
|
|
@@ -72,4 +74,4 @@ TransactionLineSidePanelSalesReservationComponent.ctorParameters = () => [
|
|
|
72
74
|
TransactionLineSidePanelSalesReservationComponent.propDecorators = {
|
|
73
75
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-sales-reservation",] }]
|
|
74
76
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLXNhbGVzLXJlc2VydmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1zYWxlcy90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtc2FsZXMtcmVzZXJ2YXRpb24vdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLXNhbGVzLXJlc2VydmF0aW9uL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1zYWxlcy1yZXNlcnZhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFDTCw4QkFBOEIsRUFDL0IsTUFBTSwyRUFBMkUsQ0FBQztBQUNuRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUF5QmhELE1BQU0sT0FBTyxpREFBaUQ7SUFROUQsWUFDVSwyQkFBdUQsRUFDdkQsbUJBQXVDLEVBQ3ZDLHdCQUFpRCxFQUNsRCxnQkFBa0M7UUFIakMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE0QjtRQUN2RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVZ6QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQWtCbkMsMEJBQXFCLEdBQXNDLEVBQUUsQ0FBQztJQUx2RSxDQUFDO0lBWFEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWdCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxnQ0FBZ0MsQ0FBQztJQUNqRyxDQUFDO0lBSVksa0JBQWtCOztZQUM3QixJQUFJLE9BQU8sR0FBbUMsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDakYsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDO1lBQ3pELE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFFLElBQUcsUUFBUSxFQUFFO2dCQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUM7Z0JBQ3ZELE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNyRCwwR0FBMEc7Z0JBQzFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQztLQUFBO0lBRU0sb0JBQW9CO0lBRTNCLENBQUM7OztZQXBFRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtEQUFrRDtnQkFDNUQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQS9CTywwQkFBMEI7WUFDMUIsa0JBQWtCO1lBSWxCLHVCQUF1QjtZQUN2QixnQkFBZ0I7Ozt3QkE2QnJCLFdBQVcsU0FBQyx3REFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgUHVyY2hhc2VSZXNlcnZhdGlvblB1cmNoYXNlTGluZVxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcmVzZXJ2YXRpb24tcHVyY2hhc2UtbGluZS5ib1wiO1xyXG5pbXBvcnQge1B1cmNoYXNlUmVzZXJ2YXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9wdXJjaGFzZS1yZXNlcnZhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgUHJvY2Vzc09yZGVyUmVzZXJ2YXRpb25SZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcm9jZXNzLW9yZGVyLXJlc2VydmF0aW9uLXJlcXVlc3QuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtc2FsZXMtcmVzZXJ2YXRpb25cIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc2VydmF0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBhbGxldEJveGVzUm90YXRlKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInUkVTRVJWQVRJT05fUFVSQ0hBU0VPUkRFUicgfCBsb2NhbGl6ZSBcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXB1cmNoYXNlLXJlc2VydmF0aW9uLW9yZGVyLXRpbGUgKm5nRm9yPVwibGV0IGxpbmUgb2YgcmVzZXJ2YXRpb25PcmRlckxpbmVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHVyY2hhc2VSZXNlcnZhdGlvblB1cmNoYXNlTGluZV09XCJsaW5lXCI+PC9jby10cmFuc2FjdGlvbi1wdXJjaGFzZS1yZXNlcnZhdGlvbi1vcmRlci10aWxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNhdmUtY2FuY2VsLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJvY2Vzc1Jlc2VydmF0aW9uKClcIlxyXG4gICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xvc2VTaWRlUGFuZWwoKVwiXHJcbiAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxTYWxlc1Jlc2VydmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtc2FsZXMtcmVzZXJ2YXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuY29uc3RydWN0b3IoXHJcbiAgcHJpdmF0ZSBfcHVyY2hhc2VSZXNlcnZhdGlvblNlcnZpY2U6IFB1cmNoYXNlUmVzZXJ2YXRpb25TZXJ2aWNlLFxyXG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4pIHtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiAgcHVibGljIHJlc2VydmF0aW9uT3JkZXJMaW5lczogUHVyY2hhc2VSZXNlcnZhdGlvblB1cmNoYXNlTGluZVtdID0gW107XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNlcnZhdGlvbk9yZGVyTGluZXMgPSB0aGlzLl9wdXJjaGFzZVJlc2VydmF0aW9uU2VydmljZS5wdXJjaGFzZVJlc2VydmF0aW9uUHVyY2hhc2VMaW5lcztcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIHByb2Nlc3NSZXNlcnZhdGlvbigpIHtcclxuICAgIGxldCByZXF1ZXN0OiBQcm9jZXNzT3JkZXJSZXNlcnZhdGlvblJlcXVlc3QgPSBuZXcgUHJvY2Vzc09yZGVyUmVzZXJ2YXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHJlcXVlc3QubGluZUlkID0gdGhpcy5fcHVyY2hhc2VSZXNlcnZhdGlvblNlcnZpY2UubGluZUlkO1xyXG4gICAgcmVxdWVzdC5yZXNlcnZhdGlvbkxpbmVzID0gWy4uLnRoaXMucmVzZXJ2YXRpb25PcmRlckxpbmVzLmZpbHRlcihsaW5lID0+IGxpbmUuc2VsZWN0ZWQpXTtcclxuICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5wcm9jZXNzUmVzZXJ2YXRpb24ocmVxdWVzdCk7XHJcbiAgICBpZihyZXNwb25zZSkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uID0gcmVzcG9uc2U7XHJcbiAgICAgIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5zYXZlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmNoZWNrUmVmVHJhbnNhY3Rpb24oKTtcclxuICAgICAgLy8gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnJlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24pO1xyXG4gICAgICB0aGlzLmhhbmRsZUNsb3NlU2lkZVBhbmVsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xvc2VTaWRlUGFuZWwoKSB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -3,8 +3,8 @@ export class Version {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.name = "@colijnit/transaction";
|
|
5
5
|
this.description = "Colijn IT transaction package";
|
|
6
|
-
this.symVer = "255.1.
|
|
7
|
-
this.publishDate = "
|
|
6
|
+
this.symVer = "255.1.44";
|
|
7
|
+
this.publishDate = "02/10/2024, 09:45:49";
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvdHJhbnNhY3Rpb24tdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFDUyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDL0IsZ0JBQVcsR0FBRywrQkFBK0IsQ0FBQztRQUM5QyxXQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsc0JBQXNCLENBQUM7SUFDOUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBmaWxlIGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQsIGRvIG5vdCBjaGFuZ2UgdGhpc1xuZXhwb3J0IGNsYXNzIFZlcnNpb24ge1xuICBwdWJsaWMgbmFtZSA9IFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uXCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiQ29saWpuIElUIHRyYW5zYWN0aW9uIHBhY2thZ2VcIjtcbiAgcHVibGljIHN5bVZlciA9IFwiMjU1LjEuNDRcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCIwMi8xMC8yMDI0LCAwOTo0NTo0OVwiO1xufSJdfQ==
|
|
@@ -268,8 +268,8 @@ class Version {
|
|
|
268
268
|
constructor() {
|
|
269
269
|
this.name = "@colijnit/transaction";
|
|
270
270
|
this.description = "Colijn IT transaction package";
|
|
271
|
-
this.symVer = "255.1.
|
|
272
|
-
this.publishDate = "
|
|
271
|
+
this.symVer = "255.1.44";
|
|
272
|
+
this.publishDate = "02/10/2024, 09:45:49";
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
|
|
@@ -36991,7 +36991,7 @@ DialogCatalogComponent.decorators = [
|
|
|
36991
36991
|
[title]="'CATALOG' | localize"
|
|
36992
36992
|
[subTitle]="'SEARCH_BY_ARTICLENUMBER_NAME_OR_DESCRIPTION' | localize"
|
|
36993
36993
|
[searchPlaceholder]="'SEARCH_BY_ARTICLENUMBER_OR_DESCRIPTION' | localize"
|
|
36994
|
-
[createFrozenArticle]="
|
|
36994
|
+
[createFrozenArticle]="false"
|
|
36995
36995
|
[showNavigation]="showNavigation"
|
|
36996
36996
|
[settings]="catalogSettings"
|
|
36997
36997
|
(onExternalSourceClick)="handleExternalSourceClick($event)"
|
|
@@ -37005,7 +37005,7 @@ DialogCatalogComponent.decorators = [
|
|
|
37005
37005
|
<app-ione-product *ngIf="showProduct"
|
|
37006
37006
|
[sku]="sku"
|
|
37007
37007
|
[settings]="catalogSettings"
|
|
37008
|
-
[handleAddArticleInternally]="
|
|
37008
|
+
[handleAddArticleInternally]="false"
|
|
37009
37009
|
[isReturn]="isReturn"
|
|
37010
37010
|
(onAddToCart)="handleAddArticleFromArticleClick($event)"
|
|
37011
37011
|
(onAlternativeClick)="handleOnAlternativeClick($event)"
|
|
@@ -50294,38 +50294,33 @@ class AddProductComponent {
|
|
|
50294
50294
|
handleAddArticleClick(data) {
|
|
50295
50295
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50296
50296
|
this.showCatalog = false;
|
|
50297
|
-
if (
|
|
50298
|
-
|
|
50299
|
-
|
|
50300
|
-
|
|
50301
|
-
|
|
50302
|
-
|
|
50303
|
-
lastArticle: true
|
|
50304
|
-
});
|
|
50305
|
-
}
|
|
50306
|
-
else {
|
|
50307
|
-
if (data.article) {
|
|
50308
|
-
const articleTreeData = JSON.parse(data.article);
|
|
50309
|
-
if (articleTreeData.articleTree && articleTreeData.articleTree.article) {
|
|
50310
|
-
if (articleTreeData.articleTree.compositeGoods && Array.isArray(articleTreeData.articleTree.compositeGoods) &&
|
|
50311
|
-
articleTreeData.articleTree.compositeGoods.length > 0 && articleTreeData.articleTree.subArticles && Array.isArray(articleTreeData.articleTree.subArticles)) {
|
|
50312
|
-
const compositeGoods = articleTreeData.articleTree.compositeGoods;
|
|
50313
|
-
compositeGoods.sort((a, b) => a.versionNumber < b.versionNumber ? -1 : 1);
|
|
50314
|
-
for (let i = 0; i < compositeGoods.length; i++) {
|
|
50315
|
-
const lastArticle = i === compositeGoods.length - 1;
|
|
50316
|
-
const good = compositeGoods[i];
|
|
50317
|
-
const subArticle = articleTreeData.articleTree.subArticles.find(s => s.goodId === good.memberGoodId);
|
|
50318
|
-
if (subArticle) {
|
|
50319
|
-
yield this.transactionService.addArticle(subArticle.articleNumber, this.getActualQuantity(good.quantity), 0, 0, lastArticle);
|
|
50320
|
-
}
|
|
50321
|
-
}
|
|
50297
|
+
if (this.handleAddArticleInternally) {
|
|
50298
|
+
if (data && data.article) {
|
|
50299
|
+
if (typeof data.article === 'string') {
|
|
50300
|
+
const article = JSON.parse(data.article);
|
|
50301
|
+
if (article.selectorData && article.selectorData.compositions) { // configured (frozen) article
|
|
50302
|
+
yield this.transactionService.addArticle(article.selectorData.compositions[0].compositionArticleNo, data.quantity, 0, 0 /*, lastArticle*/);
|
|
50322
50303
|
}
|
|
50323
|
-
|
|
50324
|
-
|
|
50304
|
+
}
|
|
50305
|
+
else { // flat (simple) article
|
|
50306
|
+
const articleNr = data.article['articleNr'] || data.article['articleNumber'] || data.article['articleNo'];
|
|
50307
|
+
if (articleNr) {
|
|
50308
|
+
yield this.transactionService.addArticle(articleNr, data.quantity, 0, 0 /*, lastArticle*/);
|
|
50325
50309
|
}
|
|
50326
50310
|
}
|
|
50327
50311
|
}
|
|
50328
50312
|
}
|
|
50313
|
+
else {
|
|
50314
|
+
if (data && data.article instanceof ArticleExtended) {
|
|
50315
|
+
this.addArticle.next({
|
|
50316
|
+
article: data.article,
|
|
50317
|
+
quantity: this.getActualQuantity(data.quantity),
|
|
50318
|
+
aboveLineNr: 0,
|
|
50319
|
+
belowLineNr: 0,
|
|
50320
|
+
lastArticle: true
|
|
50321
|
+
});
|
|
50322
|
+
}
|
|
50323
|
+
}
|
|
50329
50324
|
});
|
|
50330
50325
|
}
|
|
50331
50326
|
getActualQuantity(quantityInput) {
|
|
@@ -51377,8 +51372,10 @@ class TransactionLineSidePanelSalesReservationComponent {
|
|
|
51377
51372
|
request.reservationLines = [...this.reservationOrderLines.filter(line => line.selected)];
|
|
51378
51373
|
let response = yield this._transactionService.processReservation(request);
|
|
51379
51374
|
if (response) {
|
|
51375
|
+
this._transactionService.currentTransaction = response;
|
|
51376
|
+
yield this._transactionService.saveTransaction();
|
|
51380
51377
|
yield this._transactionService.checkRefTransaction();
|
|
51381
|
-
|
|
51378
|
+
// await this._transactionService.rememberCurrentTransaction(this._transactionService.currentTransaction);
|
|
51382
51379
|
this.handleCloseSidePanel();
|
|
51383
51380
|
}
|
|
51384
51381
|
});
|