@quadrel-enterprise-ui/framework 18.22.2 → 18.23.0

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.
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
150
150
  providedIn: 'root'
151
151
  }]
152
152
  }] });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1ldmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsWUFBWSxDQUFlO0lBQzNCLDBCQUEwQixHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ3RFLFVBQVUsR0FBZ0QsRUFBRSxDQUFDO0lBQzdELGlCQUFpQixDQUFpQztJQUNsRCxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0lBRTNDOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQUUsT0FBTztRQUUzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsTUFBTTtZQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBVSxFQUFRLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFD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QUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxRQUFRLENBQUMsT0FBZSxFQUFFLEdBQVc7UUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQzt1R0FuSlUsbUJBQW1COzJHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5FVkVSLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgRXZlbnROYW1lID0gJ1JFU09VUkNFX0NSRUFURUQnIHwgJ1JFU09VUkNFX1VQREFURUQnIHwgJ1JFU09VUkNFX0RFTEVURUQnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGhhbmRsaW5nIHJlYWwtdGltZSBzZXJ2ZXItc2VudCBldmVudHMuXG4gKlxuICogIyMjIEJlbmVmaXRzXG4gKlxuICogLSAqKlJlYWwtVGltZSBJbnRlcmFjdGlvbioqOiBFbmFibGVzIGxpdmUgdXBkYXRlcyB3aXRob3V0IHVzZXIgYWN0aW9ucyBvciBwb2xsaW5nLlxuICogLSAqKlNjYWxhYmxlIGFuZCBGbGV4aWJsZSoqOiBUaGUgc3lzdGVtIGlzIGZsZXhpYmxlIGFuZCBlYXNpbHkgZXhwYW5kYWJsZSB0byBoYW5kbGUgbmV3IGV2ZW50cy5cbiAqIC0gKipDb25zaXN0ZW5jeSoqOiBFbnN1cmVzIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIHNlcnZlciBhbmQgY2xpZW50IHN0YXRlcyBmb3IgYSBjb25zaXN0ZW50IHVzZXIgZXhwZXJpZW5jZS5cbiAqXG4gKiAjIyMgVXNhZ2VcbiAqXG4gKiBgYGB0c1xuICogLy8gU3RhcnQgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGV2ZW50c1xuICogcHVzaEV2ZW50c1NlcnZpY2UuY29ubmVjdCgnaHR0cDovL3NlcnZpY2UtZW5kcGludC9ldmVudHMnKTtcbiAqXG4gKiAvLyBTdWJzY3JpYmUgdG8gdGhlIGV2ZW50IChTaWRlIEVmZmVjdClcbiAqIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHB1c2hFdmVudHNTZXJ2aWNlLm9ic2VydmUoJ1JFU09VUkNFX1VQREFURUQnKS5zdWJzY3JpYmUoZXZlbnQgPT4gaGFuZGxlRXZlbnQoZXZlbnQpKTtcbiAqXG4gKiAvLyBVbnN1YnNjcmliZSB0byBwcmV2ZW50IG1lbW9yeSBsZWFrc1xuICogc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gKlxuICogLy8gRGlzY29ubmVjdCB0aGUgY29ubmVjdGlvblxuICogcHVzaEV2ZW50c1NlcnZpY2UuZGlzY29ubmVjdCgpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFFkUHVzaEV2ZW50c1NlcnZpY2Uge1xuICBwcml2YXRlIF9ldmVudFNvdXJjZSE6IEV2ZW50U291cmNlO1xuICBwcml2YXRlIF9ldmVudFN1YnNjcmlwdGlvblN1YmplY3RzID0gbmV3IE1hcDxzdHJpbmcsIFN1YmplY3Q8TWVzc2FnZUV2ZW50Pj4oKTtcbiAgcHJpdmF0ZSBfbGlzdGVuZXJzOiBbc3RyaW5nLCAobWVzc2FnZTogTWVzc2FnZUV2ZW50KSA9PiB2b2lkXVtdID0gW107XG4gIHByaXZhdGUgX2hlYXJ0YmVhdFRpbWVvdXQhOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfcmVjb25uZWN0RGVsYXlUaW1lID0gMTAwMDA7XG4gIHByaXZhdGUgX2hlYXJ0YmVhdFJlY29ubmVjdERlbGF5VGltZSA9IDEwMDtcblxuICAvKipcbiAgICogRXN0YWJsaXNoZXMgYW4gRXZlbnRTb3VyY2UgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gVVJMLlxuICAgKiBBdXRvbWF0aWNhbGx5IHJlY29ubmVjdHMgaWYgaGVhcnRiZWF0IGZhaWxzIG9yIGlzIGRlbGF5ZWQuXG4gICAqIFN1YnNjcmliZXJzIGFyZSByZXRhaW5lZCBhY3Jvc3MgcmVjb25uZWN0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHVybCBUaGUgYmFja2VuZCBVUkwgZm9yIHRoZSBldmVudCBzdHJlYW0uXG4gICAqL1xuICBjb25uZWN0KHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKSkgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZSB8fCB0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5DTE9TRUQpXG4gICAgICB0aGlzLl9ldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSh1cmwpO1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2Uub25lcnJvciA9IChlcnI6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBpZiAodGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuQ0xPU0VEKSB0aGlzLnJlY29ubmVjdCgpO1xuXG4gICAgICB0aGlzLmxvZ0Vycm9yKCdTU0UgY29ubmVjdGlvbiBlcnJvcjonLCBlcnIpO1xuICAgIH07XG5cbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCdIRUFSVEJFQVQnLCBtZXNzYWdlID0+IHtcbiAgICAgIGlmICh0aGlzLl9oZWFydGJlYXRUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5faGVhcnRiZWF0VGltZW91dCk7XG5cbiAgICAgIGNvbnN0IGludGVydmFsID0gSlNPTi5wYXJzZShtZXNzYWdlLmRhdGEpLmludGVydmFsO1xuXG4gICAgICB0aGlzLl9oZWFydGJlYXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlY29ubmVjdCgpLCBpbnRlcnZhbCArIHRoaXMuX2hlYXJ0YmVhdFJlY29ubmVjdERlbGF5VGltZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9oZWFydGJlYXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlY29ubmVjdCgpLCB0aGlzLl9yZWNvbm5lY3REZWxheVRpbWUpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyc0ZvckV4aXN0aW5nU3Vic2NyaXB0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgRXZlbnRTb3VyY2UgY29ubmVjdGlvbiBhbmQgY2xlYXJzIGFsbCBsaXN0ZW5lcnMuXG4gICAqIFN1YnNjcmliZXJzIGFyZSBwcmVzZXJ2ZWQgZm9yIHJlY29ubmVjdGlvbi5cbiAgICovXG4gIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZSkge1xuICAgICAgdGhpcy5sb2dXYXJuKCdObyBhY3RpdmUgY29ubmVjdGlvbiB0byBkaXNjb25uZWN0LicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpO1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgZm9yIHRoZSBzcGVjaWZpZWQgZXZlbnQgbmFtZS5cbiAgICogSWYgbm90IGNvbm5lY3RlZCwgcmV0dXJucyBgTkVWRVJgIGFuZCBsb2dzIGFuIGVycm9yLlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYSBsaXN0ZW5lciBmb3IgdGhlIGV2ZW50IGlmIG5lZWRlZC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50TmFtZSBUaGUgZXZlbnQgdHlwZSAoJ1JFU09VUkNFX0NSRUFURUQnLCAnUkVTT1VSQ0VfVVBEQVRFRCcsICdSRVNPVVJDRV9ERUxFVEVEJykuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8TWVzc2FnZUV2ZW50PiBUaGUgZXZlbnQgc3RyZWFtLlxuICAgKi9cbiAgb2JzZXJ2ZShldmVudE5hbWU6IEV2ZW50TmFtZSk6IE9ic2VydmFibGU8TWVzc2FnZUV2ZW50PiB7XG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZSkge1xuICAgICAgdGhpcy5sb2dFcnJvcignQ2Fubm90IG9ic2VydmUgZXZlbnRzIHdpdGhvdXQgYSBjb25uZWN0aW9uLiBDYWxsIGNvbm5lY3QoKSBmaXJzdC4nKTtcblxuICAgICAgcmV0dXJuIE5FVkVSO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5oYXMoZXZlbnROYW1lKSkge1xuICAgICAgdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5zZXQoZXZlbnROYW1lLCBuZXcgU3ViamVjdDxNZXNzYWdlRXZlbnQ+KCkpO1xuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJGb3JFdmVudE5hbWUoZXZlbnROYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5nZXQoZXZlbnROYW1lKSEuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhbGwgbGlzdGVuZXJzIGFuZCBjbGVhcnMgYWxsIHN1YnNjcmlwdGlvbnMuXG4gICAqIFRoZSBFdmVudFNvdXJjZSBjb25uZWN0aW9uIHJlbWFpbnMgb3Blbi5cbiAgICovXG4gIHVub2JzZXJ2ZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzRnJvbUV2ZW50U291cmNlKCk7XG4gICAgdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgRXZlbnRTb3VyY2UgaXMgY29ubmVjdGVkIG9yIGluIHRoZSBwcm9jZXNzIG9mIGNvbm5lY3RpbmcuXG4gICAqL1xuICBpc0Nvbm5lY3RlZE9yQ29ubmVjdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZXZlbnRTb3VyY2UgJiZcbiAgICAgICh0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5PUEVOIHx8IHRoaXMuX2V2ZW50U291cmNlLnJlYWR5U3RhdGUgPT09IEV2ZW50U291cmNlLkNPTk5FQ1RJTkcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZE9yQ29ubmVjdGluZygpKSB7XG4gICAgICB0aGlzLmRpc2Nvbm5lY3QoKTtcbiAgICAgIHRoaXMuY29ubmVjdCh0aGlzLl9ldmVudFNvdXJjZS51cmwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lckZvckV2ZW50TmFtZShldmVudE5hbWU6IEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrID0gKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5nZXQoZXZlbnROYW1lKTtcblxuICAgICAgaWYgKHN1YmplY3QpIHN1YmplY3QubmV4dChtZXNzYWdlRXZlbnQpO1xuICAgIH07XG5cbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFtldmVudE5hbWUsIGNhbGxiYWNrXSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJzRm9yRXhpc3RpbmdTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCwgZXZlbnROYW1lKSA9PlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyVG9FdmVudFNvdXJjZShldmVudE5hbWUgYXMgRXZlbnROYW1lLCAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpID0+XG4gICAgICAgIHN1YmplY3QubmV4dChtZXNzYWdlRXZlbnQpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lclRvRXZlbnRTb3VyY2UoZXZlbnROYW1lOiBFdmVudE5hbWUsIGNhbGxiYWNrOiAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFtldmVudE5hbWUsIGNhbGxiYWNrXSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzRnJvbUV2ZW50U291cmNlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nV2FybignQ2Fubm90IHJlbW92ZSBsaXN0ZW5lcnM6IE5vIGFjdGl2ZSBjb25uZWN0aW9uLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuZXJzLmZvckVhY2goKFtldmVudE5hbWUsIGNhbGxiYWNrXSkgPT4gdGhpcy5fZXZlbnRTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKSk7XG4gICAgdGhpcy5fbGlzdGVuZXJzID0gW107XG4gIH1cblxuICBwcml2YXRlIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc29sZS53YXJuKGBRRC1VSSB8IFFkUHVzaEV2ZW50c1NlcnZpY2UgLSAke21lc3NhZ2V9YCk7XG4gIH1cblxuICBwcml2YXRlIGxvZ0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZXJyPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKGBRRC1VSSB8IFFkUHVzaEV2ZW50c1NlcnZpY2UgLSAke21lc3NhZ2V9YCwgZXJyKTtcbiAgfVxufVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1ldmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsWUFBWSxDQUFlO0lBQzNCLDBCQUEwQixHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ3RFLFVBQVUsR0FBZ0QsRUFBRSxDQUFDO0lBQzdELGlCQUFpQixDQUFpQztJQUNsRCxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0lBRTNDOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQUUsT0FBTztRQUUzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsTUFBTTtZQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBVSxFQUFRLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFD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QUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxRQUFRLENBQUMsT0FBZSxFQUFFLEdBQVc7UUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQzt1R0FuSlUsbUJBQW1COzJHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5FVkVSLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEV2ZW50TmFtZSA9ICdSRVNPVVJDRV9DUkVBVEVEJyB8ICdSRVNPVVJDRV9VUERBVEVEJyB8ICdSRVNPVVJDRV9ERUxFVEVEJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBoYW5kbGluZyByZWFsLXRpbWUgc2VydmVyLXNlbnQgZXZlbnRzLlxuICpcbiAqICMjIyBCZW5lZml0c1xuICpcbiAqIC0gKipSZWFsLVRpbWUgSW50ZXJhY3Rpb24qKjogRW5hYmxlcyBsaXZlIHVwZGF0ZXMgd2l0aG91dCB1c2VyIGFjdGlvbnMgb3IgcG9sbGluZy5cbiAqIC0gKipTY2FsYWJsZSBhbmQgRmxleGlibGUqKjogVGhlIHN5c3RlbSBpcyBmbGV4aWJsZSBhbmQgZWFzaWx5IGV4cGFuZGFibGUgdG8gaGFuZGxlIG5ldyBldmVudHMuXG4gKiAtICoqQ29uc2lzdGVuY3kqKjogRW5zdXJlcyBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudCBzdGF0ZXMgZm9yIGEgY29uc2lzdGVudCB1c2VyIGV4cGVyaWVuY2UuXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgdHNcbiAqIC8vIFN0YXJ0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBldmVudHNcbiAqIHB1c2hFdmVudHNTZXJ2aWNlLmNvbm5lY3QoJ2h0dHA6Ly9zZXJ2aWNlLWVuZHBpbnQvZXZlbnRzJyk7XG4gKlxuICogLy8gU3Vic2NyaWJlIHRvIHRoZSBldmVudCAoU2lkZSBFZmZlY3QpXG4gKiBjb25zdCBzdWJzY3JpcHRpb24gPSBwdXNoRXZlbnRzU2VydmljZS5vYnNlcnZlKCdSRVNPVVJDRV9VUERBVEVEJykuc3Vic2NyaWJlKGV2ZW50ID0+IGhhbmRsZUV2ZW50KGV2ZW50KSk7XG4gKlxuICogLy8gVW5zdWJzY3JpYmUgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcbiAqIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICpcbiAqIC8vIERpc2Nvbm5lY3QgdGhlIGNvbm5lY3Rpb25cbiAqIHB1c2hFdmVudHNTZXJ2aWNlLmRpc2Nvbm5lY3QoKTtcbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBRZFB1c2hFdmVudHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfZXZlbnRTb3VyY2UhOiBFdmVudFNvdXJjZTtcbiAgcHJpdmF0ZSBfZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJqZWN0PE1lc3NhZ2VFdmVudD4+KCk7XG4gIHByaXZhdGUgX2xpc3RlbmVyczogW3N0cmluZywgKG1lc3NhZ2U6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZF1bXSA9IFtdO1xuICBwcml2YXRlIF9oZWFydGJlYXRUaW1lb3V0ITogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX3JlY29ubmVjdERlbGF5VGltZSA9IDEwMDAwO1xuICBwcml2YXRlIF9oZWFydGJlYXRSZWNvbm5lY3REZWxheVRpbWUgPSAxMDA7XG5cbiAgLyoqXG4gICAqIEVzdGFibGlzaGVzIGFuIEV2ZW50U291cmNlIGNvbm5lY3Rpb24gdG8gdGhlIGdpdmVuIFVSTC5cbiAgICogQXV0b21hdGljYWxseSByZWNvbm5lY3RzIGlmIGhlYXJ0YmVhdCBmYWlscyBvciBpcyBkZWxheWVkLlxuICAgKiBTdWJzY3JpYmVycyBhcmUgcmV0YWluZWQgYWNyb3NzIHJlY29ubmVjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgVGhlIGJhY2tlbmQgVVJMIGZvciB0aGUgZXZlbnQgc3RyZWFtLlxuICAgKi9cbiAgY29ubmVjdCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkT3JDb25uZWN0aW5nKCkpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UgfHwgdGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuQ0xPU0VEKVxuICAgICAgdGhpcy5fZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UodXJsKTtcblxuICAgIHRoaXMuX2V2ZW50U291cmNlLm9uZXJyb3IgPSAoZXJyOiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKHRoaXMuX2V2ZW50U291cmNlLnJlYWR5U3RhdGUgPT09IEV2ZW50U291cmNlLkNMT1NFRCkgdGhpcy5yZWNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5sb2dFcnJvcignU1NFIGNvbm5lY3Rpb24gZXJyb3I6JywgZXJyKTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignSEVBUlRCRUFUJywgbWVzc2FnZSA9PiB7XG4gICAgICBpZiAodGhpcy5faGVhcnRiZWF0VGltZW91dCkgY2xlYXJUaW1lb3V0KHRoaXMuX2hlYXJ0YmVhdFRpbWVvdXQpO1xuXG4gICAgICBjb25zdCBpbnRlcnZhbCA9IEpTT04ucGFyc2UobWVzc2FnZS5kYXRhKS5pbnRlcnZhbDtcblxuICAgICAgdGhpcy5faGVhcnRiZWF0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWNvbm5lY3QoKSwgaW50ZXJ2YWwgKyB0aGlzLl9oZWFydGJlYXRSZWNvbm5lY3REZWxheVRpbWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5faGVhcnRiZWF0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWNvbm5lY3QoKSwgdGhpcy5fcmVjb25uZWN0RGVsYXlUaW1lKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnNGb3JFeGlzdGluZ1N1YnNjcmlwdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIEV2ZW50U291cmNlIGNvbm5lY3Rpb24gYW5kIGNsZWFycyBhbGwgbGlzdGVuZXJzLlxuICAgKiBTdWJzY3JpYmVycyBhcmUgcHJlc2VydmVkIGZvciByZWNvbm5lY3Rpb24uXG4gICAqL1xuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nV2FybignTm8gYWN0aXZlIGNvbm5lY3Rpb24gdG8gZGlzY29ubmVjdC4nKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnNGcm9tRXZlbnRTb3VyY2UoKTtcblxuICAgIHRoaXMuX2V2ZW50U291cmNlLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgc3BlY2lmaWVkIGV2ZW50IG5hbWUuXG4gICAqIElmIG5vdCBjb25uZWN0ZWQsIHJldHVybnMgYE5FVkVSYCBhbmQgbG9ncyBhbiBlcnJvci5cbiAgICogQXV0b21hdGljYWxseSBhZGRzIGEgbGlzdGVuZXIgZm9yIHRoZSBldmVudCBpZiBuZWVkZWQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudE5hbWUgVGhlIGV2ZW50IHR5cGUgKCdSRVNPVVJDRV9DUkVBVEVEJywgJ1JFU09VUkNFX1VQREFURUQnLCAnUkVTT1VSQ0VfREVMRVRFRCcpLlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4gVGhlIGV2ZW50IHN0cmVhbS5cbiAgICovXG4gIG9ic2VydmUoZXZlbnROYW1lOiBFdmVudE5hbWUpOiBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4ge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nRXJyb3IoJ0Nhbm5vdCBvYnNlcnZlIGV2ZW50cyB3aXRob3V0IGEgY29ubmVjdGlvbi4gQ2FsbCBjb25uZWN0KCkgZmlyc3QuJyk7XG5cbiAgICAgIHJldHVybiBORVZFUjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuaGFzKGV2ZW50TmFtZSkpIHtcbiAgICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuc2V0KGV2ZW50TmFtZSwgbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpKTtcblxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyRm9yRXZlbnROYW1lKGV2ZW50TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZ2V0KGV2ZW50TmFtZSkhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYWxsIGxpc3RlbmVycyBhbmQgY2xlYXJzIGFsbCBzdWJzY3JpcHRpb25zLlxuICAgKiBUaGUgRXZlbnRTb3VyY2UgY29ubmVjdGlvbiByZW1haW5zIG9wZW4uXG4gICAqL1xuICB1bm9ic2VydmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpO1xuICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIEV2ZW50U291cmNlIGlzIGNvbm5lY3RlZCBvciBpbiB0aGUgcHJvY2VzcyBvZiBjb25uZWN0aW5nLlxuICAgKi9cbiAgaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2V2ZW50U291cmNlICYmXG4gICAgICAodGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuT1BFTiB8fCB0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5DT05ORUNUSU5HKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlY29ubmVjdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKSkge1xuICAgICAgdGhpcy5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLmNvbm5lY3QodGhpcy5fZXZlbnRTb3VyY2UudXJsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJGb3JFdmVudE5hbWUoZXZlbnROYW1lOiBFdmVudE5hbWUpOiB2b2lkIHtcbiAgICBjb25zdCBjYWxsYmFjayA9IChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZ2V0KGV2ZW50TmFtZSk7XG5cbiAgICAgIGlmIChzdWJqZWN0KSBzdWJqZWN0Lm5leHQobWVzc2FnZUV2ZW50KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbZXZlbnROYW1lLCBjYWxsYmFja10pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVyc0ZvckV4aXN0aW5nU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLl9ldmVudFN1YnNjcmlwdGlvblN1YmplY3RzLmZvckVhY2goKHN1YmplY3QsIGV2ZW50TmFtZSkgPT5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lclRvRXZlbnRTb3VyY2UoZXZlbnROYW1lIGFzIEV2ZW50TmFtZSwgKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KSA9PlxuICAgICAgICBzdWJqZWN0Lm5leHQobWVzc2FnZUV2ZW50KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJUb0V2ZW50U291cmNlKGV2ZW50TmFtZTogRXZlbnROYW1lLCBjYWxsYmFjazogKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbZXZlbnROYW1lLCBjYWxsYmFja10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2V2ZW50U291cmNlKSB7XG4gICAgICB0aGlzLmxvZ1dhcm4oJ0Nhbm5vdCByZW1vdmUgbGlzdGVuZXJzOiBObyBhY3RpdmUgY29ubmVjdGlvbi4nKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChbZXZlbnROYW1lLCBjYWxsYmFja10pID0+IHRoaXMuX2V2ZW50U291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBjYWxsYmFjaykpO1xuICAgIHRoaXMuX2xpc3RlbmVycyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dXYXJuKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnNvbGUud2FybihgUUQtVUkgfCBRZFB1c2hFdmVudHNTZXJ2aWNlIC0gJHttZXNzYWdlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycj86IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihgUUQtVUkgfCBRZFB1c2hFdmVudHNTZXJ2aWNlIC0gJHttZXNzYWdlfWAsIGVycik7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9tb2RlbC90YWJsZS1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRZEJyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2JyZWFrcG9pbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkU29ydERpcmVjdGlvbiB9IGZyb20gJy4vc29ydC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQge1xuICBRZFRhYmxlQ29uZmlnR3JvdXAsXG4gIFFkVGFibGVDb25maWdTZWxlY3Rpb24sXG4gIFFkVGFibGVQcmltYXJ5QWN0aW9uLFxuICBRZFRhYmxlU2Vjb25kYXJ5QWN0aW9uXG59IGZyb20gJy4vdGFibGUtY29uZmlnLWFjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDb25maWdDb2x1bW5UeXBlIH0gZnJvbSAnLi90YWJsZS1jb25maWctY29udGVudC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIERlc2NyaWJlcyB3aGljaCBjb2x1bW4gaXMgZmlsbGluZyB0aGUgdGFibGUncyB3aWR0aC5cbiAqIEluIFwiaGFybW9uaXplZFwiIG1vZGUgdGhlIHdoaXRlc3BhY2Ugd2lsbCBiZSBkaXN0cmlidXRlZCBldmVubHksIGNvbnNpZGVyaW5nIHRoZSB3aWR0aCBvZiBlYWNoIGNvbHVtbi5cbiAqL1xuZXhwb3J0IHR5cGUgUWRUYWJsZUZpbGxpbmdDb2x1bW4gPSAnbWFpbicgfCAnbGFzdCcgfCAnaGFybW9uaXplZCcgfCAnbm9uZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gTW9kZWwgZm9yIFFkLVRhYmxlcy4gVGhlIGdlbmVyaWMgdHlwZSBkZWZpbmVzIHRoZSB0YWJsZSBjb2x1bW5zIGtleXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUWRUYWJsZUNvbmZpZzxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyB0aGUgY29sdW1ucyBvZiB0aGUgdGFibGUuXG4gICAqL1xuICBjb2x1bW5zOiBRZFRhYmxlQ29uZmlnQ29sdW1uPFQ+W107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmVzIHRoZSBiZWhhdmlvciBvZiB0aGUgZ3JvdXBzIGluIHRoZSB0cmVlIHZpZXcuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBxZC10cmVlIGluc3RlYWRcbiAgICovXG4gIGdyb3VwPzogUWRUYWJsZUNvbmZpZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWN0aXZhdGVzIGEgcGFnaW5hdGlvblxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKiAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBoYXNQYWdpbmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFjdGl2YXRlcyBhIHBhZ2luYXRpb24gd2l0aCBjb25maWd1cmFibGUgYXZhaWxhYmxlIHBhZ2Ugc2l6ZXNcbiAgICovXG4gIHBhZ2luYXRpb24/OiB0cnVlIHwgUWRUYWJsZVBhZ2luYXRpb247XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIGFuIGFsdGVybmF0aXZlIHZpZXcgaWYgbm8gZWxlbWVudHMgYXJlIGF2YWlsYWJsZSBpbiBRZFRhYmxlRGF0YVxuICAgKi9cbiAgZW1wdHlTdGF0ZVZpZXc/OiBRZFRhYmxlRW1wdHlTdGF0ZVZpZXc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgbGlzdCBvZiBzZWNvbmRhcnkgYWN0aW9ucyB0aGF0IGNhbiBiZSBleGVjdXRlZCBwZXIgQ2xpY2svVGFiIG9mIGFuIGl0ZW0gaW4gdGhlIG1lbnUuXG4gICAqXG4gICAqICogQGV4YW1wbGVcbiAgICogVGhpcyBpcyBob3cgdGhlIHR3byBhY3Rpb25zIFwiZWRpdFwiIGFuZCBcImRlbGV0ZVwiIGFyZSBjcmVhdGVkLlxuICAgKiBgYGB0c1xuICAgKiBzZWNvbmRhcnlBY3Rpb25zOiBbXG4gICAqICAgIHtcbiAgICogICAgICB0eXBlOiAnZWRpdCcsXG4gICAqICAgICAgaGFuZGxlcjogcm93RGF0YSA9PiBkb1NvbWV0aGluZ1dpdGgocm93RGF0YSlcbiAgICogICAgfSxcbiAgICogICAge1xuICAgKiAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgKiAgICAgIGlzRGlzYWJsZWQ6IHRydWUsXG4gICAqICAgICAgaGFuZGxlcjogcm93RGF0YSA9PiBkb1NvbWV0aGluZ1dpdGgocm93RGF0YSlcbiAgICogICAgfVxuICAgKiBdXG4gICAqIGBgYFxuICAgKi9cbiAgc2Vjb25kYXJ5QWN0aW9ucz86IFFkVGFibGVTZWNvbmRhcnlBY3Rpb248VD5bXTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIHByaW1hcnkgYWN0aW9uIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGJ5IGNsaWNraW5nIG9uIGEgcm93LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBZb3UgcHJvdmlkZSBhIHByaW1hcnkgYWN0aW9uIGxpa2UgdGhpcy5cbiAgICogYGB0c1xuICAgKiBwcmltYXJ5QWN0aW9uOiB7XG4gICAqICAgaGFuZGxlcjogcm93ID0+IG9wZW5Nb2RhbChyb3cpXG4gICAqIH1cbiAgICovXG4gIHByaW1hcnlBY3Rpb24/OiBRZFRhYmxlUHJpbWFyeUFjdGlvbjxUPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyZXMgc2VsZWN0aW9uIG9wdGlvbnMgZm9yIHRhYmxlIHJvd3MuXG4gICAqXG4gICAqICogQGV4YW1wbGVcbiAgICogVGhpcyBjcmVhdGVzIGEgXCJtdWx0aVNlbGVjdFwiLlxuICAgKiBgYGB0c1xuICAgKiBzZWxlY3Rpb246IHtcbiAgICogICAgdHlwZTogJ211bHRpU2VsZWN0JyxcbiAgICogICAgaGFuZGxlcjogc2VsZWN0ZWRSb3dzID0+IGRvU29tZXRoaW5nV2l0aChzZWxlY3RlZFJvd3MpXG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBzZWxlY3Rpb24/OiBRZFRhYmxlQ29uZmlnU2VsZWN0aW9uPFQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgdHJhbnNsYXRpb24ga2V5cyAocGx1cmFsKSBmb3IgdGhlIHRhYmxlIGhlYWRpbmdzIGFuZCBtb3JlLCBhcyB0aGUgJ2NvbnRleHQnIGZvciBpbnN0YW5jZS5cbiAgICpcbiAgICogKiBAZXhhbXBsZTogXCJpMThuLm15LnRhYmxlLjxjb2x1bW4+XCIuXG4gICAqXG4gICAqIElmIG5vbmUgZXhpdHMsIHRoZSB2YWx1ZSBpcyByZW5kZXJlZCB3aXRob3V0IHRyYW5zbGF0aW9uLlxuICAgKi9cbiAgaTE4bnM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUdXJucyBhIHNwZWNpZmllZCBjb2x1bW4gaW50byBhIG1haW4gY29sdW1uLiBNYWluIENvbHVtbnMgaGF2ZSBkaWZmZXJlbnQgcHJlc2VudGF0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IGNvbHVtbnNbMF0uY29sdW1uXG4gICAqL1xuICBtYWluQ29sdW1uPzogVDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ5IGRlZmF1bHQgdGhlIG1haW4gY29sdW1uIGZpbGxzIHRoZSByZW1haW5pbmcgd2lkdGggc28gdGhhdCB0aGUgdGFibGUgaGFzIGEgd2lkdGggb2YgMTAwJS5cbiAgICogQnkgc2V0dGluZyB0aGlzIHByb3BlcnR5IHRoZSBtYWluIGNvbHVtbiB3aWxsIGhhdmUgY29udGVudCB3aWR0aC5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICogKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgbWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVc3VhbGx5IHRoZSB0YWJsZSBmaWxscyAxMDAlIG9mIHRoZSB3aWR0aC5cbiAgICpcbiAgICogVGhpcyB2YWx1ZSBkZWZpbmVzIHdoaWNoIGNvbHVtbiBmaWxscyB0aGUgc3BhY2UgaW4gdGhlIHRhYmxlIHRvIGl0cyBmdWxsIHdpZHRoLlxuICAgKiBJbiBcImhhcm1vbml6ZWRcIiBtb2RlIHRoZSB3aGl0ZXNwYWNlIHdpbGwgYmUgZGlzdHJpYnV0ZWQgZXZlbmx5LCBjb25zaWRlcmluZyB0aGUgd2lkdGggb2YgZWFjaCBjb2x1bW4uXG4gICAqIElmIHRoZSB2YWx1ZSBcIm5vbmVcIiBpcyB1c2VkLCB0aGUgdGFibGUgY2FuIGJlIGxlc3MgdGhhbiAxMDAlIGluIHdpZHRoLlxuICAgKlxuICAgKiBGaW5kIG91dCBtb3JlIGluIHRoZSByZWxhdGVkIHR5cGUgXCJRZFRhYmxlQ29uZmlnPFQ+WydtYWluQ29sdW1uJ11cIi5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogJ21haW4nXG4gICAqL1xuICB3aGljaENvbHVtbkZpbGxzV2lkdGg/OiBRZFRhYmxlRmlsbGluZ0NvbHVtbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVuYWJsZXMgXCJ2aWV3b25seVwiIG1vZGUgZm9yIHRoZSB0YWJsZS5cbiAgICpcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCB0aGUgdGFibGUgZGlzcGxheXMgaXRzIGNvbnRlbnQgYXMgcmVhZC1vbmx5LlxuICAgKiBDb21iaW5lZCB3aXRoIGBzZWNvbmRhcnlBY3Rpb25zYCwgdGhpcyBjYW4gYmUgdXNlZCB0byBzZWxlY3RpdmVseSBzaG93IG9yIGhpZGUgc2Vjb25kYXJ5IGFjdGlvbnNcbiAgICogYmFzZWQgb24gdGhlIG9wZXJhdGlvbiBtb2RlIChgJ3ZpZXcnYCBvciBgJ2VkaXQnYCkgdXNlZCBpbiB0aGUgUXVhZHJlbCBmcmFtZXdvcmsuXG4gICAqXG4gICAqICogSWYgYHZpZXdvbmx5YCBpcyBleHBsaWNpdGx5IHNldCwgaXQgb3ZlcnJpZGVzIHRoZSBnbG9iYWwgb3BlcmF0aW9uIG1vZGVcbiAgICogKHdoaWNoIGlzIG5vcm1hbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCBleHRlcm5hbCBldmVudHMpLlxuICAgKiBUaGlzIGdpdmVzIHlvdSBmdWxsIGNvbnRyb2w6IGZvciBleGFtcGxlLCBzZXR0aW5nIGB2aWV3b25seTogZmFsc2VgIHdpbGwgYWxsb3cgZWRpdCBhY3Rpb25zIHRvIGJlIHNob3duLFxuICAgKiBldmVuIGlmIHRoZSBnbG9iYWwgbW9kZSB3b3VsZCBub3JtYWxseSBoaWRlIHRoZW0uXG4gICAqXG4gICAqICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHZpZXdvbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbHVtbnMgb3ZlciB0aGUgYnJlYWtwb2ludHMuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IHsgeHM6IDEsIHNtOiAyLCBtZDogNCwgbGc6IDYsIHhsOiA4LCB4eGw6IDEwIH1cbiAgICpcbiAgICogKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiB7IHhzOiAxLCBzbTogMiwgbWQ6IDQsIGxnOiA2LCB4bDogOCwgeHhsOiAxMCB9XG4gICAqIGBgYFxuICAgKi9cbiAgY29sdW1uTWFwcGluZz86IHsgW2tleSBpbiBRZEJyZWFrcG9pbnRdPzogUWRNYXhDb2x1bW5zQ291bnQgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9ic2VydmFibGUgdG8gdHJpZ2dlciBhIHRhYmxlIHJlZnJlc2ggZnJvbSBvdXRzaWRlLlxuICAgKlxuICAgKiAtIGBudW1iZXJgIHNldHMgdGhlIHBhZ2UgaW5kZXggdG8gcmVmcmVzaC5cbiAgICogLSBgdW5kZWZpbmVkYCB0cmlnZ2VycyBhIGdlbmVyYWwgcmVmcmVzaCAoY3VycmVudCBwYWdlIHN0YXlzIHRoZSBzYW1lKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogcmVmcmVzaCQubmV4dCgpOyAgICAgIC8vIHJlZnJlc2ggY3VycmVudCBwYWdlXG4gICAqIHJlZnJlc2gkLm5leHQoMCk7ICAgICAvLyByZWZyZXNoIGFuZCBnbyB0byBmaXJzdCBwYWdlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVmcmVzaD86IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERldGVybWluZXMgaWYgdGhlIHRhYmxlIHNob3VsZCByZWZyZXNoIHdoZW4gdGhlIGxhbmd1YWdlIGlzIGNoYW5nZWQuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWZyZXNoT25MYW5ndWFnZUNoYW5nZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGVuIHRoaXMgZmxhZyBpcyBzZXQsIHRoZSB0YWJsZSB3aWxsIGJlIHJlZnJlc2hlZCBmb3IgZXZlcnkgUkVTT1VSQ0VfVVBEQVRFRCBldmVudFxuICAgKiB3aXRoIGEgcGF0aCB0aGF0IG1hdGNoZXMgdGhlIHRhYmxlIHVpZC5cbiAgICogSW1wb3J0YW50OiBZb3UgaGF2ZSB0byBjcmVhdGUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFNTRSBiYWNrZW5kIHNlcnZpY2Ugb24geW91ciBvd24gd2l0aCB0aGUgUWRQdXNoRXZlbnRzU2VydmljZVxuICAgKiAoY29ubmVjdCBtZXRob2QpLlxuICAgKi9cbiAgcmVmcmVzaE9uUHVzaEV2ZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRhYmxlLiBVc2VkIGFzIGtleSB0byBob2xkIGluIE5nUnggc3RvcmUuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IHJhbmRvbSBSRkMgNDEyMiBJZGVudGlmaWVyXG4gICAqL1xuICB1aWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBRZFRhYmxlQ29uZmlnQ29sdW1uQmFzZTxUPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyB0aGUga2V5IG9mIHRoZSBjb2x1bW4uXG4gICAqL1xuICBjb2x1bW46IFQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNYWtlcyB0aGUgY29sdW1uIHNvcnRhYmxlLiBJZiB0aGlzIGtleSBoYXMgYmVlbiBkZWZpbmVkLCB0aGUgc29ydGluZyB3aWxsIGJlIHR1cm5lZCBvbi5cbiAgICovXG4gIHNvcnQ/OiBRZFRhYmxlQ29uZmlnQ29sdW1uU29ydDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIGJyZWFrcG9pbnQgYXQgd2hpY2ggdGhlIGNvbHVtbiBpcyBoaWRkZW4uIFVzZSBmb3IgbW9iaWxlIGRldmljZXMuXG4gICAqL1xuICBoaWRkZW5BdD86IFFkQnJlYWtwb2ludDtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBmb3Igc29ydGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFFkVGFibGVDb25maWdDb2x1bW5Tb3J0IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTb3J0aW5nIGNhbiBiZSBkZWFjdGl2YXRlZCBoZXJlLlxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgZGlyZWN0aW9uIG9mIHNvcnRpbmcuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IFFkU29ydERpcmVjdGlvbi5OT05FXG4gICAqL1xuICBkaXJlY3Rpb24/OiBRZFNvcnREaXJlY3Rpb247XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1heGltdW0gbnVtYmVyIG9mIGNvbHVtbnMgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gKlxuICogKiBAZGVmYXVsdDogeyB4czogMSwgc206IDIsIG1kOiA0LCBsZzogNiwgeGw6IDgsIHh4bDogMTAgfVxuICovXG50eXBlIFFkTWF4Q29sdW1uc0NvdW50ID0gMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5IHwgMTAgfCAxMSB8IDEyIHwgMTMgfCAxNCB8IDE1O1xuXG5leHBvcnQgdHlwZSBRZFRhYmxlQ29uZmlnQ29sdW1uPFQ+ID0gUWRUYWJsZUNvbmZpZ0NvbHVtblR5cGUgJiBRZFRhYmxlQ29uZmlnQ29sdW1uQmFzZTxUPjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBtb2RlbCBmb3IgcGFnaW5hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFFkVGFibGVQYWdpbmF0aW9uIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsIHBhZ2luYXRpb24gcGFnZSBzaXplXG4gICAqXG4gICAqICogQGRlZmF1bHQgMjVcbiAgICovXG4gIHBhZ2VTaXplRGVmYXVsdD86IG51bWJlcjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIExpc3Qgb2YgYXZhaWxhYmxlIHBhZ2luYXRpb24gcGFnZSBzaXplc1xuICAgKlxuICAgKiAqIEBleGFtcGxlIFsyNSwgNTAsIDEwMF1cbiAgICovXG4gIHBhZ2VTaXplcz86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWN0aXZhdGVzIHRoZSBmaXJzdCAmIGxhc3QgYnV0dG9ucyBmb3IgcXVpY2sgbmF2aWdhdGlvblxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgaGFzRmlyc3RMYXN0UGFnZU5hdmlnYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmF0aW9uIG1vZGVsIGZvciBlbXB0eSBzdGF0ZSB2aWV3XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUWRUYWJsZUVtcHR5U3RhdGVWaWV3IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUb2dnbGVzIHRoZSBlbXB0eSB2aWV3IG9mZiwgaWYgc2V0IHRvIFwidHJ1ZVwiLlxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVuZGVycyBhIGNhbGwtdG8tYWN0aW9uIGJ1dHRvbi5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICovXG4gIGFjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgaGFuZGxlciB0aGF0IGlzIHRyaWdnZXJlZCBieSBhIGNsaWNrL3RhcCBvbiB0aGUgY2FsbC10by1hY3Rpb24gYnV0dG9uLlxuICAgKiBXaWxsIG9ubHkgYmUgdHJpZ2dlcmVkIGlmIFwiYWN0aW9uXCIgaXMgc2V0IHRvIFwidHJ1ZVxuICAgKi9cbiAgaGFuZGxlcj86ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCBpbnRlcm5hdGlvbmFsaXphdGlvbiBjb25maWd1cmF0aW9uIHBhcmFtZXRlci5cbiAgICpcbiAgICogVGhpcyBvYmplY3Qgc3BlY2lmaWVzIGEga2V5LXZhbHVlIHBhaXIgdXNlZCBmb3IgZHluYW1pYyB0cmFuc2xhdGlvbnNcbiAgICogd2l0aGluIHRoZSBjb21wb25lbnQuIEl0IGFsbG93cyBkZXZlbG9wZXJzIHRvIHNldCBhIGN1c3RvbSBwYXJhbWV0ZXJcbiAgICogbmFtZSBhbmQgY29ycmVzcG9uZGluZyB2YWx1ZSB0aGF0IGlzIGluamVjdGVkIGludG8gdHJhbnNsYXRpb24gc3RyaW5nLlxuICAgKlxuICAgKi9cbiAgaTE4blBhcmFtZXRlcj86IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGhlIHBsYWNlaG9sZGVyIG5hbWUgaW4gdGhlIHRyYW5zbGF0aW9uIHN0cmluZy5cbiAgICAgKiBUaGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBrZXkgdXNlZCB3aXRoaW4gdHJhbnNsYXRpb24gcmVzb3VyY2VzLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGhlIHZhbHVlIHRvIHJlcGxhY2UgdGhlIHBsYWNlaG9sZGVyIHdpdGggaW4gdGhlIHRyYW5zbGF0ZWQgb3V0cHV0XG4gICAgICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS9tb2RlbC90YWJsZS1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRZEJyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2JyZWFrcG9pbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkU29ydERpcmVjdGlvbiB9IGZyb20gJy4vc29ydC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQge1xuICBRZFRhYmxlQ29uZmlnR3JvdXAsXG4gIFFkVGFibGVDb25maWdTZWxlY3Rpb24sXG4gIFFkVGFibGVQcmltYXJ5QWN0aW9uLFxuICBRZFRhYmxlU2Vjb25kYXJ5QWN0aW9uXG59IGZyb20gJy4vdGFibGUtY29uZmlnLWFjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDb25maWdDb2x1bW5UeXBlIH0gZnJvbSAnLi90YWJsZS1jb25maWctY29udGVudC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIERlc2NyaWJlcyB3aGljaCBjb2x1bW4gaXMgZmlsbGluZyB0aGUgdGFibGUncyB3aWR0aC5cbiAqIEluIFwiaGFybW9uaXplZFwiIG1vZGUgdGhlIHdoaXRlc3BhY2Ugd2lsbCBiZSBkaXN0cmlidXRlZCBldmVubHksIGNvbnNpZGVyaW5nIHRoZSB3aWR0aCBvZiBlYWNoIGNvbHVtbi5cbiAqL1xuZXhwb3J0IHR5cGUgUWRUYWJsZUZpbGxpbmdDb2x1bW4gPSAnbWFpbicgfCAnbGFzdCcgfCAnaGFybW9uaXplZCcgfCAnbm9uZSc7XG5cbi8qKlxuICogT3B0aW9uYWwgRXZlbnRzIGZvciB0cmlnZ2VyaW5nIGEgdGFibGUgcmVmcmVzaC5cbiAqL1xuZXhwb3J0IHR5cGUgUWRUYWJsZU9wdGlvbmFsUmVmcmVzaGluZ0V2ZW50VHlwZXMgPSAnUkVTT1VSQ0VfQ1JFQVRFRCcgfCAnUkVTT1VSQ0VfREVMRVRFRCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gTW9kZWwgZm9yIFFkLVRhYmxlcy4gVGhlIGdlbmVyaWMgdHlwZSBkZWZpbmVzIHRoZSB0YWJsZSBjb2x1bW5zIGtleXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUWRUYWJsZUNvbmZpZzxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyB0aGUgY29sdW1ucyBvZiB0aGUgdGFibGUuXG4gICAqL1xuICBjb2x1bW5zOiBRZFRhYmxlQ29uZmlnQ29sdW1uPFQ+W107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmVzIHRoZSBiZWhhdmlvciBvZiB0aGUgZ3JvdXBzIGluIHRoZSB0cmVlIHZpZXcuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBxZC10cmVlIGluc3RlYWRcbiAgICovXG4gIGdyb3VwPzogUWRUYWJsZUNvbmZpZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWN0aXZhdGVzIGEgcGFnaW5hdGlvblxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBmYWxzZVxuICAgKiAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBoYXNQYWdpbmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFjdGl2YXRlcyBhIHBhZ2luYXRpb24gd2l0aCBjb25maWd1cmFibGUgYXZhaWxhYmxlIHBhZ2Ugc2l6ZXNcbiAgICovXG4gIHBhZ2luYXRpb24/OiB0cnVlIHwgUWRUYWJsZVBhZ2luYXRpb247XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIGFuIGFsdGVybmF0aXZlIHZpZXcgaWYgbm8gZWxlbWVudHMgYXJlIGF2YWlsYWJsZSBpbiBRZFRhYmxlRGF0YVxuICAgKi9cbiAgZW1wdHlTdGF0ZVZpZXc/OiBRZFRhYmxlRW1wdHlTdGF0ZVZpZXc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgbGlzdCBvZiBzZWNvbmRhcnkgYWN0aW9ucyB0aGF0IGNhbiBiZSBleGVjdXRlZCBwZXIgQ2xpY2svVGFiIG9mIGFuIGl0ZW0gaW4gdGhlIG1lbnUuXG4gICAqXG4gICAqICogQGV4YW1wbGVcbiAgICogVGhpcyBpcyBob3cgdGhlIHR3byBhY3Rpb25zIFwiZWRpdFwiIGFuZCBcImRlbGV0ZVwiIGFyZSBjcmVhdGVkLlxuICAgKiBgYGB0c1xuICAgKiBzZWNvbmRhcnlBY3Rpb25zOiBbXG4gICAqICAgIHtcbiAgICogICAgICB0eXBlOiAnZWRpdCcsXG4gICAqICAgICAgaGFuZGxlcjogcm93RGF0YSA9PiBkb1NvbWV0aGluZ1dpdGgocm93RGF0YSlcbiAgICogICAgfSxcbiAgICogICAge1xuICAgKiAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgKiAgICAgIGlzRGlzYWJsZWQ6IHRydWUsXG4gICAqICAgICAgaGFuZGxlcjogcm93RGF0YSA9PiBkb1NvbWV0aGluZ1dpdGgocm93RGF0YSlcbiAgICogICAgfVxuICAgKiBdXG4gICAqIGBgYFxuICAgKi9cbiAgc2Vjb25kYXJ5QWN0aW9ucz86IFFkVGFibGVTZWNvbmRhcnlBY3Rpb248VD5bXTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIHByaW1hcnkgYWN0aW9uIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGJ5IGNsaWNraW5nIG9uIGEgcm93LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBZb3UgcHJvdmlkZSBhIHByaW1hcnkgYWN0aW9uIGxpa2UgdGhpcy5cbiAgICogYGB0c1xuICAgKiBwcmltYXJ5QWN0aW9uOiB7XG4gICAqICAgaGFuZGxlcjogcm93ID0+IG9wZW5Nb2RhbChyb3cpXG4gICAqIH1cbiAgICovXG4gIHByaW1hcnlBY3Rpb24/OiBRZFRhYmxlUHJpbWFyeUFjdGlvbjxUPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyZXMgc2VsZWN0aW9uIG9wdGlvbnMgZm9yIHRhYmxlIHJvd3MuXG4gICAqXG4gICAqICogQGV4YW1wbGVcbiAgICogVGhpcyBjcmVhdGVzIGEgXCJtdWx0aVNlbGVjdFwiLlxuICAgKiBgYGB0c1xuICAgKiBzZWxlY3Rpb246IHtcbiAgICogICAgdHlwZTogJ211bHRpU2VsZWN0JyxcbiAgICogICAgaGFuZGxlcjogc2VsZWN0ZWRSb3dzID0+IGRvU29tZXRoaW5nV2l0aChzZWxlY3RlZFJvd3MpXG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBzZWxlY3Rpb24/OiBRZFRhYmxlQ29uZmlnU2VsZWN0aW9uPFQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgdHJhbnNsYXRpb24ga2V5cyAocGx1cmFsKSBmb3IgdGhlIHRhYmxlIGhlYWRpbmdzIGFuZCBtb3JlLCBhcyB0aGUgJ2NvbnRleHQnIGZvciBpbnN0YW5jZS5cbiAgICpcbiAgICogKiBAZXhhbXBsZTogXCJpMThuLm15LnRhYmxlLjxjb2x1bW4+XCIuXG4gICAqXG4gICAqIElmIG5vbmUgZXhpdHMsIHRoZSB2YWx1ZSBpcyByZW5kZXJlZCB3aXRob3V0IHRyYW5zbGF0aW9uLlxuICAgKi9cbiAgaTE4bnM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUdXJucyBhIHNwZWNpZmllZCBjb2x1bW4gaW50byBhIG1haW4gY29sdW1uLiBNYWluIENvbHVtbnMgaGF2ZSBkaWZmZXJlbnQgcHJlc2VudGF0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IGNvbHVtbnNbMF0uY29sdW1uXG4gICAqL1xuICBtYWluQ29sdW1uPzogVDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ5IGRlZmF1bHQgdGhlIG1haW4gY29sdW1uIGZpbGxzIHRoZSByZW1haW5pbmcgd2lkdGggc28gdGhhdCB0aGUgdGFibGUgaGFzIGEgd2lkdGggb2YgMTAwJS5cbiAgICogQnkgc2V0dGluZyB0aGlzIHByb3BlcnR5IHRoZSBtYWluIGNvbHVtbiB3aWxsIGhhdmUgY29udGVudCB3aWR0aC5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICogKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgbWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVc3VhbGx5IHRoZSB0YWJsZSBmaWxscyAxMDAlIG9mIHRoZSB3aWR0aC5cbiAgICpcbiAgICogVGhpcyB2YWx1ZSBkZWZpbmVzIHdoaWNoIGNvbHVtbiBmaWxscyB0aGUgc3BhY2UgaW4gdGhlIHRhYmxlIHRvIGl0cyBmdWxsIHdpZHRoLlxuICAgKiBJbiBcImhhcm1vbml6ZWRcIiBtb2RlIHRoZSB3aGl0ZXNwYWNlIHdpbGwgYmUgZGlzdHJpYnV0ZWQgZXZlbmx5LCBjb25zaWRlcmluZyB0aGUgd2lkdGggb2YgZWFjaCBjb2x1bW4uXG4gICAqIElmIHRoZSB2YWx1ZSBcIm5vbmVcIiBpcyB1c2VkLCB0aGUgdGFibGUgY2FuIGJlIGxlc3MgdGhhbiAxMDAlIGluIHdpZHRoLlxuICAgKlxuICAgKiBGaW5kIG91dCBtb3JlIGluIHRoZSByZWxhdGVkIHR5cGUgXCJRZFRhYmxlQ29uZmlnPFQ+WydtYWluQ29sdW1uJ11cIi5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogJ21haW4nXG4gICAqL1xuICB3aGljaENvbHVtbkZpbGxzV2lkdGg/OiBRZFRhYmxlRmlsbGluZ0NvbHVtbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVuYWJsZXMgXCJ2aWV3b25seVwiIG1vZGUgZm9yIHRoZSB0YWJsZS5cbiAgICpcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCB0aGUgdGFibGUgZGlzcGxheXMgaXRzIGNvbnRlbnQgYXMgcmVhZC1vbmx5LlxuICAgKiBDb21iaW5lZCB3aXRoIGBzZWNvbmRhcnlBY3Rpb25zYCwgdGhpcyBjYW4gYmUgdXNlZCB0byBzZWxlY3RpdmVseSBzaG93IG9yIGhpZGUgc2Vjb25kYXJ5IGFjdGlvbnNcbiAgICogYmFzZWQgb24gdGhlIG9wZXJhdGlvbiBtb2RlIChgJ3ZpZXcnYCBvciBgJ2VkaXQnYCkgdXNlZCBpbiB0aGUgUXVhZHJlbCBmcmFtZXdvcmsuXG4gICAqXG4gICAqICogSWYgYHZpZXdvbmx5YCBpcyBleHBsaWNpdGx5IHNldCwgaXQgb3ZlcnJpZGVzIHRoZSBnbG9iYWwgb3BlcmF0aW9uIG1vZGVcbiAgICogKHdoaWNoIGlzIG5vcm1hbGx5IGNvbnRyb2xsZWQgdGhyb3VnaCBleHRlcm5hbCBldmVudHMpLlxuICAgKiBUaGlzIGdpdmVzIHlvdSBmdWxsIGNvbnRyb2w6IGZvciBleGFtcGxlLCBzZXR0aW5nIGB2aWV3b25seTogZmFsc2VgIHdpbGwgYWxsb3cgZWRpdCBhY3Rpb25zIHRvIGJlIHNob3duLFxuICAgKiBldmVuIGlmIHRoZSBnbG9iYWwgbW9kZSB3b3VsZCBub3JtYWxseSBoaWRlIHRoZW0uXG4gICAqXG4gICAqICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHZpZXdvbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbHVtbnMgb3ZlciB0aGUgYnJlYWtwb2ludHMuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IHsgeHM6IDEsIHNtOiAyLCBtZDogNCwgbGc6IDYsIHhsOiA4LCB4eGw6IDEwIH1cbiAgICpcbiAgICogKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiB7IHhzOiAxLCBzbTogMiwgbWQ6IDQsIGxnOiA2LCB4bDogOCwgeHhsOiAxMCB9XG4gICAqIGBgYFxuICAgKi9cbiAgY29sdW1uTWFwcGluZz86IHsgW2tleSBpbiBRZEJyZWFrcG9pbnRdPzogUWRNYXhDb2x1bW5zQ291bnQgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9ic2VydmFibGUgdG8gdHJpZ2dlciBhIHRhYmxlIHJlZnJlc2ggZnJvbSBvdXRzaWRlLlxuICAgKlxuICAgKiAtIGBudW1iZXJgIHNldHMgdGhlIHBhZ2UgaW5kZXggdG8gcmVmcmVzaC5cbiAgICogLSBgdW5kZWZpbmVkYCB0cmlnZ2VycyBhIGdlbmVyYWwgcmVmcmVzaCAoY3VycmVudCBwYWdlIHN0YXlzIHRoZSBzYW1lKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogcmVmcmVzaCQubmV4dCgpOyAgICAgIC8vIHJlZnJlc2ggY3VycmVudCBwYWdlXG4gICAqIHJlZnJlc2gkLm5leHQoMCk7ICAgICAvLyByZWZyZXNoIGFuZCBnbyB0byBmaXJzdCBwYWdlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVmcmVzaD86IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERldGVybWluZXMgaWYgdGhlIHRhYmxlIHNob3VsZCByZWZyZXNoIHdoZW4gdGhlIGxhbmd1YWdlIGlzIGNoYW5nZWQuXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICByZWZyZXNoT25MYW5ndWFnZUNoYW5nZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGVuIHRoaXMgZmxhZyBpcyBzZXQsIHRoZSB0YWJsZSB3aWxsIGJlIHJlZnJlc2hlZCBmb3IgZXZlcnkgUkVTT1VSQ0VfVVBEQVRFRCBldmVudFxuICAgKiB3aXRoIGEgcGF0aCB0aGF0IG1hdGNoZXMgdGhlIHRhYmxlIHVpZC5cbiAgICogSW1wb3J0YW50OiBZb3UgaGF2ZSB0byBjcmVhdGUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFNTRSBiYWNrZW5kIHNlcnZpY2Ugb24geW91ciBvd24gd2l0aCB0aGUgUWRQdXNoRXZlbnRzU2VydmljZVxuICAgKiAoY29ubmVjdCBtZXRob2QpLlxuICAgKi9cbiAgcmVmcmVzaE9uUHVzaEV2ZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFuIG9wdGlvbmFsIGxpc3Qgb2YgZXZlbnQgdHlwZXMgdGhhdCBjYW4gdHJpZ2dlciBhIHJlZnJlc2ggb2YgdGhlIFFkVGFibGUgY29tcG9uZW50LlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgdGFibGUgbGlzdGVucyBmb3IgdGhlIGBSRVNPVVJDRV9VUERBVEVEYCBldmVudC4gQWRkaXRpb25hbCBldmVudHNcbiAgICogc3BlY2lmaWVkIGluIHRoaXMgcHJvcGVydHkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGV4dHJhIHRyaWdnZXJzIGZvciB1cGRhdGluZyB0aGVcbiAgICogdGFibGUgdmlldy4gSWYgZGVmaW5lZCwgdGhlIHRhYmxlIHdpbGwgcmVzcG9uZCB0byBib3RoIHRoZSBkZWZhdWx0IGFuZCB0aGVzZVxuICAgKiBhZGRpdGlvbmFsIGV2ZW50cyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzcGxheWVkIGRhdGEgcmVtYWlucyB1cC10by1kYXRlLlxuICAgKi9cbiAgcmVmcmVzaGluZ0V2ZW50cz86IFFkVGFibGVPcHRpb25hbFJlZnJlc2hpbmdFdmVudFR5cGVzW107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIGEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWJsZS4gVXNlZCBhcyBrZXkgdG8gaG9sZCBpbiBOZ1J4IHN0b3JlLlxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiByYW5kb20gUkZDIDQxMjIgSWRlbnRpZmllclxuICAgKi9cbiAgdWlkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUWRUYWJsZUNvbmZpZ0NvbHVtbkJhc2U8VD4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIGtleSBvZiB0aGUgY29sdW1uLlxuICAgKi9cbiAgY29sdW1uOiBUO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTWFrZXMgdGhlIGNvbHVtbiBzb3J0YWJsZS4gSWYgdGhpcyBrZXkgaGFzIGJlZW4gZGVmaW5lZCwgdGhlIHNvcnRpbmcgd2lsbCBiZSB0dXJuZWQgb24uXG4gICAqL1xuICBzb3J0PzogUWRUYWJsZUNvbmZpZ0NvbHVtblNvcnQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSBicmVha3BvaW50IGF0IHdoaWNoIHRoZSBjb2x1bW4gaXMgaGlkZGVuLiBVc2UgZm9yIG1vYmlsZSBkZXZpY2VzLlxuICAgKi9cbiAgaGlkZGVuQXQ/OiBRZEJyZWFrcG9pbnQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gZm9yIHNvcnRpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRZFRhYmxlQ29uZmlnQ29sdW1uU29ydCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU29ydGluZyBjYW4gYmUgZGVhY3RpdmF0ZWQgaGVyZS5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGRpcmVjdGlvbiBvZiBzb3J0aW5nLlxuICAgKlxuICAgKiAqIEBkZWZhdWx0OiBRZFNvcnREaXJlY3Rpb24uTk9ORVxuICAgKi9cbiAgZGlyZWN0aW9uPzogUWRTb3J0RGlyZWN0aW9uO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYXhpbXVtIG51bWJlciBvZiBjb2x1bW5zIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICpcbiAqICogQGRlZmF1bHQ6IHsgeHM6IDEsIHNtOiAyLCBtZDogNCwgbGc6IDYsIHhsOiA4LCB4eGw6IDEwIH1cbiAqL1xudHlwZSBRZE1heENvbHVtbnNDb3VudCA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDcgfCA4IHwgOSB8IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNTtcblxuZXhwb3J0IHR5cGUgUWRUYWJsZUNvbmZpZ0NvbHVtbjxUPiA9IFFkVGFibGVDb25maWdDb2x1bW5UeXBlICYgUWRUYWJsZUNvbmZpZ0NvbHVtbkJhc2U8VD47XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gbW9kZWwgZm9yIHBhZ2luYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRZFRhYmxlUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbCBwYWdpbmF0aW9uIHBhZ2Ugc2l6ZVxuICAgKlxuICAgKiAqIEBkZWZhdWx0IDI1XG4gICAqL1xuICBwYWdlU2l6ZURlZmF1bHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaXN0IG9mIGF2YWlsYWJsZSBwYWdpbmF0aW9uIHBhZ2Ugc2l6ZXNcbiAgICpcbiAgICogKiBAZXhhbXBsZSBbMjUsIDUwLCAxMDBdXG4gICAqL1xuICBwYWdlU2l6ZXM/OiBudW1iZXJbXTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFjdGl2YXRlcyB0aGUgZmlyc3QgJiBsYXN0IGJ1dHRvbnMgZm9yIHF1aWNrIG5hdmlnYXRpb25cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICovXG4gIGhhc0ZpcnN0TGFzdFBhZ2VOYXZpZ2F0aW9uPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBtb2RlbCBmb3IgZW1wdHkgc3RhdGUgdmlld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFFkVGFibGVFbXB0eVN0YXRlVmlldyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVG9nZ2xlcyB0aGUgZW1wdHkgdmlldyBvZmYsIGlmIHNldCB0byBcInRydWVcIi5cbiAgICpcbiAgICogKiBAZGVmYXVsdDogZmFsc2VcbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlbmRlcnMgYSBjYWxsLXRvLWFjdGlvbiBidXR0b24uXG4gICAqXG4gICAqICogQGRlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICBhY3Rpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIGhhbmRsZXIgdGhhdCBpcyB0cmlnZ2VyZWQgYnkgYSBjbGljay90YXAgb24gdGhlIGNhbGwtdG8tYWN0aW9uIGJ1dHRvbi5cbiAgICogV2lsbCBvbmx5IGJlIHRyaWdnZXJlZCBpZiBcImFjdGlvblwiIGlzIHNldCB0byBcInRydWVcbiAgICovXG4gIGhhbmRsZXI/OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gT3B0aW9uYWwgaW50ZXJuYXRpb25hbGl6YXRpb24gY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIFRoaXMgb2JqZWN0IHNwZWNpZmllcyBhIGtleS12YWx1ZSBwYWlyIHVzZWQgZm9yIGR5bmFtaWMgdHJhbnNsYXRpb25zXG4gICAqIHdpdGhpbiB0aGUgY29tcG9uZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBzZXQgYSBjdXN0b20gcGFyYW1ldGVyXG4gICAqIG5hbWUgYW5kIGNvcnJlc3BvbmRpbmcgdmFsdWUgdGhhdCBpcyBpbmplY3RlZCBpbnRvIHRyYW5zbGF0aW9uIHN0cmluZy5cbiAgICpcbiAgICovXG4gIGkxOG5QYXJhbWV0ZXI/OiB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBwbGFjZWhvbGRlciBuYW1lIGluIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcuXG4gICAgICogVGhpcyBjb3JyZXNwb25kcyB0byB0aGUga2V5IHVzZWQgd2l0aGluIHRyYW5zbGF0aW9uIHJlc291cmNlcy5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSB2YWx1ZSB0byByZXBsYWNlIHRoZSBwbGFjZWhvbGRlciB3aXRoIGluIHRoZSB0cmFuc2xhdGVkIG91dHB1dFxuICAgICAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Inject, Input, Optional, Output, ViewChild } from '@angular/core';
