tnx-shared 5.3.162 → 5.3.163

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.
@@ -298,4 +298,4 @@ ReportQueueComponent.propDecorators = {
298
298
  autoDownload: [{ type: Input }],
299
299
  scrollbar: [{ type: ViewChild, args: ['scrollbar',] }]
300
300
  };
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXF1ZXVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydC1xdWV1ZS9yZXBvcnQtcXVldWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQWEsT0FBTyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFGLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBT2xHLE1BQU0sT0FBTyxvQkFBb0I7SUFrQjdCLFlBQ1ksZ0JBQWlDLEVBQ2pDLGNBQTZCLEVBQzdCLFlBQWlDLEVBQ2pDLGVBQWdDLEVBQ2hDLGVBQStCLEVBQy9CLHVCQUErQyxFQUMvQyxZQUF5QjtRQU56QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FB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USxlQUFlO1lBSGYsYUFBYTtZQU1iLG1CQUFtQjtZQURuQixlQUFlO1lBRGYsY0FBYztZQUZkLHNCQUFzQjtZQUR0QixXQUFXOzs7OEJBZ0JmLEtBQUs7bUJBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsU0FBUyxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb25zdGFudCB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRhbnRzJztcbmltcG9ydCB7IFJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jlc3BvbnNlLXJlc3VsdCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3J1ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jcnVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGlnaFBlcmZvcm1hbmNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hpZ2gtcGVyZm9ybWFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmllci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2lnbmFsci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsZUV4cGxvcmVyU2VydmljZSB9IGZyb20gJy4uL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZmlsZS1leHBsb3Jlci5zZXJ2aWNlJztcbmltcG9ydCB7IEV4cG9ydEpvYiwgSm9iSXRlbSwgSm9iVHlwZXMsIFJFUE9SVF9RVUVVRV9DT05TVEFOVCB9IGZyb20gJy4vYmFzZS1qb2Ivam9iLWl0ZW0nO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgVG5DdXN0b21TY3JvbGxiYXJDb21wb25lbnQgfSBmcm9tICcuLi90bi1jdXN0b20tc2Nyb2xsYmFyL3RuLWN1c3RvbS1zY3JvbGxiYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyZXBvcnQtcXVldWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtcXVldWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlcG9ydC1xdWV1ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydFF1ZXVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwYXJlbnREYXRhTW9kZWw6IGFueTtcbiAgICBASW5wdXQoKSBuYW1lID0gJ3JlcG9ydFF1ZXVlJztcbiAgICBASW5wdXQoKSBoZWFkZXIgPSAnWHXhuqV0IGLDoW8gY8Ohbyc7XG4gICAgQElucHV0KCkgYXV0b0Rvd25sb2FkID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZCgnc2Nyb2xsYmFyJykgc2Nyb2xsYmFyOiBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudDtcbiAgICBtYXhOYW1lTGVuZ3RoID0gNDA7XG4gICAgZXhwYW5kID0gdHJ1ZTtcbiAgICBxdWV1ZU5hbWUgPSAnUkVQT1JUX1FVRVVFJztcbiAgICBodWIgPSAnQ29tbW9uSHViJztcblxuICAgIGRpY1N0YXR1cyA9IFJFUE9SVF9RVUVVRV9DT05TVEFOVC5kaWNTdGF0dXM7XG4gICAgc3RhdHVzZXMgPSBSRVBPUlRfUVVFVUVfQ09OU1RBTlQuc3RhdHVzZXM7XG5cbiAgICBfcXVldWU6IEpvYkl0ZW1bXSA9IFtdO1xuICAgIG1heEhlaWdodCA9IDIwMDtcbiAgICBpdGVtSGVpZ2h0ID0gNTA7XG4gICAgcG9wdXBIZWlnaHQgPSB0aGlzLml0ZW1IZWlnaHQ7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9maWxlU2VydmljZTogRmlsZUV4cGxvcmVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfdGVtcGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfc2lnbmFsUlNlcnZpY2U6IFNpZ25hbFJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9oaWdoUGVyZm9ybWFuY2VTZXJ2aWNlOiBIaWdoUGVyZm9ybWFuY2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jcnVkU2VydmljZTogQ3J1ZFNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFyZW50RGF0YU1vZGVsICYmIHRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnREYXRhTW9kZWxbdGhpcy5uYW1lXSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVFeHBhbmQoKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kID0gIXRoaXMuZXhwYW5kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRow6ptIGpvYiB2w6BvIMSR4buDIHRo4buxYyBoaeG7h25cbiAgICAgKi9cbiAgICBhc3luYyBhZGRKb2IoZXhwb3J0Sm9iOiBFeHBvcnRKb2IpIHtcbiAgICAgICAgdmFyIGZvdW5kSW5kZXggPSB0aGlzLl9xdWV1ZS5maW5kSW5kZXgoam9iID0+IGpvYi5fY29kZSA9PSBleHBvcnRKb2IudGVtcGxhdGVDb2RlICYmIGpvYi5fc3RhdHVzID09IHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKTtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoXCJGaWxlIGPDuW5nIGxv4bqhaSDEkWFuZyDEkcaw4bujYyB44butIGzDvSwgdGjhu60gbOG6oWkgc2F1IGtoaSB44butIGzDvSB4b25nIVwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqb2IgPSBuZXcgSm9iSXRlbShleHBvcnRKb2IudGVtcGxhdGVDb2RlLCB7fSwgZXhwb3J0Sm9iLmZpbGVOYW1lIHx8IGV4cG9ydEpvYi50ZW1wbGF0ZUNvZGUsIHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKTtcbiAgICAgICAgdGhpcy5fcXVldWUucHVzaChqb2IpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBvcHVwSGVpZ2h0KCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXIuc2Nyb2xsVG9Cb3R0b20oKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgdmFyIHJzRGF0YSA9IGF3YWl0IGV4cG9ydEpvYi5kYXRhUHJvbWlzZTtcbiAgICAgICAgaWYgKHJzRGF0YS5kYXRhID09IG51bGwpIHtcbiAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShyc0RhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cG9ydEpvYi5jYikge1xuICAgICAgICAgICAgam9iLl9kYXRhID0gKDxGdW5jdGlvbj5leHBvcnRKb2IuY2IpKHJzRGF0YS5kYXRhKTtcbiAgICAgICAgfSBlbHNlIGlmIChleHBvcnRKb2Iucm9vdE5hbWUpIHtcbiAgICAgICAgICAgIGpvYi5fZGF0YVtleHBvcnRKb2Iucm9vdE5hbWVdID0gcnNEYXRhLmRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBqb2IuX2RhdGEgPSByc0RhdGEuZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAoZXhwb3J0Sm9iLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgSm9iVHlwZXMuTm9ybWFsOlxuICAgICAgICAgICAgICAgIHRoaXMuRXhwb3J0KGpvYik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEpvYlR5cGVzLlNpbmduYWxSOlxuICAgICAgICAgICAgICAgIHRoaXMuRXhwb3J0V2l0aFNpZ25hbFIoam9iKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSm9iVHlwZXMuTWFueTpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRow6ptIGpvYiB2w6BvIMSR4buDIHRo4buxYyBoaeG7h25cbiAgICAgKiAgLSB0ZW1wbGF0ZUNvZGU6IGNvZGUgdGVtcGxhdGUgY+G6pXUgaMOsbmggYsOqbiBxdeG6o24gdHLhu4tcbiAgICAgKiAgLSBkYXRhOiBk4buvIGxp4buHdSBleHBvcnRcbiAgICAgKiAgLSBmaWxlTmFtZTogdMOqbiBj4bunYSBmaWxlIMSRxrDhu6NjIGzGsHVcbiAgICAgKiAgLSB1c2VTaWduYWxSOiB0aGF5IHbDrCBn4buNaSByZXF1ZXN0IHbDoCBjaOG7nSDEkeG6v24ga2hpIHRo4buxYyBoaeG7h24geG9uZ1xuICAgICAqICAgICAgdHLhuqMgduG7gSBiaW5hcnlGaWxlIHRow6wgdOG6oW8gdGnhur9uIHRyw6xuaCByacOqbmcgxJHhu4MgZXhwb3J0LCB2w6AgZMO5bmcgc2lnbmFsUiB0aMO0bmdcbiAgICAgKiAgICAgIGLDoW8ga+G6v3QgcXXhuqMgZXhwb3J0LCB0cuG6oyB24buBIGZpbGVJZCDEkeG7gyB04bqjaS5cbiAgICAgKi9cbiAgICBhc3luYyBhZGRKb2JXaXRoRGF0YShcbiAgICAgICAgdGVtcGxhdGVDb2RlOiBzdHJpbmcsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGZpbGVOYW1lLFxuICAgICAgICB1c2VTaWduYWxSID0gZmFsc2VcbiAgICApIHtcbiAgICAgICAgdmFyIGZvdW5kSW5kZXggPSB0aGlzLl9xdWV1ZS5maW5kSW5kZXgoam9iID0+IGpvYi5fY29kZSA9PSB0ZW1wbGF0ZUNvZGUgJiYgam9iLl9zdGF0dXMgPT0gdGhpcy5zdGF0dXNlcy5FeHBvcnRpbmcpO1xuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZyhcIkZpbGUgY8O5bmcgbG/huqFpIMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9LCB0aOG7rSBs4bqhaSBzYXUga2hpIHjhu60gbMO9IHhvbmchXCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGpvYiA9IG5ldyBKb2JJdGVtKHRlbXBsYXRlQ29kZSwgZGF0YSwgZmlsZU5hbWUgfHwgdGVtcGxhdGVDb2RlLCB0aGlzLnN0YXR1c2VzLkV4cG9ydGluZyk7XG4gICAgICAgIHRoaXMuX3F1ZXVlLnB1c2goam9iKTtcbiAgICAgICAgaWYgKHVzZVNpZ25hbFIpIHtcbiAgICAgICAgICAgIHRoaXMuRXhwb3J0V2l0aFNpZ25hbFIoam9iKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuRXhwb3J0KGpvYik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBFeHBvcnQoam9iOiBKb2JJdGVtKSB7XG4gICAgICAgIHRoaXMuX3RlbXBhdGVTZXJ2aWNlLmV4cG9ydEN4RXhjZWxCeUNvZGVQcm9taXNlKHsgY29kZTogam9iLl9jb2RlLCBkYXRhOiBKU09OLnN0cmluZ2lmeShqb2IuX2RhdGEpLCBmaWxlTmFtZTogam9iLl9maWxlTmFtZSB9KVxuICAgICAgICAgICAgLnRoZW4oZmlsZSA9PiB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLlN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgam9iLl9iaW5hcnlGaWxlID0gZmlsZTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Eb3dubG9hZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkKGpvYik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuY2F0Y2goYXN5bmMgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0ID0gYXdhaXQgZXJyLmVycm9yLnRleHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShKU09OLnBhcnNlKGVycm9yVGV4dCB8fCAnJykpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgRXhwb3J0V2l0aFNpZ25hbFIoam9iOiBKb2JJdGVtKSB7XG4gICAgICAgIGNvbnN0IHRvcGljID0gdGhpcy5fY29tbW9uU2VydmljZS5ndWlkKCk7XG4gICAgICAgIGpvYi5fdW5pcXVlS2V5ID0gdG9waWM7XG4gICAgICAgIHRoaXMuX3NpZ25hbFJTZXJ2aWNlLnN0YXJ0KHRoaXMuaHViLCB0b3BpYywgKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIHZhciBycyA9IEpTT04ucGFyc2UobWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAocnMuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5TdWNjZXNzO1xuICAgICAgICAgICAgICAgIGpvYi5fZmlsZUlkID0gcnMuZGF0YTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdXRvRG93bmxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZChqb2IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGVtcGF0ZVNlcnZpY2UuRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhTaWduYWxSKHsgY29kZTogam9iLl9jb2RlLCBkYXRhOiBKU09OLnN0cmluZ2lmeShqb2IuX2RhdGEpLCBmaWxlTmFtZTogam9iLl9maWxlTmFtZSwgdG9waWM6IHRvcGljIH0pXG4gICAgICAgICAgICAudGhlbihycyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFycy5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UocnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLmNhdGNoKGFzeW5jIGVyciA9PiB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKGVyci5lcnJvcik7XG4gICAgICAgICAgICB9KTs7XG4gICAgfVxuXG4gICAgYXN5bmMgRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhIUFMoam9iOiBKb2JJdGVtKSB7XG4gICAgICAgIHRoaXMuX2hpZ2hQZXJmb3JtYW5jZVNlcnZpY2UuY3JlYXRlUHJvY2Vzcyh0aGlzLnF1ZXVlTmFtZSwgKGFyck1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIHZhciBtZXNzYWdlID0gYXJyTWVzc2FnZS5wb3AoKTtcbiAgICAgICAgICAgIHZhciBycyA9IEpTT04ucGFyc2UobWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAocnMuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5TdWNjZXNzO1xuICAgICAgICAgICAgICAgIGpvYi5fZmlsZUlkID0gcnMuZGF0YTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdXRvRG93bmxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsZVNlcnZpY2UuZG93bmxvYWRGaWxlKGpvYi5fZmlsZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkRvd25sb2FkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGpvYi5fZmlsZUlkID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4ocnMgPT4ge1xuICAgICAgICAgICAgam9iLl91bmlxdWVLZXkgPSBycztcblxuICAgICAgICAgICAgdGhpcy5fdGVtcGF0ZVNlcnZpY2UuRXhwb3J0Q3hFeGNlbEJ5Q29kZVdpdGhIUFMoe1xuICAgICAgICAgICAgICAgIGNvZGU6IGpvYi5fY29kZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShqb2IuX2RhdGEpLFxuICAgICAgICAgICAgICAgIGZpbGVOYW1lOiBqb2IuX2ZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIHRvcGljOiB0aGlzLnF1ZXVlTmFtZSxcbiAgICAgICAgICAgICAgICB1bmlxdWVLZXk6IGpvYi5fdW5pcXVlS2V5XG4gICAgICAgICAgICB9KS50aGVuKHJzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJM4buXaSBn4buNaSBhcGkgc2VydmVyIGV4cG9ydFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJM4buXaSBn4buNaSBIUFMgc2VydmljZSA6KFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRvd25sb2FkKGpvYikge1xuICAgICAgICBpZiAoam9iLl9zdGF0dXMgPT0gdGhpcy5zdGF0dXNlcy5Eb3dubG9hZGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGpvYi5fZmlsZUlkKSB7XG4gICAgICAgICAgICB0aGlzLl9maWxlU2VydmljZS5kb3dubG9hZEZpbGUoam9iLl9maWxlSWQsIGZhbHNlLCBqb2IuX2ZpbGVOYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmIChqb2IuX2JpbmFyeUZpbGUpIHtcbiAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMoam9iLl9iaW5hcnlGaWxlLCBqb2IuX2ZpbGVOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRG93bmxvYWRlZDtcbiAgICAgICAgam9iLl9iaW5hcnlGaWxlID0gbnVsbDtcbiAgICAgICAgam9iLl9maWxlSWQgPSBudWxsO1xuICAgIH1cblxuICAgIHNob3dRdWV1ZSgpIHtcbiAgICAgICAgbGV0IHNob3cgPSB0aGlzLl9xdWV1ZSAmJiB0aGlzLl9xdWV1ZS5sZW5ndGggPiAwO1xuXG4gICAgICAgIHJldHVybiBzaG93O1xuICAgIH1cblxuICAgIGdldE5hbWUoam9iKSB7XG4gICAgICAgIHZhciBuYW1lID0gam9iLl9maWxlTmFtZS5sZW5ndGggPiB0aGlzLm1heE5hbWVMZW5ndGggPyBgJHtqb2IuX2ZpbGVOYW1lLnN1YnN0cigwLCB0aGlzLm1heE5hbWVMZW5ndGggLSAxMCl9Wy4uLl0ke1RlbXBsYXRlQ29uc3RhbnQuRVhDRUxfRVhURU5TSU9OfWAgOiBqb2IuX2ZpbGVOYW1lO1xuICAgICAgICByZXR1cm4gbmFtZTtcbiAgICB9XG5cbiAgICBjYW5jZWxKb2Ioam9iKSB7XG4gICAgICAgIGxldCBmb3VuZEluZGV4ID0gdGhpcy5fcXVldWUuZmluZEluZGV4KGogPT4gai5fY29kZSA9PSBqb2IuX2NvZGUpO1xuICAgICAgICBpZiAoZm91bmRJbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZvdW5kSm9iID0gdGhpcy5fcXVldWVbZm91bmRJbmRleF07XG4gICAgICAgIGlmIChmb3VuZEpvYi5fc3RhdHVzID09IHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2VcbiAgICAgICAgICAgICAgICAuc2hvd0NvbmZpcm0oJ0ZpbGUgbsOgeSDEkWFuZyDEkcaw4bujYyB44butIGzDvS4gQuG6oW4gY8OzIG114buRbiBk4burbmcgbOG6oWk/JywgJ0jhu6d5IHh14bqldCBmaWxlJylcbiAgICAgICAgICAgICAgICAudGhlbihycyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcnMpIHsgcmV0dXJuOyB9XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVW5zdWJzY3JpYmUgPSBmb3VuZEpvYi5fdHlwZSA9PSBKb2JUeXBlcy5TaW5nbmFsUiAmJiBmb3VuZEpvYi5fdW5pcXVlS2V5O1xuICAgICAgICAgICAgICAgICAgICBpZiAobmVlZFVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaWduYWxSU2VydmljZS51blN1YnNjcmliZVZpZXdDb2RlKGZvdW5kSm9iLl91bmlxdWVLZXksIHRoaXMuaHViKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9xdWV1ZS5zcGxpY2UoZm91bmRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9wdXBIZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmb3VuZEpvYi5fc3RhdHVzICE9IHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZS5zcGxpY2UoZm91bmRJbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvcHVwSGVpZ2h0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdmFyIGhhc0V4cG9ydGluZyA9IHRoaXMuX3F1ZXVlICYmIHRoaXMuX3F1ZXVlLmZpbHRlcihpdGVtID0+IGl0ZW0uX3N0YXR1cyA9PSB0aGlzLnN0YXR1c2VzLkV4cG9ydGluZykubGVuZ3RoID4gMDtcblxuICAgICAgICBpZiAoaGFzRXhwb3J0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2VcbiAgICAgICAgICAgICAgICAuc2hvd0NvbmZpcm0oJ0PDsyBmaWxlIMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9LiBC4bqhbiBjw7MgbXXhu5FuIGThu6tuZyBs4bqhaT8nLCAnSOG7p3kgeHXhuqV0IGZpbGUnKVxuICAgICAgICAgICAgICAgIC50aGVuKHJzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFycykgeyByZXR1cm47IH1cbiAgICAgICAgICAgICAgICAgICAgbGV0IG5lZWRVbnN1YnNjcmliZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9xdWV1ZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVW5zdWJzY3JpYmUgPSBqb2IuX3R5cGUgPT0gSm9iVHlwZXMuU2luZ25hbFIgJiYgam9iLl91bmlxdWVLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmVlZFVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2lnbmFsUlNlcnZpY2UudW5TdWJzY3JpYmVWaWV3Q29kZShqb2IuX3VuaXF1ZUtleSwgdGhpcy5odWIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcXVldWUgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVQb3B1cEhlaWdodCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcXVldWUgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVBvcHVwSGVpZ2h0KCkge1xuICAgICAgICBsZXQgaGVpZ2h0ID0gKHRoaXMuX3F1ZXVlIHx8IFtdKS5sZW5ndGggKiB0aGlzLml0ZW1IZWlnaHQ7XG4gICAgICAgIHRoaXMucG9wdXBIZWlnaHQgPSBoZWlnaHQgPiB0aGlzLm1heEhlaWdodCA/IHRoaXMubWF4SGVpZ2h0IDogaGVpZ2h0O1xuICAgIH1cbn1cblxuIl19
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXF1ZXVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3JlcG9ydC1xdWV1ZS9yZXBvcnQtcXVldWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQWEsT0FBTyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFGLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBT2xHLE1BQU0sT0FBTyxvQkFBb0I7SUFrQjdCLFlBQ1ksZ0JBQWlDLEVBQ2pDLGNBQTZCLEVBQzdCLFlBQWlDLEVBQ2pDLGVBQWdDLEVBQ2hDLGVBQStCLEVBQy9CLHVCQUErQyxFQUMvQyxZQUF5QjtRQU56QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FB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USxlQUFlO1lBSGYsYUFBYTtZQU1iLG1CQUFtQjtZQURuQixlQUFlO1lBRGYsY0FBYztZQUZkLHNCQUFzQjtZQUR0QixXQUFXOzs7OEJBZ0JmLEtBQUs7bUJBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsU0FBUyxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb25zdGFudCB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRhbnRzJztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBIaWdoUGVyZm9ybWFuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGlnaC1wZXJmb3JtYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsUlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWV4cGxvcmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0Sm9iLCBKb2JJdGVtLCBKb2JUeXBlcywgUkVQT1JUX1FVRVVFX0NPTlNUQU5UIH0gZnJvbSAnLi9iYXNlLWpvYi9qb2ItaXRlbSc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBUbkN1c3RvbVNjcm9sbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3RuLWN1c3RvbS1zY3JvbGxiYXIvdG4tY3VzdG9tLXNjcm9sbGJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JlcG9ydC1xdWV1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1xdWV1ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0LXF1ZXVlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0UXVldWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHBhcmVudERhdGFNb2RlbDogYW55O1xuICAgIEBJbnB1dCgpIG5hbWUgPSAncmVwb3J0UXVldWUnO1xuICAgIEBJbnB1dCgpIGhlYWRlciA9ICdYdeG6pXQgYsOhbyBjw6FvJztcbiAgICBASW5wdXQoKSBhdXRvRG93bmxvYWQgPSBmYWxzZTtcbiAgICBAVmlld0NoaWxkKCdzY3JvbGxiYXInKSBzY3JvbGxiYXI6IFRuQ3VzdG9tU2Nyb2xsYmFyQ29tcG9uZW50O1xuICAgIG1heE5hbWVMZW5ndGggPSA0MDtcbiAgICBleHBhbmQgPSB0cnVlO1xuICAgIHF1ZXVlTmFtZSA9ICdSRVBPUlRfUVVFVUUnO1xuICAgIGh1YiA9ICdDb21tb25IdWInO1xuXG4gICAgZGljU3RhdHVzID0gUkVQT1JUX1FVRVVFX0NPTlNUQU5ULmRpY1N0YXR1cztcbiAgICBzdGF0dXNlcyA9IFJFUE9SVF9RVUVVRV9DT05TVEFOVC5zdGF0dXNlcztcblxuICAgIF9xdWV1ZTogSm9iSXRlbVtdID0gW107XG4gICAgbWF4SGVpZ2h0ID0gMjAwO1xuICAgIGl0ZW1IZWlnaHQgPSA1MDtcbiAgICBwb3B1cEhlaWdodCA9IHRoaXMuaXRlbUhlaWdodDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpZXJTZXJ2aWNlOiBOb3RpZmllclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2ZpbGVTZXJ2aWNlOiBGaWxlRXhwbG9yZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF90ZW1wYXRlU2VydmljZTogVGVtcGxhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9zaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2hpZ2hQZXJmb3JtYW5jZVNlcnZpY2U6IEhpZ2hQZXJmb3JtYW5jZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NydWRTZXJ2aWNlOiBDcnVkU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5wYXJlbnREYXRhTW9kZWwgJiYgdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudERhdGFNb2RlbFt0aGlzLm5hbWVdID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZUV4cGFuZCgpIHtcbiAgICAgICAgdGhpcy5leHBhbmQgPSAhdGhpcy5leHBhbmQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGjDqm0gam9iIHbDoG8gxJHhu4MgdGjhu7FjIGhp4buHblxuICAgICAqL1xuICAgIGFzeW5jIGFkZEpvYihleHBvcnRKb2I6IEV4cG9ydEpvYikge1xuICAgICAgICB2YXIgZm91bmRJbmRleCA9IHRoaXMuX3F1ZXVlLmZpbmRJbmRleChqb2IgPT4gam9iLl9jb2RlID09IGV4cG9ydEpvYi50ZW1wbGF0ZUNvZGUgJiYgam9iLl9zdGF0dXMgPT0gdGhpcy5zdGF0dXNlcy5FeHBvcnRpbmcpO1xuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZS5zaG93V2FybmluZyhcIkZpbGUgY8O5bmcgbG/huqFpIMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9LCB0aOG7rSBs4bqhaSBzYXUga2hpIHjhu60gbMO9IHhvbmchXCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGpvYiA9IG5ldyBKb2JJdGVtKGV4cG9ydEpvYi50ZW1wbGF0ZUNvZGUsIHt9LCBleHBvcnRKb2IuZmlsZU5hbWUgfHwgZXhwb3J0Sm9iLnRlbXBsYXRlQ29kZSwgdGhpcy5zdGF0dXNlcy5FeHBvcnRpbmcpO1xuICAgICAgICB0aGlzLl9xdWV1ZS5wdXNoKGpvYik7XG4gICAgICAgIHRoaXMudXBkYXRlUG9wdXBIZWlnaHQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbGJhci5zY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgICB2YXIgcnNEYXRhID0gYXdhaXQgZXhwb3J0Sm9iLmRhdGFQcm9taXNlO1xuICAgICAgICBpZiAocnNEYXRhLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzRGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhwb3J0Sm9iLmNiKSB7XG4gICAgICAgICAgICBqb2IuX2RhdGEgPSAoPEZ1bmN0aW9uPmV4cG9ydEpvYi5jYikocnNEYXRhLmRhdGEpO1xuICAgICAgICB9IGVsc2UgaWYgKGV4cG9ydEpvYi5yb290TmFtZSkge1xuICAgICAgICAgICAgam9iLl9kYXRhW2V4cG9ydEpvYi5yb290TmFtZV0gPSByc0RhdGEuZGF0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGpvYi5fZGF0YSA9IHJzRGF0YS5kYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChleHBvcnRKb2IudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBKb2JUeXBlcy5Ob3JtYWw6XG4gICAgICAgICAgICAgICAgdGhpcy5FeHBvcnQoam9iKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSm9iVHlwZXMuU2luZ25hbFI6XG4gICAgICAgICAgICAgICAgdGhpcy5FeHBvcnRXaXRoU2lnbmFsUihqb2IpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBKb2JUeXBlcy5NYW55OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGjDqm0gam9iIHbDoG8gxJHhu4MgdGjhu7FjIGhp4buHblxuICAgICAqICAtIHRlbXBsYXRlQ29kZTogY29kZSB0ZW1wbGF0ZSBj4bqldSBow6xuaCBiw6puIHF14bqjbiB0cuG7i1xuICAgICAqICAtIGRhdGE6IGThu68gbGnhu4d1IGV4cG9ydFxuICAgICAqICAtIGZpbGVOYW1lOiB0w6puIGPhu6dhIGZpbGUgxJHGsOG7o2MgbMawdVxuICAgICAqICAtIHVzZVNpZ25hbFI6IHRoYXkgdsOsIGfhu41pIHJlcXVlc3QgdsOgIGNo4budIMSR4bq/biBraGkgdGjhu7FjIGhp4buHbiB4b25nXG4gICAgICogICAgICB0cuG6oyB24buBIGJpbmFyeUZpbGUgdGjDrCB04bqhbyB0aeG6v24gdHLDrG5oIHJpw6puZyDEkeG7gyBleHBvcnQsIHbDoCBkw7luZyBzaWduYWxSIHRow7RuZ1xuICAgICAqICAgICAgYsOhbyBr4bq/dCBxdeG6oyBleHBvcnQsIHRy4bqjIHbhu4EgZmlsZUlkIMSR4buDIHThuqNpLlxuICAgICAqL1xuICAgIGFzeW5jIGFkZEpvYldpdGhEYXRhKFxuICAgICAgICB0ZW1wbGF0ZUNvZGU6IHN0cmluZyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgIHVzZVNpZ25hbFIgPSBmYWxzZVxuICAgICkge1xuICAgICAgICB2YXIgZm91bmRJbmRleCA9IHRoaXMuX3F1ZXVlLmZpbmRJbmRleChqb2IgPT4gam9iLl9jb2RlID09IHRlbXBsYXRlQ29kZSAmJiBqb2IuX3N0YXR1cyA9PSB0aGlzLnN0YXR1c2VzLkV4cG9ydGluZyk7XG4gICAgICAgIGlmIChmb3VuZEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nKFwiRmlsZSBjw7luZyBsb+G6oWkgxJFhbmcgxJHGsOG7o2MgeOG7rSBsw70sIHRo4butIGzhuqFpIHNhdSBraGkgeOG7rSBsw70geG9uZyFcIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgam9iID0gbmV3IEpvYkl0ZW0odGVtcGxhdGVDb2RlLCBkYXRhLCBmaWxlTmFtZSB8fCB0ZW1wbGF0ZUNvZGUsIHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKTtcbiAgICAgICAgdGhpcy5fcXVldWUucHVzaChqb2IpO1xuICAgICAgICBpZiAodXNlU2lnbmFsUikge1xuICAgICAgICAgICAgdGhpcy5FeHBvcnRXaXRoU2lnbmFsUihqb2IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5FeHBvcnQoam9iKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIEV4cG9ydChqb2I6IEpvYkl0ZW0pIHtcbiAgICAgICAgdGhpcy5fdGVtcGF0ZVNlcnZpY2UuZXhwb3J0Q3hFeGNlbEJ5Q29kZVByb21pc2UoeyBjb2RlOiBqb2IuX2NvZGUsIGRhdGE6IEpTT04uc3RyaW5naWZ5KGpvYi5fZGF0YSksIGZpbGVOYW1lOiBqb2IuX2ZpbGVOYW1lIH0pXG4gICAgICAgICAgICAudGhlbihmaWxlID0+IHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuU3VjY2VzcztcbiAgICAgICAgICAgICAgICBqb2IuX2JpbmFyeUZpbGUgPSBmaWxlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0Rvd25sb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG93bmxvYWQoam9iKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5jYXRjaChhc3luYyBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCBlcnIuZXJyb3IudGV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKEpTT04ucGFyc2UoZXJyb3JUZXh0IHx8ICcnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBFeHBvcnRXaXRoU2lnbmFsUihqb2I6IEpvYkl0ZW0pIHtcbiAgICAgICAgY29uc3QgdG9waWMgPSB0aGlzLl9jb21tb25TZXJ2aWNlLmd1aWQoKTtcbiAgICAgICAgam9iLl91bmlxdWVLZXkgPSB0b3BpYztcbiAgICAgICAgdGhpcy5fc2lnbmFsUlNlcnZpY2Uuc3RhcnQodGhpcy5odWIsIHRvcGljLCAobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgdmFyIHJzID0gSlNPTi5wYXJzZShtZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLlN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgam9iLl9maWxlSWQgPSBycy5kYXRhO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Eb3dubG9hZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkKGpvYik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UocnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90ZW1wYXRlU2VydmljZS5FeHBvcnRDeEV4Y2VsQnlDb2RlV2l0aFNpZ25hbFIoeyBjb2RlOiBqb2IuX2NvZGUsIGRhdGE6IEpTT04uc3RyaW5naWZ5KGpvYi5fZGF0YSksIGZpbGVOYW1lOiBqb2IuX2ZpbGVOYW1lLCB0b3BpYzogdG9waWMgfSlcbiAgICAgICAgICAgIC50aGVuKHJzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jcnVkU2VydmljZS5wcm9jZXNzRXJyb3JSZXNwb25zZShycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuY2F0Y2goYXN5bmMgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgdGhpcy5fY3J1ZFNlcnZpY2UucHJvY2Vzc0Vycm9yUmVzcG9uc2UoZXJyLmVycm9yKTtcbiAgICAgICAgICAgIH0pOztcbiAgICB9XG5cbiAgICBhc3luYyBFeHBvcnRDeEV4Y2VsQnlDb2RlV2l0aEhQUyhqb2I6IEpvYkl0ZW0pIHtcbiAgICAgICAgdGhpcy5faGlnaFBlcmZvcm1hbmNlU2VydmljZS5jcmVhdGVQcm9jZXNzKHRoaXMucXVldWVOYW1lLCAoYXJyTWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBhcnJNZXNzYWdlLnBvcCgpO1xuICAgICAgICAgICAgdmFyIHJzID0gSlNPTi5wYXJzZShtZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLlN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgam9iLl9maWxlSWQgPSBycy5kYXRhO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Eb3dubG9hZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maWxlU2VydmljZS5kb3dubG9hZEZpbGUoam9iLl9maWxlSWQpO1xuICAgICAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRG93bmxvYWRlZDtcbiAgICAgICAgICAgICAgICAgICAgam9iLl9maWxlSWQgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgam9iLl9zdGF0dXMgPSB0aGlzLnN0YXR1c2VzLkVycm9yO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkudGhlbihycyA9PiB7XG4gICAgICAgICAgICBqb2IuX3VuaXF1ZUtleSA9IHJzO1xuXG4gICAgICAgICAgICB0aGlzLl90ZW1wYXRlU2VydmljZS5FeHBvcnRDeEV4Y2VsQnlDb2RlV2l0aEhQUyh7XG4gICAgICAgICAgICAgICAgY29kZTogam9iLl9jb2RlLFxuICAgICAgICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KGpvYi5fZGF0YSksXG4gICAgICAgICAgICAgICAgZmlsZU5hbWU6IGpvYi5fZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgdG9waWM6IHRoaXMucXVldWVOYW1lLFxuICAgICAgICAgICAgICAgIHVuaXF1ZUtleTogam9iLl91bmlxdWVLZXlcbiAgICAgICAgICAgIH0pLnRoZW4ocnMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcnMuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICBqb2IuX3N0YXR1cyA9IHRoaXMuc3RhdHVzZXMuRXJyb3I7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NydWRTZXJ2aWNlLnByb2Nlc3NFcnJvclJlc3BvbnNlKHJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkzhu5dpIGfhu41pIGFwaSBzZXJ2ZXIgZXhwb3J0XCIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5FcnJvcjtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkzhu5dpIGfhu41pIEhQUyBzZXJ2aWNlIDooXCIpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZG93bmxvYWQoam9iKSB7XG4gICAgICAgIGlmIChqb2IuX3N0YXR1cyA9PSB0aGlzLnN0YXR1c2VzLkRvd25sb2FkZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoam9iLl9maWxlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbGVTZXJ2aWNlLmRvd25sb2FkRmlsZShqb2IuX2ZpbGVJZCwgZmFsc2UsIGpvYi5fZmlsZU5hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGpvYi5fYmluYXJ5RmlsZSkge1xuICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhqb2IuX2JpbmFyeUZpbGUsIGpvYi5fZmlsZU5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGpvYi5fc3RhdHVzID0gdGhpcy5zdGF0dXNlcy5Eb3dubG9hZGVkO1xuICAgICAgICBqb2IuX2JpbmFyeUZpbGUgPSBudWxsO1xuICAgICAgICBqb2IuX2ZpbGVJZCA9IG51bGw7XG4gICAgfVxuXG4gICAgc2hvd1F1ZXVlKCkge1xuICAgICAgICBsZXQgc2hvdyA9IHRoaXMuX3F1ZXVlICYmIHRoaXMuX3F1ZXVlLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgcmV0dXJuIHNob3c7XG4gICAgfVxuXG4gICAgZ2V0TmFtZShqb2IpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBqb2IuX2ZpbGVOYW1lLmxlbmd0aCA+IHRoaXMubWF4TmFtZUxlbmd0aCA/IGAke2pvYi5fZmlsZU5hbWUuc3Vic3RyKDAsIHRoaXMubWF4TmFtZUxlbmd0aCAtIDEwKX1bLi4uXSR7VGVtcGxhdGVDb25zdGFudC5FWENFTF9FWFRFTlNJT059YCA6IGpvYi5fZmlsZU5hbWU7XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cblxuICAgIGNhbmNlbEpvYihqb2IpIHtcbiAgICAgICAgbGV0IGZvdW5kSW5kZXggPSB0aGlzLl9xdWV1ZS5maW5kSW5kZXgoaiA9PiBqLl9jb2RlID09IGpvYi5fY29kZSk7XG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZm91bmRKb2IgPSB0aGlzLl9xdWV1ZVtmb3VuZEluZGV4XTtcbiAgICAgICAgaWYgKGZvdW5kSm9iLl9zdGF0dXMgPT0gdGhpcy5zdGF0dXNlcy5FeHBvcnRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZVxuICAgICAgICAgICAgICAgIC5zaG93Q29uZmlybSgnRmlsZSBuw6B5IMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9LiBC4bqhbiBjw7MgbXXhu5FuIGThu6tuZyBs4bqhaT8nLCAnSOG7p3kgeHXhuqV0IGZpbGUnKVxuICAgICAgICAgICAgICAgIC50aGVuKHJzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFycykgeyByZXR1cm47IH1cbiAgICAgICAgICAgICAgICAgICAgbGV0IG5lZWRVbnN1YnNjcmliZSA9IGZvdW5kSm9iLl90eXBlID09IEpvYlR5cGVzLlNpbmduYWxSICYmIGZvdW5kSm9iLl91bmlxdWVLZXk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZWVkVW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NpZ25hbFJTZXJ2aWNlLnVuU3Vic2NyaWJlVmlld0NvZGUoZm91bmRKb2IuX3VuaXF1ZUtleSwgdGhpcy5odWIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3F1ZXVlLnNwbGljZShmb3VuZEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVQb3B1cEhlaWdodCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZvdW5kSm9iLl9zdGF0dXMgIT0gdGhpcy5zdGF0dXNlcy5FeHBvcnRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX3F1ZXVlLnNwbGljZShmb3VuZEluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9wdXBIZWlnaHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB2YXIgaGFzRXhwb3J0aW5nID0gdGhpcy5fcXVldWUgJiYgdGhpcy5fcXVldWUuZmlsdGVyKGl0ZW0gPT4gaXRlbS5fc3RhdHVzID09IHRoaXMuc3RhdHVzZXMuRXhwb3J0aW5nKS5sZW5ndGggPiAwO1xuXG4gICAgICAgIGlmIChoYXNFeHBvcnRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmaWVyU2VydmljZVxuICAgICAgICAgICAgICAgIC5zaG93Q29uZmlybSgnQ8OzIGZpbGUgxJFhbmcgxJHGsOG7o2MgeOG7rSBsw70uIELhuqFuIGPDsyBtdeG7kW4gZOG7q25nIGzhuqFpPycsICdI4buneSB4deG6pXQgZmlsZScpXG4gICAgICAgICAgICAgICAgLnRoZW4ocnMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJzKSB7IHJldHVybjsgfVxuICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFVuc3Vic2NyaWJlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3F1ZXVlLmZvckVhY2goam9iID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRVbnN1YnNjcmliZSA9IGpvYi5fdHlwZSA9PSBKb2JUeXBlcy5TaW5nbmFsUiAmJiBqb2IuX3VuaXF1ZUtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZWVkVW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaWduYWxSU2VydmljZS51blN1YnNjcmliZVZpZXdDb2RlKGpvYi5fdW5pcXVlS2V5LCB0aGlzLmh1Yik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVBvcHVwSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUG9wdXBIZWlnaHQoKSB7XG4gICAgICAgIGxldCBoZWlnaHQgPSAodGhpcy5fcXVldWUgfHwgW10pLmxlbmd0aCAqIHRoaXMuaXRlbUhlaWdodDtcbiAgICAgICAgdGhpcy5wb3B1cEhlaWdodCA9IGhlaWdodCA+IHRoaXMubWF4SGVpZ2h0ID8gdGhpcy5tYXhIZWlnaHQgOiBoZWlnaHQ7XG4gICAgfVxufVxuXG4iXX0=
@@ -5,7 +5,17 @@ export function moduleConfigFunc() {
5
5
  }
