taxtank-core 0.32.20 → 0.32.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/collections/collection.mjs +1 -1
- package/esm2022/lib/services/http/property/property-share/property-share.service.mjs +9 -1
- package/esm2022/lib/services/http/rest/rest.service.mjs +4 -1
- package/esm2022/lib/services/http/user/user.service.mjs +3 -2
- package/fesm2022/taxtank-core.mjs +11 -1
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/lib/services/http/property/property-share/property-share.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -158,4 +158,4 @@ export class Collection {
|
|
|
158
158
|
return this;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFTckIsWUFBWSxRQUFpQixFQUFFO1FBTC9COztXQUVHO1FBQ0gsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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LENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLE9BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQThDLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDN0QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcclxuaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XHJcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnksIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgb3JkZXJCeSBmcm9tICdsb2Rhc2gvb3JkZXJCeSc7XHJcblxyXG4vKipcclxuICogQmFzZSBjb2xsZWN0aW9uIGNsYXNzLiBDb250YWlucyBjb21tb24gcHJvcGVydGllcyBhbmQgbWV0aG9kcyBmb3IgYWxsIGNvbGxlY3Rpb25zXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbjxNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWw+IGltcGxlbWVudHMgSXRlcmFibGU8TW9kZWw+IHtcclxuICAvLyBsaXN0IG9mIGNvbGxlY3Rpb24ncyBpdGVtc1xyXG4gIGl0ZW1zOiBNb2RlbFtdO1xyXG5cclxuICAvKipcclxuICAgKiBpbmRleCBvZiBjdXJyZW50IGl0ZW0sIHVzZWQgdG8gaXRlcmF0ZSBvdmVyIHRoZSBjb2xsZWN0aW9uXHJcbiAgICovXHJcbiAgaW5kZXggPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpdGVtczogTW9kZWxbXSA9IFtdKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcbiAgICAvLyBAVE9ETyBBbGV4OiBUaGluayBhbmQgaW1wbGVtZW50IHNvbWUgc21hcnQgc29sdXRpb24gZm9yIGRlZmF1bHQgc29ydFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXRlcmF0b3IgdGhhdCBhbGxvdyB0byBpdGVyYXRlIGNvbGxlY3Rpb24gaXRlbXNcclxuICAgKi9cclxuICBbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYXRvcjxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMudmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoaXRlbXM6IE1vZGVsW10gPSBbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIG5ldyAodGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHRvQXJyYXkoKTogTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gWy4uLnRoaXMuaXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBmaXJzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBsYXN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHByZXZpb3VzKCk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaXRlbXMubGVuZ3RoIC0gMl07XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiBNb2RlbCB7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0aGlzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV4Kys7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGJhY2soKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgtLTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBtYXAoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIG1hcEJ5KHBhdGg6IHN0cmluZyk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBhbnkgPT4gZ2V0KGl0ZW0sIHBhdGgpKVxyXG4gIH1cclxuXHJcbiAgc29ydEJ5KHBhdGhzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFsnaWQnXSwgb3JkZXI6IHN0cmluZyB8IHN0cmluZ1tdID0gWydkZXNjJ10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMgPSBvcmRlckJ5KHRoaXMuaXRlbXMsIHBhdGhzIGluc3RhbmNlb2YgQXJyYXkgPyBwYXRocyA6IFtwYXRoc10sIG9yZGVyIGluc3RhbmNlb2YgQXJyYXkgPyBvcmRlciA6IFtvcmRlcl0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc29ydChjYWxsYmFjazogKGE6IE1vZGVsLCBiOiBNb2RlbCkgPT4gbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNvcnQoY2FsbGJhY2spO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIHN1bSBvZiBpdGVtcyBieSBmaWVsZFxyXG4gICAqL1xyXG4gIHN1bUJ5KHBhdGg6IHN0cmluZywgYWJzID0gZmFsc2UpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucmVkdWNlKFxyXG4gICAgICAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIChhYnMgPyBNYXRoLmFicyhOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSkgOiBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGggPSAnaWQnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aCA9ICdpZCcpOiBEaWN0aW9uYXJ5PE1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IERpY3Rpb25hcnkodGhpcy5pdGVtcywgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMuZmlsdGVyKGNhbGxiYWNrKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeShwYXRoOiBzdHJpbmcsIHZhbHVlczogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlSYW5nZShwYXRoOiBzdHJpbmcsIGZyb206IGFueSwgdG86IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gZ2V0KGl0ZW0sIHBhdGgpID49IGZyb20gJiYgZ2V0KGl0ZW0sIHBhdGgpIDw9IHRvKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5RmluYW5jaWFsWWVhcihwYXRoRnJvbTogc3RyaW5nLCBwYXRoVG8/OiBzdHJpbmcsIGZpbmFuY2lhbFllYXI6IEZpbmFuY2lhbFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpKTogdGhpcyB7XHJcbiAgICBpZiAocGF0aFRvKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihcclxuICAgICAgICBtb2RlbCA9PiBnZXQobW9kZWwsIHBhdGhGcm9tKSA8PSBmaW5hbmNpYWxZZWFyLmVuZERhdGUgJiYgIWdldChtb2RlbCwgcGF0aFRvKSB8fCBnZXQobW9kZWwsIHBhdGhUbykgPj0gZmluYW5jaWFsWWVhci5zdGFydERhdGVcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeVJhbmdlKHBhdGhGcm9tLCBmaW5hbmNpYWxZZWFyLnN0YXJ0RGF0ZSwgZmluYW5jaWFsWWVhci5lbmREYXRlKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGRpZmYoaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigobW9kZWw6IE1vZGVsKSA9PiAhaXRlbXMubWFwKChpdGVtOiBNb2RlbCkgPT4gaXRlbS5pZCkuaW5jbHVkZXMobW9kZWwuaWQpKTtcclxuICB9XHJcblxyXG4gIG1pbkJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpIDwgZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIG1heEJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpID4gZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGZsb2F0IG1hdGggaXNzdWVzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEyNTExMDU3L2Zsb2F0LXN1bS13aXRoLWphdmFzY3JpcHRcclxuICAgKi9cclxuICByZWR1Y2UoY2FsbGJhY2s6IChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpID0+IG51bWJlciwgaW5pdCA9IDApOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZShjYWxsYmFjaywgaW5pdCkudG9GaXhlZCgxMCk7XHJcbiAgfVxyXG5cclxuICBzbGljZShmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc2xpY2UoZnJvbSwgdG8pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFTckIsWUFBWSxRQUFpQixFQUFFO1FBTC9COztXQUVHO1FBQ0gsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUViLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFXLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxHQUFHLENBQUMsUUFBOEI7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVcsRUFBTyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsUUFBMkIsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUEyQixDQUFDLE1BQU0sQ0FBQztRQUMzRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVySCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBd0M7UUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBWSxFQUFFLEdBQUcsR0FBRyxLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQyxHQUFXLEVBQUUsSUFBVyxFQUFVLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ2hILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJO1FBQ2pCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNqQixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxNQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZLEVBQUUsSUFBUyxFQUFFLEVBQU87UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLE1BQWUsRUFBRSxnQkFBK0IsSUFBSSxhQUFhLEVBQUU7UUFDekcsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQy9ILENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFrQztRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBRyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsS0FBYztRQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDYixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsTUFBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBVSxFQUFFLElBQVc7UUFDN0MsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLE9BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQThDLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDN0QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcclxuaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XHJcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnksIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgb3JkZXJCeSBmcm9tICdsb2Rhc2gvb3JkZXJCeSc7XHJcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29sbGVjdGlvbiBjbGFzcy4gQ29udGFpbnMgY29tbW9uIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIGFsbCBjb2xsZWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBpbXBsZW1lbnRzIEl0ZXJhYmxlPE1vZGVsPiB7XHJcbiAgLy8gbGlzdCBvZiBjb2xsZWN0aW9uJ3MgaXRlbXNcclxuICBpdGVtczogTW9kZWxbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogaW5kZXggb2YgY3VycmVudCBpdGVtLCB1c2VkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgY29sbGVjdGlvblxyXG4gICAqL1xyXG4gIGluZGV4ID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgLy8gQFRPRE8gQWxleDogVGhpbmsgYW5kIGltcGxlbWVudCBzb21lIHNtYXJ0IHNvbHV0aW9uIGZvciBkZWZhdWx0IHNvcnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0ZXJhdG9yIHRoYXQgYWxsb3cgdG8gaXRlcmF0ZSBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAgICovXHJcbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8TW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICB0b0FycmF5KCk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLml0ZW1zXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBwcmV2aW91cygpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDJdO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogTW9kZWwge1xyXG4gICAgdGhpcy5pbmRleCA9IDA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IE1vZGVsIHtcclxuICAgIGlmICh0aGlzLmluZGV4IDwgdGhpcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5pbmRleCsrO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBiYWNrKCk6IE1vZGVsIHtcclxuICAgIGlmICh0aGlzLmluZGV4ID4gMCkge1xyXG4gICAgICB0aGlzLmluZGV4LS07XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldElkcygpOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IGl0ZW1bJ2lkJ10pO1xyXG4gIH1cclxuXHJcbiAgbWFwKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGFueSk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBtYXBCeShwYXRoOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogYW55ID0+IGdldChpdGVtLCBwYXRoKSlcclxuICB9XHJcblxyXG4gIHNvcnRCeShwYXRoczogc3RyaW5nIHwgc3RyaW5nW10gPSBbJ2lkJ10sIG9yZGVyOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFsnZGVzYyddKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zID0gb3JkZXJCeSh0aGlzLml0ZW1zLCBwYXRocyBpbnN0YW5jZW9mIEFycmF5ID8gcGF0aHMgOiBbcGF0aHNdLCBvcmRlciBpbnN0YW5jZW9mIEFycmF5ID8gb3JkZXIgOiBbb3JkZXJdKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNvcnQoY2FsbGJhY2s6IChhOiBNb2RlbCwgYjogTW9kZWwpID0+IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5pdGVtcy5zb3J0KGNhbGxiYWNrKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0b3RhbCBzdW0gb2YgaXRlbXMgYnkgZmllbGRcclxuICAgKi9cclxuICBzdW1CeShwYXRoOiBzdHJpbmcsIGFicyA9IGZhbHNlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnJlZHVjZShcclxuICAgICAgKHN1bTogbnVtYmVyLCBpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBzdW0gKyAoYWJzID8gTWF0aC5hYnMoTnVtYmVyKGdldChpdGVtLCBwYXRoKSkpIDogTnVtYmVyKGdldChpdGVtLCBwYXRoKSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ3JvdXBCeShwYXRoID0gJ2lkJyk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PHRoaXM+IHtcclxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkodGhpcywgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBpbmRleEJ5KHBhdGggPSAnaWQnKTogRGljdGlvbmFyeTxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBEaWN0aW9uYXJ5KHRoaXMuaXRlbXMsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zLmZpbHRlcihjYWxsYmFjaykpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVzKSA/IHZhbHVlcyA6IFt2YWx1ZXNdKS5pbmNsdWRlcyhnZXQoaXRlbSwgcGF0aCkpKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5UmFuZ2UocGF0aDogc3RyaW5nLCBmcm9tOiBhbnksIHRvOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGdldChpdGVtLCBwYXRoKSA+PSBmcm9tICYmIGdldChpdGVtLCBwYXRoKSA8PSB0byk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeUZpbmFuY2lhbFllYXIocGF0aEZyb206IHN0cmluZywgcGF0aFRvPzogc3RyaW5nLCBmaW5hbmNpYWxZZWFyOiBGaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKSk6IHRoaXMge1xyXG4gICAgaWYgKHBhdGhUbykge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIoXHJcbiAgICAgICAgbW9kZWwgPT4gZ2V0KG1vZGVsLCBwYXRoRnJvbSkgPD0gZmluYW5jaWFsWWVhci5lbmREYXRlICYmICFnZXQobW9kZWwsIHBhdGhUbykgfHwgZ2V0KG1vZGVsLCBwYXRoVG8pID49IGZpbmFuY2lhbFllYXIuc3RhcnREYXRlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnlSYW5nZShwYXRoRnJvbSwgZmluYW5jaWFsWWVhci5zdGFydERhdGUsIGZpbmFuY2lhbFllYXIuZW5kRGF0ZSk7XHJcbiAgfVxyXG5cclxuICBmaW5kKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogTW9kZWwgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1vZGVsOiBNb2RlbCkgPT4gdmFsdWUgPT09IGdldChtb2RlbCwgcGF0aCkpO1xyXG4gIH1cclxuXHJcbiAgZmluZEluZGV4QnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbTogTW9kZWwpID0+IGdldChpdGVtLCBwYXRoKSA9PT0gdmFsdWUpID8/IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdXNoKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnB1c2goLi4uaXRlbXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSguLi5pdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5maW5kSW5kZXhCeSgnaWQnLCBpdGVtLmlkKTtcclxuICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAVE9ETyBpdCdzIGZpbHRlciwgbm90IHJlbW92ZVxyXG4gICAqL1xyXG4gIHJlbW92ZUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICEoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgcmVwbGFjZUJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSwgaXRlbTogTW9kZWwpOiB0aGlzIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KHBhdGgsIHZhbHVlKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGluZGV4LCAxLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBkaWZmKGl0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKG1vZGVsOiBNb2RlbCkgPT4gIWl0ZW1zLm1hcCgoaXRlbTogTW9kZWwpID0+IGl0ZW0uaWQpLmluY2x1ZGVzKG1vZGVsLmlkKSk7XHJcbiAgfVxyXG5cclxuICBtaW5CeShwYXRoOiBzdHJpbmcpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXY6IE1vZGVsLCBjdXJyZW50OiBNb2RlbCkgPT4gKGdldChwcmV2LCBwYXRoKSA8IGdldChjdXJyZW50LCBwYXRoKSA/IHByZXYgOiBjdXJyZW50KSk7XHJcbiAgfVxyXG5cclxuICBtYXhCeShwYXRoOiBzdHJpbmcpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXY6IE1vZGVsLCBjdXJyZW50OiBNb2RlbCkgPT4gKGdldChwcmV2LCBwYXRoKSA+IGdldChjdXJyZW50LCBwYXRoKSA/IHByZXYgOiBjdXJyZW50KSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmbG9hdCBtYXRoIGlzc3VlcyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUxMTA1Ny9mbG9hdC1zdW0td2l0aC1qYXZhc2NyaXB0XHJcbiAgICovXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQgPSAwKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArdGhpcy5pdGVtcy5yZWR1Y2UoY2FsbGJhY2ssIGluaXQpLnRvRml4ZWQoMTApO1xyXG4gIH1cclxuXHJcbiAgc2xpY2UoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNsaWNlKGZyb20sIHRvKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -4,6 +4,8 @@ import { PropertySale, PropertyShare, User } from '../../../../models';
|
|
|
4
4
|
import { RestService } from '../../rest';
|
|
5
5
|
import { PropertyShareCollection } from '../../../../collections';
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
|
+
import { PropertyShareStatusEnum } from '../../../../db/Enums/property/property-share-status.enum';
|
|
8
|
+
import clone from 'lodash/clone';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
// @TODO check and improve logic during refactoring
|
|
9
11
|
export class PropertyShareService extends RestService {
|
|
@@ -24,6 +26,12 @@ export class PropertyShareService extends RestService {
|
|
|
24
26
|
this.listenUserUpdated();
|
|
25
27
|
this.listenSalesChanges();
|
|
26
28
|
}
|
|
29
|
+
accept(share) {
|
|
30
|
+
return this.put(Object.assign(clone(share), { status: PropertyShareStatusEnum.APPROVED }));
|
|
31
|
+
}
|
|
32
|
+
reject(share) {
|
|
33
|
+
return this.put(Object.assign(clone(share), { status: PropertyShareStatusEnum.REJECTED }));
|
|
34
|
+
}
|
|
27
35
|
/**
|
|
28
36
|
* Re-invite property share
|
|
29
37
|
* @param share user to share property
|
|
@@ -63,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
63
71
|
type: Inject,
|
|
64
72
|
args: ['environment']
|
|
65
73
|
}] }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlL3Byb3BlcnR5LXNoYXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOztBQUVqQyxtREFBbUQ7QUFJbkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQXNFO0lBTzlHLFlBQTZDLFdBQWdCO1FBQzNELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUR3QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU43RCwwQ0FBMEM7UUFDMUMsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQXlCLGFBQWEsQ0FBQztRQUNqRCxvQkFBZSxHQUFtQyx1QkFBdUIsQ0FBQztRQUMxRSxvQkFBZSxHQUFpQixDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFJdkUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBb0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQzthQUM3RCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUV0RSxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQVMsRUFBRTtZQUM3RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7K0dBNURVLG9CQUFvQixrQkFPWCxhQUFhO21IQVB0QixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUWMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIGFzIFByb3BlcnR5U2hhcmVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSwgUHJvcGVydHlTaGFyZSwgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlLXN0YXR1cy5lbnVtJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuXG4vLyBAVE9ETyBjaGVjayBhbmQgaW1wcm92ZSBsb2dpYyBkdXJpbmcgcmVmYWN0b3JpbmdcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2hhcmVTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8UHJvcGVydHlTaGFyZUJhc2UsIFByb3BlcnR5U2hhcmUsIFByb3BlcnR5U2hhcmVDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgLy8gYXBpIHVybCBwYXJhbWV0ZXIgZm9yIHByb3BlcnRpZXMgc2hhcmVzXG4gIGVuZHBvaW50VXJpID0gJ3Byb3BlcnRpZXMvc2hhcmVzJztcbiAgbW9kZWxDbGFzczogdHlwZW9mIFByb3BlcnR5U2hhcmUgPSBQcm9wZXJ0eVNoYXJlO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eVNoYXJlQ29sbGVjdGlvbiA9IFByb3BlcnR5U2hhcmVDb2xsZWN0aW9uO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsnZGVsZXRlQmF0Y2gnLCAncHV0QmF0Y2gnLCAncG9zdEJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudCBEaXNwYXRjaGVyIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVXNlclVwZGF0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblNhbGVzQ2hhbmdlcygpO1xuICB9XG5cbiAgYWNjZXB0KHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlPiB7XG4gICAgcmV0dXJuIHRoaXMucHV0KE9iamVjdC5hc3NpZ24oY2xvbmUoc2hhcmUpLCB7IHN0YXR1czogUHJvcGVydHlTaGFyZVN0YXR1c0VudW0uQVBQUk9WRUQgfSkpO1xuICB9XG5cbiAgcmVqZWN0KHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlPiB7XG4gICAgcmV0dXJuIHRoaXMucHV0KE9iamVjdC5hc3NpZ24oY2xvbmUoc2hhcmUpLCB7IHN0YXR1czogUHJvcGVydHlTaGFyZVN0YXR1c0VudW0uUkVKRUNURUQgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLWludml0ZSBwcm9wZXJ0eSBzaGFyZVxuICAgKiBAcGFyYW0gc2hhcmUgdXNlciB0byBzaGFyZSBwcm9wZXJ0eVxuICAgKi9cbiAgcmVpbnZpdGUoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9LyR7c2hhcmUuaWR9L3JlaW52aXRlYCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm1wU2VydmljZS50cmFjaygncmVpbnZpdGVQcm9wZXJ0eVNoYXJlJywgc2hhcmUuZ2V0TXBEYXRhKCkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ3JlaW52aXRlUHJvcGVydHlTaGFyZUVycm9yJywgc2hhcmUuZ2V0TXBEYXRhKCkpO1xuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIFVzZXIgdXBkYXRlZCBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Vc2VyVXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKFVzZXIuZ2V0RXZlbnROYW1lKCdwdXQnKSkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gQWxleCByZWZhY3RvciBhZnRlciBQcm9wZXJ0eVNoYXJlIGZ1bmN0aW9uYWxpdHkgaW4gUHJvcGVydHlTZXJ2aWNlIHdpbGwgYmUgY2xlYXJlZCB1cFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0NoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DU0UoUHJvcGVydHlTYWxlLCB0aGlzLnJlZnJlc2hDYWNoZSwgWydwb3N0JywgJ2RlbGV0ZSddKTtcbiAgfVxufVxuIl19
|
|
@@ -290,7 +290,9 @@ export class RestService extends DataService {
|
|
|
290
290
|
if (!this.mercureTopic) {
|
|
291
291
|
return;
|
|
292
292
|
}
|
|
293
|
+
console.log(this.mercureTopic);
|
|
293
294
|
this.sseService.on(this.mercureTopic).pipe(map((response) => {
|
|
295
|
+
console.log(response);
|
|
294
296
|
let model = this.createModelInstance(response);
|
|
295
297
|
let method;
|
|
296
298
|
if (model.id) {
|
|
@@ -303,6 +305,7 @@ export class RestService extends DataService {
|
|
|
303
305
|
}
|
|
304
306
|
return { method, model };
|
|
305
307
|
})).subscribe((change) => {
|
|
308
|
+
console.log(change);
|
|
306
309
|
this.handleResponse([change.model], change.method);
|
|
307
310
|
});
|
|
308
311
|
}
|
|
@@ -318,4 +321,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
318
321
|
type: Inject,
|
|
319
322
|
args: ['environment']
|
|
320
323
|
}] }]; } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXREOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBZ0IsV0FDcEIsU0FBUSxXQUE4QztJQTJCdEQsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEbUMsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFwQjdEOztXQUVHO1FBQ08saUJBQVksR0FBbUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUU7Ozs7V0FJRztRQUNILG9CQUFlLEdBQWlCLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLGlCQUFZLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxTQUFJLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLDJCQUFzQixHQUEyQixNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUUxRixVQUFLLEdBQW9CLEVBQUUsQ0FBQztJQUs1QixDQUFDO0lBRUQsSUFBYyxNQUFNO1FBQ2xCLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFXLEVBQUUsSUFBSSxHQUFHLEtBQUs7UUFDaEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDTyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QztRQUVELCtFQUErRTtRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ3ZCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUEyQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ3RGLEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUU5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxHQUFHLENBQUMsT0FBZSxJQUFJLENBQUMsTUFBTTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDNUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsQ0FBQyxVQUEyQixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQ3ZELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBMkIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsS0FBWSxFQUFFLE1BQXNCLEVBQUUsT0FBZSxJQUFJLENBQUMsTUFBTTtRQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQy9DO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVsRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBZTtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXpDLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxLQUFZLEVBQUUsTUFBc0IsRUFBRSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFVLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFakQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixNQUFNLE1BQU0sR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV4QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBWSxFQUFFLE1BQXNCO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDbEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFcEQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE1BQWU7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFM0MsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFpQixFQUFFLE1BQWtCLEVBQUUsTUFBc0IsRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUN6RixzR0FBc0c7UUFDdEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxrQ0FBa0M7UUFDbEMsSUFBSSxXQUFXLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDaEcsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxRQUFpQixFQUFFLE1BQWtCLEVBQUUsTUFBc0I7UUFDekYsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ08sY0FBYyxDQUFDLFFBQWlCLEVBQUUsTUFBa0IsRUFBRSxNQUFzQjtRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEM7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxFQUFFO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ08sV0FBVyxDQUFDLEtBQWMsRUFBRSxNQUFrQjtRQUN0RCxJQUFJLEtBQXNCLENBQUM7UUFFM0IsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLE1BQU07Z0JBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLE1BQU07WUFFUixLQUFLLEtBQUs7Z0JBQ1IsMEJBQTBCO2dCQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUU7b0JBQzVCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxNQUFNO1lBRVIsS0FBSyxLQUFLO2dCQUNSLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNPLGFBQWEsQ0FBQyxNQUFrQixFQUFFLEtBQWM7UUFDeEQsTUFBTSxTQUFTLEdBQVksSUFBSSxDQUFDLFVBQXFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLE1BQWtCO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsTUFBTSx5QkFBeUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxTQUFTLENBQUMsVUFBa0MsRUFBRSxRQUFrQixFQUFFLFVBQXdCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDM0gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWtCLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7Z0JBQ3JHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUN2QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0MsSUFBSSxNQUFrQixDQUFDO1lBQ3ZCLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLE1BQU0sR0FBRyxRQUFRLENBQUM7Z0JBQ2xCLHdGQUF3RjtnQkFDeEYsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5RDtZQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdlhtQixXQUFXLGtCQTRCWCxhQUFhO21IQTVCYixXQUFXLGNBRm5CLE1BQU07OzRGQUVFLFdBQVc7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkE2QmMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0LCBsYXN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCwgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEFwcEV2ZW50MiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RNZXRob2QgfSBmcm9tICcuL3Jlc3QtbWV0aG9kLnR5cGUnO1xuaW1wb3J0IHsgSHR0cE1ldGhvZCB9IGZyb20gJy4vaHR0cC1tZXRob2QudHlwZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IE1peHBhbmVsU2VydmljZSB9IGZyb20gJy4uLy4uL21peHBhbmVsL21peHBhbmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QnO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC9tZXJnZSc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ3J4anMvaW50ZXJuYWwtY29tcGF0aWJpbGl0eSc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBzZXJ2aWNlIHRoYXQgaW1wbGVtZW50cyBjb21tb24gc2VydmljZXMgZnVuY3Rpb25hbGl0eVxuICogYW5kIGRlc2NyaWJlIGFic3RyYWN0IG1ldGhvZHMvcHJvcGVydGllcyB0aGF0IGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQgaW4gY2hpbGQgc2VydmljZXNcbiAqIE1vZGVsIC0gZW50aXR5IHNlcnZpY2UgaXMgd29ya2luZyB3aXRoXG4gKiBCYXNlTW9kZWwgLSBiYXNlIGVudGl0eSBtb2RlbCB0aGF0IGV4dGVuZHMgYnkgTW9kZWxcbiAqIENvbGxlY3Rpb25Nb2RlbCAtIGVudGl0eSBjb2xsZWN0aW9uIGNsYXNzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3RTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsLCBDb2xsZWN0aW9uTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsPj5cbiAgZXh0ZW5kcyBEYXRhU2VydmljZTxCYXNlTW9kZWwsIE1vZGVsLCBDb2xsZWN0aW9uTW9kZWw+IHtcblxuICAvKipcbiAgICogVXJsIHBhcnQgZm9yIHNlcnZpY2UgZW50aXR5IEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGVuZHBvaW50VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHByb3RlY3RlZCBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8Q29sbGVjdGlvbk1vZGVsPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG1ldGhvZHMgdW5hdmFpbGFibGUgZm9yIGN1cnJlbnQgQVBJXG4gICAqIEBUT0RPIEFsZXg6IGFkZCBhbmQgaGFuZGxlIGVuYWJsZWQgbWV0aG9kcyB0b29cbiAgICogQFRPRE8gQWxleDogZGlzYWJsZSBiYXRjaCBieSBkZWZhdWx0XG4gICAqL1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFtdO1xuICBwcm90ZWN0ZWQgbXBTZXJ2aWNlOiBNaXhwYW5lbFNlcnZpY2UgPSBpbmplY3QoTWl4cGFuZWxTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2UgPSBpbmplY3QoU3NlU2VydmljZSk7XG4gIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgPSBpbmplY3QoRXZlbnREaXNwYXRjaGVyU2VydmljZSk7XG5cbiAgcm9sZXM6IFVzZXJSb2xlc0VudW1bXSA9IFtdO1xuICBtZXJjdXJlVG9waWM6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXBpVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy5lbmRwb2ludFVyaX1gO1xuICB9XG5cbiAgc2V0Q2FjaGUoZGF0YTogYW55W10sIG5leHQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLnNldENhY2hlKGRhdGEpO1xuXG4gICAgaWYgKG5leHQpIHtcbiAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZnJlc2ggY2FjaGUgd2l0aCBhY3R1YWwgYmFja2VuZCBkYXRhXG4gICAqL1xuICByZWZyZXNoQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmdldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkYXRhIGZyb20gYmFja2VuZCBhbmQgZmlsbCB0aGUgY2FjaGVcbiAgICovXG4gIHByb3RlY3RlZCBmZXRjaChwYXRoID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25Nb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ2dldCcpO1xuXG4gICAgaWYgKCF0aGlzLmhhc1JvbGVzKCkpIHtcbiAgICAgIHRoaXMuc2V0Q2FjaGUoW10sIHRydWUpO1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIFNldCBjYWNoZSBhcyBlbXB0eSBjb2xsZWN0aW9uIHRvIGF2b2lkIG11bHRpcGxlIHJlcXVlc3RzIGJlZm9yZSBjYWNoZSBmaWxsZWRcbiAgICB0aGlzLnNldENhY2hlKFtdKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChwYXRoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCB8IG9iamVjdFtdKSA9PiBpc0FycmF5KHJlc3BvbnNlKSA/IHJlc3BvbnNlIDogdG9BcnJheShyZXNwb25zZSkpLFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0Q2FjaGUocmVzcG9uc2UsIHRydWUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgZ2V0KHBhdGg6IHN0cmluZyA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uTW9kZWw+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2gocGF0aCkucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRGaXJzdCgpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZ2V0Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24uZmlyc3QpXG4gICAgKTtcbiAgfVxuXG4gIGhhc0luQ2FjaGUoaWQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0Q2FjaGUoKS5maW5kQnkoJ2lkJywgaWQpO1xuICB9XG5cbiAgZ2V0QXJyYXkoKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShtYXAoKGNvbGxlY3Rpb246IENvbGxlY3Rpb25Nb2RlbCkgPT4gY29sbGVjdGlvbi50b0FycmF5KCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgTW9kZWwgaW5zdGFuY2UgaW4gZGF0YWJhc2VcbiAgICovXG4gIHBvc3QobW9kZWw6IE1vZGVsLCBtcERhdGE/OiBBYnN0cmFjdE1vZGVsLCBwYXRoOiBzdHJpbmcgPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdwb3N0Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QocGF0aCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncG9zdCcsIG1wRGF0YSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihbbW9kZWxdLCAncG9zdCcsIG1wRGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbXVsdGlwbGUgbmV3IE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcG9zdEJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3Bvc3RCYXRjaCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3Bvc3QnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZUVycm9yKG1vZGVscywgJ3Bvc3QnKTtcblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBhbiBleGlzdGluZyBNb2RlbCBpbnN0YW5jZSBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcHV0KG1vZGVsOiBNb2RlbCwgbXBEYXRhPzogQWJzdHJhY3RNb2RlbCwgcGF0aCA9IGAke3RoaXMuYXBpVXJsfS8ke21vZGVsLmlkfWApOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncHV0Jyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChwYXRoLCBjbGFzc1RvUGxhaW4obW9kZWwpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICAgIGlmICghdGhpcy5tZXJjdXJlVG9waWMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3Jlc3VsdF0sICdwdXQnLCBtcERhdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlRXJyb3IoW21vZGVsXSwgJ3B1dCcsIG1wRGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgbXVsdGlwbGUgZXhpc3RpbmcgTW9kZWwgaW5zdGFuY2VzIGluIGRhdGFiYXNlXG4gICAqL1xuICBwdXRCYXRjaChtb2RlbHM6IE1vZGVsW10pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdwdXRCYXRjaCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5hcGlVcmwsIGNsYXNzVG9QbGFpbihtb2RlbHMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdFtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBNb2RlbFtdID0gcmVzcG9uc2UubWFwKChpdGVtOiBvYmplY3QpOiBNb2RlbCA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoaXRlbSkpO1xuICAgICAgICAgIGlmICghdGhpcy5tZXJjdXJlVG9waWMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0LCAncHV0Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihtb2RlbHMsICdwdXQnKTtcblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIE1vZGVsIGluc3RhbmNlIGZyb20gZGF0YWJhc2VcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogTW9kZWwsIG1wRGF0YT86IEFic3RyYWN0TW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdkZWxldGUnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuYXBpVXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttb2RlbF0sICdkZWxldGUnLCBtcERhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihbbW9kZWxdLCAnZGVsZXRlJywgbXBEYXRhKTtcblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtdWx0aXBsZSBNb2RlbCBpbnN0YW5jZXMgZnJvbSBkYXRhYmFzZVxuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlQmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vZGVsZXRlYCwgY2xhc3NUb1BsYWluKG1vZGVscykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKG1vZGVscywgJ2RlbGV0ZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihtb2RlbHMsICdkZWxldGUnKTtcblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrKHJlc3BvbnNlOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QsIG1wRGF0YT86IEFic3RyYWN0TW9kZWwsIHBvc3RmaXggPSAnJykge1xuICAgIC8vIGNoZWNrIGlmIHJlc3VsdCBleGlzdCwgc29tZXRpbWVzIHJlc3BvbnNlIG1heSBiZSBlbXB0eSAoZm9yIGV4YW1wbGUgQ2xpZW50SW52aXRlIGFjY2VwdC9yZWplY3QvZXRjKVxuICAgIGlmICghcmVzcG9uc2VbMF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBubyBvdGhlciB3YXkgdG8gY2hlY2sgaW50ZXJmYWNlXG4gICAgaWYgKCdnZXRNcERhdGEnIGluIHJlc3BvbnNlWzBdKSB7XG4gICAgICByZXNwb25zZS5mb3JFYWNoKChtb2RlbCkgPT4ge1xuICAgICAgICB0aGlzLm1wU2VydmljZS50cmFjayhgJHttZXRob2R9JHt0aGlzLm1vZGVsQ2xhc3MubmFtZX0ke3Bvc3RmaXh9YCwgbW9kZWxbJ2dldE1wRGF0YSddKG1wRGF0YSkpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVzcG9uc2VFcnJvcihyZXNwb25zZTogTW9kZWxbXSwgbWV0aG9kOiBIdHRwTWV0aG9kLCBtcERhdGE/OiBBYnN0cmFjdE1vZGVsKSB7XG4gICAgLy8gQFRPRE8gZXJyb3Igbm90aWZpY2F0aW9uP1xuICAgIHRoaXMudHJhY2socmVzcG9uc2UsIG1ldGhvZCwgbXBEYXRhLCAnRXJyb3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgcmVzcG9uc2UgZGF0YSAtIHVwZGF0ZSBjYWNoZSBhbmQgZGlzcGF0Y2ggZXZlbnQgaWYgaXQgaXMgbmVlZGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IE1vZGVsW10sIG1ldGhvZDogSHR0cE1ldGhvZCwgbXBEYXRhPzogQWJzdHJhY3RNb2RlbCkge1xuICAgIHRoaXMudHJhY2socmVzcG9uc2UsIG1ldGhvZCwgbXBEYXRhKTtcblxuICAgIGlmICh0aGlzLmdldENhY2hlKCkpIHtcbiAgICAgIHRoaXMudXBkYXRlQ2FjaGUocmVzcG9uc2UsIG1ldGhvZCk7XG4gICAgfVxuXG4gICAgLy8gZGlzcGF0Y2ggZXZlbnQgZm9yIGludGVyZXN0ZWQgc2VydmljZXNcbiAgICBpZiAocmVzcG9uc2VbMF0gaW5zdGFuY2VvZiBPYnNlcnZhYmxlTW9kZWwpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChtZXRob2QsIHJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHdpdGggcGFzc2VkIGl0ZW1zLiBBZGQvVXBkYXRlIGRldGVjdHMgYXV0b21hdGljYWxseSwgRGVsZXRlIHZpYSBvcHRpb25hbCBmbGFnXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoaXRlbXM6IE1vZGVsW10sIG1ldGhvZDogSHR0cE1ldGhvZCk6IHZvaWQge1xuICAgIGxldCBjYWNoZTogQ29sbGVjdGlvbk1vZGVsO1xuXG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgICBjYWNoZSA9IHRoaXMuY2FjaGUucHVzaCguLi5pdGVtcyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgICAvLyBAVE9ETyBBbGV4IG9sZCBpbnN0YW5jZVxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtOiBNb2RlbCkgPT4ge1xuICAgICAgICAgIGNhY2hlID0gdGhpcy5jYWNoZS5yZXBsYWNlQnkoJ2lkJywgaXRlbS5pZCwgaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgY2FjaGUgPSB0aGlzLmNhY2hlLnJlbW92ZUJ5KCdpZCcsIGl0ZW1zLm1hcCgoaXRlbTogTW9kZWwpID0+IGl0ZW0uaWQpKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICAgIGNhY2hlID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uSW5zdGFuY2UodGhpcy5jb2xsZWN0aW9uQ2xhc3MsIGl0ZW1zKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldENhY2hlKGNhY2hlLnRvQXJyYXkoKSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYW5kIGRpc3BhdGNoIHJlc3QgZXZlbnRcbiAgICovXG4gIHByb3RlY3RlZCBkaXNwYXRjaEV2ZW50KG1ldGhvZDogSHR0cE1ldGhvZCwgaXRlbXM6IE1vZGVsW10pOiB2b2lkIHtcbiAgICBjb25zdCBldmVudE5hbWU6IHN0cmluZyA9ICh0aGlzLm1vZGVsQ2xhc3MgYXMgdHlwZW9mIE9ic2VydmFibGVNb2RlbCkuZ2V0RXZlbnROYW1lKG1ldGhvZCk7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoMihuZXcgQXBwRXZlbnQyKGV2ZW50TmFtZSwgaXRlbXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBtZXRob2QgaXMgbm90IGRpc2FibGVkLiBUaHJvdyBleGNlcHRpb24gb3RoZXJ3aXNlLlxuICAgKiBTb21lIGVudGl0aWVzIGRvZXMgbm90IGhhdmUgZW5kcG9pbnRzIGZvciBhbGwgbWV0aG9kcy5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlQWNjZXNzRXJyb3IobWV0aG9kOiBSZXN0TWV0aG9kKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkTWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBNZXRob2QgJHttZXRob2R9KCkgaXMgbm90IGFsbG93ZWQgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byBodHRwIGV2ZW50cyBhbmQgcnVuIGNhbGxiYWNrLlxuICAgKiBDU0UgLSBDbGVpbnQgU2VudCBFdmVudHNcbiAgICogQHBhcmFtIG1vZGVsQ2xhc3NcbiAgICogQHBhcmFtIG1ldGhvZHMgVGhlIGxpc3Qgb2YgaHR0cCBtZXRob2RzIHNob3VsZCBiZSBsaXN0ZW5lZCBmb3JcbiAgICogQHBhcmFtIGNhbGxiYWNrIFRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiBldmVudCB0cmlnZ2VyZWRcbiAgICovXG4gIHByb3RlY3RlZCBsaXN0ZW5DU0UobW9kZWxDbGFzczogdHlwZW9mIE9ic2VydmFibGVNb2RlbCwgY2FsbGJhY2s6IEZ1bmN0aW9uLCBtZXRob2RzOiBIdHRwTWV0aG9kW10gPSBbJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZSddKTogdm9pZCB7XG4gICAgY2FsbGJhY2sgPSBjYWxsYmFjay5iaW5kKHRoaXMpO1xuXG4gICAgbWV0aG9kcy5mb3JFYWNoKChtZXRob2Q6IEh0dHBNZXRob2QpID0+IHtcbiAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIobW9kZWxDbGFzcy5nZXRFdmVudE5hbWUobWV0aG9kKSkuc3Vic2NyaWJlKChkYXRhOiBPYnNlcnZhYmxlTW9kZWxbXSkgPT4ge1xuICAgICAgICBjYWxsYmFjayhkYXRhKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgdXNlciBoYXMgc3Vic2NyaXB0aW9uIHJvbGUgdG8gYWNjZXNzIGFwaVxuICAgKi9cbiAgaGFzUm9sZXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnJvbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhaW50ZXJzZWN0aW9uKEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JvbGVzJykpLCB0aGlzLnJvbGVzKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBTZXJ2ZXItU2VudCBFdmVudHMgKFNTRSkgb24gdGhlIHNwZWNpZmllZCBNZXJjdXJlIHRvcGljXG4gICAqL1xuICBsaXN0ZW5TU0UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3NlU2VydmljZS5vbih0aGlzLm1lcmN1cmVUb3BpYykucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICBsZXQgbW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICBsZXQgbWV0aG9kOiBIdHRwTWV0aG9kO1xuICAgICAgICBpZiAobW9kZWwuaWQpIHtcbiAgICAgICAgICBtZXRob2QgPSB0aGlzLmhhc0luQ2FjaGUobW9kZWwuaWQpID8gJ3B1dCcgOiAncG9zdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgICAgICAgLy8gd2UgZ290IGVtcHR5IGJvZHkgd2hlbiBpdGVtIGRlbGV0ZWQsIHNvIHdlIHNob3VsZCBnZXQgaWQgZnJvbSBBcGkgUGxhdGZvcm0gZGF0YSAoQGlkKVxuICAgICAgICAgIG1vZGVsID0gbWVyZ2UobW9kZWwsIHsgaWQ6ICtsYXN0KG1vZGVsWydAaWQnXS5zcGxpdCgnLycpKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IG1ldGhvZCwgbW9kZWwgfTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbY2hhbmdlLm1vZGVsXSwgY2hhbmdlLm1ldGhvZClcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXREOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBZ0IsV0FDcEIsU0FBUSxXQUE4QztJQTJCdEQsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEbUMsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFwQjdEOztXQUVHO1FBQ08saUJBQVksR0FBbUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUU7Ozs7V0FJRztRQUNILG9CQUFlLEdBQWlCLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLGlCQUFZLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxTQUFJLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLDJCQUFzQixHQUEyQixNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUUxRixVQUFLLEdBQW9CLEVBQUUsQ0FBQztJQUs1QixDQUFDO0lBRUQsSUFBYyxNQUFNO1FBQ2xCLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFXLEVBQUUsSUFBSSxHQUFHLEtBQUs7UUFDaEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDTyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QztRQUVELCtFQUErRTtRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ3ZCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUEyQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ3RGLEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUU5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxHQUFHLENBQUMsT0FBZSxJQUFJLENBQUMsTUFBTTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDNUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsQ0FBQyxVQUEyQixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQ3ZELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBMkIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsS0FBWSxFQUFFLE1BQXNCLEVBQUUsT0FBZSxJQUFJLENBQUMsTUFBTTtRQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQy9DO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVsRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBZTtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXpDLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxLQUFZLEVBQUUsTUFBc0IsRUFBRSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFVLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFakQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN6QixNQUFNLE1BQU0sR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV4QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBWSxFQUFFLE1BQXNCO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDbEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFcEQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE1BQWU7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFM0MsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFpQixFQUFFLE1BQWtCLEVBQUUsTUFBc0IsRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUN6RixzR0FBc0c7UUFDdEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxrQ0FBa0M7UUFDbEMsSUFBSSxXQUFXLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDaEcsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxRQUFpQixFQUFFLE1BQWtCLEVBQUUsTUFBc0I7UUFDekYsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ08sY0FBYyxDQUFDLFFBQWlCLEVBQUUsTUFBa0IsRUFBRSxNQUFzQjtRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEM7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxFQUFFO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ08sV0FBVyxDQUFDLEtBQWMsRUFBRSxNQUFrQjtRQUN0RCxJQUFJLEtBQXNCLENBQUM7UUFFM0IsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLE1BQU07Z0JBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLE1BQU07WUFFUixLQUFLLEtBQUs7Z0JBQ1IsMEJBQTBCO2dCQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUU7b0JBQzVCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxNQUFNO1lBRVIsS0FBSyxLQUFLO2dCQUNSLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNPLGFBQWEsQ0FBQyxNQUFrQixFQUFFLEtBQWM7UUFDeEQsTUFBTSxTQUFTLEdBQVksSUFBSSxDQUFDLFVBQXFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLE1BQWtCO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsTUFBTSx5QkFBeUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxTQUFTLENBQUMsVUFBa0MsRUFBRSxRQUFrQixFQUFFLFVBQXdCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDM0gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWtCLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7Z0JBQ3JHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxJQUFJLE1BQWtCLENBQUM7WUFDdkIsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNaLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLFFBQVEsQ0FBQztnQkFDbEIsd0ZBQXdGO2dCQUN4RixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlEO1lBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTNYbUIsV0FBVyxrQkE0QlgsYUFBYTttSEE1QmIsV0FBVyxjQUZuQixNQUFNOzs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNkJjLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaXJzdCwgbGFzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLCBTc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwsIE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBBcHBFdmVudDIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgdG9BcnJheSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kIH0gZnJvbSAnLi9yZXN0LW1ldGhvZC50eXBlJztcbmltcG9ydCB7IEh0dHBNZXRob2QgfSBmcm9tICcuL2h0dHAtbWV0aG9kLnR5cGUnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBNaXhwYW5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9taXhwYW5lbC9taXhwYW5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0JztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdyeGpzL2ludGVybmFsLWNvbXBhdGliaWxpdHknO1xuXG4vKipcbiAqIEFic3RyYWN0IGJhc2Ugc2VydmljZSB0aGF0IGltcGxlbWVudHMgY29tbW9uIHNlcnZpY2VzIGZ1bmN0aW9uYWxpdHlcbiAqIGFuZCBkZXNjcmliZSBhYnN0cmFjdCBtZXRob2RzL3Byb3BlcnRpZXMgdGhhdCBoYXZlIHRvIGJlIGltcGxlbWVudGVkIGluIGNoaWxkIHNlcnZpY2VzXG4gKiBNb2RlbCAtIGVudGl0eSBzZXJ2aWNlIGlzIHdvcmtpbmcgd2l0aFxuICogQmFzZU1vZGVsIC0gYmFzZSBlbnRpdHkgbW9kZWwgdGhhdCBleHRlbmRzIGJ5IE1vZGVsXG4gKiBDb2xsZWN0aW9uTW9kZWwgLSBlbnRpdHkgY29sbGVjdGlvbiBjbGFzc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXN0U2VydmljZTxCYXNlTW9kZWwsIE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCwgQ29sbGVjdGlvbk1vZGVsIGV4dGVuZHMgQ29sbGVjdGlvbjxNb2RlbD4+XG4gIGV4dGVuZHMgRGF0YVNlcnZpY2U8QmFzZU1vZGVsLCBNb2RlbCwgQ29sbGVjdGlvbk1vZGVsPiB7XG5cbiAgLyoqXG4gICAqIFVybCBwYXJ0IGZvciBzZXJ2aWNlIGVudGl0eSBBUElcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbmRwb2ludFVyaTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJqZWN0IGZvciBzZXJ2aWNlIGNhY2hlXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PENvbGxlY3Rpb25Nb2RlbD4gPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcblxuICAvKipcbiAgICogTGlzdCBvZiBtZXRob2RzIHVuYXZhaWxhYmxlIGZvciBjdXJyZW50IEFQSVxuICAgKiBAVE9ETyBBbGV4OiBhZGQgYW5kIGhhbmRsZSBlbmFibGVkIG1ldGhvZHMgdG9vXG4gICAqIEBUT0RPIEFsZXg6IGRpc2FibGUgYmF0Y2ggYnkgZGVmYXVsdFxuICAgKi9cbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbXTtcbiAgcHJvdGVjdGVkIG1wU2VydmljZTogTWl4cGFuZWxTZXJ2aWNlID0gaW5qZWN0KE1peHBhbmVsU2VydmljZSk7XG4gIHByb3RlY3RlZCBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlID0gaW5qZWN0KFNzZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlID0gaW5qZWN0KEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UpO1xuXG4gIHJvbGVzOiBVc2VyUm9sZXNFbnVtW10gPSBbXTtcbiAgbWVyY3VyZVRvcGljOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGFwaVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMuZW5kcG9pbnRVcml9YDtcbiAgfVxuXG4gIHNldENhY2hlKGRhdGE6IGFueVtdLCBuZXh0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDYWNoZShkYXRhKTtcblxuICAgIGlmIChuZXh0KSB7XG4gICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoIGNhY2hlIHdpdGggYWN0dWFsIGJhY2tlbmQgZGF0YVxuICAgKi9cbiAgcmVmcmVzaENhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGF0YSBmcm9tIGJhY2tlbmQgYW5kIGZpbGwgdGhlIGNhY2hlXG4gICAqL1xuICBwcm90ZWN0ZWQgZmV0Y2gocGF0aCA9IHRoaXMuYXBpVXJsKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uTW9kZWw+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdnZXQnKTtcblxuICAgIGlmICghdGhpcy5oYXNSb2xlcygpKSB7XG4gICAgICB0aGlzLnNldENhY2hlKFtdLCB0cnVlKTtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgY2FjaGUgYXMgZW1wdHkgY29sbGVjdGlvbiB0byBhdm9pZCBtdWx0aXBsZSByZXF1ZXN0cyBiZWZvcmUgY2FjaGUgZmlsbGVkXG4gICAgdGhpcy5zZXRDYWNoZShbXSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocGF0aClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QgfCBvYmplY3RbXSkgPT4gaXNBcnJheShyZXNwb25zZSkgPyByZXNwb25zZSA6IHRvQXJyYXkocmVzcG9uc2UpKSxcbiAgICAgICAgbWFwKChyZXNwb25zZTogQmFzZU1vZGVsW10pID0+IHtcbiAgICAgICAgICB0aGlzLnNldENhY2hlKHJlc3BvbnNlLCB0cnVlKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcgPSB0aGlzLmFwaVVybCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbk1vZGVsPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmZldGNoKHBhdGgpLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0Rmlyc3QoKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ2dldCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoY29sbGVjdGlvbjogQ29sbGVjdGlvbk1vZGVsKSA9PiBjb2xsZWN0aW9uLmZpcnN0KVxuICAgICk7XG4gIH1cblxuICBoYXNJbkNhY2hlKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldENhY2hlKCkuZmluZEJ5KCdpZCcsIGlkKTtcbiAgfVxuXG4gIGdldEFycmF5KCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKChjb2xsZWN0aW9uOiBDb2xsZWN0aW9uTW9kZWwpID0+IGNvbGxlY3Rpb24udG9BcnJheSgpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1vZGVsIGluc3RhbmNlIGluIGRhdGFiYXNlXG4gICAqL1xuICBwb3N0KG1vZGVsOiBNb2RlbCwgbXBEYXRhPzogQWJzdHJhY3RNb2RlbCwgcGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncG9zdCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHBhdGgsIGNsYXNzVG9QbGFpbihtb2RlbCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShyZXNwb25zZSk7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzdWx0XSwgJ3Bvc3QnLCBtcERhdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlRXJyb3IoW21vZGVsXSwgJ3Bvc3QnLCBtcERhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG11bHRpcGxlIG5ldyBNb2RlbCBpbnN0YW5jZXMgaW4gZGF0YWJhc2VcbiAgICovXG4gIHBvc3RCYXRjaChtb2RlbHM6IE1vZGVsW10pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICB0aGlzLmhhbmRsZUFjY2Vzc0Vycm9yKCdwb3N0QmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCwgY2xhc3NUb1BsYWluKG1vZGVscykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0W10pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IE1vZGVsW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IG9iamVjdCk6IE1vZGVsID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShpdGVtKSk7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShyZXN1bHQsICdwb3N0Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2VFcnJvcihtb2RlbHMsICdwb3N0Jyk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgYW4gZXhpc3RpbmcgTW9kZWwgaW5zdGFuY2UgaW4gZGF0YWJhc2VcbiAgICovXG4gIHB1dChtb2RlbDogTW9kZWwsIG1wRGF0YT86IEFic3RyYWN0TW9kZWwsIHBhdGggPSBgJHt0aGlzLmFwaVVybH0vJHttb2RlbC5pZH1gKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ3B1dCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQocGF0aCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHJlc3BvbnNlKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncHV0JywgbXBEYXRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZUVycm9yKFttb2RlbF0sICdwdXQnLCBtcERhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIG11bHRpcGxlIGV4aXN0aW5nIE1vZGVsIGluc3RhbmNlcyBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcHV0QmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcigncHV0QmF0Y2gnKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuYXBpVXJsLCBjbGFzc1RvUGxhaW4obW9kZWxzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogTW9kZWxbXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KTogTW9kZWwgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKGl0ZW0pKTtcbiAgICAgICAgICBpZiAoIXRoaXMubWVyY3VyZVRvcGljKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKHJlc3VsdCwgJ3B1dCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlRXJyb3IobW9kZWxzLCAncHV0Jyk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBNb2RlbCBpbnN0YW5jZSBmcm9tIGRhdGFiYXNlXG4gICAqL1xuICBkZWxldGUobW9kZWw6IE1vZGVsLCBtcERhdGE/OiBBYnN0cmFjdE1vZGVsKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3NFcnJvcignZGVsZXRlJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmFwaVVybH0vJHttb2RlbC5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbbW9kZWxdLCAnZGVsZXRlJywgbXBEYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlRXJyb3IoW21vZGVsXSwgJ2RlbGV0ZScsIG1wRGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbXVsdGlwbGUgTW9kZWwgaW5zdGFuY2VzIGZyb20gZGF0YWJhc2VcbiAgICovXG4gIGRlbGV0ZUJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuaGFuZGxlQWNjZXNzRXJyb3IoJ2RlbGV0ZUJhdGNoJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L2RlbGV0ZWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lcmN1cmVUb3BpYykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShtb2RlbHMsICdkZWxldGUnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlRXJyb3IobW9kZWxzLCAnZGVsZXRlJyk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmFjayhyZXNwb25zZTogTW9kZWxbXSwgbWV0aG9kOiBIdHRwTWV0aG9kLCBtcERhdGE/OiBBYnN0cmFjdE1vZGVsLCBwb3N0Zml4ID0gJycpIHtcbiAgICAvLyBjaGVjayBpZiByZXN1bHQgZXhpc3QsIHNvbWV0aW1lcyByZXNwb25zZSBtYXkgYmUgZW1wdHkgKGZvciBleGFtcGxlIENsaWVudEludml0ZSBhY2NlcHQvcmVqZWN0L2V0YylcbiAgICBpZiAoIXJlc3BvbnNlWzBdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gbm8gb3RoZXIgd2F5IHRvIGNoZWNrIGludGVyZmFjZVxuICAgIGlmICgnZ2V0TXBEYXRhJyBpbiByZXNwb25zZVswXSkge1xuICAgICAgcmVzcG9uc2UuZm9yRWFjaCgobW9kZWwpID0+IHtcbiAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soYCR7bWV0aG9kfSR7dGhpcy5tb2RlbENsYXNzLm5hbWV9JHtwb3N0Zml4fWAsIG1vZGVsWydnZXRNcERhdGEnXShtcERhdGEpKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlc3BvbnNlRXJyb3IocmVzcG9uc2U6IE1vZGVsW10sIG1ldGhvZDogSHR0cE1ldGhvZCwgbXBEYXRhPzogQWJzdHJhY3RNb2RlbCkge1xuICAgIC8vIEBUT0RPIGVycm9yIG5vdGlmaWNhdGlvbj9cbiAgICB0aGlzLnRyYWNrKHJlc3BvbnNlLCBtZXRob2QsIG1wRGF0YSwgJ0Vycm9yJyk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHJlc3BvbnNlIGRhdGEgLSB1cGRhdGUgY2FjaGUgYW5kIGRpc3BhdGNoIGV2ZW50IGlmIGl0IGlzIG5lZWRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QsIG1wRGF0YT86IEFic3RyYWN0TW9kZWwpIHtcbiAgICB0aGlzLnRyYWNrKHJlc3BvbnNlLCBtZXRob2QsIG1wRGF0YSk7XG5cbiAgICBpZiAodGhpcy5nZXRDYWNoZSgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKHJlc3BvbnNlLCBtZXRob2QpO1xuICAgIH1cblxuICAgIC8vIGRpc3BhdGNoIGV2ZW50IGZvciBpbnRlcmVzdGVkIHNlcnZpY2VzXG4gICAgaWYgKHJlc3BvbnNlWzBdIGluc3RhbmNlb2YgT2JzZXJ2YWJsZU1vZGVsKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobWV0aG9kLCByZXNwb25zZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aXRoIHBhc3NlZCBpdGVtcy4gQWRkL1VwZGF0ZSBkZXRlY3RzIGF1dG9tYXRpY2FsbHksIERlbGV0ZSB2aWEgb3B0aW9uYWwgZmxhZ1xuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZUNhY2hlKGl0ZW1zOiBNb2RlbFtdLCBtZXRob2Q6IEh0dHBNZXRob2QpOiB2b2lkIHtcbiAgICBsZXQgY2FjaGU6IENvbGxlY3Rpb25Nb2RlbDtcblxuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdwb3N0JzpcbiAgICAgICAgY2FjaGUgPSB0aGlzLmNhY2hlLnB1c2goLi4uaXRlbXMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncHV0JzpcbiAgICAgICAgLy8gQFRPRE8gQWxleCBvbGQgaW5zdGFuY2VcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogTW9kZWwpID0+IHtcbiAgICAgICAgICBjYWNoZSA9IHRoaXMuY2FjaGUucmVwbGFjZUJ5KCdpZCcsIGl0ZW0uaWQsIGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIGNhY2hlID0gdGhpcy5jYWNoZS5yZW1vdmVCeSgnaWQnLCBpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgICBjYWNoZSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbkluc3RhbmNlKHRoaXMuY29sbGVjdGlvbkNsYXNzLCBpdGVtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZS50b0FycmF5KCksIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGFuZCBkaXNwYXRjaCByZXN0IGV2ZW50XG4gICAqL1xuICBwcm90ZWN0ZWQgZGlzcGF0Y2hFdmVudChtZXRob2Q6IEh0dHBNZXRob2QsIGl0ZW1zOiBNb2RlbFtdKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnROYW1lOiBzdHJpbmcgPSAodGhpcy5tb2RlbENsYXNzIGFzIHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwpLmdldEV2ZW50TmFtZShtZXRob2QpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaDIobmV3IEFwcEV2ZW50MihldmVudE5hbWUsIGl0ZW1zKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWV0aG9kIGlzIG5vdCBkaXNhYmxlZC4gVGhyb3cgZXhjZXB0aW9uIG90aGVyd2lzZS5cbiAgICogU29tZSBlbnRpdGllcyBkb2VzIG5vdCBoYXZlIGVuZHBvaW50cyBmb3IgYWxsIG1ldGhvZHMuXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUFjY2Vzc0Vycm9yKG1ldGhvZDogUmVzdE1ldGhvZCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZE1ldGhvZHMuaW5jbHVkZXMobWV0aG9kKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kICR7bWV0aG9kfSgpIGlzIG5vdCBhbGxvd2VkIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gaHR0cCBldmVudHMgYW5kIHJ1biBjYWxsYmFjay5cbiAgICogQ1NFIC0gQ2xlaW50IFNlbnQgRXZlbnRzXG4gICAqIEBwYXJhbSBtb2RlbENsYXNzXG4gICAqIEBwYXJhbSBtZXRob2RzIFRoZSBsaXN0IG9mIGh0dHAgbWV0aG9kcyBzaG91bGQgYmUgbGlzdGVuZWQgZm9yXG4gICAqIEBwYXJhbSBjYWxsYmFjayBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gZXZlbnQgdHJpZ2dlcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgbGlzdGVuQ1NFKG1vZGVsQ2xhc3M6IHR5cGVvZiBPYnNlcnZhYmxlTW9kZWwsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbWV0aG9kczogSHR0cE1ldGhvZFtdID0gWydwb3N0JywgJ3B1dCcsICdkZWxldGUnXSk6IHZvaWQge1xuICAgIGNhbGxiYWNrID0gY2FsbGJhY2suYmluZCh0aGlzKTtcblxuICAgIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kOiBIdHRwTWV0aG9kKSA9PiB7XG4gICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24yKG1vZGVsQ2xhc3MuZ2V0RXZlbnROYW1lKG1ldGhvZCkpLnN1YnNjcmliZSgoZGF0YTogT2JzZXJ2YWJsZU1vZGVsW10pID0+IHtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIHVzZXIgaGFzIHN1YnNjcmlwdGlvbiByb2xlIHRvIGFjY2VzcyBhcGlcbiAgICovXG4gIGhhc1JvbGVzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5yb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiAhIWludGVyc2VjdGlvbihKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyb2xlcycpKSwgdGhpcy5yb2xlcykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3IgU2VydmVyLVNlbnQgRXZlbnRzIChTU0UpIG9uIHRoZSBzcGVjaWZpZWQgTWVyY3VyZSB0b3BpY1xuICAgKi9cbiAgbGlzdGVuU1NFKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tZXJjdXJlVG9waWMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lcmN1cmVUb3BpYyk7XG5cbiAgICB0aGlzLnNzZVNlcnZpY2Uub24odGhpcy5tZXJjdXJlVG9waWMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgICBsZXQgbW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UocmVzcG9uc2UpO1xuICAgICAgICBsZXQgbWV0aG9kOiBIdHRwTWV0aG9kO1xuICAgICAgICBpZiAobW9kZWwuaWQpIHtcbiAgICAgICAgICBtZXRob2QgPSB0aGlzLmhhc0luQ2FjaGUobW9kZWwuaWQpID8gJ3B1dCcgOiAncG9zdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgICAgICAgLy8gd2UgZ290IGVtcHR5IGJvZHkgd2hlbiBpdGVtIGRlbGV0ZWQsIHNvIHdlIHNob3VsZCBnZXQgaWQgZnJvbSBBcGkgUGxhdGZvcm0gZGF0YSAoQGlkKVxuICAgICAgICAgIG1vZGVsID0gbWVyZ2UobW9kZWwsIHsgaWQ6ICtsYXN0KG1vZGVsWydAaWQnXS5zcGxpdCgnLycpKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IG1ldGhvZCwgbW9kZWwgfTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coY2hhbmdlKTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2NoYW5nZS5tb2RlbF0sIGNoYW5nZS5tZXRob2QpXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -114,7 +114,8 @@ export class UserService extends RestService {
|
|
|
114
114
|
* Update cache when user's service subscription is updated
|
|
115
115
|
*/
|
|
116
116
|
listenServiceSubscriptionUpdated() {
|
|
117
|
-
this.listenCSE(ServiceSubscription, () => {
|
|
117
|
+
this.listenCSE(ServiceSubscription, (response) => {
|
|
118
|
+
console.log(response);
|
|
118
119
|
// @TODO vik test and remove
|
|
119
120
|
setTimeout(() => {
|
|
120
121
|
this.refreshCache();
|
|
@@ -134,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
134
135
|
type: Inject,
|
|
135
136
|
args: ['environment']
|
|
136
137
|
}] }]; } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLElBQUksb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOztBQU1qQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTZDO0lBTTVFLFlBQ21DLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUZjLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTm5ELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQXNCLFVBQVUsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBTWpGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFB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QyxhQUFhLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV4RSxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFzQjtRQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0NBQWdDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLDRCQUE0QjtZQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNqRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDOytHQTFKVSxXQUFXLGtCQU9aLGFBQWE7bUhBUFosV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciBhcyBVc2VyQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy91c2VyL3VzZXInO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSwgU2VydmljZVN1YnNjcmlwdGlvbiwgVXNlciwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxVc2VyQmFzZSwgVXNlciwgQ29sbGVjdGlvbjxVc2VyPj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBVc2VyID0gVXNlcjtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbiA9IENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ3VzZXJzJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3RCYXRjaCcsICdwdXRCYXRjaCcsICdkZWxldGVCYXRjaCcsICdkZWxldGUnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpXG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpO1xuICB9XG5cbiAgZmV0Y2goKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uPFVzZXI+PiB7XG4gICAgcmV0dXJuIHN1cGVyLmZldGNoKGAke3RoaXMuYXBpVXJsfS9jdXJyZW50YCkucGlwZShtYXAoKHVzZXJzKSA9PiB7XG4gICAgICAvLyBAVE9ETyB2aWsgdXNlIHNlcGFyYXRlZCBzZXJ2aWNlIHRvIGhhbmRsZSBnbG9iYWwgdXNlciBzdG9yYWdlXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgdGhpcy5nZXRDYWNoZUZpcnN0KCkuaWQudG9TdHJpbmcoKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHRoaXMuZ2V0Q2FjaGVGaXJzdCgpLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmdldENhY2hlRmlyc3QoKS5yb2xlcykpO1xuXG4gICAgICByZXR1cm4gdXNlcnM7XG4gICAgfSkpO1xuICB9XG5cbiAgcmVnaXN0ZXIoZGF0YTogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L3JlZ2lzdHJhdGlvbmAsIGRhdGEpXG4gICAgICAucGlwZShtYXAoKHVzZXIpID0+IHtcbiAgICAgICAgdGhpcy5tcFNlcnZpY2UuaWRlbnRpZnkodXNlclsnaWQnXSk7XG5cbiAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICB9KSk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChjdXJyZW50UGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9L3Bhc3N3b3JkL2NoYW5nZWAsIHsgY3VycmVudFBhc3N3b3JkLCBuZXdQYXNzd29yZCB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZENoYW5nZScpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZENoYW5nZUVycm9yJyk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZWNvdmVyeVBhc3N3b3JkKGVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYXBpVXJsfS9wYXNzd29yZC9yZWNvdmVyeWAsIHsgZW1haWwgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm1wU2VydmljZS50cmFjaygncGFzc3dvcmRSZWNvdmVyeScsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ3Bhc3N3b3JkUmVjb3ZlcnlFcnJvcicsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHJlc2V0VG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9L3Bhc3N3b3JkL3Jlc2V0YCwgeyBuZXdQYXNzd29yZCwgcmVzZXRUb2tlbiB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIHN1Y2Nlc3MgdHJhY2tlZCBvbiBiYWNrLWVuZCBzaWRlIHRvIGF0dGFjaCBpdCB0byBleGlzdGluZyB1c2VyIGJlZm9yZSBsb2dpblxuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZFJlc2V0RXJyb3InLCB7IHJlc2V0VG9rZW4gfSk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZXNlbmRDb25maXJtYXRpb25FbWFpbChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L2NvbmZpcm1hdGlvbi9yZXNlbmRgLCB7IGVtYWlsIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybVJlc2VuZCcsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybVJlc2VuZEVycm9yJywgeyBlbWFpbCB9KTtcbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vY29uZmlybWF0aW9uYCwgeyB2ZXJpZmljYXRpb25Db2RlIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gc3VjY2VzcyB0cmFja2VkIG9uIGJhY2stZW5kIHNpZGUgdG8gYXR0YWNoIGl0IHRvIGV4aXN0aW5nIHVzZXIgYmVmb3JlIGxvZ2luXG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybUVycm9yJywgeyB2ZXJpZmljYXRpb25Db2RlIH0pO1xuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpVXJsfS9zZWFyY2hgLCB7IHBhcmFtczogeyBlbWFpbCB9IH0pLnBpcGUoXG4gICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHVzZXJCYXNlKSlcbiAgICApO1xuICB9XG5cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMucHV0KHVzZXIsIG51bGwsIGAke3RoaXMuYXBpVXJsfS9zdGF0dXNgKTtcbiAgfVxuXG4gIHVwZGF0ZVBob3RvKHBob3RvOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bykucGlwZShcbiAgICAgIG1hcCgocGhvdG9Vcmw6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnNldENhY2hlKFtPYmplY3QuYXNzaWduKHRoaXMuZ2V0Q2FjaGVGaXJzdCgpLCB7IHBob3RvOiBwaG90b1VybCB9KV0sIHRydWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlQmFzaXEoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdXNlcmAsIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFzaXFJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDYWNoZShbT2JqZWN0LmFzc2lnbih0aGlzLmdldENhY2hlRmlyc3QoKSwgeyBiYXNpcUlkIH0pXSwgdHJ1ZSk7XG5cbiAgICAgICAgICByZXR1cm4gYmFzaXFJZDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBza2lwU2V0dXBJdGVtKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICBjb25zdCB1c2VyID0gY2xvbmUodGhpcy5nZXRDYWNoZUZpcnN0KCkpO1xuICAgIHVzZXIuYmxhY2tsaXN0U2V0dXBJdGVtcy5wdXNoKGl0ZW0pO1xuXG4gICAgcmV0dXJuIHRoaXMucHV0KHVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKFNlcnZpY2VTdWJzY3JpcHRpb24sICgpID0+IHtcbiAgICAgIC8vIEBUT0RPIHZpayB0ZXN0IGFuZCByZW1vdmVcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKCdTdWJzY3JpcHRpb24gc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQnKTtcbiAgICAgIH0sIDIwMDApO1xuICAgIH0sIFsncG9zdCcsICdwdXQnXSk7XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLElBQUksb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOztBQU1qQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTZDO0lBTTVFLFlBQ21DLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUZjLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTm5ELGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQXNCLFVBQVUsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBTWpGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFB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QyxhQUFhLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV4RSxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFzQjtRQUNsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0NBQWdDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RCLDRCQUE0QjtZQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUNqRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDOytHQTNKVSxXQUFXLGtCQU9aLGFBQWE7bUhBUFosV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciBhcyBVc2VyQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy91c2VyL3VzZXInO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSwgU2VydmljZVN1YnNjcmlwdGlvbiwgVXNlciwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxVc2VyQmFzZSwgVXNlciwgQ29sbGVjdGlvbjxVc2VyPj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBVc2VyID0gVXNlcjtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbiA9IENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ3VzZXJzJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3RCYXRjaCcsICdwdXRCYXRjaCcsICdkZWxldGVCYXRjaCcsICdkZWxldGUnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpXG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpO1xuICB9XG5cbiAgZmV0Y2goKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uPFVzZXI+PiB7XG4gICAgcmV0dXJuIHN1cGVyLmZldGNoKGAke3RoaXMuYXBpVXJsfS9jdXJyZW50YCkucGlwZShtYXAoKHVzZXJzKSA9PiB7XG4gICAgICAvLyBAVE9ETyB2aWsgdXNlIHNlcGFyYXRlZCBzZXJ2aWNlIHRvIGhhbmRsZSBnbG9iYWwgdXNlciBzdG9yYWdlXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgdGhpcy5nZXRDYWNoZUZpcnN0KCkuaWQudG9TdHJpbmcoKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHRoaXMuZ2V0Q2FjaGVGaXJzdCgpLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmdldENhY2hlRmlyc3QoKS5yb2xlcykpO1xuXG4gICAgICByZXR1cm4gdXNlcnM7XG4gICAgfSkpO1xuICB9XG5cbiAgcmVnaXN0ZXIoZGF0YTogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L3JlZ2lzdHJhdGlvbmAsIGRhdGEpXG4gICAgICAucGlwZShtYXAoKHVzZXIpID0+IHtcbiAgICAgICAgdGhpcy5tcFNlcnZpY2UuaWRlbnRpZnkodXNlclsnaWQnXSk7XG5cbiAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICB9KSk7XG4gIH1cblxuICBjaGFuZ2VQYXNzd29yZChjdXJyZW50UGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9L3Bhc3N3b3JkL2NoYW5nZWAsIHsgY3VycmVudFBhc3N3b3JkLCBuZXdQYXNzd29yZCB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZENoYW5nZScpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZENoYW5nZUVycm9yJyk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZWNvdmVyeVBhc3N3b3JkKGVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYXBpVXJsfS9wYXNzd29yZC9yZWNvdmVyeWAsIHsgZW1haWwgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm1wU2VydmljZS50cmFjaygncGFzc3dvcmRSZWNvdmVyeScsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ3Bhc3N3b3JkUmVjb3ZlcnlFcnJvcicsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHJlc2V0VG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9L3Bhc3N3b3JkL3Jlc2V0YCwgeyBuZXdQYXNzd29yZCwgcmVzZXRUb2tlbiB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIHN1Y2Nlc3MgdHJhY2tlZCBvbiBiYWNrLWVuZCBzaWRlIHRvIGF0dGFjaCBpdCB0byBleGlzdGluZyB1c2VyIGJlZm9yZSBsb2dpblxuICAgICAgICAgIHRoaXMubXBTZXJ2aWNlLnRyYWNrKCdwYXNzd29yZFJlc2V0RXJyb3InLCB7IHJlc2V0VG9rZW4gfSk7XG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICByZXNlbmRDb25maXJtYXRpb25FbWFpbChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L2NvbmZpcm1hdGlvbi9yZXNlbmRgLCB7IGVtYWlsIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybVJlc2VuZCcsIHsgZW1haWwgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybVJlc2VuZEVycm9yJywgeyBlbWFpbCB9KTtcbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vY29uZmlybWF0aW9uYCwgeyB2ZXJpZmljYXRpb25Db2RlIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gc3VjY2VzcyB0cmFja2VkIG9uIGJhY2stZW5kIHNpZGUgdG8gYXR0YWNoIGl0IHRvIGV4aXN0aW5nIHVzZXIgYmVmb3JlIGxvZ2luXG4gICAgICAgICAgdGhpcy5tcFNlcnZpY2UudHJhY2soJ2VtYWlsQ29uZmlybUVycm9yJywgeyB2ZXJpZmljYXRpb25Db2RlIH0pO1xuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXBpVXJsfS9zZWFyY2hgLCB7IHBhcmFtczogeyBlbWFpbCB9IH0pLnBpcGUoXG4gICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHVzZXJCYXNlKSlcbiAgICApO1xuICB9XG5cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMucHV0KHVzZXIsIG51bGwsIGAke3RoaXMuYXBpVXJsfS9zdGF0dXNgKTtcbiAgfVxuXG4gIHVwZGF0ZVBob3RvKHBob3RvOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bykucGlwZShcbiAgICAgIG1hcCgocGhvdG9Vcmw6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnNldENhY2hlKFtPYmplY3QuYXNzaWduKHRoaXMuZ2V0Q2FjaGVGaXJzdCgpLCB7IHBob3RvOiBwaG90b1VybCB9KV0sIHRydWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlQmFzaXEoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdXNlcmAsIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFzaXFJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDYWNoZShbT2JqZWN0LmFzc2lnbih0aGlzLmdldENhY2hlRmlyc3QoKSwgeyBiYXNpcUlkIH0pXSwgdHJ1ZSk7XG5cbiAgICAgICAgICByZXR1cm4gYmFzaXFJZDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBza2lwU2V0dXBJdGVtKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICBjb25zdCB1c2VyID0gY2xvbmUodGhpcy5nZXRDYWNoZUZpcnN0KCkpO1xuICAgIHVzZXIuYmxhY2tsaXN0U2V0dXBJdGVtcy5wdXNoKGl0ZW0pO1xuXG4gICAgcmV0dXJuIHRoaXMucHV0KHVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKFNlcnZpY2VTdWJzY3JpcHRpb24sIChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgLy8gQFRPRE8gdmlrIHRlc3QgYW5kIHJlbW92ZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3MoJ1N1YnNjcmlwdGlvbiBzdWNjZXNzZnVsbHkgdXBkYXRlZCcpO1xuICAgICAgfSwgMjAwMCk7XG4gICAgfSwgWydwb3N0JywgJ3B1dCddKTtcbiAgfVxufVxuIl19
|
|
@@ -11057,7 +11057,9 @@ let RestService$1 = class RestService extends DataService {
|
|
|
11057
11057
|
if (!this.mercureTopic) {
|
|
11058
11058
|
return;
|
|
11059
11059
|
}
|
|
11060
|
+
console.log(this.mercureTopic);
|
|
11060
11061
|
this.sseService.on(this.mercureTopic).pipe(map((response) => {
|
|
11062
|
+
console.log(response);
|
|
11061
11063
|
let model = this.createModelInstance(response);
|
|
11062
11064
|
let method;
|
|
11063
11065
|
if (model.id) {
|
|
@@ -11070,6 +11072,7 @@ let RestService$1 = class RestService extends DataService {
|
|
|
11070
11072
|
}
|
|
11071
11073
|
return { method, model };
|
|
11072
11074
|
})).subscribe((change) => {
|
|
11075
|
+
console.log(change);
|
|
11073
11076
|
this.handleResponse([change.model], change.method);
|
|
11074
11077
|
});
|
|
11075
11078
|
}
|
|
@@ -13472,6 +13475,12 @@ class PropertyShareService extends RestService$1 {
|
|
|
13472
13475
|
this.listenUserUpdated();
|
|
13473
13476
|
this.listenSalesChanges();
|
|
13474
13477
|
}
|
|
13478
|
+
accept(share) {
|
|
13479
|
+
return this.put(Object.assign(clone(share), { status: PropertyShareStatusEnum.APPROVED }));
|
|
13480
|
+
}
|
|
13481
|
+
reject(share) {
|
|
13482
|
+
return this.put(Object.assign(clone(share), { status: PropertyShareStatusEnum.REJECTED }));
|
|
13483
|
+
}
|
|
13475
13484
|
/**
|
|
13476
13485
|
* Re-invite property share
|
|
13477
13486
|
* @param share user to share property
|
|
@@ -15586,7 +15595,8 @@ class UserService extends RestService$1 {
|
|
|
15586
15595
|
* Update cache when user's service subscription is updated
|
|
15587
15596
|
*/
|
|
15588
15597
|
listenServiceSubscriptionUpdated() {
|
|
15589
|
-
this.listenCSE(ServiceSubscription, () => {
|
|
15598
|
+
this.listenCSE(ServiceSubscription, (response) => {
|
|
15599
|
+
console.log(response);
|
|
15590
15600
|
// @TODO vik test and remove
|
|
15591
15601
|
setTimeout(() => {
|
|
15592
15602
|
this.refreshCache();
|