2
- import { firstValueFrom, Observable } from 'rxjs';
2
+ import { firstValueFrom, merge, NEVER, Observable } from 'rxjs';
3
3
  import { catchError, filter, map, take } from 'rxjs/operators';
4
4
  import { v4 as uuid } from 'uuid';
5
5
  import { QdBreakpointService } from '../core/services/breakpoint.service';
@@ -374,9 +374,22 @@ export class QdTableComponent {
374
374
  'if you enable the refreshOnPushEvent flag in the table.');
375
375
  return;
376
376
  }
377
- this._pushEventsSubscription = this.pushEventsService
378
- .observe('RESOURCE_UPDATED')
379
- .pipe(filter(messageEvent => JSON.parse(messageEvent.data).path === this.config.uid), catchError((error, stream) => stream))
377
+ const events = [...(this.config?.refreshingEvents || []), 'RESOURCE_UPDATED'];
378
+ const combinedEvents$ = merge(...events.map(eventName => this.pushEventsService.observe(eventName)));
379
+ this._pushEventsSubscription = combinedEvents$
380
+ .pipe(filter(messageEvent => {
381
+ try {
382
+ const data = JSON.parse(messageEvent.data);
383
+ return data.path.includes(this.config.uid);
384
+ }
385
+ catch (error) {
386
+ console.warn('Failed to process messageEvent:', error);
387
+ return false;
388
+ }
389
+ }), catchError(error => {
390
+ console.error('Error in event stream:', error);
391
+ return NEVER;
392
+ }))
380
393
  .subscribe(() => this.triggerRefresh());