6
6
  export class ModuleConfigService {
7
7
  constructor(moduleConfigVal = null) {
8
- this._config = moduleConfigVal();
8
+ if (moduleConfigVal) {
9
+ this._config = moduleConfigVal();
10
+ window['appCode'] = this._config.appCode;
11
+ window['environment'] = this._config.environment;
12
+ }
13
+ else {
14
+ this._config = {
15
+ environment: window['environment'],
16
+ appCode: window['appCode']
17
+ };
18
+ }
9
19
  }
10
20
  getConfig() {
11
21
  return this._config;
@@ -20,4 +30,4 @@ ModuleConfigService.decorators = [
20
30
  ModuleConfigService.ctorParameters = () => [
21
31
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [moduleConfigFunc,] }] }
22
32
  ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL21vZHVsZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc3RSxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU8sSUFBSSxjQUFjLENBQWUsRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUtELE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsWUFHSSxrQkFBdUIsSUFBSTtRQUUzQixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7WUFoQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7NENBS1EsUUFBUSxZQUNSLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUNvbmZpZ0Z1bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxNb2R1bGVDb25maWc+KCcnKTtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb2R1bGVDb25maWdTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZzogTW9kdWxlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QobW9kdWxlQ29uZmlnRnVuYylcbiAgICAgICAgbW9kdWxlQ29uZmlnVmFsOiBhbnkgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IG1vZHVsZUNvbmZpZ1ZhbCgpO1xuICAgIH1cblxuICAgIGdldENvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL21vZHVsZS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc3RSxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU8sSUFBSSxjQUFjLENBQWUsRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUtELE1BQU0sT0FBTyxtQkFBbUI7SUFHNUIsWUFHSSxrQkFBdUIsSUFBSTtRQUUzQixJQUFJLGVBQWUsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUN6QyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7U0FDcEQ7YUFBTTtZQUNILElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ1gsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQ2xDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDO2FBQzdCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7WUF6QkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7NENBS1EsUUFBUSxZQUNSLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUNvbmZpZ0Z1bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxNb2R1bGVDb25maWc+KCcnKTtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb2R1bGVDb25maWdTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZzogTW9kdWxlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QobW9kdWxlQ29uZmlnRnVuYylcbiAgICAgICAgbW9kdWxlQ29uZmlnVmFsOiBhbnkgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChtb2R1bGVDb25maWdWYWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyA9IG1vZHVsZUNvbmZpZ1ZhbCgpO1xuICAgICAgICAgICAgd2luZG93WydhcHBDb2RlJ10gPSB0aGlzLl9jb25maWcuYXBwQ29kZTtcbiAgICAgICAgICAgIHdpbmRvd1snZW52aXJvbm1lbnQnXSA9IHRoaXMuX2NvbmZpZy5lbnZpcm9ubWVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogd2luZG93WydlbnZpcm9ubWVudCddLFxuICAgICAgICAgICAgICAgIGFwcENvZGU6IHdpbmRvd1snYXBwQ29kZSddXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29uZmlnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICAgIH1cbn1cbiJdfQ==
@@ -2109,7 +2109,17 @@ function moduleConfigFunc() {
2109
2109
  }
2110
2110
  class ModuleConfigService {
2111
2111
  constructor(moduleConfigVal = null) {
2112
- this._config = moduleConfigVal();
2112
+ if (moduleConfigVal) {
2113
+ this._config = moduleConfigVal();
2114
+ window['appCode'] = this._config.appCode;
2115
+ window['environment'] = this._config.environment;
2116
+ }
2117
+ else {
2118
+ this._config = {
2119
+ environment: window['environment'],
2120
+ appCode: window['appCode']
2121
+ };
2122
+ }
2113
2123
  }
2114
2124
  getConfig() {
2115
2125
  return this._config;
@@ -3885,6 +3895,7 @@ class ComponentContextService {
3885
3895
  constructor(_commonService) {
3886
3896
  this._commonService = _commonService;
3887
3897
  this.data = {};
3898
+ // reportQueue: ReportQueueComponent;
3888
3899
  this._unSubscribeAll = new Subject();
3889
3900
  this.promises = {};
3890
3901
  this.subjects = {};
@@ -4094,11 +4105,6 @@ class ComponentContextService {
4094
4105
  this.data = {};
4095
4106
  this.root.fireEvent(ComCtxConstants.ROOT.DESTROY_COMPONENT, this);
4096
4107
  }
4097
- addExportJob(job) {
4098
- if (this.root.reportQueue) {
4099
- this.root.reportQueue.addJob(job);
4100
- }
4101
- }
4102
4108
  }
4103
4109
  ComponentContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ComponentContextService_Factory() { return new ComponentContextService(i0.ɵɵinject(CommonService)); }, token: ComponentContextService, providedIn: "root" });
4104
4110
  ComponentContextService.decorators = [
@@ -18860,7 +18866,8 @@ class ListComponentBase extends ComponentBase {
18860
18866
  if (element.displayField == null) {
18861
18867
  element.displayField = 'ten';
18862
18868
  }
18863
- tmpCol = new ColumnSchemaBase(Object.assign(Object.assign({}, element), { isRefField: true, rawColumn: element, controlType: ControlType.dropdown, dataType: element.dataTypeRefField, field: 'str' + element.field, allowFilter: element.allowFilter, sort: false, visible: true }));
18869
+ tmpCol = new ColumnSchemaBase(Object.assign(Object.assign({}, element), { isRefField: true, rawColumn: element, controlType: ControlType.dropdown, dataType: element.dataTypeRefField, field: 'str' + element.field, allowFilter: element.allowFilter, sort: false, visible: !(this.setting.groupColumn
18870
+ && element.field == this.setting.groupColumn.field) }));
18864
18871
  const configRefField = this.setting.columnSetting.details.find(p => p.columnCode == tmpCol.field);
18865
18872
  if (configRefField && configRefField.visible != null) {
18866
18873
  tmpCol.visible = configRefField.visible;