@porscheinformatik/clr-addons 12.8.0 → 12.8.3
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/esm2020/history/history.service.mjs +5 -1
- package/esm2020/icons/shapes.mjs +17 -3
- package/fesm2015/clr-addons.mjs +21 -3
- package/fesm2015/clr-addons.mjs.map +1 -1
- package/fesm2020/clr-addons.mjs +21 -3
- package/fesm2020/clr-addons.mjs.map +1 -1
- package/icons/shapes.d.ts +4 -1
- package/package.json +1 -1
|
@@ -125,6 +125,10 @@ export class ClrHistoryService {
|
|
|
125
125
|
this.setHistoryPinned(username, false, domain);
|
|
126
126
|
historySettings = [{ username: username, historyPinned: false }];
|
|
127
127
|
}
|
|
128
|
+
if (!historySettings.find(hSetting => hSetting.username === username)) {
|
|
129
|
+
this.setHistoryPinned(username, false, domain);
|
|
130
|
+
historySettings.push({ username: username, historyPinned: false });
|
|
131
|
+
}
|
|
128
132
|
this.cookieSettings$.next(historySettings);
|
|
129
133
|
}
|
|
130
134
|
setHistoryPinned(username, pin, domain) {
|
|
@@ -203,4 +207,4 @@ ClrHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
203
207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryService, decorators: [{
|
|
204
208
|
type: Injectable
|
|
205
209
|
}], ctorParameters: function () { return []; } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxF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LENBQUM7U0FDckQ7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsTUFBYztRQUM3RCxRQUFRLENBQUMsTUFBTTtZQUNiLElBQUk7Z0JBQ0osR0FBRztnQkFDSCxPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxXQUFXO2dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUM3QixTQUFTLENBQUM7SUFDZCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxvQkFBb0I7UUFDcEIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDOzsrR0FwTlUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckhpc3RvcnlNb2RlbCwgQ2xySGlzdG9yeVNldHRpbmdzTW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVNlcnZpY2Uge1xuICBwdWJsaWMgY29va2llU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdPihbXSk7XG4gIGNvb2tpZU5hbWUgPSAnY2xyLmhpc3RvcnknO1xuICBjb29raWVOYW1lU2V0dGluZ3MgPSAnY2xyLmhpc3Rvcnkuc2V0dGluZ3MnO1xuICBwcml2YXRlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgLy8gbWF4bWltdW0gaGlzdG9yeSBsZW5ndGhcbiAgcHJpdmF0ZSBtYXhTaXplID0gMTAyNDtcbiAgLy8gbWF4aW11bSB1cmwgbGVuZ3RoIGZvciB1c2FnZSBpbiBoaXN0b3J5XG4gIHByaXZhdGUgbWF4VXJsU2l6ZSA9IDI1NjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmV4cGlyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZXhwaXJ5RGF0ZS5zZXRUaW1lKHRoaXMuZXhwaXJ5RGF0ZS5nZXRUaW1lKCkgKyAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaGlzdG9yeSBlbnRyeVxuICAgKiBAcGFyYW0gaGlzdG9yeUVudHJ5IFRoZSBlbnRyeSB0byBiZSBhZGRlZFxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBvcHRpb25hbCBkb21haW4gcGFyYW0gd2hlcmUgdGhlIGNvb2tpZSBpcyBzdG9yZWRcbiAgICogQHJldHVybnMgdHJ1ZSB3aGVuIGVudHJ5IGFkZGVkLCBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWRcbiAgICovXG4gIGFkZEhpc3RvcnlFbnRyeShoaXN0b3J5RW50cnk6IENsckhpc3RvcnlNb2RlbCwgZG9tYWluPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5yZW1vdmVGcm9tSGlzdG9yeShoaXN0b3J5RW50cnkpO1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGhpc3RvcnlFbnRyeS51c2VybmFtZSwgaGlzdG9yeUVudHJ5LmNvbnRleHQpO1xuXG4gICAgLyogb25seSBhZGQgdG8gaGlzdG9yeSBpbiBjYXNlIHVybCBkb2VzIG5vdCBleGNlZWQgbWF4VXJsU2l6ZSBjaGFyYWN0ZXJzICovXG4gICAgaWYgKGhpc3RvcnlFbnRyeS51cmwgJiYgaGlzdG9yeUVudHJ5LnVybC5sZW5ndGggPCB0aGlzLm1heFVybFNpemUpIHtcbiAgICAgIC8qIGFkZCBpdCBhcyBsYXN0IGVsZW1lbnQgKi9cbiAgICAgIGhpc3RvcnkucHVzaChoaXN0b3J5RW50cnkpO1xuICAgICAgLyogc3VwcG9ydCBhIG1heGltdW0gb2YgNCBwYWdlcyBpbiBoaXN0b3J5ICovXG4gICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgtNCk7XG4gICAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSwgZG9tYWluKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRIaXN0b3J5RGlzcGxheSh1c2VybmFtZTogc3RyaW5nLCBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkodXNlcm5hbWUsIGNvbnRleHQpO1xuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlVGl0bGUgPSBoaXN0b3J5W2hpc3RvcnkubGVuZ3RoIC0gMV0udGl0bGU7XG4gICAgICBjb25zdCB0b0Rpc3BsYXk6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBjb25zdCBhbHJlYWR5RGlzcGxheTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IGhpc3RvcnkubGVuZ3RoIC0gMTsgaSA+PSAwICYmIGFscmVhZHlEaXNwbGF5Lmxlbmd0aCA8IDQ7IGktLSkge1xuICAgICAgICBpZiAoIWFscmVhZHlEaXNwbGF5LmluY2x1ZGVzKGhpc3RvcnlbaV0udGl0bGUpICYmIGhpc3RvcnlbaV0udGl0bGUgIT09IGN1cnJlbnRQYWdlVGl0bGUpIHtcbiAgICAgICAgICBhbHJlYWR5RGlzcGxheS5wdXNoKGhpc3RvcnlbaV0udGl0bGUpO1xuICAgICAgICAgIHRvRGlzcGxheS5wdXNoKGhpc3RvcnlbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b0Rpc3BsYXkucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gIH1cblxuICBnZXRIaXN0b3J5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeTogQ2xySGlzdG9yeU1vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWUpO1xuICAgIGlmICghaGlzdG9yeSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeS5maWx0ZXIoZWxlbWVudCA9PiB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGNvbnRleHQpICYmIGVsZW1lbnQudXNlcm5hbWUgPT09IHVzZXJuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGlzdG9yeVxuICAgKiBAcGFyYW0gZW50cmllc1xuICAgKiBAcGFyYW0gZG9tYWluXG4gICAqL1xuICBwcml2YXRlIHNldEhpc3RvcnkoZW50cmllczogQ2xySGlzdG9yeU1vZGVsW10sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZW50cmllcyB8fCBlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gY2xlYXIgYWxsIGVudHJpZXNcbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoW10pLCBkb21haW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnRyaWVzID0gdGhpcy5yZWR1Y2VTaXplKGVudHJpZXMpO1xuICAgICAgLy8gZW5jb2RlIHRpdGxlICYgcGFnZW5hbWUgdG8gYmUgY29va2llIHNhdmluZyBzYXZlXG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGVuY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBlbmNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoZW50cmllcyksIGRvbWFpbik7XG4gICAgfVxuICB9XG5cbiAgcmVkdWNlU2l6ZShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZW50cmllcykubGVuZ3RoID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBjb25zdCByZWR1Y2VkOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICByZWR1Y2VkLnB1c2goZW50cmllc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKEpTT04uc3RyaW5naWZ5KHJlZHVjZWQpLmxlbmd0aCA8IHRoaXMubWF4U2l6ZSk7XG4gICAgICByZXR1cm4gcmVkdWNlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVudHJpZXM7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIaXN0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlzdG9yeShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21IaXN0b3J5KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeShlbnRyeS51c2VybmFtZSwgZW50cnkuY29udGV4dCk7XG4gICAgLyogcmVtb3ZlIGN1cnJlbnQgZW50cnkgZnJvbSBhcnJheSAqL1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5LmZpbHRlcihcbiAgICAgIGVsZW1lbnQgPT5cbiAgICAgICAgIShcbiAgICAgICAgICBlbGVtZW50LnRpdGxlID09PSBlbnRyeS50aXRsZSAmJlxuICAgICAgICAgIGVsZW1lbnQudXNlcm5hbWUgPT09IGVudHJ5LnVzZXJuYW1lICYmXG4gICAgICAgICAgdGhpcy5jaGVja0VxdWFsQ29udGV4dChlbGVtZW50LCBlbnRyeS5jb250ZXh0KVxuICAgICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRXF1YWxDb250ZXh0KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwsIHRvQ29tcGFyZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICAgIGxldCBlcXVhbCA9IGZhbHNlO1xuICAgIGlmIChlbnRyeSAmJiB0b0NvbXBhcmUpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRvQ29tcGFyZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBlcXVhbCA9IGVudHJ5LmNvbnRleHRba2V5XSA9PT0gdG9Db21wYXJlW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGVxdWFsO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHVzZXJuYW1lOiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgaWYgKCFoaXN0b3J5U2V0dGluZ3MgfHwgaGlzdG9yeVNldHRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncyA9IFt7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfV07XG4gICAgfVxuICAgIHRoaXMuY29va2llU2V0dGluZ3MkLm5leHQoaGlzdG9yeVNldHRpbmdzKTtcbiAgfVxuXG4gIHNldEhpc3RvcnlQaW5uZWQodXNlcm5hbWU6IHN0cmluZywgcGluOiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgY29uc3QgaGlzdG9yeVNldHRpbmcgPSBoaXN0b3J5U2V0dGluZ3MuZmluZChoU2V0dGluZyA9PiBoU2V0dGluZy51c2VybmFtZSA9PT0gdXNlcm5hbWUpO1xuICAgIGlmIChoaXN0b3J5U2V0dGluZykge1xuICAgICAgaGlzdG9yeVNldHRpbmcuaGlzdG9yeVBpbm5lZCA9IHBpbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlzdG9yeVNldHRpbmdzLnB1c2goeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IHBpbiB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICAgIC8vIFNldCBpdFxuICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZVNldHRpbmdzLCBKU09OLnN0cmluZ2lmeShoaXN0b3J5U2V0dGluZ3MpLCBkb21haW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29raWVCeU5hbWUobmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGNvb2tpZUVudHJpZXMgPVxuICAgICAgZG9jdW1lbnQuY29va2llXG4gICAgICAgIC5zcGxpdCgnOycpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcihjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBjb29raWUuc3Vic3RyaW5nKDAsIG5hbWUubGVuZ3RoICsgMSkgPT09IGAke25hbWV9PWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoY29va2llID0+IHtcbiAgICAgICAgICByZXR1cm4gbmFtZSA9PT0gdGhpcy5jb29raWVOYW1lXG4gICAgICAgICAgICA/IHRoaXMuZGVjb2RlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSlcbiAgICAgICAgICAgIDogSlNPTi5wYXJzZShjb29raWUuc3Vic3RyaW5nKG5hbWUubGVuZ3RoICsgMSkpO1xuICAgICAgICB9KVswXSB8fCBbXTtcbiAgICBpZiAoY29va2llRW50cmllcyAmJiBjb29raWVFbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvb2tpZUVudHJpZXMuZm9yRWFjaCgoZW50cnk6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGl0bGUpIHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGRlY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVudHJ5LnBhZ2VOYW1lKSB7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBkZWNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvb2tpZUVudHJpZXM7XG4gIH1cblxuICBwcml2YXRlIGVuY29kZShjb250ZW50OiBDbHJIaXN0b3J5TW9kZWxbXSk6IHN0cmluZyB7XG4gICAgY29uc3QganNvblN0cmluZyA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpKSk7XG4gICAgcmV0dXJuIGpzb25TdHJpbmcucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvPS9nLCAnIScpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGUoY29udGVudDogc3RyaW5nKTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlNjQgPSBjb250ZW50LnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJykucmVwbGFjZSgvIS9nLCAnPScpO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmFzZTY0KSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuY29va2llID1cbiAgICAgIG5hbWUgK1xuICAgICAgJz0nICtcbiAgICAgIGNvbnRlbnQgK1xuICAgICAgJztkb21haW49JyArXG4gICAgICAoZG9tYWluID8gZG9tYWluIDogdGhpcy5nZXREb21haW4oKSkgK1xuICAgICAgJztleHBpcmVzPScgK1xuICAgICAgdGhpcy5leHBpcnlEYXRlLnRvVVRDU3RyaW5nKCkgK1xuICAgICAgJztwYXRoPS8nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb21haW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKTtcbiAgICAvL2xvY2FsaG9zdCBmYWxsYmFja1xuICAgIGlmIChkb21haW4ubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZG9tYWluWzBdO1xuICAgIH1cbiAgICBkb21haW4uc2hpZnQoKTtcbiAgICByZXR1cm4gZG9tYWluLmpvaW4oJy4nKTtcbiAgfVxufVxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxF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IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckhpc3RvcnlNb2RlbCwgQ2xySGlzdG9yeVNldHRpbmdzTW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVNlcnZpY2Uge1xuICBwdWJsaWMgY29va2llU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdPihbXSk7XG4gIGNvb2tpZU5hbWUgPSAnY2xyLmhpc3RvcnknO1xuICBjb29raWVOYW1lU2V0dGluZ3MgPSAnY2xyLmhpc3Rvcnkuc2V0dGluZ3MnO1xuICBwcml2YXRlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgLy8gbWF4bWltdW0gaGlzdG9yeSBsZW5ndGhcbiAgcHJpdmF0ZSBtYXhTaXplID0gMTAyNDtcbiAgLy8gbWF4aW11bSB1cmwgbGVuZ3RoIGZvciB1c2FnZSBpbiBoaXN0b3J5XG4gIHByaXZhdGUgbWF4VXJsU2l6ZSA9IDI1NjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmV4cGlyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZXhwaXJ5RGF0ZS5zZXRUaW1lKHRoaXMuZXhwaXJ5RGF0ZS5nZXRUaW1lKCkgKyAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaGlzdG9yeSBlbnRyeVxuICAgKiBAcGFyYW0gaGlzdG9yeUVudHJ5IFRoZSBlbnRyeSB0byBiZSBhZGRlZFxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBvcHRpb25hbCBkb21haW4gcGFyYW0gd2hlcmUgdGhlIGNvb2tpZSBpcyBzdG9yZWRcbiAgICogQHJldHVybnMgdHJ1ZSB3aGVuIGVudHJ5IGFkZGVkLCBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWRcbiAgICovXG4gIGFkZEhpc3RvcnlFbnRyeShoaXN0b3J5RW50cnk6IENsckhpc3RvcnlNb2RlbCwgZG9tYWluPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5yZW1vdmVGcm9tSGlzdG9yeShoaXN0b3J5RW50cnkpO1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGhpc3RvcnlFbnRyeS51c2VybmFtZSwgaGlzdG9yeUVudHJ5LmNvbnRleHQpO1xuXG4gICAgLyogb25seSBhZGQgdG8gaGlzdG9yeSBpbiBjYXNlIHVybCBkb2VzIG5vdCBleGNlZWQgbWF4VXJsU2l6ZSBjaGFyYWN0ZXJzICovXG4gICAgaWYgKGhpc3RvcnlFbnRyeS51cmwgJiYgaGlzdG9yeUVudHJ5LnVybC5sZW5ndGggPCB0aGlzLm1heFVybFNpemUpIHtcbiAgICAgIC8qIGFkZCBpdCBhcyBsYXN0IGVsZW1lbnQgKi9cbiAgICAgIGhpc3RvcnkucHVzaChoaXN0b3J5RW50cnkpO1xuICAgICAgLyogc3VwcG9ydCBhIG1heGltdW0gb2YgNCBwYWdlcyBpbiBoaXN0b3J5ICovXG4gICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgtNCk7XG4gICAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSwgZG9tYWluKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRIaXN0b3J5RGlzcGxheSh1c2VybmFtZTogc3RyaW5nLCBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkodXNlcm5hbWUsIGNvbnRleHQpO1xuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlVGl0bGUgPSBoaXN0b3J5W2hpc3RvcnkubGVuZ3RoIC0gMV0udGl0bGU7XG4gICAgICBjb25zdCB0b0Rpc3BsYXk6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBjb25zdCBhbHJlYWR5RGlzcGxheTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IGhpc3RvcnkubGVuZ3RoIC0gMTsgaSA+PSAwICYmIGFscmVhZHlEaXNwbGF5Lmxlbmd0aCA8IDQ7IGktLSkge1xuICAgICAgICBpZiAoIWFscmVhZHlEaXNwbGF5LmluY2x1ZGVzKGhpc3RvcnlbaV0udGl0bGUpICYmIGhpc3RvcnlbaV0udGl0bGUgIT09IGN1cnJlbnRQYWdlVGl0bGUpIHtcbiAgICAgICAgICBhbHJlYWR5RGlzcGxheS5wdXNoKGhpc3RvcnlbaV0udGl0bGUpO1xuICAgICAgICAgIHRvRGlzcGxheS5wdXNoKGhpc3RvcnlbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b0Rpc3BsYXkucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gIH1cblxuICBnZXRIaXN0b3J5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeTogQ2xySGlzdG9yeU1vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWUpO1xuICAgIGlmICghaGlzdG9yeSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeS5maWx0ZXIoZWxlbWVudCA9PiB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGNvbnRleHQpICYmIGVsZW1lbnQudXNlcm5hbWUgPT09IHVzZXJuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGlzdG9yeVxuICAgKiBAcGFyYW0gZW50cmllc1xuICAgKiBAcGFyYW0gZG9tYWluXG4gICAqL1xuICBwcml2YXRlIHNldEhpc3RvcnkoZW50cmllczogQ2xySGlzdG9yeU1vZGVsW10sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZW50cmllcyB8fCBlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gY2xlYXIgYWxsIGVudHJpZXNcbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoW10pLCBkb21haW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnRyaWVzID0gdGhpcy5yZWR1Y2VTaXplKGVudHJpZXMpO1xuICAgICAgLy8gZW5jb2RlIHRpdGxlICYgcGFnZW5hbWUgdG8gYmUgY29va2llIHNhdmluZyBzYXZlXG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGVuY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBlbmNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoZW50cmllcyksIGRvbWFpbik7XG4gICAgfVxuICB9XG5cbiAgcmVkdWNlU2l6ZShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZW50cmllcykubGVuZ3RoID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBjb25zdCByZWR1Y2VkOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICByZWR1Y2VkLnB1c2goZW50cmllc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKEpTT04uc3RyaW5naWZ5KHJlZHVjZWQpLmxlbmd0aCA8IHRoaXMubWF4U2l6ZSk7XG4gICAgICByZXR1cm4gcmVkdWNlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVudHJpZXM7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIaXN0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlzdG9yeShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21IaXN0b3J5KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeShlbnRyeS51c2VybmFtZSwgZW50cnkuY29udGV4dCk7XG4gICAgLyogcmVtb3ZlIGN1cnJlbnQgZW50cnkgZnJvbSBhcnJheSAqL1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5LmZpbHRlcihcbiAgICAgIGVsZW1lbnQgPT5cbiAgICAgICAgIShcbiAgICAgICAgICBlbGVtZW50LnRpdGxlID09PSBlbnRyeS50aXRsZSAmJlxuICAgICAgICAgIGVsZW1lbnQudXNlcm5hbWUgPT09IGVudHJ5LnVzZXJuYW1lICYmXG4gICAgICAgICAgdGhpcy5jaGVja0VxdWFsQ29udGV4dChlbGVtZW50LCBlbnRyeS5jb250ZXh0KVxuICAgICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRXF1YWxDb250ZXh0KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwsIHRvQ29tcGFyZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICAgIGxldCBlcXVhbCA9IGZhbHNlO1xuICAgIGlmIChlbnRyeSAmJiB0b0NvbXBhcmUpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRvQ29tcGFyZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBlcXVhbCA9IGVudHJ5LmNvbnRleHRba2V5XSA9PT0gdG9Db21wYXJlW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGVxdWFsO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHVzZXJuYW1lOiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgaWYgKCFoaXN0b3J5U2V0dGluZ3MgfHwgaGlzdG9yeVNldHRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncyA9IFt7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfV07XG4gICAgfVxuICAgIGlmICghaGlzdG9yeVNldHRpbmdzLmZpbmQoaFNldHRpbmcgPT4gaFNldHRpbmcudXNlcm5hbWUgPT09IHVzZXJuYW1lKSkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncy5wdXNoKHsgdXNlcm5hbWU6IHVzZXJuYW1lLCBoaXN0b3J5UGlubmVkOiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICB9XG5cbiAgc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZTogc3RyaW5nLCBwaW46IGJvb2xlYW4sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGhpc3RvcnlTZXR0aW5nczogQ2xySGlzdG9yeVNldHRpbmdzTW9kZWxbXSA9IHRoaXMuZ2V0Q29va2llQnlOYW1lKHRoaXMuY29va2llTmFtZVNldHRpbmdzKTtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZyA9IGhpc3RvcnlTZXR0aW5ncy5maW5kKGhTZXR0aW5nID0+IGhTZXR0aW5nLnVzZXJuYW1lID09PSB1c2VybmFtZSk7XG4gICAgaWYgKGhpc3RvcnlTZXR0aW5nKSB7XG4gICAgICBoaXN0b3J5U2V0dGluZy5oaXN0b3J5UGlubmVkID0gcGluO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MucHVzaCh7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogcGluIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvb2tpZVNldHRpbmdzJC5uZXh0KGhpc3RvcnlTZXR0aW5ncyk7XG4gICAgLy8gU2V0IGl0XG4gICAgdGhpcy5zZXRDb29raWUodGhpcy5jb29raWVOYW1lU2V0dGluZ3MsIEpTT04uc3RyaW5naWZ5KGhpc3RvcnlTZXR0aW5ncyksIGRvbWFpbik7XG4gIH1cblxuICBwcml2YXRlIGdldENvb2tpZUJ5TmFtZShuYW1lOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgY29uc3QgY29va2llRW50cmllcyA9XG4gICAgICBkb2N1bWVudC5jb29raWVcbiAgICAgICAgLnNwbGl0KCc7JylcbiAgICAgICAgLm1hcChjID0+IGMudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKGNvb2tpZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvb2tpZS5zdWJzdHJpbmcoMCwgbmFtZS5sZW5ndGggKyAxKSA9PT0gYCR7bmFtZX09YDtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcChjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBuYW1lID09PSB0aGlzLmNvb2tpZU5hbWVcbiAgICAgICAgICAgID8gdGhpcy5kZWNvZGUoY29va2llLnN1YnN0cmluZyhuYW1lLmxlbmd0aCArIDEpKVxuICAgICAgICAgICAgOiBKU09OLnBhcnNlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSk7XG4gICAgICAgIH0pWzBdIHx8IFtdO1xuICAgIGlmIChjb29raWVFbnRyaWVzICYmIGNvb2tpZUVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29va2llRW50cmllcy5mb3JFYWNoKChlbnRyeTogYW55KSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS50aXRsZSkge1xuICAgICAgICAgIGVudHJ5LnRpdGxlID0gZGVjb2RlVVJJKGVudHJ5LnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucGFnZU5hbWUpIHtcbiAgICAgICAgICBlbnRyeS5wYWdlTmFtZSA9IGRlY29kZVVSSShlbnRyeS5wYWdlTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gY29va2llRW50cmllcztcbiAgfVxuXG4gIHByaXZhdGUgZW5jb2RlKGNvbnRlbnQ6IENsckhpc3RvcnlNb2RlbFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc29uU3RyaW5nID0gYnRvYShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY29udGVudCkpKTtcbiAgICByZXR1cm4ganNvblN0cmluZy5yZXBsYWNlKC9cXCsvZywgJy0nKS5yZXBsYWNlKC9cXC8vZywgJ18nKS5yZXBsYWNlKC89L2csICchJyk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZShjb250ZW50OiBzdHJpbmcpOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJhc2U2NCA9IGNvbnRlbnQucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKS5yZXBsYWNlKC8hL2csICc9Jyk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoYXRvYihiYXNlNjQpKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgZG9tYWluOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5jb29raWUgPVxuICAgICAgbmFtZSArXG4gICAgICAnPScgK1xuICAgICAgY29udGVudCArXG4gICAgICAnO2RvbWFpbj0nICtcbiAgICAgIChkb21haW4gPyBkb21haW4gOiB0aGlzLmdldERvbWFpbigpKSArXG4gICAgICAnO2V4cGlyZXM9JyArXG4gICAgICB0aGlzLmV4cGlyeURhdGUudG9VVENTdHJpbmcoKSArXG4gICAgICAnO3BhdGg9Lyc7XG4gIH1cblxuICBwcml2YXRlIGdldERvbWFpbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRvbWFpbiA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgnLicpO1xuICAgIC8vbG9jYWxob3N0IGZhbGxiYWNrXG4gICAgaWYgKGRvbWFpbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBkb21haW5bMF07XG4gICAgfVxuICAgIGRvbWFpbi5zaGlmdCgpO1xuICAgIHJldHVybiBkb21haW4uam9pbignLicpO1xuICB9XG59XG4iXX0=
|