381
394
  }
382
395
  processSecondaryActionRefresh(result, refreshConfig) {
@@ -469,4 +482,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
469
482
  type: HostBinding,
470
483
  args: ['attr.data-test-id']
471
484
  }] } });
472
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFF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O2dCQUUrQixTQUFTO3NCQUE5QyxTQUFTO3VCQUFDLHlCQUF5QjtnQkFFRSxVQUFVO3NCQUEvQyxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBRZEJyZWFrcG9pbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9icmVha3BvaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUVtcHR5U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVGaWxsaW5nV2lkdGhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWxsaW5nLXdpZHRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVzb2x2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlUmVzcG9uc2l2ZVJvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Jlc3BvbnNpdmUtcm93LnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Jvdy1zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NlY29uZGFyeS1hY3Rpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVN0b3JlU2VsZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yZS90YWJsZS1zdG9yZS1zZWxlY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RhYmxlLXN0b3JlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBRZFRhYmxlRGF0YVJlc29sdmVyIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1kYXRhLXJlc29sdmVyJztcbmltcG9ydCB7IFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4gfSBmcm9tICcuL21vZGVsL3RhYmxlLWRhdGEtcmVzb2x2ZXIudG9rZW4nO1xuXG5pbXBvcnQgeyBRZFRhYmxlQ29uZmlnLCBRZFRhYmxlRmlsbGluZ0NvbHVtbiB9IGZyb20gJy4vbW9kZWwvdGFibGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlRGF0YSwgUWRUYWJsZVJlY2VudFNlY29uZGFyeUFjdGlvbiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVNlbGVjdGVkUm93cyB9IGZyb20gJy4vbW9kZWwvdGFibGUtcm93LXNlbGVjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUFjdGlvblJlc3VsdCwgUWRUYWJsZVJlZnJlc2hDb25maWcgfSBmcm9tICcuL21vZGVsL3RhYmxlLWNvbmZpZy1hY3Rpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlQ29ubmVjdG9yLCBRZFRhYmxlQ29ubmVjdG9yQ3JpdGVyaWEsIFFkVGFibGVTdGF0ZSB9IGZyb20gJy4vbW9kZWwvdGFibGUtc3RvcmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDb25uZWN0b3JTdGF0ZSB9IGZyb20gJy4vbW9kZWwvY29ubmVjdG9ycy1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IFFkUGFnaW5hdG9yRGlyZWN0aW9uIH0gZnJvbSAnLi9tb2RlbC9wYWdpbmF0b3ItZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgUWRUYWJsZVBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdG9yL3RhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRQdXNoRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVzaC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9leHRlcm5hbC1hY3Rpb24tcmVzdWx0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFFkVGFibGVDb21wb25lbnQgaXMgYSByZXNwb25zaXZlIGFuZCBoaWdobHkgY29uZmlndXJhYmxlIHRhYmxlIGNvbXBvbmVudCBkZXNpZ25lZCBmb3IgZWZmZWN0aXZlIGRhdGEgZGlzcGxheSBhbmQgdXNlciBpbnRlcmFjdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHBhZ2luYXRpb24sIHNvcnRpbmcsIGFjdGlvbnMsIHNlbGVjdGlvbnMsIGFuZCBjdXN0b21pemFibGUgY29sdW1ucy5cbiAqXG4gKiAjIyMjICoqRmVhdHVyZXMqKlxuICogLSAqKlJXRCBSZWFkeSoqOiBBdXRvbWF0aWNhbGx5IGFkYXB0cyB0byB2YXJpb3VzIHNjcmVlbiBzaXplcy5cbiAqIC0gKipDdXN0b20gQ29sdW1ucyoqOiBEZWZpbmUgY29udGVudCB0eXBlcyBsaWtlIHRleHQsIGRhdGUsIGNoaXAsIG9yIGljb24uXG4gKiAtICoqUGFnaW5hdGlvbiAmIFNvcnRpbmcqKjogU3VwcG9ydHMgZGF0YSBwYWdpbmF0aW9uIGFuZCBjb2x1bW4gc29ydGluZy5cbiAqIC0gKipSb3cgU2VsZWN0aW9ucyoqOiBTaW5nbGUgb3IgbXVsdGlwbGUgcm93IHNlbGVjdGlvbi5cbiAqIC0gKipBY3Rpb25zKio6IFByaW1hcnkgYW5kIHNlY29uZGFyeSByb3cgYWN0aW9ucyB3aXRoIHJlZnJlc2ggc3VwcG9ydC5cbiAqIC0gKipJbnRlcm5hdGlvbmFsaXphdGlvbiAoaTE4bnMpKio6IExvY2FsaXplIGNvbHVtbiBoZWFkZXJzIGFuZCBzcGVjaWZpYyBjb250ZW50IHR5cGVzIChlLmcuLCB0ZXh0LCBjaGlwKS5cbiAqIC0gKipTZWN0aW9uIFRvb2xiYXIgQ29tbXVuaWNhdGlvbioqOiBDb21tdW5pY2F0ZSB3aXRoIHRoZSBRTFMgZm9yIHNlYXJjaCBhbmQgZmlsdGVyaW5nLlxuICpcbiAqICMjIyMgKipCYXNpYyBVc2FnZSoqXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBDb2x1bW5EZWZpbml0aW9uID0gJ25hbWUnIHwgJ2FnZScgfCAnYWN0aXZlJztcbiAqXG4gKiBjb25maWc6IFFkVGFibGVDb25maWc8Q29sdW1uRGVmaW5pdGlvbj4gPSB7XG4gKiAgIGNvbHVtbnM6IFtcbiAqICAgICB7IGNvbHVtbjogJ25hbWUnLCB0eXBlOiAndGV4dCcgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJyB9LFxuICogICAgIHsgY29sdW1uOiAnYWN0aXZlJywgdHlwZTogJ2Jvb2xlYW4nIH1cbiAqICAgXVxuICogfTtcbiAqXG4gKiBkYXRhOiBRZFRhYmxlRGF0YTxDb2x1bW5EZWZpbml0aW9uPiA9IFtcbiAqICAgeyBuYW1lOiAnQWxpY2UnLCBhZ2U6IDMwLCBhY3RpdmU6IHRydWUgfSxcbiAqICAgeyBuYW1lOiAnQm9iJywgYWdlOiAyNSwgYWN0aXZlOiBmYWxzZSB9XG4gKiBdO1xuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPHFkLXRhYmxlIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGFdPVwiZGF0YVwiPjwvcWQtdGFibGU+XG4gKiBgYGBcbiAqXG4gKiAjIyMjICoqUmVzb2x2ZXIsIFBhZ2luYXRpb24sIGFuZCBTb3J0aW5nKipcbiAqXG4gKiBMb2FkIGRhdGEgZHluYW1pY2FsbHksIG1hbmFnZSBwYWdpbmF0aW9uLCBhbmQgZW5hYmxlIGNvbHVtbiBzb3J0aW5nIHVzaW5nIFF1YWRyZWwncyBpbnRlcmZhY2UgYW5kIGluamVjdGlvbiB0b2tlbi5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgTXlUYWJsZVJlc29sdmVyIGltcGxlbWVudHMgUWRUYWJsZURhdGFSZXNvbHZlcjxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgIHJlc29sdmUoY3JpdGVyaWE6IFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wczxDb2x1bW5EZWZpbml0aW9uPik6IE9ic2VydmFibGU8UWRUYWJsZVJlc29sdmVkRGF0YTxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgICAgIC8vIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ215LXRhYmxlJyxcbiAqICAgdGVtcGxhdGU6ICc8cWQtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLXRhYmxlPicsXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgICB7XG4gKiAgICAgICAgICBwcm92aWRlOiBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOLFxuICogICAgICAgICAgdXNlQ2xhc3M6IE15VGFibGVSZXNvbHZlclxuICogICAgICB9XG4gKiAgIF1cbiAqIH0pXG4gKiBjbGFzcyBNeVRhYmxlQ29tcG9uZW50IHtcbiAqIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgY29sdW1uczogW1xuICogICAgIHsgY29sdW1uOiAnbmFtZScsIHR5cGU6ICd0ZXh0Jywgc29ydDogeyBkaXJlY3Rpb246ICdhc2MnIH0gfSxcbiAqICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJywgc29ydDoge30gfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF0sXG4gKiAgIHBhZ2luYXRpb246IHtcbiAqICAgICBwYWdlU2l6ZXM6IFsxMCwgMjAsIDUwXSxcbiAqICAgICBwYWdlU2l6ZURlZmF1bHQ6IDEwXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqXG4gKiAjIyMjICoqU2VsZWN0aW9ucyBhbmQgQWN0aW9ucyoqXG4gKlxuICogQ29uZmlndXJlIHJvdyBzZWxlY3Rpb25zIGFuZCB0cmlnZ2VyIHByaW1hcnkgb3Igc2Vjb25kYXJ5IGFjdGlvbnMuXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICogICBjb2x1bW5zOiBbXG4gKiAgICAgeyBjb2x1bW46ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhZ2UnLCB0eXBlOiAnaW50ZWdlcicgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF0sXG4gKiAgIHNlbGVjdGlvbjoge1xuICogICAgIHR5cGU6ICdtdWx0aVNlbGVjdCcsXG4gKiAgICAgaGFuZGxlcjogKHNlbGVjdGVkUm93cykgPT4gc2VsZWN0KHNlbGVjdGVkUm93cylcbiAqICAgfSxcbiAqICAgc2Vjb25kYXJ5QWN0aW9uczogW1xuICogICAgIHtcbiAqICAgICAgIHR5cGU6ICdlZGl0JyxcbiAqICAgICAgIGhhbmRsZXI6ICh7IHJvd0RhdGEgfSkgPT4gZWRpdChyb3dEYXRhKVxuICogICAgIH0sXG4gKiAgICAge1xuICogICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gKiAgICAgICBpc0Rpc2FibGVkOiAocm93KSA9PiAhcm93LmFjdGl2ZSxcbiAqICAgICAgIGhhbmRsZXI6ICh7IHJvd0RhdGEgfSkgPT4gZGVsZXRlKHJvd0RhdGEpXG4gKiAgICAgfVxuICogICBdXG4gKiB9O1xuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29tbW9uLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUWRUYWJsZVN0b3JlU2VydmljZSxcbiAgICBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UsXG4gICAgUWRUYWJsZUVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZSxcbiAgICBRZFRhYmxlUmVzcG9uc2l2ZVJvd1NlcnZpY2UsXG4gICAgUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2UsXG4gICAgUWRUYWJsZUZpbGxpbmdXaWR0aFNlcnZpY2UsXG4gICAgUWRUYWJsZVJlc29sdmVyU2VydmljZSxcbiAgICBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5xZC10YWJsZV0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5tYWluLWNvbHVtbi1maWxscy13aWR0aF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcIm1haW5cIicsXG4gICAgJ1tjbGFzcy5sYXN0LWNvbHVtbi1maWxscy13aWR0aF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcImxhc3RcIicsXG4gICAgJ1tjbGFzcy5oYXJtb25pemVkXSc6ICd3aGljaENvbHVtbkZpbGxzV2lkdGggPT09IFwiaGFybW9uaXplZFwiJyxcbiAgICAnW2F0dHIuZGF0YS1xZC1uby1ob3Jpem9udGFsLXBhZGRpbmctc21hbGxdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgUWRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvZiB0aGUgdGFibGUuIFRoZSBnZW5lcmljIHR5cGUgc3BlY2lmaWVzIHRoZSBjb2x1bW4gZGVmaW5pdGlvbi4gPGJyIC8+XG4gICAqXG4gICAqICoqVXNhZ2U6KipcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogdHlwZSBDb2x1bW5EZWZpbml0aW9uID0gJ2FydGljbGUnIHwgJ21hc3MnIHwgJ2RvY3VtZW50cyc7XG4gICAqIGNvbnN0IHRhYmxlQ29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICAgKiAgIGNvbHVtbnM6IFtcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnYXJ0aWNsZScsXG4gICAqICAgICAgIHR5cGU6ICd0ZXh0J1xuICAgKiAgICAgfSxcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnbWFzcycsXG4gICAqICAgICAgIHR5cGU6ICdpbnRlZ2VyJ1xuICAgKiAgICAgfSxcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnZG9jdW1lbnRzJyxcbiAgICogICAgICAgdHlwZTogJ2Jvb2xlYW4nXG4gICAqICAgICB9XG4gICAqICAgXVxuICAgKiB9XG4gICAqL1xuICBASW5wdXQoKSBjb25maWchOiBRZFRhYmxlQ29uZmlnPFQ+O1xuXG4gIC8qKlxuICAgKiBPbmUgd2F5IHRvIGZpbGwgdGhlIHRhYmxlIHdpdGggZGF0YS4gQW5vdGhlciBvcHRpb24gaXMgdG8gdXNlIGEgcmVzb2x2ZXIsIHdoaWNoIGlzIG5lZWRlZCBmb3IgcGFnaW5hdGlvbiwgZm9yIGluc3RhbmNlLiA8YnIgLz5cbiAgICogVGhlIGdlbmVyaWMgdHlwZSBpcyB1c2VkIGZvciB0aGUgY29sdW1uIGRlZmluaXRpb24uIDxiciAvPlxuICAgKlxuICAgKiAqKlVzYWdlOioqXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICdhcnRpY2xlJyB8ICdtYXNzJyB8ICdkb2N1bWVudHMnO1xuICAgKiBjb25zdCB0YWJsZURhdGE6IFFkVGFibGVEYXRhPENvbHVtbkRlZmluaXRpb24+ID0gW1xuICAgKiAgIHtcbiAgICogICAgIGFydGljbGU6ICdhcnRpY2xlIG9uZScsXG4gICAqICAgICBtYXNzOiAxMCxcbiAgICogICAgIGRvY3VtZW50czogdHJ1ZVxuICAgKiAgIH0sXG4gICAqICAge1xuICAgKiAgICAgYXJ0aWNsZTogJ2FydGljbGUgdHdvJyxcbiAgICogICAgIG1hc3M6IDIwLFxuICAgKiAgICAgZG9jdW1lbnRzOiBmYWxzZVxuICAgKiAgIH1cbiAgICogXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogUWRUYWJsZURhdGE8VD4pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHN0YXRpYyB0ZXN0IElEIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cyBjYW4gYmUgc2V0LiA8YnIgLz5cbiAgICogVGhlIHZhbHVlIGZvciB0aGUgSFRNTCBhdHRyaWJ1dGUgW2RhdGEtdGVzdC1pZF0uXG4gICAqL1xuICBASW5wdXQoJ2RhdGEtdGVzdC1pZCcpIHRlc3RJZCA9ICd0YWJsZSc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gYW4gc2Vjb25kYXJ5IGFjdGlvbiBpcyB0cmlnZ2VyZWQuIFRoZSByZXR1cm4gdmFsdWUgY29udGFpbnMgdGhlIHJvdy1zcGVjaWZpYyBkYXRhLiA8YnIgLz5cbiAgICogYHNlY29uZGFyeUFjdGlvbnNgIG11c3QgYmUgZGVmaW5lZCBpbiB0aGUgdGFibGUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogKiBAcmV0dXJucyBFdmVudEVtaXR0ZXIgd2l0aCBnZW5lcmljIHR5cGU6IFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb25cbiAgICovXG4gIEBPdXRwdXQoKSBzZWNvbmRhcnlBY3Rpb25PdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb248VD4+KCk7XG5cbiAgLyoqXG4gICAqIE91dHB1dHMgYW4gZXZlbnQgd2hlbiBvbmUgb3IgbW9yZSBsaW5lcyBhcmUgc2VsZWN0ZWQuIFRoZSByZXR1cm4gdmFsdWUgY29udGFpbnMgdGhlIHJvdy1zcGVjaWZpYyBkYXRhLiA8YnIgLz5cbiAgICogYG11bHRpU2VsZWN0YCBvciBgc2luZ2xlU2VsZWN0YCBtdXN0IGJlIGFjdGl2YXRlZCBpbiB0aGUgdGFibGUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogKiBAcmV0dXJucyBFdmVudEVtaXR0ZXIgd2l0aCBnZW5lcmljIHR5cGU6IFFkVGFibGVTZWxlY3RlZFJvd3NcbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3NPdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFFkVGFibGVTZWxlY3RlZFJvd3M8VD4+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgbm8gY29udGVudHMgYXJlIHByZXNlbnQuIDxiciAvPlxuICAgKiBUaGUgYGVtcHR5U3RhdGVWaWV3YCBtdXN0IGJlIGVuYWJsZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBAT3V0cHV0KCkgZW1wdHlTdGF0ZUFjdGlvbk91dHB1dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQpIHBhZ2luYXRvcj86IFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQ8VD47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdC1pZCcpIGdldCBkYXRhVGVzdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGVzdElkICsgJy0nICsgdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZUlkO1xuICB9XG5cbiAgZGF0YSQhOiBPYnNlcnZhYmxlPFFkVGFibGVEYXRhPFQ+IHwgdW5kZWZpbmVkPjtcbiAgaGFzRGF0YSQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNFbXB0eVN0YXRlVmlldyQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgdGFibGUkITogT2JzZXJ2YWJsZTxRZFRhYmxlU3RhdGU8c3RyaW5nPiB8IHVuZGVmaW5lZD47XG4gIHByaXZhdGUgX2RhdGE6IFFkVGFibGVEYXRhPFQ+ID0gW107XG4gIHByaXZhdGUgX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9icmVha3BvaW50U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9yZWZyZXNoU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9jb25uZWN0b3JzOiBRZFRhYmxlQ29ubmVjdG9yW10gPSBbXTtcblxuICBnZXQgd2hpY2hDb2x1bW5GaWxsc1dpZHRoKCk6IFFkVGFibGVGaWxsaW5nQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLndoaWNoQ29sdW1uRmlsbHNXaWR0aDtcbiAgfVxuXG4gIGdldCBoYXNSZXNvbHZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYmxlRGF0YVJlc29sdmVyO1xuICB9XG5cbiAgZ2V0IGhhc1BhZ2luYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhhc1BhZ2luYXRpb24gfHwgISF0aGlzLmNvbmZpZy5wYWdpbmF0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTikgcHJpdmF0ZSByZWFkb25seSB0YWJsZURhdGFSZXNvbHZlcjogUWRUYWJsZURhdGFSZXNvbHZlcjxUPixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHB1c2hFdmVudHNTZXJ2aWNlOiBRZFB1c2hFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFibGVTdG9yZVNlcnZpY2U6IFFkVGFibGVTdG9yZVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNvbmRhcnlBY3Rpb25zU2VydmljZTogUWRUYWJsZVNlY29uZGFyeUFjdGlvbnNTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm93U2VsZWN0aW9uU2VydmljZTogUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVN0YXRlU2VydmljZTogUWRUYWJsZUVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2l2ZVJvd1NlcnZpY2U6IFFkVGFibGVSZXNwb25zaXZlUm93U2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGxpbmdXaWR0aFNlcnZpY2U6IFFkVGFibGVGaWxsaW5nV2lkdGhTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludFNlcnZpY2U6IFFkQnJlYWtwb2ludFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlclNlcnZpY2U6IFFkVGFibGVSZXNvbHZlclNlcnZpY2U8VD5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UudGFibGVJZCA9IHRoaXMuY29uZmlnLnVpZCB8fCB1dWlkKCk7XG5cbiAgICB0aGlzLnJlc29sdmVyU2VydmljZS5pbml0KHRoaXMuY29uZmlnLnJlZnJlc2hPbkxhbmd1YWdlQ2hhbmdlKTtcblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdFRhYmxlU3RhdGUodGhpcy5fZGF0YSwgdGhpcy5oYXNSZXNvbHZlciwgdGhpcy5fY29ubmVjdG9ycyk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXR1cFNvcnQodGhpcy5jb25maWcuY29sdW1ucyk7XG5cbiAgICB0aGlzLmRhdGEkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZURhdGFFbnRyaWVzJCgpIGFzIE9ic2VydmFibGU8UWRUYWJsZURhdGE8VD4+O1xuXG4gICAgdGhpcy5tYXBDb2x1bW5GaWxsc1dpZHRoKCk7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZygpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzcG9uc2l2ZVJvd1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVGaWxsaW5nV2lkdGhTZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplRW1wdHlTdGF0ZVNlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVSb3dTZWxlY3Rpb25TZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQdXNoRXZlbnRzU2VydmljZSgpO1xuICAgIHRoaXMuaW5pdFJlZnJlc2goKTtcblxuICAgIHRoaXMudGFibGUkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZSQoKTtcbiAgICB0aGlzLmhhc0RhdGEkID0gdGhpcy50YWJsZSQucGlwZShtYXAoc3RhdGUgPT4gKHN0YXRlPy5kYXRhPy5sZW5ndGggPz8gMCkgIT09IDApKTtcbiAgICB0aGlzLmhhc0VtcHR5U3RhdGVWaWV3JCA9IHRoaXMuaGFzRGF0YSQucGlwZShcbiAgICAgIG1hcChoYXNEYXRhID0+ICFoYXNEYXRhICYmICEhdGhpcy5jb25maWcuZW1wdHlTdGF0ZVZpZXcgJiYgIXRoaXMuY29uZmlnLmVtcHR5U3RhdGVWaWV3LmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snZGF0YSddICYmXG4gICAgICAhY2hhbmdlc1snZGF0YSddLmZpcnN0Q2hhbmdlICYmXG4gICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydkYXRhJ10ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnVwZGF0ZVRhYmxlU3RhdGVEYXRhKHRoaXMuX2RhdGEpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ2NvbmZpZyddICYmXG4gICAgICAhY2hhbmdlc1snY29uZmlnJ10uZmlyc3RDaGFuZ2UgJiZcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2NvbmZpZyddLnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlVGFibGVDb25maWcoKTtcbiAgICAgIHRoaXMudXBkYXRlRmlsbGluZ1dpZHRoU2VydmljZVRhYmxlQ29uZmlnKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5yZXNldENvbm5lY3RvclN0YXRlcygpO1xuICAgIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS5kZXN0cm95KCk7XG5cbiAgICB0aGlzLl9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZUFjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnVpZCB8fCB0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuZGVsZXRlVGFibGVTdGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJDb25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlRGF0YVJlc29sdmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBxZENvbm5lY3RUb0ZpbHRlciBvbmx5IHdvcmtzIHdpdGggYSByZXNvbHZlci4gUGxlYXNlIGluamVjdCB0aGUgcmVzb2x2ZXIgdXNpbmcgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTi4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29ubmVjdG9ycy5wdXNoKHsgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZS5BV0FJVElORyB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZyb21Db25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nLCBDb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29ubmVjdG9yU3RhdGUgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lKSk7XG4gICAgaWYgKGNvbm5lY3RvclN0YXRlID09PSBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQpIHtcbiAgICAgIHRoaXMucGFnaW5hdG9yPy5uYXZpZ2F0ZVRvUGFnZShRZFBhZ2luYXRvckRpcmVjdGlvbi5GaXJzdFBhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuY29ubmVjdChjb25uZWN0b3JOYW1lLCBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQsIENvbm5lY3RvckNyaXRlcmlhKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2l2ZVJvd1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50U2VydmljZS5nZXRNYXRjaGluZ0JyZWFrcG9pbnQoKS5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmN1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVzcG9uc2l2ZVJvd1NlcnZpY2VUYWJsZUNvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRmlsbGluZ1dpZHRoU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGxpbmdXaWR0aFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWxsaW5nV2lkdGhTZXJ2aWNlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLnVwZGF0ZVRhYmxlQ29uZmlnKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVtcHR5U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlTdGF0ZVNlcnZpY2UuaTE4bnMgPSB0aGlzLmNvbmZpZy5pMThucztcblxuICAgIHRoaXMuX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5lbXB0eVN0YXRlU2VydmljZS5lbXB0eVN0YXRlQWN0aW9uJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuZW1wdHlTdGF0ZUFjdGlvbk91dHB1dC5lbWl0KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUm93U2VsZWN0aW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkUm93cyQuc3Vic2NyaWJlKHNlbGVjdGVkUm93cyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93c091dHB1dC5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgICB0aGlzLmNvbmZpZy5zZWxlY3Rpb24/LmhhbmRsZXI/LihzZWxlY3RlZFJvd3MpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25zU2VydmljZS5jb25maWdzID0gdGhpcy5jb25maWcuc2Vjb25kYXJ5QWN0aW9ucyA/PyBbXTtcblxuICAgIHRoaXMuX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAucmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpXG4gICAgICAuc3Vic2NyaWJlKHJlY2VudEFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghcmVjZW50QWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25PdXRwdXQuZW1pdChyZWNlbnRBY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlnLnNlY29uZGFyeUFjdGlvbnM/LmZpbmQoYSA9PiBhLnR5cGUgPT09IHJlY2VudEFjdGlvbi50eXBlKTtcbiAgICAgICAgaWYgKCFhY3Rpb24/LmhhbmRsZXIpXG4gICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gTm8gaGFuZGxlciBkZWZpbmVkIGZvciBzZWNvbmRhcnkgYWN0aW9uOicsIHJlY2VudEFjdGlvbi50eXBlKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhY3Rpb24uaGFuZGxlcihyZWNlbnRBY3Rpb24pO1xuICAgICAgICBpZiAoYWN0aW9uLnJlZnJlc2g/LmlzRW5hYmxlZCkgdGhpcy5wcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQsIGFjdGlvbi5yZWZyZXNoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUHVzaEV2ZW50c1NlcnZpY2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5jb25maWcudWlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnUUQtVUkgfCBRZFRhYmxlIC0gQSB1aWQgaGFzIHRvIGJlIGRlZmluZWQgd2hlbiByZWZyZXNoT25QdXNoRXZlbnQgaXMgZW5hYmxlZC4gJyArXG4gICAgICAgICAgJ1RoZSB0YWJsZSB1aWQgaGFzIHRvIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBzZXJ2ZXIgc2lkZSBldmVudC4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnB1c2hFdmVudHNTZXJ2aWNlLmlzQ29ubmVjdGVkT3JDb25uZWN0aW5nKCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBZb3UgaGF2ZSB0byBjb25uZWN0IHRoZSBRZFB1c2hFdmVudHNTZXJ2aWNlIG9uIHlvdXIgb3duICcgK1xuICAgICAgICAgICdpZiB5b3UgZW5hYmxlIHRoZSByZWZyZXNoT25QdXNoRXZlbnQgZmxhZyBpbiB0aGUgdGFibGUuJ1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3B1c2hFdmVudHNTdWJzY3JpcHRpb24gPSB0aGlzLnB1c2hFdmVudHNTZXJ2aWNlXG4gICAgICAub2JzZXJ2ZSgnUkVTT1VSQ0VfVVBEQVRFRCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKG1lc3NhZ2VFdmVudCA9PiBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKS5wYXRoID09PSB0aGlzLmNvbmZpZy51aWQpLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvciwgc3RyZWFtKSA9PiBzdHJlYW0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudHJpZ2dlclJlZnJlc2goKSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NTZWNvbmRhcnlBY3Rpb25SZWZyZXNoKHJlc3VsdDogUWRUYWJsZUFjdGlvblJlc3VsdCwgcmVmcmVzaENvbmZpZzogUWRUYWJsZVJlZnJlc2hDb25maWcpOiB2b2lkIHtcbiAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmVzdWx0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHN1Y2Nlc3MgPT4gc3VjY2VzcyAmJiB0aGlzLnRyaWdnZXJSZWZyZXNoKHJlZnJlc2hDb25maWcucGFnZSkpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50cmlnZ2VyUmVmcmVzaChyZWZyZXNoQ29uZmlnLnBhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWZyZXNoU3Vic2NyaXB0aW9uID0gdGhpcy5jb25maWcucmVmcmVzaD8uc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMudHJpZ2dlclJlZnJlc2godmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlclJlZnJlc2gocGFnZUluZGV4PzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlclNlcnZpY2UucmVmcmVzaChwYWdlSW5kZXggIT09IHVuZGVmaW5lZCA/IHsgcGFnZUluZGV4IH0gOiB7fSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ29uZmlnKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcuaTE4bnMpIHtcbiAgICAgIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gTm8gdHJhbnNsYXRpb25zIGF2YWlsYWJsZSBmb3IgdGhlIHNlY29uZGFyeUFjdGlvbnMuJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDYW4gYmUgZGVsZXRlZCB3aGVuIHRoZSBwcm9wZXJ0eSBcIm1haW5Db2x1bW5Ob3RGaWxsaW5nV2lkdGhcIiBpcyBkcm9wcGVkLlxuICAgKlxuICAgKiAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwcml2YXRlIG1hcENvbHVtbkZpbGxzV2lkdGgoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5tYWluQ29sdW1uTm90RmlsbGluZ1dpZHRoKSByZXR1cm47XG5cbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnUUQtVUkgfCBRZFRhYmxlIC0gVGhlIGNvbmZpZyBrZXkgXCJtYWluQ29sdW1uTm90RmlsbGluZ1dpZHRoXCIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBcIndoaWNoQ29sdW1uRmlsbHNXaWR0aFwiIGluc3RlYWQuJ1xuICAgICk7XG5cbiAgICBpZiAodGhpcy5jb25maWcud2hpY2hDb2x1bW5GaWxsc1dpZHRoKSByZXR1cm47XG5cbiAgICB0aGlzLmNvbmZpZy53aGljaENvbHVtbkZpbGxzV2lkdGggPSAnbm9uZSc7XG4gIH1cbn1cbiIsIjx0YWJsZSBbY2xhc3NdPVwiJ3FkLXRhYmxlX190YWJsZSdcIj5cbiAgPHRyIHFkLXRhYmxlLWhlYWQgW2NvbmZpZ109XCJjb25maWdcIiBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiPjwvdHI+XG4gIDx0Ym9keSBxZC10YWJsZS1ib2R5IFtjb25maWddPVwiY29uZmlnXCIgW2RhdGFdPVwiZGF0YSQgfCBhc3luY1wiIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCI+PC90Ym9keT5cbjwvdGFibGU+XG5cbjxxZC10YWJsZS1wYWdpbmF0b3IgW2NvbmZpZ109XCJjb25maWdcIiBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiICpuZ0lmPVwiaGFzUGFnaW5hdGlvblwiPjwvcWQtdGFibGUtcGFnaW5hdG9yPlxuPHFkLXRhYmxlLWVtcHR5LXN0YXRlICpuZ0lmPVwiaGFzRW1wdHlTdGF0ZVZpZXckIHwgYXN5bmNcIiBbY29uZmlnXT1cImNvbmZpZy5lbXB0eVN0YXRlVmlld1wiPjwvcWQtdGFibGUtZW1wdHktc3RhdGU+XG4iXX0=
485
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0Ms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MkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLGtDQUFrQztxQkFDbkMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsaUNBQWlDLEVBQUUsa0NBQWtDO3dCQUNyRSxpQ0FBaUMsRUFBRSxrQ0FBa0M7d0JBQ3JFLG9CQUFvQixFQUFFLHdDQUF3Qzt3QkFDOUQsNENBQTRDLEVBQUUsTUFBTTtxQkFDckQ7OzBCQXFIRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjs7MEJBQy9DLFFBQVE7a1dBM0ZGLE1BQU07c0JBQWQsS0FBSztnQkF3QkYsSUFBSTtzQkFEUCxLQUFLO2dCQVNpQixNQUFNO3NCQUE1QixLQUFLO3VCQUFDLGNBQWM7Z0JBUVgscUJBQXFCO3NCQUE5QixNQUFNO2dCQVFHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRStCLFNBQVM7c0JBQTlDLFNBQVM7dUJBQUMseUJBQXlCO2dCQUVFLFVBQVU7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcblxuaW1wb3J0IHsgUWRCcmVha3BvaW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvYnJlYWtwb2ludC5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVFbXB0eVN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRmlsbGluZ1dpZHRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmlsbGluZy13aWR0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Jlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVJlc3BvbnNpdmVSb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yZXNwb25zaXZlLXJvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVSb3dTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yb3ctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRUYWJsZVNlY29uZGFyeUFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zZWNvbmRhcnktYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFFkVGFibGVTdG9yZVNlbGVjdG9yU2VydmljZSB9IGZyb20gJy4vc3RvcmUvdGFibGUtc3RvcmUtc2VsZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yZS90YWJsZS1zdG9yZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUWRUYWJsZURhdGFSZXNvbHZlciB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlcic7XG5pbXBvcnQgeyBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1kYXRhLXJlc29sdmVyLnRva2VuJztcblxuaW1wb3J0IHsgUWRUYWJsZUNvbmZpZywgUWRUYWJsZUZpbGxpbmdDb2x1bW4gfSBmcm9tICcuL21vZGVsL3RhYmxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZURhdGEsIFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24gfSBmcm9tICcuL21vZGVsL3RhYmxlLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVTZWxlY3RlZFJvd3MgfSBmcm9tICcuL21vZGVsL3RhYmxlLXJvdy1zZWxlY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVBY3Rpb25SZXN1bHQsIFFkVGFibGVSZWZyZXNoQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1jb25maWctYWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUYWJsZUNvbm5lY3RvciwgUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhLCBRZFRhYmxlU3RhdGUgfSBmcm9tICcuL21vZGVsL3RhYmxlLXN0b3JlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlQ29ubmVjdG9yU3RhdGUgfSBmcm9tICcuL21vZGVsL2Nvbm5lY3RvcnMtc3RhdGUuZW51bSc7XG5pbXBvcnQgeyBRZFBhZ2luYXRvckRpcmVjdGlvbiB9IGZyb20gJy4vbW9kZWwvcGFnaW5hdG9yLWRpcmVjdGlvbi5lbnVtJztcbmltcG9ydCB7IFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRvci90YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEV2ZW50TmFtZSwgUWRQdXNoRXZlbnRzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVzaC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9leHRlcm5hbC1hY3Rpb24tcmVzdWx0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFFkVGFibGVDb21wb25lbnQgaXMgYSByZXNwb25zaXZlIGFuZCBoaWdobHkgY29uZmlndXJhYmxlIHRhYmxlIGNvbXBvbmVudCBkZXNpZ25lZCBmb3IgZWZmZWN0aXZlIGRhdGEgZGlzcGxheSBhbmQgdXNlciBpbnRlcmFjdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHBhZ2luYXRpb24sIHNvcnRpbmcsIGFjdGlvbnMsIHNlbGVjdGlvbnMsIGFuZCBjdXN0b21pemFibGUgY29sdW1ucy5cbiAqXG4gKiAjIyMjICoqRmVhdHVyZXMqKlxuICogLSAqKlJXRCBSZWFkeSoqOiBBdXRvbWF0aWNhbGx5IGFkYXB0cyB0byB2YXJpb3VzIHNjcmVlbiBzaXplcy5cbiAqIC0gKipDdXN0b20gQ29sdW1ucyoqOiBEZWZpbmUgY29udGVudCB0eXBlcyBsaWtlIHRleHQsIGRhdGUsIGNoaXAsIG9yIGljb24uXG4gKiAtICoqUGFnaW5hdGlvbiAmIFNvcnRpbmcqKjogU3VwcG9ydHMgZGF0YSBwYWdpbmF0aW9uIGFuZCBjb2x1bW4gc29ydGluZy5cbiAqIC0gKipSb3cgU2VsZWN0aW9ucyoqOiBTaW5nbGUgb3IgbXVsdGlwbGUgcm93IHNlbGVjdGlvbi5cbiAqIC0gKipBY3Rpb25zKio6IFByaW1hcnkgYW5kIHNlY29uZGFyeSByb3cgYWN0aW9ucyB3aXRoIHJlZnJlc2ggc3VwcG9ydC5cbiAqIC0gKipJbnRlcm5hdGlvbmFsaXphdGlvbiAoaTE4bnMpKio6IExvY2FsaXplIGNvbHVtbiBoZWFkZXJzIGFuZCBzcGVjaWZpYyBjb250ZW50IHR5cGVzIChlLmcuLCB0ZXh0LCBjaGlwKS5cbiAqIC0gKipTZWN0aW9uIFRvb2xiYXIgQ29tbXVuaWNhdGlvbioqOiBDb21tdW5pY2F0ZSB3aXRoIHRoZSBRTFMgZm9yIHNlYXJjaCBhbmQgZmlsdGVyaW5nLlxuICpcbiAqICMjIyMgKipCYXNpYyBVc2FnZSoqXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBDb2x1bW5EZWZpbml0aW9uID0gJ25hbWUnIHwgJ2FnZScgfCAnYWN0aXZlJztcbiAqXG4gKiBjb25maWc6IFFkVGFibGVDb25maWc8Q29sdW1uRGVmaW5pdGlvbj4gPSB7XG4gKiAgIGNvbHVtbnM6IFtcbiAqICAgICB7IGNvbHVtbjogJ25hbWUnLCB0eXBlOiAndGV4dCcgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJyB9LFxuICogICAgIHsgY29sdW1uOiAnYWN0aXZlJywgdHlwZTogJ2Jvb2xlYW4nIH1cbiAqICAgXVxuICogfTtcbiAqXG4gKiBkYXRhOiBRZFRhYmxlRGF0YTxDb2x1bW5EZWZpbml0aW9uPiA9IFtcbiAqICAgeyBuYW1lOiAnQWxpY2UnLCBhZ2U6IDMwLCBhY3RpdmU6IHRydWUgfSxcbiAqICAgeyBuYW1lOiAnQm9iJywgYWdlOiAyNSwgYWN0aXZlOiBmYWxzZSB9XG4gKiBdO1xuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPHFkLXRhYmxlIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGFdPVwiZGF0YVwiPjwvcWQtdGFibGU+XG4gKiBgYGBcbiAqXG4gKiAjIyMjICoqUmVzb2x2ZXIsIFBhZ2luYXRpb24sIGFuZCBTb3J0aW5nKipcbiAqXG4gKiBMb2FkIGRhdGEgZHluYW1pY2FsbHksIG1hbmFnZSBwYWdpbmF0aW9uLCBhbmQgZW5hYmxlIGNvbHVtbiBzb3J0aW5nIHVzaW5nIFF1YWRyZWwncyBpbnRlcmZhY2UgYW5kIGluamVjdGlvbiB0b2tlbi5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgTXlUYWJsZVJlc29sdmVyIGltcGxlbWVudHMgUWRUYWJsZURhdGFSZXNvbHZlcjxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgIHJlc29sdmUoY3JpdGVyaWE6IFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wczxDb2x1bW5EZWZpbml0aW9uPik6IE9ic2VydmFibGU8UWRUYWJsZVJlc29sdmVkRGF0YTxDb2x1bW5EZWZpbml0aW9uPiB7XG4gKiAgICAgIC8vIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ215LXRhYmxlJyxcbiAqICAgdGVtcGxhdGU6ICc8cWQtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLXRhYmxlPicsXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgICB7XG4gKiAgICAgICAgICBwcm92aWRlOiBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOLFxuICogICAgICAgICAgdXNlQ2xhc3M6IE15VGFibGVSZXNvbHZlclxuICogICAgICB9XG4gKiAgIF1cbiAqIH0pXG4gKiBjbGFzcyBNeVRhYmxlQ29tcG9uZW50IHtcbiAqIGNvbmZpZzogUWRUYWJsZUNvbmZpZzxDb2x1bW5EZWZpbml0aW9uPiA9IHtcbiAqICAgY29sdW1uczogW1xuICogICAgIHsgY29sdW1uOiAnbmFtZScsIHR5cGU6ICd0ZXh0Jywgc29ydDogeyBkaXJlY3Rpb246ICdhc2MnIH0gfSxcbiAqICAgICB7IGNvbHVtbjogJ2FnZScsIHR5cGU6ICdpbnRlZ2VyJywgc29ydDoge30gfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF0sXG4gKiAgIHBhZ2luYXRpb246IHtcbiAqICAgICBwYWdlU2l6ZXM6IFsxMCwgMjAsIDUwXSxcbiAqICAgICBwYWdlU2l6ZURlZmF1bHQ6IDEwXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqXG4gKiAjIyMjICoqU2VsZWN0aW9ucyBhbmQgQWN0aW9ucyoqXG4gKlxuICogQ29uZmlndXJlIHJvdyBzZWxlY3Rpb25zIGFuZCB0cmlnZ2VyIHByaW1hcnkgb3Igc2Vjb25kYXJ5IGFjdGlvbnMuXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICogICBjb2x1bW5zOiBbXG4gKiAgICAgeyBjb2x1bW46ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXG4gKiAgICAgeyBjb2x1bW46ICdhZ2UnLCB0eXBlOiAnaW50ZWdlcicgfSxcbiAqICAgICB7IGNvbHVtbjogJ2FjdGl2ZScsIHR5cGU6ICdib29sZWFuJyB9XG4gKiAgIF0sXG4gKiAgIHNlbGVjdGlvbjoge1xuICogICAgIHR5cGU6ICdtdWx0aVNlbGVjdCcsXG4gKiAgICAgaGFuZGxlcjogKHNlbGVjdGVkUm93cykgPT4gc2VsZWN0KHNlbGVjdGVkUm93cylcbiAqICAgfSxcbiAqICAgc2Vjb25kYXJ5QWN0aW9uczogW1xuICogICAgIHtcbiAqICAgICAgIHR5cGU6ICdlZGl0JyxcbiAqICAgICAgIGhhbmRsZXI6ICh7IHJvd0RhdGEgfSkgPT4gZWRpdChyb3dEYXRhKVxuICogICAgIH0sXG4gKiAgICAge1xuICogICAgICAgdHlwZTogJ2RlbGV0ZScsXG4gKiAgICAgICBpc0Rpc2FibGVkOiAocm93KSA9PiAhcm93LmFjdGl2ZSxcbiAqICAgICAgIGhhbmRsZXI6ICh7IHJvd0RhdGEgfSkgPT4gZGVsZXRlKHJvd0RhdGEpXG4gKiAgICAgfVxuICogICBdXG4gKiB9O1xuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29tbW9uLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUWRUYWJsZVN0b3JlU2VydmljZSxcbiAgICBRZFRhYmxlU3RvcmVTZWxlY3RvclNlcnZpY2UsXG4gICAgUWRUYWJsZUVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIFFkVGFibGVTZWNvbmRhcnlBY3Rpb25zU2VydmljZSxcbiAgICBRZFRhYmxlUmVzcG9uc2l2ZVJvd1NlcnZpY2UsXG4gICAgUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2UsXG4gICAgUWRUYWJsZUZpbGxpbmdXaWR0aFNlcnZpY2UsXG4gICAgUWRUYWJsZVJlc29sdmVyU2VydmljZSxcbiAgICBRZFRhYmxlRXh0ZXJuYWxBY3Rpb25SZXN1bHRTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5xZC10YWJsZV0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5tYWluLWNvbHVtbi1maWxscy13aWR0aF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcIm1haW5cIicsXG4gICAgJ1tjbGFzcy5sYXN0LWNvbHVtbi1maWxscy13aWR0aF0nOiAnd2hpY2hDb2x1bW5GaWxsc1dpZHRoID09PSBcImxhc3RcIicsXG4gICAgJ1tjbGFzcy5oYXJtb25pemVkXSc6ICd3aGljaENvbHVtbkZpbGxzV2lkdGggPT09IFwiaGFybW9uaXplZFwiJyxcbiAgICAnW2F0dHIuZGF0YS1xZC1uby1ob3Jpem9udGFsLXBhZGRpbmctc21hbGxdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgUWRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvZiB0aGUgdGFibGUuIFRoZSBnZW5lcmljIHR5cGUgc3BlY2lmaWVzIHRoZSBjb2x1bW4gZGVmaW5pdGlvbi4gPGJyIC8+XG4gICAqXG4gICAqICoqVXNhZ2U6KipcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogdHlwZSBDb2x1bW5EZWZpbml0aW9uID0gJ2FydGljbGUnIHwgJ21hc3MnIHwgJ2RvY3VtZW50cyc7XG4gICAqIGNvbnN0IHRhYmxlQ29uZmlnOiBRZFRhYmxlQ29uZmlnPENvbHVtbkRlZmluaXRpb24+ID0ge1xuICAgKiAgIGNvbHVtbnM6IFtcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnYXJ0aWNsZScsXG4gICAqICAgICAgIHR5cGU6ICd0ZXh0J1xuICAgKiAgICAgfSxcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnbWFzcycsXG4gICAqICAgICAgIHR5cGU6ICdpbnRlZ2VyJ1xuICAgKiAgICAgfSxcbiAgICogICAgIHtcbiAgICogICAgICAgY29sdW1uOiAnZG9jdW1lbnRzJyxcbiAgICogICAgICAgdHlwZTogJ2Jvb2xlYW4nXG4gICAqICAgICB9XG4gICAqICAgXVxuICAgKiB9XG4gICAqL1xuICBASW5wdXQoKSBjb25maWchOiBRZFRhYmxlQ29uZmlnPFQ+O1xuXG4gIC8qKlxuICAgKiBPbmUgd2F5IHRvIGZpbGwgdGhlIHRhYmxlIHdpdGggZGF0YS4gQW5vdGhlciBvcHRpb24gaXMgdG8gdXNlIGEgcmVzb2x2ZXIsIHdoaWNoIGlzIG5lZWRlZCBmb3IgcGFnaW5hdGlvbiwgZm9yIGluc3RhbmNlLiA8YnIgLz5cbiAgICogVGhlIGdlbmVyaWMgdHlwZSBpcyB1c2VkIGZvciB0aGUgY29sdW1uIGRlZmluaXRpb24uIDxiciAvPlxuICAgKlxuICAgKiAqKlVzYWdlOioqXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHR5cGUgQ29sdW1uRGVmaW5pdGlvbiA9ICdhcnRpY2xlJyB8ICdtYXNzJyB8ICdkb2N1bWVudHMnO1xuICAgKiBjb25zdCB0YWJsZURhdGE6IFFkVGFibGVEYXRhPENvbHVtbkRlZmluaXRpb24+ID0gW1xuICAgKiAgIHtcbiAgICogICAgIGFydGljbGU6ICdhcnRpY2xlIG9uZScsXG4gICAqICAgICBtYXNzOiAxMCxcbiAgICogICAgIGRvY3VtZW50czogdHJ1ZVxuICAgKiAgIH0sXG4gICAqICAge1xuICAgKiAgICAgYXJ0aWNsZTogJ2FydGljbGUgdHdvJyxcbiAgICogICAgIG1hc3M6IDIwLFxuICAgKiAgICAgZG9jdW1lbnRzOiBmYWxzZVxuICAgKiAgIH1cbiAgICogXVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogUWRUYWJsZURhdGE8VD4pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHN0YXRpYyB0ZXN0IElEIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cyBjYW4gYmUgc2V0LiA8YnIgLz5cbiAgICogVGhlIHZhbHVlIGZvciB0aGUgSFRNTCBhdHRyaWJ1dGUgW2RhdGEtdGVzdC1pZF0uXG4gICAqL1xuICBASW5wdXQoJ2RhdGEtdGVzdC1pZCcpIHRlc3RJZCA9ICd0YWJsZSc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gYW4gc2Vjb25kYXJ5IGFjdGlvbiBpcyB0cmlnZ2VyZWQuIFRoZSByZXR1cm4gdmFsdWUgY29udGFpbnMgdGhlIHJvdy1zcGVjaWZpYyBkYXRhLiA8YnIgLz5cbiAgICogYHNlY29uZGFyeUFjdGlvbnNgIG11c3QgYmUgZGVmaW5lZCBpbiB0aGUgdGFibGUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogKiBAcmV0dXJucyBFdmVudEVtaXR0ZXIgd2l0aCBnZW5lcmljIHR5cGU6IFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb25cbiAgICovXG4gIEBPdXRwdXQoKSBzZWNvbmRhcnlBY3Rpb25PdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb248VD4+KCk7XG5cbiAgLyoqXG4gICAqIE91dHB1dHMgYW4gZXZlbnQgd2hlbiBvbmUgb3IgbW9yZSBsaW5lcyBhcmUgc2VsZWN0ZWQuIFRoZSByZXR1cm4gdmFsdWUgY29udGFpbnMgdGhlIHJvdy1zcGVjaWZpYyBkYXRhLiA8YnIgLz5cbiAgICogYG11bHRpU2VsZWN0YCBvciBgc2luZ2xlU2VsZWN0YCBtdXN0IGJlIGFjdGl2YXRlZCBpbiB0aGUgdGFibGUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogKiBAcmV0dXJucyBFdmVudEVtaXR0ZXIgd2l0aCBnZW5lcmljIHR5cGU6IFFkVGFibGVTZWxlY3RlZFJvd3NcbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3NPdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFFkVGFibGVTZWxlY3RlZFJvd3M8VD4+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgbm8gY29udGVudHMgYXJlIHByZXNlbnQuIDxiciAvPlxuICAgKiBUaGUgYGVtcHR5U3RhdGVWaWV3YCBtdXN0IGJlIGVuYWJsZWQgaW4gdGhlIHRhYmxlIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBAT3V0cHV0KCkgZW1wdHlTdGF0ZUFjdGlvbk91dHB1dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQpIHBhZ2luYXRvcj86IFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQ8VD47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdC1pZCcpIGdldCBkYXRhVGVzdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGVzdElkICsgJy0nICsgdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZUlkO1xuICB9XG5cbiAgZGF0YSQhOiBPYnNlcnZhYmxlPFFkVGFibGVEYXRhPFQ+IHwgdW5kZWZpbmVkPjtcbiAgaGFzRGF0YSQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNFbXB0eVN0YXRlVmlldyQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgdGFibGUkITogT2JzZXJ2YWJsZTxRZFRhYmxlU3RhdGU8c3RyaW5nPiB8IHVuZGVmaW5lZD47XG4gIHByaXZhdGUgX2RhdGE6IFFkVGFibGVEYXRhPFQ+ID0gW107XG4gIHByaXZhdGUgX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9icmVha3BvaW50U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9yZWZyZXNoU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9jb25uZWN0b3JzOiBRZFRhYmxlQ29ubmVjdG9yW10gPSBbXTtcblxuICBnZXQgd2hpY2hDb2x1bW5GaWxsc1dpZHRoKCk6IFFkVGFibGVGaWxsaW5nQ29sdW1uIHtcbiAgICByZXR1cm4gdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLndoaWNoQ29sdW1uRmlsbHNXaWR0aDtcbiAgfVxuXG4gIGdldCBoYXNSZXNvbHZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYmxlRGF0YVJlc29sdmVyO1xuICB9XG5cbiAgZ2V0IGhhc1BhZ2luYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhhc1BhZ2luYXRpb24gfHwgISF0aGlzLmNvbmZpZy5wYWdpbmF0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTikgcHJpdmF0ZSByZWFkb25seSB0YWJsZURhdGFSZXNvbHZlcjogUWRUYWJsZURhdGFSZXNvbHZlcjxUPixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHB1c2hFdmVudHNTZXJ2aWNlOiBRZFB1c2hFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFibGVTdG9yZVNlcnZpY2U6IFFkVGFibGVTdG9yZVNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNvbmRhcnlBY3Rpb25zU2VydmljZTogUWRUYWJsZVNlY29uZGFyeUFjdGlvbnNTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm93U2VsZWN0aW9uU2VydmljZTogUWRUYWJsZVJvd1NlbGVjdGlvblNlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVN0YXRlU2VydmljZTogUWRUYWJsZUVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2l2ZVJvd1NlcnZpY2U6IFFkVGFibGVSZXNwb25zaXZlUm93U2VydmljZTxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGxpbmdXaWR0aFNlcnZpY2U6IFFkVGFibGVGaWxsaW5nV2lkdGhTZXJ2aWNlPFQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludFNlcnZpY2U6IFFkQnJlYWtwb2ludFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlclNlcnZpY2U6IFFkVGFibGVSZXNvbHZlclNlcnZpY2U8VD5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UudGFibGVJZCA9IHRoaXMuY29uZmlnLnVpZCB8fCB1dWlkKCk7XG5cbiAgICB0aGlzLnJlc29sdmVyU2VydmljZS5pbml0KHRoaXMuY29uZmlnLnJlZnJlc2hPbkxhbmd1YWdlQ2hhbmdlKTtcblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuaW5pdFRhYmxlU3RhdGUodGhpcy5fZGF0YSwgdGhpcy5oYXNSZXNvbHZlciwgdGhpcy5fY29ubmVjdG9ycyk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5zZXR1cFNvcnQodGhpcy5jb25maWcuY29sdW1ucyk7XG5cbiAgICB0aGlzLmRhdGEkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZURhdGFFbnRyaWVzJCgpIGFzIE9ic2VydmFibGU8UWRUYWJsZURhdGE8VD4+O1xuXG4gICAgdGhpcy5tYXBDb2x1bW5GaWxsc1dpZHRoKCk7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZygpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUmVzcG9uc2l2ZVJvd1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVGaWxsaW5nV2lkdGhTZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplRW1wdHlTdGF0ZVNlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVSb3dTZWxlY3Rpb25TZXJ2aWNlKCk7XG4gICAgdGhpcy5pbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTtcbiAgICB0aGlzLmluaXRpYWxpemVQdXNoRXZlbnRzU2VydmljZSgpO1xuICAgIHRoaXMuaW5pdFJlZnJlc2goKTtcblxuICAgIHRoaXMudGFibGUkID0gdGhpcy50YWJsZVN0b3JlU2VydmljZS50YWJsZSQoKTtcbiAgICB0aGlzLmhhc0RhdGEkID0gdGhpcy50YWJsZSQucGlwZShtYXAoc3RhdGUgPT4gKHN0YXRlPy5kYXRhPy5sZW5ndGggPz8gMCkgIT09IDApKTtcbiAgICB0aGlzLmhhc0VtcHR5U3RhdGVWaWV3JCA9IHRoaXMuaGFzRGF0YSQucGlwZShcbiAgICAgIG1hcChoYXNEYXRhID0+ICFoYXNEYXRhICYmICEhdGhpcy5jb25maWcuZW1wdHlTdGF0ZVZpZXcgJiYgIXRoaXMuY29uZmlnLmVtcHR5U3RhdGVWaWV3LmRpc2FibGVkKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snZGF0YSddICYmXG4gICAgICAhY2hhbmdlc1snZGF0YSddLmZpcnN0Q2hhbmdlICYmXG4gICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydkYXRhJ10ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnVwZGF0ZVRhYmxlU3RhdGVEYXRhKHRoaXMuX2RhdGEpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ2NvbmZpZyddICYmXG4gICAgICAhY2hhbmdlc1snY29uZmlnJ10uZmlyc3RDaGFuZ2UgJiZcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ2NvbmZpZyddLnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUpXG4gICAgKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlVGFibGVDb25maWcoKTtcbiAgICAgIHRoaXMudXBkYXRlRmlsbGluZ1dpZHRoU2VydmljZVRhYmxlQ29uZmlnKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS51cGRhdGVUYWJsZVN0YXRlUmVjZW50U2Vjb25kYXJ5QWN0aW9uKHVuZGVmaW5lZCk7XG4gICAgdGhpcy50YWJsZVN0b3JlU2VydmljZS5yZXNldENvbm5lY3RvclN0YXRlcygpO1xuICAgIHRoaXMuZmlsbGluZ1dpZHRoU2VydmljZS5kZXN0cm95KCk7XG5cbiAgICB0aGlzLl9yZWNlbnRTZWNvbmRhcnlBY3Rpb25zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3Jvd1NlbGVjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZUFjdGlvblNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYnJlYWtwb2ludFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3JlZnJlc2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnVpZCB8fCB0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuZGVsZXRlVGFibGVTdGF0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJDb25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRhYmxlRGF0YVJlc29sdmVyKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBxZENvbm5lY3RUb0ZpbHRlciBvbmx5IHdvcmtzIHdpdGggYSByZXNvbHZlci4gUGxlYXNlIGluamVjdCB0aGUgcmVzb2x2ZXIgdXNpbmcgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTi4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29ubmVjdG9ycy5wdXNoKHsgY29ubmVjdG9yTmFtZSwgY29ubmVjdG9yU3RhdGU6IFFkVGFibGVDb25uZWN0b3JTdGF0ZS5BV0FJVElORyB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUZyb21Db25uZWN0b3IoY29ubmVjdG9yTmFtZTogc3RyaW5nLCBDb25uZWN0b3JDcml0ZXJpYTogUWRUYWJsZUNvbm5lY3RvckNyaXRlcmlhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29ubmVjdG9yU3RhdGUgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlLnNlbGVjdENvbm5lY3RvclN0YXRlJChjb25uZWN0b3JOYW1lKSk7XG4gICAgaWYgKGNvbm5lY3RvclN0YXRlID09PSBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQpIHtcbiAgICAgIHRoaXMucGFnaW5hdG9yPy5uYXZpZ2F0ZVRvUGFnZShRZFBhZ2luYXRvckRpcmVjdGlvbi5GaXJzdFBhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVTdG9yZVNlcnZpY2UuY29ubmVjdChjb25uZWN0b3JOYW1lLCBRZFRhYmxlQ29ubmVjdG9yU3RhdGUuRVNUQUJMSVNIRUQsIENvbm5lY3RvckNyaXRlcmlhKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJlc3BvbnNpdmVSb3dTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2l2ZVJvd1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50U2VydmljZS5nZXRNYXRjaGluZ0JyZWFrcG9pbnQoKS5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmN1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVzcG9uc2l2ZVJvd1NlcnZpY2VUYWJsZUNvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3BvbnNpdmVSb3dTZXJ2aWNlLmNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRmlsbGluZ1dpZHRoU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGxpbmdXaWR0aFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGaWxsaW5nV2lkdGhTZXJ2aWNlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5maWxsaW5nV2lkdGhTZXJ2aWNlLnVwZGF0ZVRhYmxlQ29uZmlnKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUVtcHR5U3RhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1wdHlTdGF0ZVNlcnZpY2UuaTE4bnMgPSB0aGlzLmNvbmZpZy5pMThucztcblxuICAgIHRoaXMuX2VtcHR5U3RhdGVBY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5lbXB0eVN0YXRlU2VydmljZS5lbXB0eVN0YXRlQWN0aW9uJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuZW1wdHlTdGF0ZUFjdGlvbk91dHB1dC5lbWl0KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUm93U2VsZWN0aW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvblNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLl9yb3dTZWxlY3Rpb25TZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5yb3dTZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdGVkUm93cyQuc3Vic2NyaWJlKHNlbGVjdGVkUm93cyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93c091dHB1dC5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgICB0aGlzLmNvbmZpZy5zZWxlY3Rpb24/LmhhbmRsZXI/LihzZWxlY3RlZFJvd3MpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplU2Vjb25kYXJ5QWN0aW9uc1NlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25zU2VydmljZS5jb25maWdzID0gdGhpcy5jb25maWcuc2Vjb25kYXJ5QWN0aW9ucyA/PyBbXTtcblxuICAgIHRoaXMuX3JlY2VudFNlY29uZGFyeUFjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLnRhYmxlU3RvcmVTZXJ2aWNlXG4gICAgICAucmVjZW50U2Vjb25kYXJ5QWN0aW9uJCgpXG4gICAgICAuc3Vic2NyaWJlKHJlY2VudEFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghcmVjZW50QWN0aW9uKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5zZWNvbmRhcnlBY3Rpb25PdXRwdXQuZW1pdChyZWNlbnRBY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY29uZmlnLnNlY29uZGFyeUFjdGlvbnM/LmZpbmQoYSA9PiBhLnR5cGUgPT09IHJlY2VudEFjdGlvbi50eXBlKTtcbiAgICAgICAgaWYgKCFhY3Rpb24/LmhhbmRsZXIpXG4gICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignUUQtVUkgfCBRZFRhYmxlIC0gTm8gaGFuZGxlciBkZWZpbmVkIGZvciBzZWNvbmRhcnkgYWN0aW9uOicsIHJlY2VudEFjdGlvbi50eXBlKTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhY3Rpb24uaGFuZGxlcihyZWNlbnRBY3Rpb24pO1xuICAgICAgICBpZiAoYWN0aW9uLnJlZnJlc2g/LmlzRW5hYmxlZCkgdGhpcy5wcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQsIGFjdGlvbi5yZWZyZXNoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUHVzaEV2ZW50c1NlcnZpY2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5yZWZyZXNoT25QdXNoRXZlbnQpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5jb25maWcudWlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnUUQtVUkgfCBRZFRhYmxlIC0gQSB1aWQgaGFzIHRvIGJlIGRlZmluZWQgd2hlbiByZWZyZXNoT25QdXNoRXZlbnQgaXMgZW5hYmxlZC4gJyArXG4gICAgICAgICAgJ1RoZSB0YWJsZSB1aWQgaGFzIHRvIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBzZXJ2ZXIgc2lkZSBldmVudC4nXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnB1c2hFdmVudHNTZXJ2aWNlLmlzQ29ubmVjdGVkT3JDb25uZWN0aW5nKCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdRRC1VSSB8IFFkVGFibGUgLSBZb3UgaGF2ZSB0byBjb25uZWN0IHRoZSBRZFB1c2hFdmVudHNTZXJ2aWNlIG9uIHlvdXIgb3duICcgK1xuICAgICAgICAgICdpZiB5b3UgZW5hYmxlIHRoZSByZWZyZXNoT25QdXNoRXZlbnQgZmxhZyBpbiB0aGUgdGFibGUuJ1xuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50cyA9IFsuLi4odGhpcy5jb25maWc/LnJlZnJlc2hpbmdFdmVudHMgfHwgW10pLCAnUkVTT1VSQ0VfVVBEQVRFRCddIGFzIEV2ZW50TmFtZVtdO1xuICAgIGNvbnN0IGNvbWJpbmVkRXZlbnRzJCA9IG1lcmdlKC4uLmV2ZW50cy5tYXAoZXZlbnROYW1lID0+IHRoaXMucHVzaEV2ZW50c1NlcnZpY2Uub2JzZXJ2ZShldmVudE5hbWUpKSk7XG5cbiAgICB0aGlzLl9wdXNoRXZlbnRzU3Vic2NyaXB0aW9uID0gY29tYmluZWRFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKG1lc3NhZ2VFdmVudCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnBhdGguaW5jbHVkZXModGhpcy5jb25maWcudWlkKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlRXZlbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGV2ZW50IHN0cmVhbTonLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzU2Vjb25kYXJ5QWN0aW9uUmVmcmVzaChyZXN1bHQ6IFFkVGFibGVBY3Rpb25SZXN1bHQsIHJlZnJlc2hDb25maWc6IFFkVGFibGVSZWZyZXNoQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgIHJlc3VsdC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzdWNjZXNzID0+IHN1Y2Nlc3MgJiYgdGhpcy50cmlnZ2VyUmVmcmVzaChyZWZyZXNoQ29uZmlnLnBhZ2UpKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudHJpZ2dlclJlZnJlc2gocmVmcmVzaENvbmZpZy5wYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fcmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnJlZnJlc2g/LnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnRyaWdnZXJSZWZyZXNoKHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSZWZyZXNoKHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZXJTZXJ2aWNlLnJlZnJlc2gocGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyB7IHBhZ2VJbmRleCB9IDoge30pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUNvbmZpZygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmkxOG5zKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1FELVVJIHwgUWRUYWJsZSAtIE5vIHRyYW5zbGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBzZWNvbmRhcnlBY3Rpb25zLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2FuIGJlIGRlbGV0ZWQgd2hlbiB0aGUgcHJvcGVydHkgXCJtYWluQ29sdW1uTm90RmlsbGluZ1dpZHRoXCIgaXMgZHJvcHBlZC5cbiAgICpcbiAgICogKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBtYXBDb2x1bW5GaWxsc1dpZHRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcubWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1FELVVJIHwgUWRUYWJsZSAtIFRoZSBjb25maWcga2V5IFwibWFpbkNvbHVtbk5vdEZpbGxpbmdXaWR0aFwiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgXCJ3aGljaENvbHVtbkZpbGxzV2lkdGhcIiBpbnN0ZWFkLidcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLndoaWNoQ29sdW1uRmlsbHNXaWR0aCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb25maWcud2hpY2hDb2x1bW5GaWxsc1dpZHRoID0gJ25vbmUnO1xuICB9XG59XG4iLCI8dGFibGUgW2NsYXNzXT1cIidxZC10YWJsZV9fdGFibGUnXCI+XG4gIDx0ciBxZC10YWJsZS1oZWFkIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIj48L3RyPlxuICA8dGJvZHkgcWQtdGFibGUtYm9keSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cImRhdGEkIHwgYXN5bmNcIiBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiPjwvdGJvZHk+XG48L3RhYmxlPlxuXG48cWQtdGFibGUtcGFnaW5hdG9yIFtjb25maWddPVwiY29uZmlnXCIgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIiAqbmdJZj1cImhhc1BhZ2luYXRpb25cIj48L3FkLXRhYmxlLXBhZ2luYXRvcj5cbjxxZC10YWJsZS1lbXB0eS1zdGF0ZSAqbmdJZj1cImhhc0VtcHR5U3RhdGVWaWV3JCB8IGFzeW5jXCIgW2NvbmZpZ109XCJjb25maWcuZW1wdHlTdGF0ZVZpZXdcIj48L3FkLXRhYmxlLWVtcHR5LXN0YXRlPlxuIl19
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
102
102
  exports: [QdTableComponent, QdTreeComponent]
