taxtank-core 0.30.0 → 0.30.2

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.
@@ -19,6 +19,10 @@ export class TransactionBase extends ObservableModel {
19
19
  return TankTypeEnum.OTHER;
20
20
  }
21
21
  }
22
+ /**
23
+ * @TODO remove when AllocateForm is refactored and not merging with Transaction class which cause the issue
24
+ */
25
+ set tankType(tankType) { }
22
26
  /**
23
27
  * Check if current tank is Property
24
28
  */
@@ -84,4 +88,4 @@ __decorate([
84
88
  __decorate([
85
89
  Exclude()
86
90
  ], TransactionBase.prototype, "gstClaimAmount", null);
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQTBCbEQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQjtnQkFDRSxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1osZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixPQUFPLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRjtRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDOUU7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixnREFBZ0Q7UUFDaEQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN6RyxDQUFDO0lBR0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFHRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQWpGQztJQUxDLE9BQU8sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQztJQUM1QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2xCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBRTtRQUNuQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDbEIsQ0FBQyxDQUFDOzZDQUNTO0FBeURYO0lBREMsT0FBTyxFQUFFO29EQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7Z0RBR1Q7QUFHRDtJQURDLE9BQU8sRUFBRTtxREFHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyBhcyBDaGFydEFjY291bnRzQmFzZSB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uL29ic2VydmFibGUtbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CYXNlIGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgaWQ/OiBudW1iZXI7XG4gIGFtb3VudD86IG51bWJlcjtcbiAgcHJvcGVydHk/OiBQcm9wZXJ0eTtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGRhdGU/OiBEYXRlO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50c0Jhc2U7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBnc3QgYXBwbGllcyB0byBzb2xlIHRyYWRlciBleHBlbnNlL2luY29tZSwgaWYgaGUgaXMgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZVxuICAgKi9cbiAgaXNHU1Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgICogQFRPRE8gQWxleCBwbGFpblRvQ2xhc3MgZG9lc24ndCB3b3JrIHdpdGggRmlsZSB3aXRob3V0IHRoaXMgaGFjayBodHRwczovL2dpdGh1Yi5jb20vdHlwZXN0YWNrL2NsYXNzLXRyYW5zZm9ybWVyL2lzc3Vlcy8xMTc4XG4gICAqL1xuICBARXhjbHVkZSh7dG9QbGFpbk9ubHk6IHRydWV9KVxuICBAVHlwZSgoKSA9PiBPYmplY3QpXG4gIEBUcmFuc2Zvcm0oKHtvYmp9KSA9PiB7XG4gICAgcmV0dXJuIG9iai5maWxlO1xuICB9KVxuICBmaWxlOiBGaWxlO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgZ2V0IGNsYWltUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgdGFua1R5cGUoKTogVGFua1R5cGVFbnVtIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlBST1BFUlRZO1xuICAgICAgY2FzZSB0aGlzLmlzV29ya1RhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5XT1JLO1xuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5TT0xFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5PVEhFUjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFByb3BlcnR5XG4gICAqL1xuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMucHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFdvcmtcbiAgICovXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29yay5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gIXRoaXMuaXNQcm9wZXJ0eVRhbmsoKSAmJiAhdGhpcy5pc1NvbGVUYW5rKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFNvbGVcbiAgICovXG4gIGlzU29sZVRhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuc29sZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gISF0aGlzLmJ1c2luZXNzO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gKyhNYXRoLnJvdW5kKHRoaXMuYW1vdW50ICogQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudCkpLnRvRml4ZWQoMikgOiB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMuYW1vdW50V2l0aEdzdCAtIHRoaXMuYW1vdW50KS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgZ3N0Q2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nc3RBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cblxuICAvKipcbiAgICogYmFzZSBncm9zc0Ftb3VudCwgZXh0ZW5kcyBpbiBjaGlsZCBjbGFzc2VzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgKyB0aGlzLmdzdEFtb3VudDtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQTBCbEQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztZQUMzQjtnQkFDRSxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVEsQ0FBQyxRQUFzQixJQUFHLENBQUM7SUFFdkM7O09BRUc7SUFDSCxjQUFjO1FBQ1osZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixPQUFPLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRjtRQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDOUU7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixnREFBZ0Q7UUFDaEQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN6RyxDQUFDO0lBR0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFHRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQXRGQztJQUxDLE9BQU8sQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQztJQUM1QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2xCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBRTtRQUNuQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDbEIsQ0FBQyxDQUFDOzZDQUNTO0FBOERYO0lBREMsT0FBTyxFQUFFO29EQUdUO0FBR0Q7SUFEQyxPQUFPLEVBQUU7Z0RBR1Q7QUFHRDtJQURDLE9BQU8sRUFBRTtxREFHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyBhcyBDaGFydEFjY291bnRzQmFzZSB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi4vc29sZS9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uL29ic2VydmFibGUtbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CYXNlIGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgaWQ/OiBudW1iZXI7XG4gIGFtb3VudD86IG51bWJlcjtcbiAgcHJvcGVydHk/OiBQcm9wZXJ0eTtcbiAgYnVzaW5lc3M/OiBTb2xlQnVzaW5lc3M7XG4gIGRhdGU/OiBEYXRlO1xuICBjaGFydEFjY291bnRzPzogQ2hhcnRBY2NvdW50c0Jhc2U7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBnc3QgYXBwbGllcyB0byBzb2xlIHRyYWRlciBleHBlbnNlL2luY29tZSwgaWYgaGUgaXMgcmVnaXN0ZXJlZCBhbmQgY2hhcnRBY2NvdW50cyBpcyBlbGlnaWJsZVxuICAgKi9cbiAgaXNHU1Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgICogQFRPRE8gQWxleCBwbGFpblRvQ2xhc3MgZG9lc24ndCB3b3JrIHdpdGggRmlsZSB3aXRob3V0IHRoaXMgaGFjayBodHRwczovL2dpdGh1Yi5jb20vdHlwZXN0YWNrL2NsYXNzLXRyYW5zZm9ybWVyL2lzc3Vlcy8xMTc4XG4gICAqL1xuICBARXhjbHVkZSh7dG9QbGFpbk9ubHk6IHRydWV9KVxuICBAVHlwZSgoKSA9PiBPYmplY3QpXG4gIEBUcmFuc2Zvcm0oKHtvYmp9KSA9PiB7XG4gICAgcmV0dXJuIG9iai5maWxlO1xuICB9KVxuICBmaWxlOiBGaWxlO1xuICBjbGFpbVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgZ2V0IGNsYWltUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgdGFua1R5cGUoKTogVGFua1R5cGVFbnVtIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gVGFua1R5cGVFbnVtLlBST1BFUlRZO1xuICAgICAgY2FzZSB0aGlzLmlzV29ya1RhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5XT1JLO1xuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5TT0xFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFRhbmtUeXBlRW51bS5PVEhFUjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIHdoZW4gQWxsb2NhdGVGb3JtIGlzIHJlZmFjdG9yZWQgYW5kIG5vdCBtZXJnaW5nIHdpdGggVHJhbnNhY3Rpb24gY2xhc3Mgd2hpY2ggY2F1c2UgdGhlIGlzc3VlXG4gICAqL1xuICBzZXQgdGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSkge31cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFByb3BlcnR5XG4gICAqL1xuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICAvLyBjaGFydCBhY2NvdW50cyBtYXkgYmUgZW1wdHkgZm9yIG5ldyBpbnN0YW5jZXNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMucHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFdvcmtcbiAgICovXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29yay5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gIXRoaXMuaXNQcm9wZXJ0eVRhbmsoKSAmJiAhdGhpcy5pc1NvbGVUYW5rKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB0YW5rIGlzIFNvbGVcbiAgICovXG4gIGlzU29sZVRhbmsoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hhcnQgYWNjb3VudHMgbWF5IGJlIGVtcHR5IGZvciBuZXcgaW5zdGFuY2VzXG4gICAgaWYgKHRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuc29sZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHM/LmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gISF0aGlzLmJ1c2luZXNzO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgYW1vdW50V2l0aEdzdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzR1NUID8gKyhNYXRoLnJvdW5kKHRoaXMuYW1vdW50ICogQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudCkpLnRvRml4ZWQoMikgOiB0aGlzLmFtb3VudDtcbiAgfVxuXG4gIEBFeGNsdWRlKClcbiAgZ2V0IGdzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMuYW1vdW50V2l0aEdzdCAtIHRoaXMuYW1vdW50KS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgQEV4Y2x1ZGUoKVxuICBnZXQgZ3N0Q2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nc3RBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cblxuICAvKipcbiAgICogYmFzZSBncm9zc0Ftb3VudCwgZXh0ZW5kcyBpbiBjaGlsZCBjbGFzc2VzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgKyB0aGlzLmdzdEFtb3VudDtcbiAgfVxuXG4gIGdldCBncm9zc0NsYWltQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NBbW91bnQgKiB0aGlzLmNsYWltUmF0aW87XG4gIH1cbn1cbiJdfQ==
@@ -1,64 +1,58 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- import { Address } from '../../models/address/address';
3
- import { plainToClass } from 'class-transformer';
2
+ import { Country, CorelogicSuggestion } from '../../models';
4
3
  import { UntypedFormControl, Validators } from '@angular/forms';
5
4
  import { EventEmitter } from '@angular/core';
6
5
  import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';
7
6
  import { AddressTypeEnum } from '../../db/Enums/address-type.enum';
8
- import { CorelogicSuggestion } from '../../models/property/corelogic-suggestion';
9
- import { conditionalValidator } from '../../validators';
10
7
  import { addressCorelogicValidator } from '../../validators/address-corelogic.validator';
11
- import { Country } from '../../models/address/country';
12
8
  import { merge } from 'rxjs';
13
9
  /**
14
10
  * Address form. Works with corelogic or manual address
15
11
  */
16
12
  export class AddressForm extends AbstractForm {
17
- /**
18
- * @param address instance which should be created/edited
19
- * @param isCorelogicRequired for example, for property we need corelogic location even for manual address,
20
- * so we have to search corelogic location based on manual fields values
21
- */
22
- constructor(address = plainToClass(Address, {}), isCorelogicRequired = false) {
13
+ constructor(
14
+ // no default value because Address form is always a child form. That's mean address value always passed and then default value never work.
15
+ // even if null passed, default value will not work
16
+ address) {
23
17
  super({
24
18
  // prefill search input with address string for edit case
25
- searchQuery: new UntypedFormControl(address.address ? address.nameLong : null, Validators.required),
26
- type: new UntypedFormControl(address.type | AddressTypeEnum.STREET, Validators.required),
27
- // Corelogic fields
28
- corelogicLocId: new UntypedFormControl(address.corelogicLocId),
29
- corelogicRefId: new UntypedFormControl(address.corelogicRefId),
30
- // manual fields
31
- unitNumber: new UntypedFormControl({ value: address.unitNumber, disabled: true }),
32
- address: new UntypedFormControl({ value: address.address, disabled: true }, Validators.required),
33
- streetNumber: new UntypedFormControl({ value: address.streetNumber, disabled: true }, [Validators.required, Validators.pattern(AddressForm.streetNumberPattern)]),
34
- street: new UntypedFormControl({ value: address.street, disabled: true }, Validators.required),
35
- city: new UntypedFormControl({ value: address.city, disabled: true }, Validators.required),
36
- state: new UntypedFormControl({ value: address.state, disabled: true }, Validators.required),
37
- postcode: new UntypedFormControl({ value: address.postcode, disabled: true }, Validators.required),
38
- country: new UntypedFormControl({ value: address.country || Country.australia, disabled: true }, conditionalValidator(() => !isCorelogicRequired, Validators.required))
19
+ searchQuery: new UntypedFormControl(address?.address ? address.nameLong : null, Validators.required),
20
+ type: new UntypedFormControl(address?.type || AddressTypeEnum.STREET, Validators.required),
21
+ // corelogic fields (required for Australia and disabled for other countries)
22
+ corelogicLocId: new UntypedFormControl({ value: address?.corelogicLocId, disabled: true }, Validators.required),
23
+ corelogicRefId: new UntypedFormControl({ value: address?.corelogicRefId, disabled: true }),
24
+ // manual fields (using when address not found in corelogic)
25
+ unitNumber: new UntypedFormControl({ value: address?.unitNumber, disabled: true }),
26
+ address: new UntypedFormControl({ value: address?.address, disabled: true }, Validators.required),
27
+ streetNumber: new UntypedFormControl({ value: address?.streetNumber, disabled: true }, [Validators.required, Validators.pattern(AddressForm.streetNumberPattern)]),
28
+ street: new UntypedFormControl({ value: address?.street, disabled: true }, Validators.required),
29
+ city: new UntypedFormControl({ value: address?.city, disabled: true }, Validators.required),
30
+ state: new UntypedFormControl({ value: address?.state, disabled: true }, Validators.required),
31
+ postcode: new UntypedFormControl({ value: address?.postcode, disabled: true }, Validators.required),
32
+ country: new UntypedFormControl({ value: address?.country || Country.australia, disabled: true }, Validators.required)
39
33
  }, address, addressCorelogicValidator());
40
- this.isCorelogicRequired = isCorelogicRequired;
41
34
  /**
42
35
  * Emit event to search address in corelogic when user filled enough data for corelogic
43
36
  */
44
37
  this.onSearch = new EventEmitter();
38
+ if (this.isAustraliaSelected()) {
39
+ this.enableCorelogicFields();
40
+ }
45
41
  this.listenEvents();
46
42
  }
47
43
  /**
48
44
  * Get search query for corelogic location search based on manual fields values
49
45
  */
50
46
  get manualSearchQuery() {
51
- if (!this.isManualSearchAvailable()) {
47
+ // nothing to search when manual fields are invalid or when selected country is not Australia because we don't need to use corelogic for other countries
48
+ if (!this.isManualSearchAvailable() || !this.isAustraliaSelected()) {
52
49
  return '';
53
50
  }
54
- return this.currentValue.nameLong;
51
+ // for manual mode we search corelogic for city (location) and ignore street
52
+ return `${this.get('city').value} ${this.get('state').value} ${this.get('postcode').value}`;
55
53
  }
56
54
  listenEvents() {
57
55
  this.listenSearchQueryChanges();
58
- // no need to search corelogic locality when corelogic is not required
59
- if (this.isCorelogicRequired) {
60
- this.listenManualFieldsChanges();
61
- }
62
56
  }
63
57
  /**
64
58
  * Handle corelogic suggestion select
@@ -74,25 +68,29 @@ export class AddressForm extends AbstractForm {
74
68
  corelogicRefId: suggestion.propertyId
75
69
  });
76
70
  }
71
+ /**
72
+ * Check if Australia is selected in country field
73
+ */
74
+ isAustraliaSelected() {
75
+ return this.get('country').value?.id === Country.australia.id;
76
+ }
77
77
  /**
78
78
  * Enable manual mode
79
79
  */
80
80
  switchToManual() {
81
81
  this.isManual = true;
82
82
  this.get('searchQuery').disable();
83
+ this.get('unitNumber').enable();
83
84
  this.get('address').enable();
84
85
  this.get('streetNumber').enable();
85
86
  this.get('street').enable();
86
- this.get('unitNumber').enable();
87
87
  this.get('city').enable();
88
88
  this.get('state').enable();
89
89
  this.get('postcode').enable();
90
- if (!this.isCorelogicRequired) {
91
- this.get('country').enable();
92
- this.get('corelogicLocId').disable();
93
- this.get('corelogicRefId').disable();
94
- }
90
+ this.get('country').enable();
91
+ this.listenManualFieldsChanges();
95
92
  this.listenStreetFieldsChanges();
93
+ this.listenCountryChanges();
96
94
  }
97
95
  /**
98
96
  * Emit event to search address in corelogic when search field changes
@@ -124,7 +122,7 @@ export class AddressForm extends AbstractForm {
124
122
  * Check if all fields required for manual corelogic search are filled before request sending
125
123
  */
126
124
  isManualSearchAvailable() {
127
- return this.get('address').valid && this.get('city').valid && this.get('state').valid && this.get('postcode').valid;
125
+ return this.get('city').valid && this.get('state').valid && this.get('postcode').valid;
128
126
  }
129
127
  /**
130
128
  * When corelogic is required we have to search address even for manual address
@@ -136,7 +134,7 @@ export class AddressForm extends AbstractForm {
136
134
  // delay to avoid search request for each value change
137
135
  debounceTime(AddressForm.searchDelay),
138
136
  // do nothing when not all required fields filled
139
- filter(() => this.isManualSearchAvailable()), map(() => this.manualSearchQuery),
137
+ filter(() => this.isManualSearchAvailable() && this.isAustraliaSelected()), map(() => this.manualSearchQuery),
140
138
  // skip when value not changed
141
139
  distinctUntilChanged())
142
140
  .subscribe(() => {
@@ -154,6 +152,26 @@ export class AddressForm extends AbstractForm {
154
152
  this.get('address').setValue(`${this.get('streetNumber').value} ${this.get('street').value}`);
155
153
  });
156
154
  }
155
+ enableCorelogicFields() {
156
+ this.get('corelogicLocId').enable();
157
+ this.get('corelogicRefId').enable();
158
+ }
159
+ disableCorelogicFields() {
160
+ this.get('corelogicLocId').disable();
161
+ this.get('corelogicRefId').disable();
162
+ }
163
+ /**
164
+ * Corelogic loc id is required for Australian addresses
165
+ */
166
+ listenCountryChanges() {
167
+ this.get('country').valueChanges.subscribe(() => {
168
+ if (this.isAustraliaSelected()) {
169
+ this.enableCorelogicFields();
170
+ return;
171
+ }
172
+ this.disableCorelogicFields();
173
+ });
174
+ }
157
175
  }
158
176
  /**
159
177
  * Min search query required length
@@ -167,4 +185,4 @@ AddressForm.searchDelay = 500;
167
185
  * Regarding corelogic formatting, street number should not contain spaces
168
186
  */
169
187
  AddressForm.streetNumberPattern = /^[^\s]+$/;
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2FkZHJlc3MvYWRkcmVzcy5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsWUFBcUI7SUEwQnBEOzs7O09BSUc7SUFDSCxZQUNFLFVBQW1CLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQ3JDLHNCQUErQixLQUFLO1FBRTNDLEtBQUssQ0FBQztZQUNKLHlEQUF5RDtZQUN6RCxXQUFXLEVBQUUsSUFBSSxrQkFB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ICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy9hZGRyZXNzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkZHJlc3NUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2FkZHJlc3MtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvcmVsb2dpY1N1Z2dlc3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcHJvcGVydHkvY29yZWxvZ2ljLXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgY29uZGl0aW9uYWxWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IGFkZHJlc3NDb3JlbG9naWNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2FkZHJlc3MtY29yZWxvZ2ljLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MvY291bnRyeSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEFkZHJlc3MgZm9ybS4gV29ya3Mgd2l0aCBjb3JlbG9naWMgb3IgbWFudWFsIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGNsYXNzIEFkZHJlc3NGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFkZHJlc3M+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvKipcbiAgICogTWluIHNlYXJjaCBxdWVyeSByZXF1aXJlZCBsZW5ndGhcbiAgICovXG4gIHN0YXRpYyBtaW5TZWFyY2hMZW5ndGg6IG51bWJlciA9IDM7XG5cbiAgLyoqXG4gICAqIERlbGF5IGJlZm9yZSBjb3JlbG9naWMgcmVxdWVzdFxuICAgKi9cbiAgc3RhdGljIHNlYXJjaERlbGF5OiBudW1iZXIgPSA1MDA7XG5cbiAgLyoqXG4gICAqIFJlZ2FyZGluZyBjb3JlbG9naWMgZm9ybWF0dGluZywgc3RyZWV0IG51bWJlciBzaG91bGQgbm90IGNvbnRhaW4gc3BhY2VzXG4gICAqL1xuICBzdGF0aWMgc3RyZWV0TnVtYmVyUGF0dGVybjogUmVnRXhwID0gL15bXlxcc10rJC87XG5cbiAgLyoqXG4gICAqIE1hbnVhbCBtb2RlIGZsYWdcbiAgICovXG4gIGlzTWFudWFsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0IGV2ZW50IHRvIHNlYXJjaCBhZGRyZXNzIGluIGNvcmVsb2dpYyB3aGVuIHVzZXIgZmlsbGVkIGVub3VnaCBkYXRhIGZvciBjb3JlbG9naWNcbiAgICovXG4gIG9uU2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQHBhcmFtIGFkZHJlc3MgaW5zdGFuY2Ugd2hpY2ggc2hvdWxkIGJlIGNyZWF0ZWQvZWRpdGVkXG4gICAqIEBwYXJhbSBpc0NvcmVsb2dpY1JlcXVpcmVkIGZvciBleGFtcGxlLCBmb3IgcHJvcGVydHkgd2UgbmVlZCBjb3JlbG9naWMgbG9jYXRpb24gZXZlbiBmb3IgbWFudWFsIGFkZHJlc3MsXG4gICAqIHNvIHdlIGhhdmUgdG8gc2VhcmNoIGNvcmVsb2dpYyBsb2NhdGlvbiBiYXNlZCBvbiBtYW51YWwgZmllbGRzIHZhbHVlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgYWRkcmVzczogQWRkcmVzcyA9IHBsYWluVG9DbGFzcyhBZGRyZXNzLCB7fSksXG4gICAgcHVibGljIGlzQ29yZWxvZ2ljUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICAvLyBwcmVmaWxsIHNlYXJjaCBpbnB1dCB3aXRoIGFkZHJlc3Mgc3RyaW5nIGZvciBlZGl0IGNhc2VcbiAgICAgIHNlYXJjaFF1ZXJ5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGFkZHJlc3MuYWRkcmVzcyA/IGFkZHJlc3MubmFtZUxvbmcgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woYWRkcmVzcy50eXBlIHwgQWRkcmVzc1R5cGVFbnVtLlNUUkVFVCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG5cbiAgICAgIC8vIENvcmVsb2dpYyBmaWVsZHNcbiAgICAgIGNvcmVsb2dpY0xvY0lkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGFkZHJlc3MuY29yZWxvZ2ljTG9jSWQpLFxuICAgICAgY29yZWxvZ2ljUmVmSWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woYWRkcmVzcy5jb3JlbG9naWNSZWZJZCksXG5cbiAgICAgIC8vIG1hbnVhbCBmaWVsZHNcbiAgICAgIHVuaXROdW1iZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzLnVuaXROdW1iZXIsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICBhZGRyZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcy5hZGRyZXNzLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgc3RyZWV0TnVtYmVyOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcy5zdHJlZXROdW1iZXIsIGRpc2FibGVkOiB0cnVlfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybihBZGRyZXNzRm9ybS5zdHJlZXROdW1iZXJQYXR0ZXJuKV0pLFxuICAgICAgc3RyZWV0OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcy5zdHJlZXQsIGRpc2FibGVkOiB0cnVlfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjaXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcy5jaXR5LCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgc3RhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzLnN0YXRlLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcG9zdGNvZGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzLnBvc3Rjb2RlLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY291bnRyeTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IGFkZHJlc3MuY291bnRyeSB8fCBDb3VudHJ5LmF1c3RyYWxpYSwgZGlzYWJsZWQ6IHRydWV9LCBjb25kaXRpb25hbFZhbGlkYXRvcigoKSA9PiAhaXNDb3JlbG9naWNSZXF1aXJlZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpXG4gICAgfSwgYWRkcmVzcywgYWRkcmVzc0NvcmVsb2dpY1ZhbGlkYXRvcigpKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlYXJjaCBxdWVyeSBmb3IgY29yZWxvZ2ljIGxvY2F0aW9uIHNlYXJjaCBiYXNlZCBvbiBtYW51YWwgZmllbGRzIHZhbHVlc1xuICAgKi9cbiAgZ2V0IG1hbnVhbFNlYXJjaFF1ZXJ5KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlzTWFudWFsU2VhcmNoQXZhaWxhYmxlKCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWUubmFtZUxvbmc7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZWFyY2hRdWVyeUNoYW5nZXMoKTtcblxuICAgIC8vIG5vIG5lZWQgdG8gc2VhcmNoIGNvcmVsb2dpYyBsb2NhbGl0eSB3aGVuIGNvcmVsb2dpYyBpcyBub3QgcmVxdWlyZWRcbiAgICBpZiAodGhpcy5pc0NvcmVsb2dpY1JlcXVpcmVkKSB7XG4gICAgICB0aGlzLmxpc3Rlbk1hbnVhbEZpZWxkc0NoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNvcmVsb2dpYyBzdWdnZXN0aW9uIHNlbGVjdFxuICAgKi9cbiAgb25TZWxlY3RTdWdnZXN0aW9uKHN1Z2dlc3Rpb24/OiBDb3JlbG9naWNTdWdnZXN0aW9uKTogdm9pZCB7XG4gICAgLy8gaWYgbm8gc3VnZ2VzdGlvbiB0aGVuICdBZGQgbWFudWFsbHknIG9wdGlvbiBzZWxlY3RlZFxuICAgIGlmICghc3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5zd2l0Y2hUb01hbnVhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGF0Y2hWYWx1ZSh7XG4gICAgICBjb3JlbG9naWNMb2NJZDogc3VnZ2VzdGlvbi5sb2NhbGl0eUlkLFxuICAgICAgY29yZWxvZ2ljUmVmSWQ6IHN1Z2dlc3Rpb24ucHJvcGVydHlJZFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBtYW51YWwgbW9kZVxuICAgKi9cbiAgcHJpdmF0ZSBzd2l0Y2hUb01hbnVhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTWFudWFsID0gdHJ1ZTtcbiAgICB0aGlzLmdldCgnc2VhcmNoUXVlcnknKS5kaXNhYmxlKCk7XG5cbiAgICB0aGlzLmdldCgnYWRkcmVzcycpLmVuYWJsZSgpO1xuICAgIHRoaXMuZ2V0KCdzdHJlZXROdW1iZXInKS5lbmFibGUoKTtcbiAgICB0aGlzLmdldCgnc3RyZWV0JykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ3VuaXROdW1iZXInKS5lbmFibGUoKTtcbiAgICB0aGlzLmdldCgnY2l0eScpLmVuYWJsZSgpO1xuICAgIHRoaXMuZ2V0KCdzdGF0ZScpLmVuYWJsZSgpO1xuICAgIHRoaXMuZ2V0KCdwb3N0Y29kZScpLmVuYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ29yZWxvZ2ljUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuZ2V0KCdjb3VudHJ5JykuZW5hYmxlKCk7XG4gICAgICB0aGlzLmdldCgnY29yZWxvZ2ljTG9jSWQnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmdldCgnY29yZWxvZ2ljUmVmSWQnKS5kaXNhYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5TdHJlZXRGaWVsZHNDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBldmVudCB0byBzZWFyY2ggYWRkcmVzcyBpbiBjb3JlbG9naWMgd2hlbiBzZWFyY2ggZmllbGQgY2hhbmdlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TZWFyY2hRdWVyeUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3NlYXJjaFF1ZXJ5JykudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gZGVsYXkgdG8gYXZvaWQgc2VhcmNoIHJlcXVlc3QgZm9yIGVhY2ggdmFsdWUgY2hhbmdlXG4gICAgICAgIGRlYm91bmNlVGltZShBZGRyZXNzRm9ybS5zZWFyY2hEZWxheSksXG4gICAgICAgIC8vIHNraXAgd2hlbiB2YWx1ZSBub3QgY2hhbmdlZFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAvLyB2YWx1ZSBjb3VsZCBiZSBhIHN0cmluZyB3aGVuIHVzZXIgc2VhcmNoIGFuZCBzdWdnZXN0aW9uIHdoZW4gdXNlciBzZWxlY3Qgb3B0aW9uIGZyb20gYXV0b2NvbXBsZXRlXG4gICAgICAgIG1hcCgodmFsdWU6IHN0cmluZyB8IENvcmVsb2dpY1N1Z2dlc3Rpb24pID0+IHtcbiAgICAgICAgICAvLyBubyBuZWVkIHRvIHNlYXJjaCB3aGVuIHZhbHVlIGlzIG5vdCBhY3R1YWxseSBzZWFyY2ggc3RyaW5nXG4gICAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIENvcmVsb2dpY1N1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyB0cmltIHRvIGF2b2lkIHNwYWNlcyBpbiBzZWFyY2hRdWVyeSwgd2Ugc2hvdWxkIG5vdCBzZW5kIHJlcXVlc3Qgc3RhcnRlZCBvciBmaW5pc2hlZCB3aXRoIHNwYWNlc1xuICAgICAgICAgIC8vIHVwcGVyY2FzZSB0byBtYWtlIHNlYXJjaCBzdHJpbmcgc2ltaWxhciB0byBjb3JlbG9naWMgZm9ybWF0XG4gICAgICAgICAgcmV0dXJuIHZhbHVlLnRyaW0oKTtcbiAgICAgICAgfSksXG4gICAgICAgIC8vIGRvIG5vdGhpbmcgd2hlbiBxdWVyeSBpcyB0b28gc2hvcnRcbiAgICAgICAgZmlsdGVyKChzZWFyY2hRdWVyeTogc3RyaW5nKSA9PiBzZWFyY2hRdWVyeS5sZW5ndGggPj0gQWRkcmVzc0Zvcm0ubWluU2VhcmNoTGVuZ3RoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VhcmNoUXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQoc2VhcmNoUXVlcnkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYWxsIGZpZWxkcyByZXF1aXJlZCBmb3IgbWFudWFsIGNvcmVsb2dpYyBzZWFyY2ggYXJlIGZpbGxlZCBiZWZvcmUgcmVxdWVzdCBzZW5kaW5nXG4gICAqL1xuICBwcml2YXRlIGlzTWFudWFsU2VhcmNoQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnYWRkcmVzcycpLnZhbGlkICYmIHRoaXMuZ2V0KCdjaXR5JykudmFsaWQgJiYgdGhpcy5nZXQoJ3N0YXRlJykudmFsaWQgJiYgdGhpcy5nZXQoJ3Bvc3Rjb2RlJykudmFsaWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBjb3JlbG9naWMgaXMgcmVxdWlyZWQgd2UgaGF2ZSB0byBzZWFyY2ggYWRkcmVzcyBldmVuIGZvciBtYW51YWwgYWRkcmVzc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NYW51YWxGaWVsZHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIC8vIHN1YnNjcmliZSB0byB3aG9sZSBmb3JtIGJlY2F1c2Ugbm8gb3RoZXIgZmllbGRzIG1heSBiZSBjaGFuZ2VkIGluIHRoaXMgY2FzZSBleGNlcHQgbWFudWFsIGFkZHJlc3MgZmllbGRzIHdlIG5lZWRcbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGRlbGF5IHRvIGF2b2lkIHNlYXJjaCByZXF1ZXN0IGZvciBlYWNoIHZhbHVlIGNoYW5nZVxuICAgICAgICBkZWJvdW5jZVRpbWUoQWRkcmVzc0Zvcm0uc2VhcmNoRGVsYXkpLFxuICAgICAgICAvLyBkbyBub3RoaW5nIHdoZW4gbm90IGFsbCByZXF1aXJlZCBmaWVsZHMgZmlsbGVkXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzTWFudWFsU2VhcmNoQXZhaWxhYmxlKCkpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5tYW51YWxTZWFyY2hRdWVyeSksXG4gICAgICAgIC8vIHNraXAgd2hlbiB2YWx1ZSBub3QgY2hhbmdlZFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblNlYXJjaC5lbWl0KHRoaXMubWFudWFsU2VhcmNoUXVlcnkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBtb2RlbCBoYXMgY29tbW9uIGZpZWxkICdhZGRyZXNzJyBmb3Igc3RyZWV0IG5hbWUgYW5kIG51bWJlciBiZWNhdXNlIENvcmVsb2dpYyByZXR1cm5zIHRoaXMgZGF0YSBhcyBvbmUgc3RyaW5nLFxuICAgKiBidXQgd2UgbmVlZCBzZXBhcmF0ZWQgZmllbGRzIGluIHRoZSBmb3JtLlxuICAgKlxuICAgKiBMaXN0ZW4gc3RyZWV0IGFuZCBudW1iZXIgY2hhbmdlcyBhbmQgZmlsbCBhZGRyZXNzIHdpdGggY29uY2F0aW5hdGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TdHJlZXRGaWVsZHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIG1lcmdlKFxuICAgICAgdGhpcy5nZXQoJ3N0cmVldE51bWJlcicpLnZhbHVlQ2hhbmdlcyxcbiAgICAgIHRoaXMuZ2V0KCdzdHJlZXQnKS52YWx1ZUNoYW5nZXNcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmdldCgnYWRkcmVzcycpLnNldFZhbHVlKGAke3RoaXMuZ2V0KCdzdHJlZXROdW1iZXInKS52YWx1ZX0gJHt0aGlzLmdldCgnc3RyZWV0JykudmFsdWV9YCk7XG4gICAgfSlcbiAgfVxufVxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2FkZHJlc3MvYWRkcmVzcy5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQVcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVksU0FBUSxZQUFxQjtJQTBCcEQ7SUFDRSwySUFBMkk7SUFDM0ksbURBQW1EO0lBQ25ELE9BQXVCO1FBRXZCLEtBQUssQ0FBQztZQUNKLHlEQUF5RDtZQUN6RCxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRyxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUUxRiw2RUFB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Q0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFuTkQ7O0dBRUc7QUFDSSwyQkFBZSxHQUFXLENBQUMsQ0FBQztBQUVuQzs7R0FFRztBQUNJLHVCQUFXLEdBQVcsR0FBRyxDQUFDO0FBRWpDOztHQUVHO0FBQ0ksK0JBQW1CLEdBQVcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBZGRyZXNzLCBDb3VudHJ5LCBDb3JlbG9naWNTdWdnZXN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkcmVzc1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0nO1xuaW1wb3J0IHsgYWRkcmVzc0NvcmVsb2dpY1ZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvYWRkcmVzcy1jb3JlbG9naWMudmFsaWRhdG9yJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQWRkcmVzcyBmb3JtLiBXb3JrcyB3aXRoIGNvcmVsb2dpYyBvciBtYW51YWwgYWRkcmVzc1xuICovXG5leHBvcnQgY2xhc3MgQWRkcmVzc0Zvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWRkcmVzcz4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8qKlxuICAgKiBNaW4gc2VhcmNoIHF1ZXJ5IHJlcXVpcmVkIGxlbmd0aFxuICAgKi9cbiAgc3RhdGljIG1pblNlYXJjaExlbmd0aDogbnVtYmVyID0gMztcblxuICAvKipcbiAgICogRGVsYXkgYmVmb3JlIGNvcmVsb2dpYyByZXF1ZXN0XG4gICAqL1xuICBzdGF0aWMgc2VhcmNoRGVsYXk6IG51bWJlciA9IDUwMDtcblxuICAvKipcbiAgICogUmVnYXJkaW5nIGNvcmVsb2dpYyBmb3JtYXR0aW5nLCBzdHJlZXQgbnVtYmVyIHNob3VsZCBub3QgY29udGFpbiBzcGFjZXNcbiAgICovXG4gIHN0YXRpYyBzdHJlZXROdW1iZXJQYXR0ZXJuOiBSZWdFeHAgPSAvXlteXFxzXSskLztcblxuICAvKipcbiAgICogTWFudWFsIG1vZGUgZmxhZ1xuICAgKi9cbiAgaXNNYW51YWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgdG8gc2VhcmNoIGFkZHJlc3MgaW4gY29yZWxvZ2ljIHdoZW4gdXNlciBmaWxsZWQgZW5vdWdoIGRhdGEgZm9yIGNvcmVsb2dpY1xuICAgKi9cbiAgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIG5vIGRlZmF1bHQgdmFsdWUgYmVjYXVzZSBBZGRyZXNzIGZvcm0gaXMgYWx3YXlzIGEgY2hpbGQgZm9ybS4gVGhhdCdzIG1lYW4gYWRkcmVzcyB2YWx1ZSBhbHdheXMgcGFzc2VkIGFuZCB0aGVuIGRlZmF1bHQgdmFsdWUgbmV2ZXIgd29yay5cbiAgICAvLyBldmVuIGlmIG51bGwgcGFzc2VkLCBkZWZhdWx0IHZhbHVlIHdpbGwgbm90IHdvcmtcbiAgICBhZGRyZXNzOiBBZGRyZXNzIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICAvLyBwcmVmaWxsIHNlYXJjaCBpbnB1dCB3aXRoIGFkZHJlc3Mgc3RyaW5nIGZvciBlZGl0IGNhc2VcbiAgICAgIHNlYXJjaFF1ZXJ5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGFkZHJlc3M/LmFkZHJlc3MgPyBhZGRyZXNzLm5hbWVMb25nIDogbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGFkZHJlc3M/LnR5cGUgfHwgQWRkcmVzc1R5cGVFbnVtLlNUUkVFVCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG5cbiAgICAgIC8vIGNvcmVsb2dpYyBmaWVsZHMgKHJlcXVpcmVkIGZvciBBdXN0cmFsaWEgYW5kIGRpc2FibGVkIGZvciBvdGhlciBjb3VudHJpZXMpXG4gICAgICBjb3JlbG9naWNMb2NJZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IGFkZHJlc3M/LmNvcmVsb2dpY0xvY0lkLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29yZWxvZ2ljUmVmSWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzPy5jb3JlbG9naWNSZWZJZCwgZGlzYWJsZWQ6IHRydWV9KSxcblxuICAgICAgLy8gbWFudWFsIGZpZWxkcyAodXNpbmcgd2hlbiBhZGRyZXNzIG5vdCBmb3VuZCBpbiBjb3JlbG9naWMpXG4gICAgICB1bml0TnVtYmVyOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcz8udW5pdE51bWJlciwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICAgIGFkZHJlc3M6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzPy5hZGRyZXNzLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgc3RyZWV0TnVtYmVyOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcz8uc3RyZWV0TnVtYmVyLCBkaXNhYmxlZDogdHJ1ZX0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oQWRkcmVzc0Zvcm0uc3RyZWV0TnVtYmVyUGF0dGVybildKSxcbiAgICAgIHN0cmVldDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IGFkZHJlc3M/LnN0cmVldCwgZGlzYWJsZWQ6IHRydWV9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNpdHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzPy5jaXR5LCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgc3RhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBhZGRyZXNzPy5zdGF0ZSwgZGlzYWJsZWQ6IHRydWV9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHBvc3Rjb2RlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcz8ucG9zdGNvZGUsIGRpc2FibGVkOiB0cnVlfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb3VudHJ5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogYWRkcmVzcz8uY291bnRyeSB8fCBDb3VudHJ5LmF1c3RyYWxpYSwgZGlzYWJsZWQ6IHRydWV9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH0sIGFkZHJlc3MsIGFkZHJlc3NDb3JlbG9naWNWYWxpZGF0b3IoKSk7XG5cbiAgICBpZiAodGhpcy5pc0F1c3RyYWxpYVNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuZW5hYmxlQ29yZWxvZ2ljRmllbGRzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VhcmNoIHF1ZXJ5IGZvciBjb3JlbG9naWMgbG9jYXRpb24gc2VhcmNoIGJhc2VkIG9uIG1hbnVhbCBmaWVsZHMgdmFsdWVzXG4gICAqL1xuICBnZXQgbWFudWFsU2VhcmNoUXVlcnkoKTogc3RyaW5nIHtcbiAgICAvLyBub3RoaW5nIHRvIHNlYXJjaCB3aGVuIG1hbnVhbCBmaWVsZHMgYXJlIGludmFsaWQgb3Igd2hlbiBzZWxlY3RlZCBjb3VudHJ5IGlzIG5vdCBBdXN0cmFsaWEgYmVjYXVzZSB3ZSBkb24ndCBuZWVkIHRvIHVzZSBjb3JlbG9naWMgZm9yIG90aGVyIGNvdW50cmllc1xuICAgIGlmICghdGhpcy5pc01hbnVhbFNlYXJjaEF2YWlsYWJsZSgpIHx8ICF0aGlzLmlzQXVzdHJhbGlhU2VsZWN0ZWQoKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIGZvciBtYW51YWwgbW9kZSB3ZSBzZWFyY2ggY29yZWxvZ2ljIGZvciBjaXR5IChsb2NhdGlvbikgYW5kIGlnbm9yZSBzdHJlZXRcbiAgICByZXR1cm4gYCR7dGhpcy5nZXQoJ2NpdHknKS52YWx1ZX0gJHt0aGlzLmdldCgnc3RhdGUnKS52YWx1ZX0gJHt0aGlzLmdldCgncG9zdGNvZGUnKS52YWx1ZX1gO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2VhcmNoUXVlcnlDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNvcmVsb2dpYyBzdWdnZXN0aW9uIHNlbGVjdFxuICAgKi9cbiAgb25TZWxlY3RTdWdnZXN0aW9uKHN1Z2dlc3Rpb24/OiBDb3JlbG9naWNTdWdnZXN0aW9uKTogdm9pZCB7XG4gICAgLy8gaWYgbm8gc3VnZ2VzdGlvbiB0aGVuICdBZGQgbWFudWFsbHknIG9wdGlvbiBzZWxlY3RlZFxuICAgIGlmICghc3VnZ2VzdGlvbikge1xuICAgICAgdGhpcy5zd2l0Y2hUb01hbnVhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGF0Y2hWYWx1ZSh7XG4gICAgICBjb3JlbG9naWNMb2NJZDogc3VnZ2VzdGlvbi5sb2NhbGl0eUlkLFxuICAgICAgY29yZWxvZ2ljUmVmSWQ6IHN1Z2dlc3Rpb24ucHJvcGVydHlJZFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIEF1c3RyYWxpYSBpcyBzZWxlY3RlZCBpbiBjb3VudHJ5IGZpZWxkXG4gICAqL1xuICBpc0F1c3RyYWxpYVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnY291bnRyeScpLnZhbHVlPy5pZCA9PT0gQ291bnRyeS5hdXN0cmFsaWEuaWQ7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIG1hbnVhbCBtb2RlXG4gICAqL1xuICBwcml2YXRlIHN3aXRjaFRvTWFudWFsKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNYW51YWwgPSB0cnVlO1xuICAgIHRoaXMuZ2V0KCdzZWFyY2hRdWVyeScpLmRpc2FibGUoKTtcblxuICAgIHRoaXMuZ2V0KCd1bml0TnVtYmVyJykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ2FkZHJlc3MnKS5lbmFibGUoKTtcbiAgICB0aGlzLmdldCgnc3RyZWV0TnVtYmVyJykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ3N0cmVldCcpLmVuYWJsZSgpO1xuICAgIHRoaXMuZ2V0KCdjaXR5JykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ3N0YXRlJykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ3Bvc3Rjb2RlJykuZW5hYmxlKCk7XG4gICAgdGhpcy5nZXQoJ2NvdW50cnknKS5lbmFibGUoKTtcblxuICAgIHRoaXMubGlzdGVuTWFudWFsRmllbGRzQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuU3RyZWV0RmllbGRzQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQ291bnRyeUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGV2ZW50IHRvIHNlYXJjaCBhZGRyZXNzIGluIGNvcmVsb2dpYyB3aGVuIHNlYXJjaCBmaWVsZCBjaGFuZ2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlYXJjaFF1ZXJ5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnc2VhcmNoUXVlcnknKS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBkZWxheSB0byBhdm9pZCBzZWFyY2ggcmVxdWVzdCBmb3IgZWFjaCB2YWx1ZSBjaGFuZ2VcbiAgICAgICAgZGVib3VuY2VUaW1lKEFkZHJlc3NGb3JtLnNlYXJjaERlbGF5KSxcbiAgICAgICAgLy8gc2tpcCB3aGVuIHZhbHVlIG5vdCBjaGFuZ2VkXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIC8vIHZhbHVlIGNvdWxkIGJlIGEgc3RyaW5nIHdoZW4gdXNlciBzZWFyY2ggYW5kIHN1Z2dlc3Rpb24gd2hlbiB1c2VyIHNlbGVjdCBvcHRpb24gZnJvbSBhdXRvY29tcGxldGVcbiAgICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nIHwgQ29yZWxvZ2ljU3VnZ2VzdGlvbikgPT4ge1xuICAgICAgICAgIC8vIG5vIG5lZWQgdG8gc2VhcmNoIHdoZW4gdmFsdWUgaXMgbm90IGFjdHVhbGx5IHNlYXJjaCBzdHJpbmdcbiAgICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlIGluc3RhbmNlb2YgQ29yZWxvZ2ljU3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHRyaW0gdG8gYXZvaWQgc3BhY2VzIGluIHNlYXJjaFF1ZXJ5LCB3ZSBzaG91bGQgbm90IHNlbmQgcmVxdWVzdCBzdGFydGVkIG9yIGZpbmlzaGVkIHdpdGggc3BhY2VzXG4gICAgICAgICAgLy8gdXBwZXJjYXNlIHRvIG1ha2Ugc2VhcmNoIHN0cmluZyBzaW1pbGFyIHRvIGNvcmVsb2dpYyBmb3JtYXRcbiAgICAgICAgICByZXR1cm4gdmFsdWUudHJpbSgpO1xuICAgICAgICB9KSxcbiAgICAgICAgLy8gZG8gbm90aGluZyB3aGVuIHF1ZXJ5IGlzIHRvbyBzaG9ydFxuICAgICAgICBmaWx0ZXIoKHNlYXJjaFF1ZXJ5OiBzdHJpbmcpID0+IHNlYXJjaFF1ZXJ5Lmxlbmd0aCA+PSBBZGRyZXNzRm9ybS5taW5TZWFyY2hMZW5ndGgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hRdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMub25TZWFyY2guZW1pdChzZWFyY2hRdWVyeSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbGwgZmllbGRzIHJlcXVpcmVkIGZvciBtYW51YWwgY29yZWxvZ2ljIHNlYXJjaCBhcmUgZmlsbGVkIGJlZm9yZSByZXF1ZXN0IHNlbmRpbmdcbiAgICovXG4gIHByaXZhdGUgaXNNYW51YWxTZWFyY2hBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjaXR5JykudmFsaWQgJiYgdGhpcy5nZXQoJ3N0YXRlJykudmFsaWQgJiYgdGhpcy5nZXQoJ3Bvc3Rjb2RlJykudmFsaWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBjb3JlbG9naWMgaXMgcmVxdWlyZWQgd2UgaGF2ZSB0byBzZWFyY2ggYWRkcmVzcyBldmVuIGZvciBtYW51YWwgYWRkcmVzc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NYW51YWxGaWVsZHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIC8vIHN1YnNjcmliZSB0byB3aG9sZSBmb3JtIGJlY2F1c2Ugbm8gb3RoZXIgZmllbGRzIG1heSBiZSBjaGFuZ2VkIGluIHRoaXMgY2FzZSBleGNlcHQgbWFudWFsIGFkZHJlc3MgZmllbGRzIHdlIG5lZWRcbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGRlbGF5IHRvIGF2b2lkIHNlYXJjaCByZXF1ZXN0IGZvciBlYWNoIHZhbHVlIGNoYW5nZVxuICAgICAgICBkZWJvdW5jZVRpbWUoQWRkcmVzc0Zvcm0uc2VhcmNoRGVsYXkpLFxuICAgICAgICAvLyBkbyBub3RoaW5nIHdoZW4gbm90IGFsbCByZXF1aXJlZCBmaWVsZHMgZmlsbGVkXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzTWFudWFsU2VhcmNoQXZhaWxhYmxlKCkgJiYgdGhpcy5pc0F1c3RyYWxpYVNlbGVjdGVkKCkpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5tYW51YWxTZWFyY2hRdWVyeSksXG4gICAgICAgIC8vIHNraXAgd2hlbiB2YWx1ZSBub3QgY2hhbmdlZFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblNlYXJjaC5lbWl0KHRoaXMubWFudWFsU2VhcmNoUXVlcnkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBtb2RlbCBoYXMgY29tbW9uIGZpZWxkICdhZGRyZXNzJyBmb3Igc3RyZWV0IG5hbWUgYW5kIG51bWJlciBiZWNhdXNlIENvcmVsb2dpYyByZXR1cm5zIHRoaXMgZGF0YSBhcyBvbmUgc3RyaW5nLFxuICAgKiBidXQgd2UgbmVlZCBzZXBhcmF0ZWQgZmllbGRzIGluIHRoZSBmb3JtLlxuICAgKlxuICAgKiBMaXN0ZW4gc3RyZWV0IGFuZCBudW1iZXIgY2hhbmdlcyBhbmQgZmlsbCBhZGRyZXNzIHdpdGggY29uY2F0aW5hdGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TdHJlZXRGaWVsZHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIG1lcmdlKFxuICAgICAgdGhpcy5nZXQoJ3N0cmVldE51bWJlcicpLnZhbHVlQ2hhbmdlcyxcbiAgICAgIHRoaXMuZ2V0KCdzdHJlZXQnKS52YWx1ZUNoYW5nZXNcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmdldCgnYWRkcmVzcycpLnNldFZhbHVlKGAke3RoaXMuZ2V0KCdzdHJlZXROdW1iZXInKS52YWx1ZX0gJHt0aGlzLmdldCgnc3RyZWV0JykudmFsdWV9YCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlQ29yZWxvZ2ljRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjb3JlbG9naWNMb2NJZCcpLmVuYWJsZSgpO1xuICAgIHRoaXMuZ2V0KCdjb3JlbG9naWNSZWZJZCcpLmVuYWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlQ29yZWxvZ2ljRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjb3JlbG9naWNMb2NJZCcpLmRpc2FibGUoKTtcbiAgICB0aGlzLmdldCgnY29yZWxvZ2ljUmVmSWQnKS5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29yZWxvZ2ljIGxvYyBpZCBpcyByZXF1aXJlZCBmb3IgQXVzdHJhbGlhbiBhZGRyZXNzZXNcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQ291bnRyeUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2NvdW50cnknKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQXVzdHJhbGlhU2VsZWN0ZWQoKSkge1xuICAgICAgICB0aGlzLmVuYWJsZUNvcmVsb2dpY0ZpZWxkcygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzYWJsZUNvcmVsb2dpY0ZpZWxkcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -5,7 +5,8 @@ import { PhoneTypeEnum } from '../../db/Enums/phone-type.enum';
5
5
  import { Country } from '../../models';
6
6
  export class PhoneForm extends AbstractForm {
7
7
  constructor(
8
- // no default value because this form is always built-in, so phone passed from parent form
8
+ // no default value because Address form is always a child form. That's mean address value always passed and then default value never work.
9
+ // even if null passed, default value will not work
9
10
  phone) {
10
11
  super({
11
12
  type: new UntypedFormControl(phone?.type || PhoneTypeEnum.MOBILE, Validators.required),
@@ -14,4 +15,4 @@ export class PhoneForm extends AbstractForm {
14
15
  }, phone);
15
16
  }
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9waG9uZS9waG9uZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxZQUFtQjtJQUNoRDtJQUNFLDBGQUEwRjtJQUMxRixLQUFhO1FBRWIsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdEYsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDekYsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztTQUNyRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBQaG9uZSB9IGZyb20gJy4uLy4uL21vZGVscy9waG9uZS9waG9uZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwaG9uZU51bWJlclZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUtbnVtYmVyLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBQaG9uZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcGhvbmUtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUGhvbmVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPFBob25lPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIG5vIGRlZmF1bHQgdmFsdWUgYmVjYXVzZSB0aGlzIGZvcm0gaXMgYWx3YXlzIGJ1aWx0LWluLCBzbyBwaG9uZSBwYXNzZWQgZnJvbSBwYXJlbnQgZm9ybVxuICAgIHBob25lPzogUGhvbmVcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChwaG9uZT8udHlwZSB8fCBQaG9uZVR5cGVFbnVtLk1PQklMRSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb3VudHJ5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBob25lPy5jb3VudHJ5IHx8IENvdW50cnkuYXVzdHJhbGlhLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG51bWJlcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChwaG9uZT8ubnVtYmVyIHx8IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBwaG9uZU51bWJlclZhbGlkYXRvcigpXSlcbiAgICB9LCBwaG9uZSk7XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9waG9uZS9waG9uZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxZQUFtQjtJQUNoRDtJQUNFLDJJQUEySTtJQUMzSSxtREFBbUQ7SUFDbkQsS0FBYTtRQUViLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RGLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3pGLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7U0FDckcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGhvbmUvcGhvbmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGhvbmVOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL3Bob25lLW51bWJlci52YWxpZGF0b3InO1xuaW1wb3J0IHsgUGhvbmVUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Bob25lLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFBob25lRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQaG9uZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBubyBkZWZhdWx0IHZhbHVlIGJlY2F1c2UgQWRkcmVzcyBmb3JtIGlzIGFsd2F5cyBhIGNoaWxkIGZvcm0uIFRoYXQncyBtZWFuIGFkZHJlc3MgdmFsdWUgYWx3YXlzIHBhc3NlZCBhbmQgdGhlbiBkZWZhdWx0IHZhbHVlIG5ldmVyIHdvcmsuXG4gICAgLy8gZXZlbiBpZiBudWxsIHBhc3NlZCwgZGVmYXVsdCB2YWx1ZSB3aWxsIG5vdCB3b3JrXG4gICAgcGhvbmU/OiBQaG9uZVxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBob25lPy50eXBlIHx8IFBob25lVHlwZUVudW0uTU9CSUxFLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvdW50cnk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocGhvbmU/LmNvdW50cnkgfHwgQ291bnRyeS5hdXN0cmFsaWEsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbnVtYmVyOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHBob25lPy5udW1iZXIgfHwgbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHBob25lTnVtYmVyVmFsaWRhdG9yKCldKVxuICAgIH0sIHBob25lKTtcbiAgfVxufVxuIl19
@@ -2,8 +2,6 @@ import { AbstractForm } from '../abstract.form';
2
2
  import { SoleContact } from '../../models';
3
3
  import { plainToClass } from 'class-transformer';
4
4
  import { UntypedFormControl, Validators } from '@angular/forms';
5
- import { AddressForm } from '../address';
6
- import { Address } from '../../models/address/address';
7
5
  export class SoleContactForm extends AbstractForm {
8
6
  constructor(contact = plainToClass(SoleContact, {})) {
9
7
  super({
@@ -13,8 +11,8 @@ export class SoleContactForm extends AbstractForm {
13
11
  lastName: new UntypedFormControl(contact.lastName, Validators.required),
14
12
  email: new UntypedFormControl(contact.email, [Validators.required, Validators.email]),
15
13
  phone: new UntypedFormControl(contact.phone),
16
- address: new AddressForm(contact.address || plainToClass(Address, {}))
14
+ address: new UntypedFormControl(contact.address)
17
15
  }, contact);
18
16
  }
19
17
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1jb250YWN0LmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWNvbnRhY3QuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXZELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQXlCO0lBQzVELFlBQ0UsVUFBdUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFFcEQsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5RixTQUFTLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDekUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRixLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdkUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgU29sZUNvbnRhY3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm0gfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy9hZGRyZXNzJztcblxuZXhwb3J0IGNsYXNzIFNvbGVDb250YWN0Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlQ29udGFjdD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb250YWN0OiBTb2xlQ29udGFjdCA9IHBsYWluVG9DbGFzcyhTb2xlQ29udGFjdCwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGFibjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb250YWN0LmFibiwgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDExKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTEpXSksXG4gICAgICBmaXJzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5maXJzdE5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbGFzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5sYXN0TmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBlbWFpbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb250YWN0LmVtYWlsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pLFxuICAgICAgcGhvbmU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5waG9uZSksXG4gICAgICBhZGRyZXNzOiBuZXcgQWRkcmVzc0Zvcm0oY29udGFjdC5hZGRyZXNzIHx8IHBsYWluVG9DbGFzcyhBZGRyZXNzLCB7fSkpXG4gICAgfSwgY29udGFjdCk7XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1jb250YWN0LmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWNvbnRhY3QuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hFLE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQXlCO0lBQzVELFlBQ0UsVUFBdUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFFcEQsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5RixTQUFTLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDekUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRixLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDakQsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWRkcmVzcywgU29sZUNvbnRhY3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm0gfSBmcm9tICcuLi9hZGRyZXNzJztcblxuZXhwb3J0IGNsYXNzIFNvbGVDb250YWN0Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlQ29udGFjdD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb250YWN0OiBTb2xlQ29udGFjdCA9IHBsYWluVG9DbGFzcyhTb2xlQ29udGFjdCwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGFibjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb250YWN0LmFibiwgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDExKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTEpXSksXG4gICAgICBmaXJzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5maXJzdE5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbGFzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5sYXN0TmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBlbWFpbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb250YWN0LmVtYWlsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pLFxuICAgICAgcGhvbmU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29udGFjdC5waG9uZSksXG4gICAgICBhZGRyZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbnRhY3QuYWRkcmVzcylcbiAgICB9LCBjb250YWN0KTtcbiAgfVxufVxuIl19
@@ -3,15 +3,16 @@
3
3
  */
4
4
  export function addressCorelogicValidator() {
5
5
  return (form) => {
6
- if (form.isCorelogicRequired) {
7
- if (form.get('corelogicLocId').hasError('required')) {
8
- return { address: 'Street, city, state or postal code not specified' };
9
- }
10
- if (form.get('corelogicRefId').hasError('required')) {
11
- return { address: 'Unit/House number not specified' };
12
- }
6
+ // we are interested in corelogic ids only for Australian addresses
7
+ if (!form.isAustraliaSelected()) {
8
+ return null;
9
+ }
10
+ // we need at least corelogic locality id to get growth percent
11
+ const locIdControl = form.get('corelogicLocId');
12
+ if (locIdControl.enabled && locIdControl.hasError('required')) {
13
+ return { address: 'City, state or postal code not specified' };
13
14
  }
14
15
  return null;
15
16
  };
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1jb3JlbG9naWMudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvYWRkcmVzcy1jb3JlbG9naWMudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLENBQUMsSUFBaUIsRUFBb0IsRUFBRTtRQUM3QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUUsa0RBQWtELEVBQUMsQ0FBQzthQUN0RTtZQUVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBQyxDQUFDO2FBQ3JEO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFkZHJlc3NGb3JtIH0gZnJvbSAnLi4vZm9ybXMnO1xuXG4vKipcbiAqIFZhbGlkYXRvciBmb3IgYWRkcmVzcywgY2hlY2sgaWYgY29yZWxvZ2ljIHN1Z2dlc3Rpb24gc2VsZWN0ZWQgY29ycmVjdGx5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRyZXNzQ29yZWxvZ2ljVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChmb3JtOiBBZGRyZXNzRm9ybSk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgIGlmIChmb3JtLmlzQ29yZWxvZ2ljUmVxdWlyZWQpIHtcbiAgICAgIGlmIChmb3JtLmdldCgnY29yZWxvZ2ljTG9jSWQnKS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICByZXR1cm4ge2FkZHJlc3M6ICdTdHJlZXQsIGNpdHksIHN0YXRlIG9yIHBvc3RhbCBjb2RlIG5vdCBzcGVjaWZpZWQnfTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZvcm0uZ2V0KCdjb3JlbG9naWNSZWZJZCcpLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHJldHVybiB7YWRkcmVzczogJ1VuaXQvSG91c2UgbnVtYmVyIG5vdCBzcGVjaWZpZWQnfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1jb3JlbG9naWMudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvYWRkcmVzcy1jb3JlbG9naWMudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLENBQUMsSUFBaUIsRUFBb0IsRUFBRTtRQUM3QyxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCwrREFBK0Q7UUFDL0QsTUFBTSxZQUFZLEdBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQWdCLENBQUM7UUFFNUUsSUFBSSxZQUFZLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0QsT0FBTyxFQUFDLE9BQU8sRUFBRSwwQ0FBMEMsRUFBQyxDQUFDO1NBQzlEO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm0gfSBmcm9tICcuLi9mb3Jtcyc7XG5cbi8qKlxuICogVmFsaWRhdG9yIGZvciBhZGRyZXNzLCBjaGVjayBpZiBjb3JlbG9naWMgc3VnZ2VzdGlvbiBzZWxlY3RlZCBjb3JyZWN0bHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NDb3JlbG9naWNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGZvcm06IEFkZHJlc3NGb3JtKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgLy8gd2UgYXJlIGludGVyZXN0ZWQgaW4gY29yZWxvZ2ljIGlkcyBvbmx5IGZvciBBdXN0cmFsaWFuIGFkZHJlc3Nlc1xuICAgIGlmICghZm9ybS5pc0F1c3RyYWxpYVNlbGVjdGVkKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHdlIG5lZWQgYXQgbGVhc3QgY29yZWxvZ2ljIGxvY2FsaXR5IGlkIHRvIGdldCBncm93dGggcGVyY2VudFxuICAgIGNvbnN0IGxvY0lkQ29udHJvbDogRm9ybUNvbnRyb2wgPSBmb3JtLmdldCgnY29yZWxvZ2ljTG9jSWQnKSBhcyBGb3JtQ29udHJvbDtcblxuICAgIGlmIChsb2NJZENvbnRyb2wuZW5hYmxlZCAmJiBsb2NJZENvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHJldHVybiB7YWRkcmVzczogJ0NpdHksIHN0YXRlIG9yIHBvc3RhbCBjb2RlIG5vdCBzcGVjaWZpZWQnfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==