tnx-shared 5.3.316 → 5.3.317

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.
@@ -180,4 +180,4 @@ SignalRService.ctorParameters = () => [
180
180
  { type: ModuleConfigService },
181
181
  { type: AuthenService }
182
182
  ];
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRCxNQUFNLE9BQU8sY0FBYztJQW9CdkIsWUFDWSxvQkFBeUMsRUFDekMsY0FBNkI7UUFEN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQWxCekMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFPbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQWdKaEIsU0FBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUExSXJELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElB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O0lBRU8sU0FBUyxDQUFDLGFBQTRCLEVBQUUsUUFBZ0IsRUFBRSxRQUE2QjtRQUMzRixJQUFJLFFBQVEsSUFBSSxhQUFhLEVBQUU7WUFDM0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUE0QixFQUFFLFFBQWdCO1FBQzlELElBQUksUUFBUSxJQUFJLGFBQWEsRUFBRTtZQUMzQixhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Ozs7WUE3TUosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFMUSxtQkFBbUI7WUFDbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb24gfSBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW5TZXJ2aWNlIH0gZnJvbSAnLi9hdXRoZW4uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUlNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnO1xuICAgIHByaXZhdGUgX2h1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb247XG5cbiAgICBjb25uZWN0aW9ucyA9IFtdO1xuICAgIGh1YnMgPSB7fTtcbiAgICBkZWxheVN0YXJ0ZXJzID0gW107XG4gICAgY29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBtYXhSZXRyeVRpbWVzID0gMTA7XG4gICAgdmlld0NvZGVTdWJzOiB7XG4gICAgICAgIHZpZXdDb2RlOiBzdHJpbmcsXG4gICAgICAgIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gICAgfVtdO1xuXG4gICAgaHVic1NldHRpbmc6IGFueTtcbiAgICBpc0luaXRlZCA9IGZhbHNlO1xuICAgIGlzSW5pdGVkRnVsbCA9IGZhbHNlO1xuICAgIGlzU2luZ2xlU2lnbmFsUiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2F1dGhlblNlcnZpY2U6IEF1dGhlblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fbW9kdWxlQ29uZmlnID0gdGhpcy5fbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgICAgICAgdGhpcy5odWJzU2V0dGluZyA9IHRoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5zaWduYWxyQ29uZmlnLmh1YnM7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0ZWQgfHwgdGhpcy5pc0luaXRlZEZ1bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSW5pdGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb21tb25IdWIpIHtcbiAgICAgICAgICAgIHRoaXMuaHVic1snQ29tbW9uSHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ0NvbW1vbkh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydDb21tb25IdWInXSk7XG4gICAgICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydDb21tb25IdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZUNvbnNpc3RlbmN5SHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ0NvbnNpc3RlbmN5SHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29uc2lzdGVuY3lIdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZU5vdGlmaWNhdGlvbkh1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignTm90aWZpY2F0aW9uSHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlUHVibGljSHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ1B1YmxpY0h1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdQdWJsaWNIdWInKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snUHVibGljSHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snUHVibGljSHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKHRoaXMuZGVsYXlTdGFydGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGF5U3RhcnRlcnMucG9wKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG5cbiAgICB9XG5cbiAgICBhc3luYyBzaW5nbGVJbml0KCkge1xuICAgICAgICB0aGlzLmlzU2luZ2xlU2lnbmFsUiA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGVkRnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLmlzSW5pdGVkRnVsbCA9IHRydWU7XG4gICAgICAgIHRoaXMuaHVic1snQ29tbW9uSHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ0NvbW1vbkh1YicpO1xuICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ0NvbW1vbkh1YiddKTtcbiAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuXG4gICAgICAgIHRoaXMuaHVic1snQ29uc2lzdGVuY3lIdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignQ29uc2lzdGVuY3lIdWInKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddKTtcbiAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29uc2lzdGVuY3lIdWInXSk7XG5cbiAgICAgICAgdGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignTm90aWZpY2F0aW9uSHViJyk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snTm90aWZpY2F0aW9uSHViJ10pO1xuICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG5cbiAgICAgICAgdGhpcy5odWJzWydQdWJsaWNIdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignUHVibGljSHViJyk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snUHVibGljSHViJ10pO1xuICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydQdWJsaWNIdWInXSk7XG5cbiAgICAgICAgd2hpbGUgKHRoaXMuZGVsYXlTdGFydGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGF5U3RhcnRlcnMucG9wKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgc3RhcnQodG9waWM6IHN0cmluZywgdmlld0NvZGU6IHN0cmluZywgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKCF0b3BpYykge1xuICAgICAgICAgICAgdG9waWMgPSAnQ29tbW9uSHViJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc0h1YkVuYWJsZWQodG9waWMpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5jb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsYXlTdGFydGVycy5wdXNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZVZpZXdDb2RlKHRoaXMuaHVic1t0b3BpY10sIHZpZXdDb2RlLCBjYWxsYmFjayk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVmlld0NvZGUodGhpcy5odWJzW3RvcGljXSwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzSHViRW5hYmxlZCh0b3BpYykge1xuICAgICAgICByZXR1cm4gKHRvcGljID09PSAnQ29tbW9uSHViJyAmJiB0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlQ29tbW9uSHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnQ29uc2lzdGVuY3lIdWInICYmIHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb25zaXN0ZW5jeUh1YilcbiAgICAgICAgICAgIHx8ICh0b3BpYyA9PT0gJ05vdGlmaWNhdGlvbkh1YicgJiYgdGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZU5vdGlmaWNhdGlvbkh1YilcbiAgICAgICAgICAgIHx8ICh0b3BpYyA9PT0gJ1B1YmxpY0h1YicpXG4gICAgICAgICAgICB8fCB0aGlzLmlzU2luZ2xlU2lnbmFsUjtcblxuICAgIH1cblxuICAgIHN0b3AoKSB7XG4gICAgICAgIHRoaXMuX2h1YkNvbm5lY3Rpb24uc3RvcCgpO1xuICAgIH1cblxuICAgIHN1YnNjcmliZVZpZXdDb2RlKGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlOiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKSB7XG5cbiAgICAgICAgaWYgKCF0aGlzLnZpZXdDb2RlU3Vicykge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29kZVN1YnMgPSBbeyB2aWV3Q29kZSwgY2FsbGJhY2sgfV07XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZShodWJDb25uZWN0aW9uLCB2aWV3Q29kZSwgY2FsbGJhY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmlld0NvZGVTdWJzLmZpbmRJbmRleCh4ID0+IHgudmlld0NvZGUgPT09IHZpZXdDb2RlKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvZGVTdWJzLnB1c2goeyB2aWV3Q29kZSwgY2FsbGJhY2sgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmliZShodWJDb25uZWN0aW9uLCB2aWV3Q29kZSwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5TdWJzY3JpYmVWaWV3Q29kZSh0b3BpYzogc3RyaW5nLCB2aWV3Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdG9waWMpIHtcbiAgICAgICAgICAgIHRvcGljID0gJ0NvbW1vbkh1Yic7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaHViQ29ubmVjdGlvbiA9IHRoaXMuaHVic1t0b3BpY107XG4gICAgICAgIGlmICh0aGlzLnZpZXdDb2RlU3Vicykge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29kZVN1YnMgPSB0aGlzLnZpZXdDb2RlU3Vicy5maWx0ZXIoeCA9PiB4LnZpZXdDb2RlICE9PSB2aWV3Q29kZSk7XG4gICAgICAgICAgICB0aGlzLnVuU3Vic2NyaWJlKGh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ29ubmVjdGlvbih0b3BpYzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5fYXV0aGVuU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpO1xuICAgICAgICByZXR1cm4gbmV3IHNpZ25hbFIuSHViQ29ubmVjdGlvbkJ1aWxkZXIoKVxuICAgICAgICAgICAgLndpdGhVcmwoYCR7dGhpcy5fbW9kdWxlQ29uZmlnLmVudmlyb25tZW50LmFwaURvbWFpbi5ub3RpZmljYXRpb25FbmRwb2ludH0vJHt0b3BpY31gLFxuICAgICAgICAgICAgICAgIHsgYWNjZXNzVG9rZW5GYWN0b3J5OiAoKSA9PiBhY2Nlc3NUb2tlbiB9KVxuICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhdXRvUmVjb25uZWN0KGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24pIHtcbiAgICAgICAgaHViQ29ubmVjdGlvbi5vbmNsb3NlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKGh1YkNvbm5lY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhaXQgPSBtcyA9PiBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgbXMpKTtcblxuICAgIHByaXZhdGUgc3RhcnRDb25uZWN0aW9uKGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIHJldHJ5Q291bnQgPSAxKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgICAgICAgLy8gbm90IHN1cmUgYWJvdXQgaXQgOikpKVxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FzcG5ldC9TaWduYWxSL2lzc3Vlcy8yMzg5XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV2ViU29ja2V0LCAnT1BFTicsIHsgdmFsdWU6IDEsIH0pO1xuXG4gICAgICAgICAgICBodWJDb25uZWN0aW9uXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXhSZXRyeVRpbWVzIC0gcmV0cnlDb3VudCA+IDApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMud2FpdChyZXRyeUNvdW50ICogcmV0cnlDb3VudCAqIDEwMDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4odGhpcy5zdGFydENvbm5lY3Rpb24uYmluZCh0aGlzLCBodWJDb25uZWN0aW9uLCArK3JldHJ5Q291bnQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZShodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBpZiAodmlld0NvZGUgJiYgaHViQ29ubmVjdGlvbikge1xuICAgICAgICAgICAgaHViQ29ubmVjdGlvbi5pbnZva2UoJ0pvaW5Sb29tJywgdmlld0NvZGUpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVyci50b1N0cmluZygpKSk7XG4gICAgICAgICAgICBodWJDb25uZWN0aW9uLm9uKHZpZXdDb2RlLCAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdW5TdWJzY3JpYmUoaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiwgdmlld0NvZGU6IHN0cmluZykge1xuICAgICAgICBpZiAodmlld0NvZGUgJiYgaHViQ29ubmVjdGlvbikge1xuICAgICAgICAgICAgaHViQ29ubmVjdGlvbi5pbnZva2UoJ2xlYXZlUm9vbScsIHZpZXdDb2RlKS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIudG9TdHJpbmcoKSkpO1xuICAgICAgICAgICAgaHViQ29ubmVjdGlvbi5vZmYodmlld0NvZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3NpZ25hbHIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRCxNQUFNLE9BQU8sY0FBYztJQW9CdkIsWUFDWSxvQkFBeUMsRUFDekMsY0FBNkI7UUFEN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQWxCekMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFPbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQWdKaEIsU0FBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUExSXJELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElB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O0lBRU8sU0FBUyxDQUFDLGFBQTRCLEVBQUUsUUFBZ0IsRUFBRSxRQUE2QjtRQUMzRixJQUFJLFFBQVEsSUFBSSxhQUFhLEVBQUU7WUFDM0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUE0QixFQUFFLFFBQWdCO1FBQzlELElBQUksUUFBUSxJQUFJLGFBQWEsRUFBRTtZQUMzQixhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7Ozs7WUE3TUosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFMUSxtQkFBbUI7WUFDbkIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb24gfSBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW5TZXJ2aWNlIH0gZnJvbSAnLi9hdXRoZW4uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUlNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnO1xuICAgIHByaXZhdGUgX2h1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb247XG5cbiAgICBjb25uZWN0aW9ucyA9IFtdO1xuICAgIGh1YnMgPSB7fTtcbiAgICBkZWxheVN0YXJ0ZXJzID0gW107XG4gICAgY29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBtYXhSZXRyeVRpbWVzID0gMTA7XG4gICAgdmlld0NvZGVTdWJzOiB7XG4gICAgICAgIHZpZXdDb2RlOiBzdHJpbmcsXG4gICAgICAgIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gICAgfVtdO1xuXG4gICAgaHVic1NldHRpbmc6IGFueTtcbiAgICBpc0luaXRlZCA9IGZhbHNlO1xuICAgIGlzSW5pdGVkRnVsbCA9IGZhbHNlO1xuICAgIGlzU2luZ2xlU2lnbmFsUiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2F1dGhlblNlcnZpY2U6IEF1dGhlblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fbW9kdWxlQ29uZmlnID0gdGhpcy5fbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgICAgICAgdGhpcy5odWJzU2V0dGluZyA9IHRoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5zaWduYWxyQ29uZmlnLmh1YnM7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0ZWQgfHwgdGhpcy5pc0luaXRlZEZ1bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSW5pdGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb21tb25IdWIpIHtcbiAgICAgICAgICAgIHRoaXMuaHVic1snQ29tbW9uSHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ0NvbW1vbkh1YicpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydDb21tb25IdWInXSk7XG4gICAgICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydDb21tb25IdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZUNvbnNpc3RlbmN5SHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oJ0NvbnNpc3RlbmN5SHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snQ29uc2lzdGVuY3lIdWInXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZU5vdGlmaWNhdGlvbkh1Yikge1xuICAgICAgICAgICAgdGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignTm90aWZpY2F0aW9uSHViJyk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlUHVibGljSHViKSB7XG4gICAgICAgICAgICB0aGlzLmh1YnNbJ1B1YmxpY0h1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdQdWJsaWNIdWInKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snUHVibGljSHViJ10pO1xuICAgICAgICAgICAgdGhpcy5hdXRvUmVjb25uZWN0KHRoaXMuaHVic1snUHVibGljSHViJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKHRoaXMuZGVsYXlTdGFydGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGF5U3RhcnRlcnMucG9wKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG5cbiAgICB9XG5cbiAgICBhc3luYyBzaW5nbGVJbml0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHRoaXMuaXNTaW5nbGVTaWduYWxSID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0ZWRGdWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoaXMuaXNJbml0ZWRGdWxsID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5odWJzWydDb21tb25IdWInXSA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbignQ29tbW9uSHViJyk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RhcnRDb25uZWN0aW9uKHRoaXMuaHVic1snQ29tbW9uSHViJ10pO1xuICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydDb21tb25IdWInXSk7XG5cbiAgICAgICAgdGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdDb25zaXN0ZW5jeUh1YicpO1xuICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Q29ubmVjdGlvbih0aGlzLmh1YnNbJ0NvbnNpc3RlbmN5SHViJ10pO1xuICAgICAgICB0aGlzLmF1dG9SZWNvbm5lY3QodGhpcy5odWJzWydDb25zaXN0ZW5jeUh1YiddKTtcblxuICAgICAgICB0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdOb3RpZmljYXRpb25IdWInKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydOb3RpZmljYXRpb25IdWInXSk7XG4gICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ05vdGlmaWNhdGlvbkh1YiddKTtcblxuICAgICAgICB0aGlzLmh1YnNbJ1B1YmxpY0h1YiddID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKCdQdWJsaWNIdWInKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24odGhpcy5odWJzWydQdWJsaWNIdWInXSk7XG4gICAgICAgIHRoaXMuYXV0b1JlY29ubmVjdCh0aGlzLmh1YnNbJ1B1YmxpY0h1YiddKTtcblxuICAgICAgICB3aGlsZSAodGhpcy5kZWxheVN0YXJ0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZGVsYXlTdGFydGVycy5wb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzdGFydCh0b3BpYzogc3RyaW5nLCB2aWV3Q29kZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBpZiAoIXRvcGljKSB7XG4gICAgICAgICAgICB0b3BpYyA9ICdDb21tb25IdWInO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzSHViRW5hYmxlZCh0b3BpYykpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5kZWxheVN0YXJ0ZXJzLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVmlld0NvZGUodGhpcy5odWJzW3RvcGljXSwgdmlld0NvZGUsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVWaWV3Q29kZSh0aGlzLmh1YnNbdG9waWNdLCB2aWV3Q29kZSwgY2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNIdWJFbmFibGVkKHRvcGljKSB7XG4gICAgICAgIHJldHVybiAodG9waWMgPT09ICdDb21tb25IdWInICYmIHRoaXMuaHVic1NldHRpbmcgJiYgdGhpcy5odWJzU2V0dGluZy5lbmFibGVDb21tb25IdWIpXG4gICAgICAgICAgICB8fCAodG9waWMgPT09ICdDb25zaXN0ZW5jeUh1YicgJiYgdGhpcy5odWJzU2V0dGluZyAmJiB0aGlzLmh1YnNTZXR0aW5nLmVuYWJsZUNvbnNpc3RlbmN5SHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnTm90aWZpY2F0aW9uSHViJyAmJiB0aGlzLmh1YnNTZXR0aW5nICYmIHRoaXMuaHVic1NldHRpbmcuZW5hYmxlTm90aWZpY2F0aW9uSHViKVxuICAgICAgICAgICAgfHwgKHRvcGljID09PSAnUHVibGljSHViJylcbiAgICAgICAgICAgIHx8IHRoaXMuaXNTaW5nbGVTaWduYWxSO1xuXG4gICAgfVxuXG4gICAgc3RvcCgpIHtcbiAgICAgICAgdGhpcy5faHViQ29ubmVjdGlvbi5zdG9wKCk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlVmlld0NvZGUoaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiwgdmlld0NvZGU6IHN0cmluZywgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpIHtcblxuICAgICAgICBpZiAoIXRoaXMudmlld0NvZGVTdWJzKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb2RlU3VicyA9IFt7IHZpZXdDb2RlLCBjYWxsYmFjayB9XTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlKGh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlLCBjYWxsYmFjayk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52aWV3Q29kZVN1YnMuZmluZEluZGV4KHggPT4geC52aWV3Q29kZSA9PT0gdmlld0NvZGUpID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29kZVN1YnMucHVzaCh7IHZpZXdDb2RlLCBjYWxsYmFjayB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlKGh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlLCBjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1blN1YnNjcmliZVZpZXdDb2RlKHRvcGljOiBzdHJpbmcsIHZpZXdDb2RlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0b3BpYykge1xuICAgICAgICAgICAgdG9waWMgPSAnQ29tbW9uSHViJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBodWJDb25uZWN0aW9uID0gdGhpcy5odWJzW3RvcGljXTtcbiAgICAgICAgaWYgKHRoaXMudmlld0NvZGVTdWJzKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb2RlU3VicyA9IHRoaXMudmlld0NvZGVTdWJzLmZpbHRlcih4ID0+IHgudmlld0NvZGUgIT09IHZpZXdDb2RlKTtcbiAgICAgICAgICAgIHRoaXMudW5TdWJzY3JpYmUoaHViQ29ubmVjdGlvbiwgdmlld0NvZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb25uZWN0aW9uKHRvcGljOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSB0aGlzLl9hdXRoZW5TZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICAgIHJldHVybiBuZXcgc2lnbmFsUi5IdWJDb25uZWN0aW9uQnVpbGRlcigpXG4gICAgICAgICAgICAud2l0aFVybChgJHt0aGlzLl9tb2R1bGVDb25maWcuZW52aXJvbm1lbnQuYXBpRG9tYWluLm5vdGlmaWNhdGlvbkVuZHBvaW50fS8ke3RvcGljfWAsXG4gICAgICAgICAgICAgICAgeyBhY2Nlc3NUb2tlbkZhY3Rvcnk6ICgpID0+IGFjY2Vzc1Rva2VuIH0pXG4gICAgICAgICAgICAuYnVpbGQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGF1dG9SZWNvbm5lY3QoaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbikge1xuICAgICAgICBodWJDb25uZWN0aW9uLm9uY2xvc2UoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydENvbm5lY3Rpb24oaHViQ29ubmVjdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdCA9IG1zID0+IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCBtcykpO1xuXG4gICAgcHJpdmF0ZSBzdGFydENvbm5lY3Rpb24oaHViQ29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiwgcmV0cnlDb3VudCA9IDEpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICAgICAgICAvLyBub3Qgc3VyZSBhYm91dCBpdCA6KSkpXG4gICAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXNwbmV0L1NpZ25hbFIvaXNzdWVzLzIzODlcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWJTb2NrZXQsICdPUEVOJywgeyB2YWx1ZTogMSwgfSk7XG5cbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb25cbiAgICAgICAgICAgICAgICAuc3RhcnQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1heFJldHJ5VGltZXMgLSByZXRyeUNvdW50ID4gMCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy53YWl0KHJldHJ5Q291bnQgKiByZXRyeUNvdW50ICogMTAwMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbih0aGlzLnN0YXJ0Q29ubmVjdGlvbi5iaW5kKHRoaXMsIGh1YkNvbm5lY3Rpb24sICsrcmV0cnlDb3VudCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlKGh1YkNvbm5lY3Rpb246IEh1YkNvbm5lY3Rpb24sIHZpZXdDb2RlOiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICh2aWV3Q29kZSAmJiBodWJDb25uZWN0aW9uKSB7XG4gICAgICAgICAgICBodWJDb25uZWN0aW9uLmludm9rZSgnSm9pblJvb20nLCB2aWV3Q29kZSkuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyLnRvU3RyaW5nKCkpKTtcbiAgICAgICAgICAgIGh1YkNvbm5lY3Rpb24ub24odmlld0NvZGUsIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1blN1YnNjcmliZShodWJDb25uZWN0aW9uOiBIdWJDb25uZWN0aW9uLCB2aWV3Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2aWV3Q29kZSAmJiBodWJDb25uZWN0aW9uKSB7XG4gICAgICAgICAgICBodWJDb25uZWN0aW9uLmludm9rZSgnbGVhdmVSb29tJywgdmlld0NvZGUpLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVyci50b1N0cmluZygpKSk7XG4gICAgICAgICAgICBodWJDb25uZWN0aW9uLm9mZih2aWV3Q29kZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=