103
103
  }]
104
104
  }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUk1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5FLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFJekQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixlQUFlLEVBRWYsZ0JBQWdCLEVBT2hCLGtCQUFrQixFQUNsQixlQUFlLEVBR2hCLENBQUM7QUFpQ0YsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLGlCQWZ0Qiw2QkFBNkI7WUFDN0Isb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLHVDQUF1QztZQUN2QyxtQkFBbUI7WUFDbkIsNEJBQTRCO1lBQzVCLG9CQUFvQixhQXpCcEIsWUFBWTtZQUNaLGVBQWUseUJBRWYsY0FBYztZQUNkLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZLGFBZ0JKLGdCQUFnQixFQUFFLGVBQWU7d0dBRWhDLGFBQWEsWUE3QnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO1lBQ2pELGNBQWM7WUFDZCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTs7MkZBa0JILGFBQWE7a0JBL0J6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO3dCQUNqRCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLHVDQUF1Qzt3QkFDdkMsbUJBQW1CO3dCQUNuQiw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgUWRCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBRZENoaXBNb2R1bGUgfSBmcm9tICcuLi9jaGlwcy9jaGlwcy5tb2R1bGUnO1xuaW1wb3J0IHsgUWREYXRhRmFjZXRzTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9kYXRhLWZhY2V0cy9kYXRhLWZhY2V0cy5tb2R1bGUnO1xuaW1wb3J0IHsgUWRJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi9jb3JlL3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgUWRTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFN0YXR1c0luZGljYXRvck1vZHVsZSB9IGZyb20gJy4uL3N0YXR1cy1pbmRpY2F0b3Ivc3RhdHVzLWluZGljYXRvci5tb2R1bGUnO1xuaW1wb3J0IHsgUWRUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vY29yZS90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcblxuaW1wb3J0IHsgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5pbXBvcnQgeyBRZFRhYmxlU3ByaW5nVG9vbHMgfSBmcm9tICcuL2hlbHBlcnMvc3ByaW5nLXRvb2xzJztcbmltcG9ydCB7IFFkVGFibGVEYXRhUmVzb2x2ZXIsIFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wcywgUWRUYWJsZVJlc29sdmVkRGF0YSB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlcic7XG5pbXBvcnQgeyBRZFRhYmxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVGFibGVDaGlwRGF0YVZhbHVlLCBRZFRhYmxlRGF0YSwgUWRUYWJsZVJlY2VudFNlY29uZGFyeUFjdGlvbiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRTb3J0RGlyZWN0aW9uIH0gZnJvbSAnLi9tb2RlbC9zb3J0LWRpcmVjdGlvbi5lbnVtJztcbmltcG9ydCB7IHRhYmxlUmVkdWNlciB9IGZyb20gJy4vc3RvcmUvdGFibGUucmVkdWNlcic7XG5cbmltcG9ydCB7IFFkU2Nyb2xsVG9QYWdpbmF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdpbmF0b3Ivc2Nyb2xsLXRvLXBhZ2luYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFFkVGFibGVCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi9ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktc3RhdGUvdGFibGUtZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVIZWFkQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkL3RhYmxlLWhlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRvci90YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVQYWdpbmF0b3JQYWdlU2l6ZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdG9yL3BhZ2Utc2l6ZS90YWJsZS1wYWdpbmF0b3ItcGFnZS1zaXplLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlUGFnaW5hdG9yUGFnZVNpemVEaXJlY3RpdmUgfSBmcm9tICcuL3BhZ2luYXRvci9wYWdlLXNpemUvdGFibGUtcGFnaW5hdG9yLXBhZ2Utc2l6ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd0FjdGlvbnNTZWNvbmRhcnlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9yb3cvYWN0aW9ucy9zZWNvbmRhcnkvbWVudS90YWJsZS1yb3ctYWN0aW9ucy1zZWNvbmRhcnktbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vcm93L3RhYmxlLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUYWJsZVJvd1NlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcm93L3NlbGVjdGlvbi90YWJsZS1yb3ctc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlU29ydENvbXBvbmVudCB9IGZyb20gJy4vc29ydC90YWJsZS1zb3J0LmNvbXBvbmVudCc7XG5cbi8vIFRPRE86IFJlbW92ZSBhbGwgUWRUcmVlIGNvbXBvbmVudHMgJiBjb25maWdzIGluIHZlcnNpb24gMTkhXG5pbXBvcnQgeyBRZFRyZWVNb2R1bGUgfSBmcm9tICcuLi90cmVlL3RyZWUubW9kdWxlJztcbmltcG9ydCB7IFFkVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3RyZWUvdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUcmVlQ29uZmlnIH0gZnJvbSAnLi4vdHJlZS9tb2RlbC90cmVlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUWRUcmVlRGF0YSB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1kYXRhLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gIFFEX1RBQkxFX0RBVEFfUkVTT0xWRVJfVE9LRU4sXG4gIFFkU29ydERpcmVjdGlvbixcbiAgUWRUYWJsZUNoaXBEYXRhVmFsdWUsXG4gIFFkVGFibGVDb21wb25lbnQsXG4gIFFkVGFibGVDb25maWcsXG4gIFFkVGFibGVEYXRhLFxuICBRZFRhYmxlRGF0YVJlc29sdmVyLFxuICBRZFRhYmxlRGF0YVJlc29sdmVyUHJvcHMsXG4gIFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24sXG4gIFFkVGFibGVSZXNvbHZlZERhdGEsXG4gIFFkVGFibGVTcHJpbmdUb29scyxcbiAgUWRUcmVlQ29tcG9uZW50LFxuICBRZFRyZWVDb25maWcsXG4gIFFkVHJlZURhdGFcbn07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ3FkVWlUYWJsZScsIHRhYmxlUmVkdWNlciksXG4gICAgUWRCdXR0b25Nb2R1bGUsXG4gICAgUWRDaGlwTW9kdWxlLFxuICAgIFFkRGF0YUZhY2V0c01vZHVsZSxcbiAgICBRZEljb25Nb2R1bGUsXG4gICAgUWRQb3BvdmVyTW9kdWxlLFxuICAgIFFkU3RhdHVzSW5kaWNhdG9yTW9kdWxlLFxuICAgIFFkU3Bpbm5lck1vZHVsZSxcbiAgICBRZFRvb2x0aXBNb2R1bGUsXG4gICAgUWRUcmVlTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFFkU2Nyb2xsVG9QYWdpbmF0aW9uRGlyZWN0aXZlLFxuICAgIFFkVGFibGVCb2R5Q29tcG9uZW50LFxuICAgIFFkVGFibGVDb21wb25lbnQsXG4gICAgUWRUYWJsZUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgUWRUYWJsZUhlYWRDb21wb25lbnQsXG4gICAgUWRUYWJsZVBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBRZFRhYmxlUGFnaW5hdG9yUGFnZVNpemVDb21wb25lbnQsXG4gICAgUWRUYWJsZVBhZ2luYXRvclBhZ2VTaXplRGlyZWN0aXZlLFxuICAgIFFkVGFibGVSb3dBY3Rpb25zU2Vjb25kYXJ5TWVudUNvbXBvbmVudCxcbiAgICBRZFRhYmxlUm93Q29tcG9uZW50LFxuICAgIFFkVGFibGVSb3dTZWxlY3Rpb25Db21wb25lbnQsXG4gICAgUWRUYWJsZVNvcnRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1FkVGFibGVDb21wb25lbnQsIFFkVHJlZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUWRUYWJsZU1vZHVsZSB7fVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL3RhYmxlL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUk1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5FLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFJekQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixlQUFlLEVBRWYsZ0JBQWdCLEVBUWhCLGtCQUFrQixFQUNsQixlQUFlLEVBR2hCLENBQUM7QUFpQ0YsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLGlCQWZ0Qiw2QkFBNkI7WUFDN0Isb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQiwwQkFBMEI7WUFDMUIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLHVDQUF1QztZQUN2QyxtQkFBbUI7WUFDbkIsNEJBQTRCO1lBQzVCLG9CQUFvQixhQXpCcEIsWUFBWTtZQUNaLGVBQWUseUJBRWYsY0FBYztZQUNkLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLGVBQWU7WUFDZixZQUFZLGFBZ0JKLGdCQUFnQixFQUFFLGVBQWU7d0dBRWhDLGFBQWEsWUE3QnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO1lBQ2pELGNBQWM7WUFDZCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTs7MkZBa0JILGFBQWE7a0JBL0J6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO3dCQUNqRCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLHVDQUF1Qzt3QkFDdkMsbUJBQW1CO3dCQUNuQiw0QkFBNEI7d0JBQzVCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgUWRCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBRZENoaXBNb2R1bGUgfSBmcm9tICcuLi9jaGlwcy9jaGlwcy5tb2R1bGUnO1xuaW1wb3J0IHsgUWREYXRhRmFjZXRzTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9kYXRhLWZhY2V0cy9kYXRhLWZhY2V0cy5tb2R1bGUnO1xuaW1wb3J0IHsgUWRJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi9jb3JlL3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgUWRTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFN0YXR1c0luZGljYXRvck1vZHVsZSB9IGZyb20gJy4uL3N0YXR1cy1pbmRpY2F0b3Ivc3RhdHVzLWluZGljYXRvci5tb2R1bGUnO1xuaW1wb3J0IHsgUWRUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vY29yZS90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcblxuaW1wb3J0IHsgUURfVEFCTEVfREFUQV9SRVNPTFZFUl9UT0tFTiB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlci50b2tlbic7XG5pbXBvcnQgeyBRZFRhYmxlU3ByaW5nVG9vbHMgfSBmcm9tICcuL2hlbHBlcnMvc3ByaW5nLXRvb2xzJztcbmltcG9ydCB7IFFkVGFibGVEYXRhUmVzb2x2ZXIsIFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wcywgUWRUYWJsZVJlc29sdmVkRGF0YSB9IGZyb20gJy4vbW9kZWwvdGFibGUtZGF0YS1yZXNvbHZlcic7XG5pbXBvcnQgeyBRZFRhYmxlQ29uZmlnLCBRZFRhYmxlT3B0aW9uYWxSZWZyZXNoaW5nRXZlbnRUeXBlcyB9IGZyb20gJy4vbW9kZWwvdGFibGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZFRhYmxlQ2hpcERhdGFWYWx1ZSwgUWRUYWJsZURhdGEsIFFkVGFibGVSZWNlbnRTZWNvbmRhcnlBY3Rpb24gfSBmcm9tICcuL21vZGVsL3RhYmxlLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkU29ydERpcmVjdGlvbiB9IGZyb20gJy4vbW9kZWwvc29ydC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyB0YWJsZVJlZHVjZXIgfSBmcm9tICcuL3N0b3JlL3RhYmxlLnJlZHVjZXInO1xuXG5pbXBvcnQgeyBRZFNjcm9sbFRvUGFnaW5hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGFnaW5hdG9yL3Njcm9sbC10by1wYWdpbmF0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBRZFRhYmxlQm9keUNvbXBvbmVudCB9IGZyb20gJy4vYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUYWJsZUVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXN0YXRlL3RhYmxlLWVtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlSGVhZENvbXBvbmVudCB9IGZyb20gJy4vaGVhZC90YWJsZS1oZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IvdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZFRhYmxlUGFnaW5hdG9yUGFnZVNpemVDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRvci9wYWdlLXNpemUvdGFibGUtcGFnaW5hdG9yLXBhZ2Utc2l6ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUYWJsZVBhZ2luYXRvclBhZ2VTaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdpbmF0b3IvcGFnZS1zaXplL3RhYmxlLXBhZ2luYXRvci1wYWdlLXNpemUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFFkVGFibGVSb3dBY3Rpb25zU2Vjb25kYXJ5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vcm93L2FjdGlvbnMvc2Vjb25kYXJ5L21lbnUvdGFibGUtcm93LWFjdGlvbnMtc2Vjb25kYXJ5LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL3Jvdy90YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVGFibGVSb3dTZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3Jvdy9zZWxlY3Rpb24vdGFibGUtcm93LXNlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRUYWJsZVNvcnRDb21wb25lbnQgfSBmcm9tICcuL3NvcnQvdGFibGUtc29ydC5jb21wb25lbnQnO1xuXG4vLyBUT0RPOiBSZW1vdmUgYWxsIFFkVHJlZSBjb21wb25lbnRzICYgY29uZmlncyBpbiB2ZXJzaW9uIDE5IVxuaW1wb3J0IHsgUWRUcmVlTW9kdWxlIH0gZnJvbSAnLi4vdHJlZS90cmVlLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi90cmVlL3RyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFFkVHJlZUNvbmZpZyB9IGZyb20gJy4uL3RyZWUvbW9kZWwvdHJlZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkVHJlZURhdGEgfSBmcm9tICcuLi90cmVlL21vZGVsL3RyZWUtZGF0YS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICBRRF9UQUJMRV9EQVRBX1JFU09MVkVSX1RPS0VOLFxuICBRZFNvcnREaXJlY3Rpb24sXG4gIFFkVGFibGVDaGlwRGF0YVZhbHVlLFxuICBRZFRhYmxlQ29tcG9uZW50LFxuICBRZFRhYmxlQ29uZmlnLFxuICBRZFRhYmxlT3B0aW9uYWxSZWZyZXNoaW5nRXZlbnRUeXBlcyxcbiAgUWRUYWJsZURhdGEsXG4gIFFkVGFibGVEYXRhUmVzb2x2ZXIsXG4gIFFkVGFibGVEYXRhUmVzb2x2ZXJQcm9wcyxcbiAgUWRUYWJsZVJlY2VudFNlY29uZGFyeUFjdGlvbixcbiAgUWRUYWJsZVJlc29sdmVkRGF0YSxcbiAgUWRUYWJsZVNwcmluZ1Rvb2xzLFxuICBRZFRyZWVDb21wb25lbnQsXG4gIFFkVHJlZUNvbmZpZyxcbiAgUWRUcmVlRGF0YVxufTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZSgncWRVaVRhYmxlJywgdGFibGVSZWR1Y2VyKSxcbiAgICBRZEJ1dHRvbk1vZHVsZSxcbiAgICBRZENoaXBNb2R1bGUsXG4gICAgUWREYXRhRmFjZXRzTW9kdWxlLFxuICAgIFFkSWNvbk1vZHVsZSxcbiAgICBRZFBvcG92ZXJNb2R1bGUsXG4gICAgUWRTdGF0dXNJbmRpY2F0b3JNb2R1bGUsXG4gICAgUWRTcGlubmVyTW9kdWxlLFxuICAgIFFkVG9vbHRpcE1vZHVsZSxcbiAgICBRZFRyZWVNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUWRTY3JvbGxUb1BhZ2luYXRpb25EaXJlY3RpdmUsXG4gICAgUWRUYWJsZUJvZHlDb21wb25lbnQsXG4gICAgUWRUYWJsZUNvbXBvbmVudCxcbiAgICBRZFRhYmxlRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICBRZFRhYmxlSGVhZENvbXBvbmVudCxcbiAgICBRZFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFFkVGFibGVQYWdpbmF0b3JQYWdlU2l6ZUNvbXBvbmVudCxcbiAgICBRZFRhYmxlUGFnaW5hdG9yUGFnZVNpemVEaXJlY3RpdmUsXG4gICAgUWRUYWJsZVJvd0FjdGlvbnNTZWNvbmRhcnlNZW51Q29tcG9uZW50LFxuICAgIFFkVGFibGVSb3dDb21wb25lbnQsXG4gICAgUWRUYWJsZVJvd1NlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBRZFRhYmxlU29ydENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbUWRUYWJsZUNvbXBvbmVudCwgUWRUcmVlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBRZFRhYmxlTW9kdWxlIHt9XG4iXX0=
@@ -21942,9 +21942,22 @@ class QdTableComponent {
21942
21942
  'if you enable the refreshOnPushEvent flag in the table.');
21943
21943
  return;
21944
21944
  }
21945
- this._pushEventsSubscription = this.pushEventsService
21946
- .observe('RESOURCE_UPDATED')
21947
- .pipe(filter(messageEvent => JSON.parse(messageEvent.data).path === this.config.uid), catchError((error, stream) => stream))
21945
+ const events = [...(this.config?.refreshingEvents || []), 'RESOURCE_UPDATED'];
21946
+ const combinedEvents$ = merge(...events.map(eventName => this.pushEventsService.observe(eventName)));
21947
+ this._pushEventsSubscription = combinedEvents$
21948
+ .pipe(filter(messageEvent => {
21949
+ try {
21950
+ const data = JSON.parse(messageEvent.data);
21951
+ return data.path.includes(this.config.uid);
21952
+ }
21953
+ catch (error) {
21954
+ console.warn('Failed to process messageEvent:', error);
21955
+ return false;
21956
+ }
21957
+ }), catchError(error => {
21958
+ console.error('Error in event stream:', error);
21959
+ return NEVER;
21960
+ }))
21948
21961
  .subscribe(() => this.triggerRefresh());
21949
21962
  }
21950
21963
  processSecondaryActionRefresh(result, refreshConfig) {