@magic-xpa/angular 4.901.0-dev491.317 → 4.901.0-dev491.321
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/services/OverlayWindowService.mjs +37 -9
- package/esm2020/src/services/table.magic.service.mjs +2 -2
- package/esm2020/src/services/task.magics.service.mjs +5 -2
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +8 -1
- package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +1 -1
- package/esm2020/src/ui/directives/magic.directive.mjs +1 -1
- package/esm2020/src/ui/magic-root.component.mjs +2 -2
- package/fesm2015/magic-xpa-angular.mjs +43 -7
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +43 -7
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/services/OverlayWindowService.d.ts +9 -3
- package/src/services/table.magic.service.d.ts +1 -1
- package/src/ui/GuiInteractiveExecutor.d.ts +1 -0
@@ -212,4 +212,4 @@ MagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MagicDirective, selectors:
|
|
212
212
|
}], rowId: [{
|
213
213
|
type: Input
|
214
214
|
}] }); })();
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFDTCxXQUFXLEVBRVgsWUFBWSxFQUVaLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8sY0FBYztJQW9FekIsWUFDWSxLQUF1QixFQUN2QixPQUFtQixFQUNuQixRQUFtQixFQUNuQixLQUF1QixFQUMxQixRQUFrQixFQUNILFFBQTJCO1FBTHZDLFVBQUssR0FB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LENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7QUF0UmEscUJBQU0sR0FBRyxLQUFNLENBQUE7QUFFZiwwQ0FBMkIsR0FBRSxDQUFFLENBQUE7NEVBdkRsQyxjQUFjO21EQUFkLGNBQWM7dUZBQWQsY0FBYztjQUoxQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFNBQVM7YUFDcEI7O3NCQTRFSSxRQUFRO3dCQXpFUyxLQUFLO2tCQUF4QixLQUFLO21CQUFDLE9BQU87WUFRVyxVQUFVO2tCQUFsQyxLQUFLO21CQUFDLFlBQVk7WUFTSCxLQUFLO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21tYW5kVHlwZSxcclxuICBHdWlDb21tYW5kLFxyXG4gIEd1aUNvbnN0YW50cyxcclxuICBHdWlJbnRlcmFjdGl2ZSxcclxuICBIdG1sUHJvcGVydGllcyxcclxuICBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLFxyXG4gIE1vZGlmaWVyc1xyXG59IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQgeyBnZXRHdWlFdmVudE9iaiwgSUd1aUV2ZW50IH0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcblxyXG5pbXBvcnQgeyBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50IH0gZnJvbSBcIi4uL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgUm93TWFnaWNEaXJlY3RpdmUgfSBmcm9tIFwiLi9tYWdpYy9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQmluZGluZ0xldmVsLCBNZ0NvbnRyb2xUeXBlLCBTdG9yYWdlQXR0cmlidXRlVHlwZSB9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wbGF0Zm9ybVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbm5lY3RzIEhUTUwgZWxlbWVudHMgdG8gdGhlIE1hZ2ljIFdlYiBDbGllbnQgZW5naW5lXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogXCJbbWFnaWNdXCJcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNYWdpY0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoXCJtYWdpY1wiKSBzZXQgbWFnaWModmFsKSB7XHJcbiAgICB0aGlzLmlkID0gdmFsO1xyXG4gICAgdGhpcy5zZWxlY3RvciA9IFwibWFnaWNcIjtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGZsYWcgaXMgdXNlZCB3aGVuIHdlIG9ubHkgd2FudCB0byByZWdpc3RlciB0byBldmVudHMsIGJ1dCBkbyBub3Qgd2FudCB0byBleGVjdXRlIGNvbW1hbmRzIHNlbnQgZnJvbSBzZXJ2ZXJcclxuICAgKi9cclxuICBASW5wdXQoXCJldmVudHNPbmx5XCIpIHNldCBldmVudHNPbmx5KHZhbCkge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudHNPbmx5XCIpO1xyXG4gICAgdGhpcy5ldmVudHNPbmx5VmFsID0gdHJ1ZTtcclxuXHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUm93IGlkIG9mIHRoZSBjb250cm9sLCBmb3Igd2hlbiBpdCBpcyBvbiBhIHRhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHJvd0lkOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICAvL0BJbnB1dCgpIGV2ZW50czogYW55W10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIEhUTUwgZWxlbWVudCBjb25uZWN0ZWQgdG8gdGhpcyBkaXJlY3RpdmVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIC8qKlxyXG4gICAqIE1hZ2ljJ3MgY29tcG9uZW50IGhhbmRsaW5nIHRoaXMgY29udHJvbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb21wb25lbnQ6IFRhc2tCYXNlTWFnaWNDb21wb25lbnQ7XHJcbiAgLyoqXHJcbiAgICogQ29sbGVjdGlvbiBvZiBldmVudCBoYW5kbGVycyBmb3IgdGhpcyBlbGVtZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBldmVudEhhbmRsZXJzOiB7IFtrZXk6IHN0cmluZ106ICgpID0+IHZvaWQ7IH0gPSB7fTtcclxuICAvKipcclxuICAgKiBJZCBvZiB0aGlzIGVsZW1lbnRcclxuICAgKi9cclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHN1YnNjcmliZVJlZnJlc2hEb206IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBmb2N1c1VubGlzdGVuZXI6ICgoKSA9PiB2b2lkKTtcclxuXHJcbiAgcHVibGljIGV2ZW50c09ubHlWYWwgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBvcGVuZWQgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBub09mQXV0b0NvbXBsZXRlQm94ZXNPcGVuZWQgPTA7XHJcblxyXG4gIHN1YnNjcmliZUludGVyYWN0aXZlQ29tbWFuZHM6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gX3Rhc2sgVGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IGZvciB3aGljaCB0aGUgZGlyZWN0aXZlIGlzIGFwcGxpZWRcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgUmVuZGVyZXIgZm9yIHRoZSBlbGVtZW50XHJcbiAgICogQHBhcmFtIHZjUmVmXHJcbiAgICogQHBhcmFtIHBsYXRmb3JtXHJcbiAgICogQHBhcmFtIG1hZ2ljUm93XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJvdGVjdGVkIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHVibGljIHBsYXRmb3JtOiBQbGF0Zm9ybSxcclxuICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBtYWdpY1JvdzogUm93TWFnaWNEaXJlY3RpdmUpIHtcclxuXHJcbiAgICB0aGlzLmh0bWxFbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAvL2xldCBjID0gKDxhbnk+dGhpcy52Y1JlZikuX3ZpZXc7XHJcbiAgICAvL3doaWxlICghKGMgaW5zdGFuY2VvZiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50KSkge1xyXG4gICAgLy8gIGMgPSBjLmNvbXBvbmVudDtcclxuICAgIC8vfVxyXG4gICAgLy90aGlzLmNvbXBvbmVudCA9IGM7XHJcbiAgICBpZiAoISh0eXBlb2YgbWFnaWNSb3cgPT09IFwidW5kZWZpbmVkXCIgfHwgbWFnaWNSb3cgPT09IG51bGwpKVxyXG4gICAgICB0aGlzLnJvd0lkID0gbWFnaWNSb3cucm93SWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhc2soKTogVGFza01hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFzaztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIHRvIHRoZSBldmVudHMgdGhpcyBlbGVtZW50IG1heSBuZWVkIHRvIGhhbmRsZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWdFdmVudHMoKSB7XHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIGZvciB3aGljaCBldmVudCBoYW5kbGVyIG1heSBiZSByZW1vdmVkIGFuZCByZXN0b3JlZFxyXG4gICAgdGhpcy5ldmVudEhhbmRsZXJzW1wiZm9jdXNpblwiXSA9IHRoaXMuT25Gb2N1cy5iaW5kKHRoaXMpO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRIYW5kbGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwga2V5LCB0aGlzLmV2ZW50SGFuZGxlcnNba2V5XSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBIYW5kbGUgZXZlbnRzIHdpdGggYW5vbnltb3VzICBldmVudCBoYW5kbGVyc1xyXG4gICAgbGV0IGV2ZW50czogc3RyaW5nW10gPSBbXCJjbGlja1wiLCBcIm1vdXNlZG93blwiLCBcImRibGNsaWNrXCJdOy8vICwncmVzaXplJywgJ2xvYWQnLCAndW5sb2FkJ1xyXG4gICAgZXZlbnRzLmZvckVhY2goZXZlbnQgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBldmVudCwgKGUpID0+IHtcclxuICAgICAgICBcclxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSBldmVudCBpcyBmaXJlZCBmcm9tIHpvb20gYnV0dG9uICggdG8gaWRlbnRpZnkgdGhlIGNvbm5lY3RlZCB6b29tIGJ1dHRvbiBpbiBlbmdpbmUpXHJcbiAgICAgICAgbGV0IGZyb21CdXR0b24gPSBmYWxzZTsgXHJcbiAgICAgICAgaWYodGhpcy5odG1sRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KVxyXG4gICAgICAgICAgZnJvbUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEluIHRoZSBjYXNlIG9mIFNhZmFyaSBvciBDaHJvbWUgYnJvd3NlciBvbiBJT1MsIHdoZW4gYSBidXR0b24gaXMgY2xpY2tlZCwgdGhlIGJyb3dzZXIgZG9lcyBub3QgcmVjZWl2ZVxyXG4gICAgICAgICAqIGZvY3VzIGV2ZW50IGhlbmNlIHRoZSB6b29tIGFjdGlvbiBpcyBub3QgZXhlY3V0ZWQuIFNvIGluIG9yZGVyIHRvIHJlY2VpdmUgZm9jdXMgZXZlbnQsIGVuYWJsaW5nIGl0IGV4Y2x1c2l2ZWx5XHJcbiAgICAgICAgICogaW4gdGhlIGNhc2Ugb2YgU2FmYXJpIG9yIENocm9tZSBicm93c2VyIG9uIElPUyBhbmQgU2FmYXJpIGJyb3dzZXIgb24gTWFjLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGlmIChmcm9tQnV0dG9uICYmICh0aGlzLnBsYXRmb3JtLklPUyB8fCB0aGlzLnBsYXRmb3JtLlNBRkFSSSkpXHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChnZXRHdWlFdmVudE9iaihcImZvY3VzXCIsIHRoaXMuaWQsICt0aGlzLnJvd0lkKSk7XHJcblxyXG4gICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChnZXRHdWlFdmVudE9iaihldmVudCwgdGhpcy5pZCwgK3RoaXMucm93SWQsIGZyb21CdXR0b24pKTtcclxuICAgICAgICBpZiAoTWFnaWNEaXJlY3RpdmUubm9PZkF1dG9Db21wbGV0ZUJveGVzT3BlbmVkPCAxKVxyXG4gICAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBcImNoYW5nZVwiLCAoZSkgPT4ge1xyXG4gICAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwic2VsZWN0aW9uY2hhbmdlZFwiLCB0aGlzLmlkLCArdGhpcy5yb3dJZCk7XHJcblxyXG4gICAgICBpZiAoKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGd1aUV2ZW50LlZhbHVlID0gKDxhbnk+KGV2ZW50LnRhcmdldCkpLnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKTtcclxuICAgICAgICBlLmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgfVxyXG4gXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBoYW5kbGUgdGhlIGlucHV0IGV2ZW50XHJcbiAgICBmcm9tRXZlbnQodGhpcy5odG1sRWxlbWVudCwgXCJpbnB1dFwiKS5waXBlKFxyXG4gICAgICBtYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgICB9KSxcclxuICAgICAgZGVib3VuY2VUaW1lKDIwMCkgLy8gdGltZSBhZnRlciB3aGljaCB2YWx1ZSB3aWxsIGJlIHNlbnQgdG8gbWFnaWNcclxuICAgICkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudGFzay5nZXRQcm9wZXJ0eSh0aGlzLmlkLCBIdG1sUHJvcGVydGllcy5CaW5kaW5nTGV2ZWwsIHRoaXMucm93SWQpID09PSBCaW5kaW5nTGV2ZWwuQ2hhcmFjdGVyKSB7XHJcbiAgICAgICAgICAvLyBEb24ndCBzdXBwb3J0IGNoYXJhY3RlciBiaW5kaW5nIGZvciBkYXRlL3RpbWUgdmFsdWVzXHJcbiAgICAgICAgIGxldCBhdHRyaWJ1dGUgOiBTdG9yYWdlQXR0cmlidXRlVHlwZSA9ICB0aGlzLnRhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLmlkKS5kYXRhVHlwZTtcclxuICAgICAgICAgaWYoYXR0cmlidXRlICE9PSBTdG9yYWdlQXR0cmlidXRlVHlwZS5EYXRlICYmIGF0dHJpYnV0ZSAhPSBTdG9yYWdlQXR0cmlidXRlVHlwZS5UaW1lKVxyXG4gICAgICAgICAgICB0aGlzLnRhc2subWdBY2Nlc3NvclNlcnZpY2Uuc2V0VmFsdWVUb0NvbnRyb2wodGhpcy5pZCwgeCwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgXCJrZXlkb3duXCIsIChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImtleWRvd25cIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpO1xyXG4gICAgICAgIGd1aUV2ZW50Lm1vZGlmaWVycyA9IE1vZGlmaWVycy5NT0RJRklFUl9OT05FO1xyXG5cclxuICAgICAgICBpZiAoZS5hbHRLZXkgJiYgZS5rZXlDb2RlICE9PSBHdWlDb25zdGFudHMuS0VZX0FMVClcclxuICAgICAgICAgICAgZ3VpRXZlbnQubW9kaWZpZXJzID0gTW9kaWZpZXJzLk1PRElGSUVSX0FMVDtcclxuXHJcbiAgICAgICAgZWxzZSBpZiAoZS5jdHJsS2V5ICYmIGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9DVFJMKVxyXG4gICAgICAgICAgICBndWlFdmVudC5tb2RpZmllcnMgPSBNb2RpZmllcnMuTU9ESUZJRVJfQ1RSTDtcclxuXHJcbiAgICAgICAgbGV0IHN1cHBvcnRlZEtleSA9IGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9QR19VUCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUEdfRE9XTiB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfTEVGVCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUklHSFQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1VQIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9ET1dOIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9FU0MgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0hPTUUgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0VORCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUkVUVVJOIHx8XHJcbiAgICAgICAgICAgIChlLmtleUNvZGUgPj0gR3VpQ29uc3RhbnRzLktFWV9GMSAmJiBlLmtleUNvZGUgPD0gR3VpQ29uc3RhbnRzLktFWV9GMTIpO1xyXG5cclxuICAgICAgICBpZiAoZ3VpRXZlbnQubW9kaWZpZXJzICE9PSBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORSB8fCBzdXBwb3J0ZWRLZXkpIHtcclxuICAgICAgICAgICAgZ3VpRXZlbnQua2V5Q29kZSA9IGUua2V5Q29kZTtcclxuXHJcbiAgICAgICAgICAgIC8vIERlZmVjdCAxNjAwMjEgZml4ZWQgLSBkb24ndCBzZXQgZS5jYW5jZWxCdWJibGUgd2hlbiBjb21ib2JveCBpcyBvcGVuZWQgYW5kIGVzYyBrZXkgaXMgcHJlc3NlZFxyXG4gICAgICAgICAgICBpZiAoZS5rZXlDb2RlICE9PSBHdWlDb25zdGFudHMuS0VZX0VTQyB8fCBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRVNDICYmICghTWFnaWNEaXJlY3RpdmUub3BlbmVkICYmIE1hZ2ljRGlyZWN0aXZlLm5vT2ZBdXRvQ29tcGxldGVCb3hlc09wZW5lZCA8IDEpKVxyXG4gICAgICAgICAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgZm9jdXMgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIE9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ2V0R3VpRXZlbnRPYmooXCJmb2N1c1wiLCB0aGlzLmlkLCArdGhpcy5yb3dJZCkpO1xyXG4gICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElzIHRoZSBjb21tYW5kJ3MgZWxlbWVudCB0aGUgc2FtZSBhcyB0aGlzIGRpcmVjdGl2ZSdzIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqIEByZXR1cm5zIHRydWUvZmFsc2VcclxuICAgKi9cclxuICBwcml2YXRlIElzU2FtZUVsZW1lbnQoY29tbWFuZCkge1xyXG4gICAgbGV0IGxpbmU6IG51bWJlciA9IGNvbW1hbmQubGluZTtcclxuXHJcbiAgICBpZiAodGhpcy50YXNrLmlzVGFibGVDb250cm9sKGNvbW1hbmQuQ3RybE5hbWUpKVxyXG4gICAgICBsaW5lID0gdGhpcy50YXNrLmdldEd1aVJvd0lkKGxpbmUsIHRydWUpO1xyXG5cclxuICAgIHJldHVybiAoY29tbWFuZC5DdHJsTmFtZSA9PT0gdGhpcy5pZCAmJlxyXG4gICAgICAobGluZSA9PT0gK3RoaXMucm93SWQgfHxcclxuICAgICAgICAobGluZSA9PT0gMCAmJiBpc051bGxPclVuZGVmaW5lZCh0aGlzLnJvd0lkKSkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElzIHRoZSBjb21tYW5kJ3MgZWxlbWVudCB0aGUgc2FtZSBhcyB0aGlzIGRpcmVjdGl2ZSdzIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb21tYW5kXHJcbiAgICogQHJldHVybnMgdHJ1ZS9mYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgSXNTYW1lQ29tcG9uZW50KGNvbW1hbmQ6IEd1aUludGVyYWN0aXZlKSB7XHJcbiAgICByZXR1cm4gKGNvbW1hbmQuY29udHJvbE5hbWUgPT09IHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVnVXBkYXRlc1VJKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVSZWZyZXNoRG9tID0gdGhpcy50YXNrXHJcbiAgICAgIC5yZWZyZXNoRG9tLnBpcGUoZmlsdGVyKGMgPT4gdGhpcy5Jc1NhbWVFbGVtZW50KGMpKSlcclxuICAgICAgLnN1YnNjcmliZShhID0+IHtcclxuICAgICAgICAgIGxldCBjb21tYW5kOiBHdWlDb21tYW5kID0gYTtcclxuICAgICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLnJvd0lkKSlcclxuICAgICAgICAgICAgdGhpcy5yb3dJZCA9IFwiMFwiO1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmV2ZW50c09ubHlWYWwpXHJcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDb21tYW5kKGNvbW1hbmQpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZXgpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoZXgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZUludGVyYWN0aXZlQ29tbWFuZHMgPSB0aGlzLnRhc2suaW50ZXJhY3RpdmVDb21tYW5kc1xyXG4gICAgICAucGlwZShmaWx0ZXIoYyA9PiB0aGlzLklzU2FtZUNvbXBvbmVudChjKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoY29tbWFuZCA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVJbnRlcmFjdGl2ZUNvbW1hbmRzKGNvbW1hbmQpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoaXMgb2JqZWN0XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ0V2ZW50cygpO1xyXG4gICAgdGhpcy5yZWdVcGRhdGVzVUkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGNvbW1hbmRzIHJlY2VpdmVkIGZyb20gdGhlIE1hZ2ljIFdlYkNsaWVudCBlbmdpbmVcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqL1xyXG4gIGhhbmRsZUNvbW1hbmQoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9QUk9QRVJUWTpcclxuICAgICAgICB0aGlzLmhhbmRsZVNldFByb3BlcnR5KGNvbW1hbmQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfRk9DVVM6XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyKCk7XHJcbiAgICAgICAvLyBEbyBub3Qgc2V0IGZvY3VzIG9uIGNvbm5lY3RlZCB6b29tICBidXR0b25cclxuICAgICAgICBpZiAoIShjb21tYW5kLm9iai5Db25uZWN0ZWRDb250cm9sICYmIHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkpXHJcbiAgICAgICAgICB0aGlzLmh0bWxFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5mb2N1c1VubGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmh0bWxFbGVtZW50LCBcImZvY3VzaW5cIiwgdGhpcy5ldmVudEhhbmRsZXJzW1wiZm9jdXNpblwiXSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGhhbmRsZSB0aGUgaW50ZXJhY3RpdmUgY29tbWFuZHMgbGlrZSBDYWxsSlNcclxuICAgKi9cclxuICBoYW5kbGVJbnRlcmFjdGl2ZUNvbW1hbmRzKGNvbW1hbmQ6IEd1aUludGVyYWN0aXZlKSB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuX2NvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DQUxMX0pTOlxyXG4gICAgICAgIGxldCBtZXRob2ROYW1lOiBzdHJpbmcgPSBjb21tYW5kLl9zdHI7XHJcbiAgICAgICAgbGV0IGFyZ3M6IEFycmF5PGFueT4gPSBjb21tYW5kLmFyZ3VtZW50cztcclxuICAgICAgICBsZXQgbWFnaWNDb21wb25lbnQ6IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgPSAoKDxhbnk+dGhpcy52Y1JlZikuX2hvc3RMVmlldykuZmluZCh2ID0+IHYgaW5zdGFuY2VvZiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50KTtcclxuICAgICAgICBsZXQgcmVzdWx0U3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobWFnaWNDb21wb25lbnRbbWV0aG9kTmFtZV0pKSB7XHJcbiAgICAgICAgICAgIC8vIGludm9rZSB0aGUgbWV0aG9kIG9uIGluc3RhbmNlIG9mIG1hZ2ljIGNvbXBvbmVuZXRcclxuICAgICAgICAgICAgcmVzdWx0U3RyaW5nID0gbWFnaWNDb21wb25lbnRbbWV0aG9kTmFtZV0uYXBwbHkobWFnaWNDb21wb25lbnQsIGFyZ3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiSW5zdGFuY2UgbWV0aG9kIFwiICsgbWV0aG9kTmFtZSArIFwiIGRvZXMgbm90IGV4aXN0c1wiKTsgLy8gd2hlbiBtZXRob2QgaXMgbm90IGZvdW5kXHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gYW55IG90aGVyIGV4Y2VwdGlvblxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb21tYW5kLnJlc3VsdFN0cmluZyA9IHJlc3VsdFN0cmluZzsgLy8gdXBkYXRlIHRoZSByZXR1cm4gdmFsdWVcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgdGhlIE1hZ2ljIHNldC1wcm9wZXJ0eSBjb21tYW5kXHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKi9cclxuICBoYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kOiBHdWlDb21tYW5kKSB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuT3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgSHRtbFByb3BlcnRpZXMuUmVhZE9ubHk6IHtcclxuICAgICAgICBpZihjb21tYW5kLm9iai5UeXBlID09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX1RFWFQpXHJcbiAgICAgICAgaWYgKGNvbW1hbmQub2JqMSAhPSB0cnVlKVxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5odG1sRWxlbWVudCwgY29tbWFuZC5PcGVyYXRpb24pO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaHRtbEVsZW1lbnQsIGNvbW1hbmQuT3BlcmF0aW9uLCBjb21tYW5kLnN0cik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhbnVwXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVSZWZyZXNoRG9tLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFDTCxXQUFXLEVBRVgsWUFBWSxFQUVaLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVVqRCxNQUFNLE9BQU8sY0FBYztJQW9FekIsWUFDWSxLQUF1QixFQUN2QixPQUFtQixFQUNuQixRQUFtQixFQUNuQixLQUF1QixFQUMxQixRQUFrQixFQUNILFFBQTJCO1FBTHZDLFVBQUssR0FB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LENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7QUF0UmEscUJBQU0sR0FBRyxLQUFNLENBQUE7QUFFZiwwQ0FBMkIsR0FBRSxDQUFFLENBQUE7NEVBdkRsQyxjQUFjO21EQUFkLGNBQWM7dUZBQWQsY0FBYztjQUoxQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFNBQVM7YUFDcEI7O3NCQTRFSSxRQUFRO3dCQXpFUyxLQUFLO2tCQUF4QixLQUFLO21CQUFDLE9BQU87WUFRVyxVQUFVO2tCQUFsQyxLQUFLO21CQUFDLFlBQVk7WUFTSCxLQUFLO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21tYW5kVHlwZSxcclxuICBHdWlDb21tYW5kLFxyXG4gIEd1aUNvbnN0YW50cyxcclxuICBHdWlJbnRlcmFjdGl2ZSxcclxuICBIdG1sUHJvcGVydGllcyxcclxuICBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLFxyXG4gIE1vZGlmaWVyc1xyXG59IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQgeyBnZXRHdWlFdmVudE9iaiwgSUd1aUV2ZW50IH0gZnJvbSBcIkBtYWdpYy14cGEvZW5naW5lXCI7XHJcblxyXG5pbXBvcnQgeyBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50IH0gZnJvbSBcIi4uL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgUm93TWFnaWNEaXJlY3RpdmUgfSBmcm9tIFwiLi9tYWdpYy9yb3cubWFnaWMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQmluZGluZ0xldmVsLCBNZ0NvbnRyb2xUeXBlLCBTdG9yYWdlQXR0cmlidXRlVHlwZSB9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wbGF0Zm9ybVwiO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb25uZWN0cyBIVE1MIGVsZW1lbnRzIHRvIHRoZSBNYWdpYyBXZWIgQ2xpZW50IGVuZ2luZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW21hZ2ljXVwiXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTWFnaWNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KFwibWFnaWNcIikgc2V0IG1hZ2ljKHZhbCkge1xyXG4gICAgdGhpcy5pZCA9IHZhbDtcclxuICAgIHRoaXMuc2VsZWN0b3IgPSBcIm1hZ2ljXCI7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBmbGFnIGlzIHVzZWQgd2hlbiB3ZSBvbmx5IHdhbnQgdG8gcmVnaXN0ZXIgdG8gZXZlbnRzLCBidXQgZG8gbm90IHdhbnQgdG8gZXhlY3V0ZSBjb21tYW5kcyBzZW50IGZyb20gc2VydmVyXHJcbiAgICovXHJcbiAgQElucHV0KFwiZXZlbnRzT25seVwiKSBzZXQgZXZlbnRzT25seSh2YWwpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZXZlbnRzT25seVwiKTtcclxuICAgIHRoaXMuZXZlbnRzT25seVZhbCA9IHRydWU7XHJcblxyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJvdyBpZCBvZiB0aGUgY29udHJvbCwgZm9yIHdoZW4gaXQgaXMgb24gYSB0YWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dJZDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgLy9ASW5wdXQoKSBldmVudHM6IGFueVtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgY29ubmVjdGVkIHRvIHRoaXMgZGlyZWN0aXZlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBNYWdpYydzIGNvbXBvbmVudCBoYW5kbGluZyB0aGlzIGNvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgY29tcG9uZW50OiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50O1xyXG4gIC8qKlxyXG4gICAqIENvbGxlY3Rpb24gb2YgZXZlbnQgaGFuZGxlcnMgZm9yIHRoaXMgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZXZlbnRIYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiAoKSA9PiB2b2lkOyB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGhpcyBlbGVtZW50XHJcbiAgICovXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rvcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBzdWJzY3JpYmVSZWZyZXNoRG9tOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZm9jdXNVbmxpc3RlbmVyOiAoKCkgPT4gdm9pZCk7XHJcblxyXG4gIHB1YmxpYyBldmVudHNPbmx5VmFsID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgb3BlbmVkID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm9PZkF1dG9Db21wbGV0ZUJveGVzT3BlbmVkID0wO1xyXG5cclxuICBzdWJzY3JpYmVJbnRlcmFjdGl2ZUNvbW1hbmRzOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIF90YXNrIFRoZSB0YXNrIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBmb3Igd2hpY2ggdGhlIGRpcmVjdGl2ZSBpcyBhcHBsaWVkXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIFJlbmRlcmVyIGZvciB0aGUgZWxlbWVudFxyXG4gICAqIEBwYXJhbSB2Y1JlZlxyXG4gICAqIEBwYXJhbSBwbGF0Zm9ybVxyXG4gICAqIEBwYXJhbSBtYWdpY1Jvd1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByb3RlY3RlZCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbWFnaWNSb3c6IFJvd01hZ2ljRGlyZWN0aXZlKSB7XHJcblxyXG4gICAgdGhpcy5odG1sRWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgLy9sZXQgYyA9ICg8YW55PnRoaXMudmNSZWYpLl92aWV3O1xyXG4gICAgLy93aGlsZSAoIShjIGluc3RhbmNlb2YgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCkpIHtcclxuICAgIC8vICBjID0gYy5jb21wb25lbnQ7XHJcbiAgICAvL31cclxuICAgIC8vdGhpcy5jb21wb25lbnQgPSBjO1xyXG4gICAgaWYgKCEodHlwZW9mIG1hZ2ljUm93ID09PSBcInVuZGVmaW5lZFwiIHx8IG1hZ2ljUm93ID09PSBudWxsKSlcclxuICAgICAgdGhpcy5yb3dJZCA9IG1hZ2ljUm93LnJvd0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rhc2s7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RlciB0byB0aGUgZXZlbnRzIHRoaXMgZWxlbWVudCBtYXkgbmVlZCB0byBoYW5kbGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVnRXZlbnRzKCkge1xyXG4gICAgLy8gSGFuZGxlIGV2ZW50cyBmb3Igd2hpY2ggZXZlbnQgaGFuZGxlciBtYXkgYmUgcmVtb3ZlZCBhbmQgcmVzdG9yZWRcclxuICAgIHRoaXMuZXZlbnRIYW5kbGVyc1tcImZvY3VzaW5cIl0gPSB0aGlzLk9uRm9jdXMuYmluZCh0aGlzKTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmV2ZW50SGFuZGxlcnMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzVW5saXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIGtleSwgdGhpcy5ldmVudEhhbmRsZXJzW2tleV0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gSGFuZGxlIGV2ZW50cyB3aXRoIGFub255bW91cyAgZXZlbnQgaGFuZGxlcnNcclxuICAgIGxldCBldmVudHM6IHN0cmluZ1tdID0gW1wiY2xpY2tcIiwgXCJtb3VzZWRvd25cIiwgXCJkYmxjbGlja1wiXTsvLyAsJ3Jlc2l6ZScsICdsb2FkJywgJ3VubG9hZCdcclxuICAgIGV2ZW50cy5mb3JFYWNoKGV2ZW50ID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgZXZlbnQsIChlKSA9PiB7XHJcblxyXG4gICAgICAgICAgLy8gY2hlY2sgaWYgdGhlIGV2ZW50IGlzIGZpcmVkIGZyb20gem9vbSBidXR0b24gKCB0byBpZGVudGlmeSB0aGUgY29ubmVjdGVkIHpvb20gYnV0dG9uIGluIGVuZ2luZSlcclxuICAgICAgICBsZXQgZnJvbUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmKHRoaXMuaHRtbEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudClcclxuICAgICAgICAgIGZyb21CdXR0b24gPSB0cnVlO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBJbiB0aGUgY2FzZSBvZiBTYWZhcmkgb3IgQ2hyb21lIGJyb3dzZXIgb24gSU9TLCB3aGVuIGEgYnV0dG9uIGlzIGNsaWNrZWQsIHRoZSBicm93c2VyIGRvZXMgbm90IHJlY2VpdmVcclxuICAgICAgICAgKiBmb2N1cyBldmVudCBoZW5jZSB0aGUgem9vbSBhY3Rpb24gaXMgbm90IGV4ZWN1dGVkLiBTbyBpbiBvcmRlciB0byByZWNlaXZlIGZvY3VzIGV2ZW50LCBlbmFibGluZyBpdCBleGNsdXNpdmVseVxyXG4gICAgICAgICAqIGluIHRoZSBjYXNlIG9mIFNhZmFyaSBvciBDaHJvbWUgYnJvd3NlciBvbiBJT1MgYW5kIFNhZmFyaSBicm93c2VyIG9uIE1hYy5cclxuICAgICAgICAgKi9cclxuICAgICAgICBpZiAoZnJvbUJ1dHRvbiAmJiAodGhpcy5wbGF0Zm9ybS5JT1MgfHwgdGhpcy5wbGF0Zm9ybS5TQUZBUkkpKVxyXG4gICAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGdldEd1aUV2ZW50T2JqKFwiZm9jdXNcIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpKTtcclxuXHJcbiAgICAgICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGdldEd1aUV2ZW50T2JqKGV2ZW50LCB0aGlzLmlkLCArdGhpcy5yb3dJZCwgZnJvbUJ1dHRvbikpO1xyXG4gICAgICAgIGlmIChNYWdpY0RpcmVjdGl2ZS5ub09mQXV0b0NvbXBsZXRlQm94ZXNPcGVuZWQ8IDEpXHJcbiAgICAgICAgICBlLmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIFwiY2hhbmdlXCIsIChlKSA9PiB7XHJcbiAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJzZWxlY3Rpb25jaGFuZ2VkXCIsIHRoaXMuaWQsICt0aGlzLnJvd0lkKTtcclxuXHJcbiAgICAgIGlmICgoPGFueT4oZXZlbnQudGFyZ2V0KSkuc2VsZWN0ZWRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZ3VpRXZlbnQuVmFsdWUgPSAoPGFueT4oZXZlbnQudGFyZ2V0KSkuc2VsZWN0ZWRJbmRleC50b1N0cmluZygpO1xyXG4gICAgICAgIGUuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gaGFuZGxlIHRoZSBpbnB1dCBldmVudFxyXG4gICAgZnJvbUV2ZW50KHRoaXMuaHRtbEVsZW1lbnQsIFwiaW5wdXRcIikucGlwZShcclxuICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgICAgfSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgyMDApIC8vIHRpbWUgYWZ0ZXIgd2hpY2ggdmFsdWUgd2lsbCBiZSBzZW50IHRvIG1hZ2ljXHJcbiAgICApLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRhc2suZ2V0UHJvcGVydHkodGhpcy5pZCwgSHRtbFByb3BlcnRpZXMuQmluZGluZ0xldmVsLCB0aGlzLnJvd0lkKSA9PT0gQmluZGluZ0xldmVsLkNoYXJhY3Rlcikge1xyXG4gICAgICAgICAgLy8gRG9uJ3Qgc3VwcG9ydCBjaGFyYWN0ZXIgYmluZGluZyBmb3IgZGF0ZS90aW1lIHZhbHVlc1xyXG4gICAgICAgICBsZXQgYXR0cmlidXRlIDogU3RvcmFnZUF0dHJpYnV0ZVR5cGUgPSAgdGhpcy50YXNrLlJlY29yZHMubGlzdFswXS5nZXRDb250cm9sTWV0YWRhdGEodGhpcy5pZCkuZGF0YVR5cGU7XHJcbiAgICAgICAgIGlmKGF0dHJpYnV0ZSAhPT0gU3RvcmFnZUF0dHJpYnV0ZVR5cGUuRGF0ZSAmJiBhdHRyaWJ1dGUgIT0gU3RvcmFnZUF0dHJpYnV0ZVR5cGUuVGltZSlcclxuICAgICAgICAgICAgdGhpcy50YXNrLm1nQWNjZXNzb3JTZXJ2aWNlLnNldFZhbHVlVG9Db250cm9sKHRoaXMuaWQsIHgsIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaHRtbEVsZW1lbnQsIFwia2V5ZG93blwiLCAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJrZXlkb3duXCIsIHRoaXMuaWQsICt0aGlzLnJvd0lkKTtcclxuICAgICAgICBndWlFdmVudC5tb2RpZmllcnMgPSBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORTtcclxuXHJcbiAgICAgICAgaWYgKGUuYWx0S2V5ICYmIGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9BTFQpXHJcbiAgICAgICAgICAgIGd1aUV2ZW50Lm1vZGlmaWVycyA9IE1vZGlmaWVycy5NT0RJRklFUl9BTFQ7XHJcblxyXG4gICAgICAgIGVsc2UgaWYgKGUuY3RybEtleSAmJiBlLmtleUNvZGUgIT09IEd1aUNvbnN0YW50cy5LRVlfQ1RSTClcclxuICAgICAgICAgICAgZ3VpRXZlbnQubW9kaWZpZXJzID0gTW9kaWZpZXJzLk1PRElGSUVSX0NUUkw7XHJcblxyXG4gICAgICAgIGxldCBzdXBwb3J0ZWRLZXkgPSBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfUEdfVVAgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1BHX0RPV04gfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0xFRlQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1JJR0hUIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9VUCB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRE9XTiB8fFxyXG4gICAgICAgICAgICBlLmtleUNvZGUgPT09IEd1aUNvbnN0YW50cy5LRVlfRVNDIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9IT01FIHx8XHJcbiAgICAgICAgICAgIGUua2V5Q29kZSA9PT0gR3VpQ29uc3RhbnRzLktFWV9FTkQgfHxcclxuICAgICAgICAgICAgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX1JFVFVSTiB8fFxyXG4gICAgICAgICAgICAoZS5rZXlDb2RlID49IEd1aUNvbnN0YW50cy5LRVlfRjEgJiYgZS5rZXlDb2RlIDw9IEd1aUNvbnN0YW50cy5LRVlfRjEyKTtcclxuXHJcbiAgICAgICAgaWYgKGd1aUV2ZW50Lm1vZGlmaWVycyAhPT0gTW9kaWZpZXJzLk1PRElGSUVSX05PTkUgfHwgc3VwcG9ydGVkS2V5KSB7XHJcbiAgICAgICAgICAgIGd1aUV2ZW50LmtleUNvZGUgPSBlLmtleUNvZGU7XHJcblxyXG4gICAgICAgICAgICAvLyBEZWZlY3QgMTYwMDIxIGZpeGVkIC0gZG9uJ3Qgc2V0IGUuY2FuY2VsQnViYmxlIHdoZW4gY29tYm9ib3ggaXMgb3BlbmVkIGFuZCBlc2Mga2V5IGlzIHByZXNzZWRcclxuICAgICAgICAgICAgaWYgKGUua2V5Q29kZSAhPT0gR3VpQ29uc3RhbnRzLktFWV9FU0MgfHwgZS5rZXlDb2RlID09PSBHdWlDb25zdGFudHMuS0VZX0VTQyAmJiAoIU1hZ2ljRGlyZWN0aXZlLm9wZW5lZCAmJiBNYWdpY0RpcmVjdGl2ZS5ub09mQXV0b0NvbXBsZXRlQm94ZXNPcGVuZWQgPCAxKSlcclxuICAgICAgICAgICAgICAgIGUuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGZvY3VzIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBPbkZvY3VzKCkge1xyXG4gICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGdldEd1aUV2ZW50T2JqKFwiZm9jdXNcIiwgdGhpcy5pZCwgK3RoaXMucm93SWQpKTtcclxuICAgIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgY29tbWFuZCdzIGVsZW1lbnQgdGhlIHNhbWUgYXMgdGhpcyBkaXJlY3RpdmUncyBlbGVtZW50XHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKiBAcmV0dXJucyB0cnVlL2ZhbHNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBJc1NhbWVFbGVtZW50KGNvbW1hbmQpIHtcclxuICAgIGxldCBsaW5lOiBudW1iZXIgPSBjb21tYW5kLmxpbmU7XHJcblxyXG4gICAgaWYgKHRoaXMudGFzay5pc1RhYmxlQ29udHJvbChjb21tYW5kLkN0cmxOYW1lKSlcclxuICAgICAgbGluZSA9IHRoaXMudGFzay5nZXRHdWlSb3dJZChsaW5lLCB0cnVlKTtcclxuXHJcbiAgICByZXR1cm4gKGNvbW1hbmQuQ3RybE5hbWUgPT09IHRoaXMuaWQgJiZcclxuICAgICAgKGxpbmUgPT09ICt0aGlzLnJvd0lkIHx8XHJcbiAgICAgICAgKGxpbmUgPT09IDAgJiYgaXNOdWxsT3JVbmRlZmluZWQodGhpcy5yb3dJZCkpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgY29tbWFuZCdzIGVsZW1lbnQgdGhlIHNhbWUgYXMgdGhpcyBkaXJlY3RpdmUncyBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29tbWFuZFxyXG4gICAqIEByZXR1cm5zIHRydWUvZmFsc2VcclxuICAgKi9cclxuICBwcml2YXRlIElzU2FtZUNvbXBvbmVudChjb21tYW5kOiBHdWlJbnRlcmFjdGl2ZSkge1xyXG4gICAgcmV0dXJuIChjb21tYW5kLmNvbnRyb2xOYW1lID09PSB0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwcml2YXRlIHJlZ1VwZGF0ZXNVSSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlUmVmcmVzaERvbSA9IHRoaXMudGFza1xyXG4gICAgICAucmVmcmVzaERvbS5waXBlKGZpbHRlcihjID0+IHRoaXMuSXNTYW1lRWxlbWVudChjKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYSA9PiB7XHJcbiAgICAgICAgICBsZXQgY29tbWFuZDogR3VpQ29tbWFuZCA9IGE7XHJcbiAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5yb3dJZCkpXHJcbiAgICAgICAgICAgIHRoaXMucm93SWQgPSBcIjBcIjtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ldmVudHNPbmx5VmFsKVxyXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tbWFuZChjb21tYW5kKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKGV4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVJbnRlcmFjdGl2ZUNvbW1hbmRzID0gdGhpcy50YXNrLmludGVyYWN0aXZlQ29tbWFuZHNcclxuICAgICAgLnBpcGUoZmlsdGVyKGMgPT4gdGhpcy5Jc1NhbWVDb21wb25lbnQoYykpKVxyXG4gICAgICAuc3Vic2NyaWJlKGNvbW1hbmQgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlSW50ZXJhY3RpdmVDb21tYW5kcyhjb21tYW5kKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyB0aGlzIG9iamVjdFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWdFdmVudHMoKTtcclxuICAgIHRoaXMucmVnVXBkYXRlc1VJKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBjb21tYW5kcyByZWNlaXZlZCBmcm9tIHRoZSBNYWdpYyBXZWJDbGllbnQgZW5naW5lXHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKi9cclxuICBoYW5kbGVDb21tYW5kKGNvbW1hbmQ6IEd1aUNvbW1hbmQpIHtcclxuICAgIHN3aXRjaCAoY29tbWFuZC5Db21tYW5kVHlwZSkge1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfUFJPUEVSVFk6XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZXRQcm9wZXJ0eShjb21tYW5kKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0VUX0ZPQ1VTOlxyXG4gICAgICAgICAgICB0aGlzLmZvY3VzVW5saXN0ZW5lcigpO1xyXG4gICAgICAgLy8gRG8gbm90IHNldCBmb2N1cyBvbiBjb25uZWN0ZWQgem9vbSAgYnV0dG9uXHJcbiAgICAgICAgaWYgKCEoY29tbWFuZC5vYmouQ29ubmVjdGVkQ29udHJvbCAmJiB0aGlzLmh0bWxFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhpcy5odG1sRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMuZm9jdXNVbmxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5odG1sRWxlbWVudCwgXCJmb2N1c2luXCIsIHRoaXMuZXZlbnRIYW5kbGVyc1tcImZvY3VzaW5cIl0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBoYW5kbGUgdGhlIGludGVyYWN0aXZlIGNvbW1hbmRzIGxpa2UgQ2FsbEpTXHJcbiAgICovXHJcbiAgaGFuZGxlSW50ZXJhY3RpdmVDb21tYW5kcyhjb21tYW5kOiBHdWlJbnRlcmFjdGl2ZSkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLl9jb21tYW5kVHlwZSkge1xyXG4gICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQ0FMTF9KUzpcclxuICAgICAgICBsZXQgbWV0aG9kTmFtZTogc3RyaW5nID0gY29tbWFuZC5fc3RyO1xyXG4gICAgICAgIGxldCBhcmdzOiBBcnJheTxhbnk+ID0gY29tbWFuZC5hcmd1bWVudHM7XHJcbiAgICAgICAgbGV0IG1hZ2ljQ29tcG9uZW50OiBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50ID0gKCg8YW55PnRoaXMudmNSZWYpLl9ob3N0TFZpZXcpLmZpbmQodiA9PiB2IGluc3RhbmNlb2YgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCk7XHJcbiAgICAgICAgbGV0IHJlc3VsdFN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKG1hZ2ljQ29tcG9uZW50W21ldGhvZE5hbWVdKSkge1xyXG4gICAgICAgICAgICAvLyBpbnZva2UgdGhlIG1ldGhvZCBvbiBpbnN0YW5jZSBvZiBtYWdpYyBjb21wb25lbmV0XHJcbiAgICAgICAgICAgIHJlc3VsdFN0cmluZyA9IG1hZ2ljQ29tcG9uZW50W21ldGhvZE5hbWVdLmFwcGx5KG1hZ2ljQ29tcG9uZW50LCBhcmdzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkluc3RhbmNlIG1ldGhvZCBcIiArIG1ldGhvZE5hbWUgKyBcIiBkb2VzIG5vdCBleGlzdHNcIik7IC8vIHdoZW4gbWV0aG9kIGlzIG5vdCBmb3VuZFxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIC8vIGFueSBvdGhlciBleGNlcHRpb25cclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tbWFuZC5yZXN1bHRTdHJpbmcgPSByZXN1bHRTdHJpbmc7IC8vIHVwZGF0ZSB0aGUgcmV0dXJuIHZhbHVlXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIHRoZSBNYWdpYyBzZXQtcHJvcGVydHkgY29tbWFuZFxyXG4gICAqIEBwYXJhbSBjb21tYW5kXHJcbiAgICovXHJcbiAgaGFuZGxlU2V0UHJvcGVydHkoY29tbWFuZDogR3VpQ29tbWFuZCkge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLk9wZXJhdGlvbikge1xyXG4gICAgICBjYXNlIEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5OiB7XHJcbiAgICAgICAgaWYoY29tbWFuZC5vYmouVHlwZSA9PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9URVhUKVxyXG4gICAgICAgIGlmIChjb21tYW5kLm9iajEgIT0gdHJ1ZSlcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuaHRtbEVsZW1lbnQsIGNvbW1hbmQuT3BlcmF0aW9uKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmh0bWxFbGVtZW50LCBjb21tYW5kLk9wZXJhdGlvbiwgY29tbWFuZC5zdHIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYW51cFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlUmVmcmVzaERvbS51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -70,7 +70,7 @@ export class MagicShellComponent {
|
|
70
70
|
this.engineMagicService.TerminateContextUsingFetchAPI();
|
71
71
|
}
|
72
72
|
ngAfterViewInit() {
|
73
|
-
this.overlayWindowService.init(this.overlayWindowsContainerViewRef, this.rootMagicElementRef.nativeElement);
|
73
|
+
this.overlayWindowService.init(this.overlayWindowsContainerViewRef, this.rootMagicElementRef.nativeElement, this.changeDetectorRef);
|
74
74
|
this.engineMagicService.startMagicEngine(this.httpClient);
|
75
75
|
}
|
76
76
|
setViewContainerRef(vcRef) {
|
@@ -234,4 +234,4 @@ MagicShellComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicShellComponent,
|
|
234
234
|
type: HostListener,
|
235
235
|
args: ['window:unload', ['$event']]
|
236
236
|
}] }); })();
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtcm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tYWdpYy1yb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lBWTVDLGlDQUljOzs7SUFGWiwwREFBcUMsb0RBQUE7OztJQVF6Qyw4QkFBb0Q7SUFDbEQsMkJBQW1HO0lBQ3JHLGlCQUFNOzs7O0lBRFUsZUFBcUU7SUFBckUsd0ZBQXFFOzs7SUFJbkYseUJBQWtDOztBQWtDeEMsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUIsWUFBc0Isa0JBQXNDLEVBQ3RDLGFB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Ozs7Ozs7O0dBbUJUO2dCQUNELE1BQU0sRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCUixDQUFDO2FBQ0g7O3NCQW9DYyxRQUFRO3dCQXZCcUIsbUJBQW1CO2tCQUE1RCxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFFL0IsZUFBZTtrQkFBdkIsS0FBSztZQWdDTixjQUFjO2tCQURiLFlBQVk7bUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFpQi9DLFFBQVE7a0JBRFAsWUFBWTttQkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1hbmRUeXBlLCBHdWlDb21tYW5kIH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBFbmdpbmVNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbmdpbmUubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3VpSW50ZXJhY3RpdmVFeGVjdXRvciB9IGZyb20gJy4vR3VpSW50ZXJhY3RpdmVFeGVjdXRvcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXhpdE1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4aXQubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvT3ZlcmxheVdpbmRvd1NlcnZpY2UnO1xyXG5pbXBvcnQgeyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnLi4vLi4nO1xyXG5pbXBvcnQgeyBDb21tYW5kc0NvbGxlY3Rvck1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbW1hbmRzLWNvbGxlY3Rvci5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8qKlxyXG4gKiBSb290IE1hZ2ljIGNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYWdpYy1yb290JyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgLy8gRXhpdE1hZ2ljU2VydmljZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgI21hZ2ljUm9vdD5cclxuICAgICAgPG5kYy1keW5hbWljXHJcbiAgICAgICAgKm5nSWYgPSBcIlJvb3RDb21wb25lbnQgIT09IG51bGxcIlxyXG4gICAgICAgIFtuZGNEeW5hbWljQ29tcG9uZW50XT1cIlJvb3RDb21wb25lbnRcIlxyXG4gICAgICAgIFtuZGNEeW5hbWljSW5wdXRzXSAgID1cIlJvb3RDb21wb25lbnRQYXJhbWV0ZXJzXCI+XHJcbiAgICAgIDwvbmRjLWR5bmFtaWM+XHJcblxyXG4gICAgICA8ZGl2ICNvdmVybGF5V2luZG93c0NvbnRhaW5lciBtYWdpY1ZpZXdDb250YWluZXJSZWY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYmFja2dyb3VuZFwiICpuZ0lmPVwic2hvd1NwaW5uZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJTcGlubmVyVGVtcGxhdGUgPyBTcGlubmVyVGVtcGxhdGU6ZGVmYXVsdFNwaW5uZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNwaW5uZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZ1NwaW5uZXJDbGFzc1wiPjwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIC5tZ1NwaW5uZXJDbGFzcyB7XHJcbiAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAjY2NjY2NjOyAvKiBMaWdodCBncmV5ICovXHJcbiAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgYmxhY2s7IC8qIEJsdWUgKi9cclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICB9XHJcbiAgICAuc3Bpbm5lci1iYWNrZ3JvdW5kIHtcclxuICAgICAgLyogYmFja2dyb3VuZCBmaXhlZCBhY3Jvc3Mgd2hvbGUgc2NyZWVuICovXHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgICB9XHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hZ2ljU2hlbGxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIHtcclxuICAvKipcclxuICAgKiBSb290IGNvbXBvbmVudCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHdpbmRvd1xyXG4gICAqL1xyXG4gIFJvb3RDb21wb25lbnQgOiBDb21wb25lbnQgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqIHBhcmFtZXRlcnMgZm9yIHRoZSBSb290IENvbXBvbmVudFxyXG4gICAqL1xyXG4gIFJvb3RDb21wb25lbnRQYXJhbWV0ZXJzIDogYW55O1xyXG5cclxuICBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21hZ2ljUm9vdCcsIHsgc3RhdGljOiB0cnVlIH0pIHJvb3RNYWdpY0VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpIFNwaW5uZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgc2hvd1NwaW5uZXI6IGJvb2xlYW47XHJcbiAgbWFnaWNFbmdpbmVUZXJtaW5hdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1hZ2ljIE1hZ2ljJ3Mgc2VydmljZVxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRMaXN0IE1hZ2ljIGNvbXBvbmVudCBsaXN0XHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIENoYW5nZXMgZGV0ZWN0b3JcclxuICAgKiBAcGFyYW0gdGl0bGVTZXJ2aWNlIFRpdGxlIHNldHRpbmcgc2VydmljZVxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IFRoZSBuYXRpdmUgaHR0cENsaWVudCBpbnN0YW5jZVxyXG4gICAqIEBwYXJhbSBleGl0TWFnaWNTZXJ2aWNlIE1hZ2ljIGV4aXQgc2VydmljZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlbmdpbmVNYWdpY1NlcnZpY2U6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDpDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheVdpbmRvd1NlcnZpY2U6IE92ZXJsYXlXaW5kb3dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwcml2YXRlIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgIHB1YmxpYyBleGl0TWFnaWNTZXJ2aWNlOiBFeGl0TWFnaWNTZXJ2aWNlKSB7XHJcblxyXG4gICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB0aGlzLnNldFRpdGxlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCZWZvcmUtdW5sb2FkIGV2ZW50IGxpc3RlbmVyXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgb25CZWZvcmVVbmxvYWQoZXZlbnQpIHtcclxuICAgIGlmKHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLlRyYW5zQ2FjaGVFeGlzdHMoKSlcclxuICAgIHtcclxuICAgICAgLy8gU2hvdyB0aGUgY29uZmlybWF0aW9uIGJveCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBicm93c2VyXHJcbiAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gJ0FyZSB5b3Ugc3VyZT8nO1xyXG4gICAgICByZXR1cm4gJ0FyZSB5b3Ugc3VyZT8nO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICAvLyB0ZXJtaW5hdGUgdGhlIG1hZ2ljIHNlcnZlciBjb250ZXh0IHVzaW5nIGZldGNoIEFQSSB3aXRoIGtlZXAtYWxpdmVcclxuICAgICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuVGVybWluYXRlQ29udGV4dFVzaW5nRmV0Y2hBUEkoKTtcclxuICAgICAgdGhpcy5tYWdpY0VuZ2luZVRlcm1pbmF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgb25VbmxvYWQoZXZlbnQpIHtcclxuICAgIC8vIENocm9tZSBwcm92aWRlcyBhbiBvcHBvcnR1bml0eSB0byB0ZXJtaW5hdGUgdGhlIGNvbnRleHQgYWZ0ZXIgdXNlciBhcHByb3ZlcyB0aGUgYnJvd3NlciB1bmxvYWQgYWxlcnRcclxuICAgIGlmKCF0aGlzLm1hZ2ljRW5naW5lVGVybWluYXRlZClcclxuICAgICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuVGVybWluYXRlQ29udGV4dFVzaW5nRmV0Y2hBUEkoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMub3ZlcmxheVdpbmRvd1NlcnZpY2UuaW5pdCh0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZiwgdGhpcy5yb290TWFnaWNFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2Uuc3RhcnRNYWdpY0VuZ2luZSh0aGlzLmh0dHBDbGllbnQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Vmlld0NvbnRhaW5lclJlZih2Y1JlZjogVmlld0NvbnRhaW5lclJlZil7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZiA9IHZjUmVmO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6YXRpb24gb2YgTWFnaWMgbWVjaGFuaXNtc1xyXG4gICAqL1xyXG4gIGluaXRpYWxpemUoKSB7XHJcbiAgICB0aGlzLnJlZ2lzdGVyVUlDb21tYW5kcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSB0aXRsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRUaXRsZSggKSB7XHJcbiAgICBjb25zdCBuZXdUaXRsZTogc3RyaW5nID0gdGhpcy5jb21wb25lbnRMaXN0LnRpdGxlO1xyXG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoIG5ld1RpdGxlICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gcmVxdWVzdGVkIGZvcm1cclxuICAgKiBAcGFyYW0gZm9ybU5hbWUgTmFtZSBvZiB0aGUgZm9ybSB0byBvcGVuXHJcbiAgICogQHBhcmFtIHRhc2tJZCBJZCBvZiBvcGVuaW5nIHRhc2tcclxuICAgKiBAcGFyYW0gdGFza0Rlc2NyaXB0aW9uIFRPRE9cclxuICAgKiBAcGFyYW0gaXNNb2RhbCB3aGV0aGVyIG1vZGFsIHdpbmRvdyBpcyBiZWluZyBvcGVuZWRcclxuICAgKi9cclxuICBwcml2YXRlIHNldENvbXBvbmVudChmb3JtTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcsIGlzTW9kYWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMucGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yLnN0YXJ0Q29sbGVjdGluZygpO1xyXG5cclxuICAgIGlmKGlzTW9kYWwpIHtcclxuICAgICAgdGhpcy5vdmVybGF5V2luZG93U2VydmljZS5vcGVuKGZvcm1OYW1lLCB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5Sb290Q29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XHJcbiAgICAgIHRoaXMuUm9vdENvbXBvbmVudFBhcmFtZXRlcnMgPSB7IHRhc2tJZFBhcmFtOiB0YXNrSWQsIHRhc2tEZXNjcmlwdGlvbjogdGFza0Rlc2NyaXB0aW9uIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICByZWdpc3RlclVJQ29tbWFuZHMoKSB7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5yZWZyZXNoRG9tLnBpcGUoXHJcbiAgICAgIGZpbHRlcihjb21tYW5kID0+IGNvbW1hbmQuVGFza1RhZyA9PT0gJzAnKSlcclxuICAgICAgLnN1YnNjcmliZShjb21tYW5kID0+IHtcclxuICAgICAgICB0aGlzLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlXHJcbiAgICAgIC5pbnRlcmFjdGl2ZUNvbW1hbmRzLnBpcGUoXHJcbiAgICAgIGZpbHRlcihjb21tYW5kID0+IGNvbW1hbmQuVGFza1RhZyA9PT0gJzAnKSlcclxuICAgICAgLnN1YnNjcmliZShjb21tYW5kID0+IHtcclxuICAgICAgICBHdWlJbnRlcmFjdGl2ZUV4ZWN1dG9yLmV4ZWN1dGVJbnRlcmFjdGl2ZUNvbW1hbmQobnVsbCwgY29tbWFuZCwgdGhpcy5vdmVybGF5V2luZG93U2VydmljZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBjb21tYW5kcyByZWNlaXZlZCBmcm9tIHRoZSBNYWdpYyBXZWJDbGllbnQgZW5naW5lXHJcbiAgICogQHBhcmFtIGNvbW1hbmRcclxuICAgKi9cclxuICBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBHdWlDb21tYW5kKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQuQ29tbWFuZFR5cGUpIHtcclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5PUEVOX0ZPUk06XHJcbiAgICAgICAgICB0aGlzLnNldENvbXBvbmVudChjb21tYW5kLnN0ciwgY29tbWFuZC5zdHJpbmdMaXN0WzBdLCBjb21tYW5kLnN0cmluZ0xpc3RbMV0sIGNvbW1hbmQuQm9vbDEpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNFVF9JU19MT0dHRURfSU46XHJcbiAgICAgICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2Uuc2V0SXNMb2dnZWRJbihjb21tYW5kLkJvb2wxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuQ0xPU0VfRk9STTpcclxuICAgICAgICBpZiAodGhpcy5Sb290Q29tcG9uZW50ICE9IG51bGwgJiYgY29tbWFuZC5zdHIgPT09IHRoaXMuUm9vdENvbXBvbmVudFBhcmFtZXRlcnMudGFza0lkUGFyYW0pIHtcclxuICAgICAgICAgIHRoaXMuUm9vdENvbXBvbmVudCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLlJvb3RDb21wb25lbnRQYXJhbWV0ZXJzID0ge307XHJcblxyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBDbG9zZSBtb2RhbCB3aW5kb3dcclxuICAgICAgICAgIHRoaXMub3ZlcmxheVdpbmRvd1NlcnZpY2UuY2xvc2UoY29tbWFuZC5zdHIpO1xyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5SRUxPQURfUEFHRTpcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLlNIT1dfU1BJTk5FUjpcclxuICAgICAgICBpZiAodGhpcy5zaG93U3Bpbm5lciAhPSBjb21tYW5kLkJvb2wxKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dTcGlubmVyID0gY29tbWFuZC5Cb29sMTtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuRVhJVF9NQUdJQzpcclxuICAgICAgICBpZiAodGhpcy5leGl0TWFnaWNTZXJ2aWNlKVxyXG4gICAgICAgICAgdGhpcy5leGl0TWFnaWNTZXJ2aWNlLmV4aXRNYWdpYygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TSE9XX0hUTUxfRVJST1I6XHJcbiAgICAgICAgd2luZG93LmRvY3VtZW50LndyaXRlKGNvbW1hbmQuc3RyKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtcm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tYWdpYy1yb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lBWTVDLGlDQUljOzs7SUFGWiwwREFBcUMsb0RBQUE7OztJQVF6Qyw4QkFBb0Q7SUFDbEQsMkJBQW1HO0lBQ3JHLGlCQUFNOzs7O0lBRFUsZUFBcUU7SUFBckUsd0ZBQXFFOzs7SUFJbkYseUJBQWtDOztBQWtDeEMsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUIsWUFBc0Isa0JBQXNDLEVBQ3RDLGFBQXVDLEVBQ3ZDLGlCQUFvQyxFQUN0QyxZQUFtQixFQUNuQixvQkFBMEMsRUFDMUMsVUFBc0IsRUFDdEIsd0JBQXVELEVBQzNDLGdCQUFrQztRQVA1Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQStCO1FBQzNDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEvQmxFLGtCQUFhLEdBQWUsSUFBSSxDQUFDO1FBYWpDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQW9CckMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBT0QsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsRUFDN0M7WUFFRSxLQUFLLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUNwQyxPQUFPLGVBQWUsQ0FBQztTQUN4QjthQUVEO1lBRUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztTQUNuQztJQUNILENBQUM7SUFHRCxRQUFRLENBQUMsS0FBSztRQUVaLElBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUF1QjtRQUN6QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFLRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUtNLFFBQVE7UUFDYixNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBRSxRQUFRLENBQUUsQ0FBQztJQUN6QyxDQUFDO0lBU08sWUFBWSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLGVBQXVCLEVBQUUsT0FBZ0I7UUFDOUYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRWhELElBQUcsT0FBTyxFQUFFO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ25FO2FBQ0k7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFLRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDMUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsa0JBQWtCO2FBQ3BCLG1CQUFtQixDQUFDLElBQUksQ0FDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsc0JBQXNCLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFNRCxjQUFjLENBQUMsT0FBbUI7UUFDaEMsUUFBUSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQzNCLEtBQUssV0FBVyxDQUFDLFNBQVM7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1RixNQUFNO1lBRVYsS0FBSyxXQUFXLENBQUMsZ0JBQWdCO2dCQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsTUFBTTtZQUVSLEtBQUssV0FBVyxDQUFDLFVBQVU7Z0JBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFO29CQUMxRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDMUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztvQkFFbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN4QztxQkFDSTtvQkFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN4QztnQkFDRCxNQUFNO1lBRVIsS0FBSyxXQUFXLENBQUMsV0FBVztnQkFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDekIsTUFBTTtZQUVSLEtBQUssV0FBVyxDQUFDLFlBQVk7Z0JBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO29CQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztpQkFDeEM7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssV0FBVyxDQUFDLFVBQVU7Z0JBQ3pCLElBQUksSUFBSSxDQUFDLGdCQUFnQjtvQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNO1lBRVIsS0FBSyxXQUFXLENBQUMsZUFBZTtnQkFDOUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDOztzRkFoTFUsbUJBQW1CO3dEQUFuQixtQkFBbUI7Ozs7OztvSEFBbkIsMEJBQXNCLGtIQUF0QixvQkFBZ0I7MEZBdERoQixFQUVWO1FBRUMsb0NBQWdCO1FBQ2Qsb0ZBSWM7UUFFZCw0QkFDTTtRQUNSLGlCQUFNO1FBRU4sb0VBRU07UUFFTixxSEFFYzs7UUFmVCxlQUE4QjtRQUE5QixpREFBOEI7UUFTRixlQUFpQjtRQUFqQixzQ0FBaUI7O3VGQXVDekMsbUJBQW1CO2NBeEQvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFNBQVMsRUFBRSxFQUVWO2dCQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDtnQkFDRCxNQUFNLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2QlIsQ0FBQzthQUNIOztzQkFvQ2MsUUFBUTt3QkF2QnFCLG1CQUFtQjtrQkFBNUQsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRS9CLGVBQWU7a0JBQXZCLEtBQUs7WUFnQ04sY0FBYztrQkFEYixZQUFZO21CQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDO1lBaUIvQyxRQUFRO2tCQURQLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tYW5kVHlwZSwgR3VpQ29tbWFuZCB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgRW5naW5lTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW5naW5lLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aUludGVyYWN0aXZlRXhlY3V0b3IgfSBmcm9tICcuL0d1aUludGVyYWN0aXZlRXhlY3V0b3InO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEV4aXRNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9leGl0Lm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPdmVybGF5V2luZG93U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL092ZXJsYXlXaW5kb3dTZXJ2aWNlJztcclxuaW1wb3J0IHsgSU1hZ2ljVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJy4uLy4uJztcclxuaW1wb3J0IHsgQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG4vKipcclxuICogUm9vdCBNYWdpYyBjb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWFnaWMtcm9vdCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgIC8vIEV4aXRNYWdpY1NlcnZpY2VcclxuICBdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICNtYWdpY1Jvb3Q+XHJcbiAgICAgIDxuZGMtZHluYW1pY1xyXG4gICAgICAgICpuZ0lmID0gXCJSb290Q29tcG9uZW50ICE9PSBudWxsXCJcclxuICAgICAgICBbbmRjRHluYW1pY0NvbXBvbmVudF09XCJSb290Q29tcG9uZW50XCJcclxuICAgICAgICBbbmRjRHluYW1pY0lucHV0c10gICA9XCJSb290Q29tcG9uZW50UGFyYW1ldGVyc1wiPlxyXG4gICAgICA8L25kYy1keW5hbWljPlxyXG5cclxuICAgICAgPGRpdiAjb3ZlcmxheVdpbmRvd3NDb250YWluZXIgbWFnaWNWaWV3Q29udGFpbmVyUmVmPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJhY2tncm91bmRcIiAqbmdJZj1cInNob3dTcGlubmVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiU3Bpbm5lclRlbXBsYXRlID8gU3Bpbm5lclRlbXBsYXRlOmRlZmF1bHRTcGlubmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTcGlubmVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWdTcGlubmVyQ2xhc3NcIj48L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICAubWdTcGlubmVyQ2xhc3Mge1xyXG4gICAgICBib3JkZXI6IDEwcHggc29saWQgI2NjY2NjYzsgLyogTGlnaHQgZ3JleSAqL1xyXG4gICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIGJsYWNrOyAvKiBCbHVlICovXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgfVxyXG4gICAgLnNwaW5uZXItYmFja2dyb3VuZCB7XHJcbiAgICAgIC8qIGJhY2tncm91bmQgZml4ZWQgYWNyb3NzIHdob2xlIHNjcmVlbiAqL1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBzcGluIHtcclxuICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gICAgfVxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY1NoZWxsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgSU1hZ2ljVmlld0NvbnRhaW5lclJlZiB7XHJcbiAgLyoqXHJcbiAgICogUm9vdCBjb21wb25lbnQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSB3aW5kb3dcclxuICAgKi9cclxuICBSb290Q29tcG9uZW50IDogQ29tcG9uZW50ID0gbnVsbDtcclxuICAvKipcclxuICAgKiBwYXJhbWV0ZXJzIGZvciB0aGUgUm9vdCBDb21wb25lbnRcclxuICAgKi9cclxuICBSb290Q29tcG9uZW50UGFyYW1ldGVycyA6IGFueTtcclxuXHJcbiAgb3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdtYWdpY1Jvb3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSByb290TWFnaWNFbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKSBTcGlubmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHNob3dTcGlubmVyOiBib29sZWFuO1xyXG4gIG1hZ2ljRW5naW5lVGVybWluYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBtYWdpYyBNYWdpYydzIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29tcG9uZW50TGlzdCBNYWdpYyBjb21wb25lbnQgbGlzdFxyXG4gICAqIEBwYXJhbSBjaGFuZ2VEZXRlY3RvclJlZiBDaGFuZ2VzIGRldGVjdG9yXHJcbiAgICogQHBhcmFtIHRpdGxlU2VydmljZSBUaXRsZSBzZXR0aW5nIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBUaGUgbmF0aXZlIGh0dHBDbGllbnQgaW5zdGFuY2VcclxuICAgKiBAcGFyYW0gZXhpdE1hZ2ljU2VydmljZSBNYWdpYyBleGl0IHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZW5naW5lTWFnaWNTZXJ2aWNlOiBFbmdpbmVNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGNvbXBvbmVudExpc3Q6Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIG92ZXJsYXlXaW5kb3dTZXJ2aWNlOiBPdmVybGF5V2luZG93U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3I6IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpICBwdWJsaWMgZXhpdE1hZ2ljU2VydmljZTogRXhpdE1hZ2ljU2VydmljZSkge1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgdGhpcy5zZXRUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmVmb3JlLXVubG9hZCBldmVudCBsaXN0ZW5lclxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnLCBbJyRldmVudCddKVxyXG4gIG9uQmVmb3JlVW5sb2FkKGV2ZW50KSB7XHJcbiAgICBpZih0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5UcmFuc0NhY2hlRXhpc3RzKCkpXHJcbiAgICB7XHJcbiAgICAgIC8vIFNob3cgdGhlIGNvbmZpcm1hdGlvbiBib3ggYmVmb3JlIHVubG9hZGluZyB0aGUgYnJvd3NlclxyXG4gICAgICBldmVudC5yZXR1cm5WYWx1ZSA9ICdBcmUgeW91IHN1cmU/JztcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmU/JztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgIHtcclxuICAgICAgLy8gdGVybWluYXRlIHRoZSBtYWdpYyBzZXJ2ZXIgY29udGV4dCB1c2luZyBmZXRjaCBBUEkgd2l0aCBrZWVwLWFsaXZlXHJcbiAgICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLlRlcm1pbmF0ZUNvbnRleHRVc2luZ0ZldGNoQVBJKCk7XHJcbiAgICAgIHRoaXMubWFnaWNFbmdpbmVUZXJtaW5hdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp1bmxvYWQnLCBbJyRldmVudCddKVxyXG4gIG9uVW5sb2FkKGV2ZW50KSB7XHJcbiAgICAvLyBDaHJvbWUgcHJvdmlkZXMgYW4gb3Bwb3J0dW5pdHkgdG8gdGVybWluYXRlIHRoZSBjb250ZXh0IGFmdGVyIHVzZXIgYXBwcm92ZXMgdGhlIGJyb3dzZXIgdW5sb2FkIGFsZXJ0XHJcbiAgICBpZighdGhpcy5tYWdpY0VuZ2luZVRlcm1pbmF0ZWQpXHJcbiAgICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLlRlcm1pbmF0ZUNvbnRleHRVc2luZ0ZldGNoQVBJKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dTZXJ2aWNlLmluaXQodGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYsIHRoaXMucm9vdE1hZ2ljRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLnN0YXJ0TWFnaWNFbmdpbmUodGhpcy5odHRwQ2xpZW50KTtcclxuICB9XHJcblxyXG4gIHNldFZpZXdDb250YWluZXJSZWYodmNSZWY6IFZpZXdDb250YWluZXJSZWYpe1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSB2Y1JlZjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemF0aW9uIG9mIE1hZ2ljIG1lY2hhbmlzbXNcclxuICAgKi9cclxuICBpbml0aWFsaXplKCkge1xyXG4gICAgdGhpcy5yZWdpc3RlclVJQ29tbWFuZHMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgdGl0bGVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VGl0bGUoICkge1xyXG4gICAgY29uc3QgbmV3VGl0bGU6IHN0cmluZyA9IHRoaXMuY29tcG9uZW50TGlzdC50aXRsZTtcclxuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKCBuZXdUaXRsZSApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBjb21wb25lbnQgYWNjb3JkaW5nIHRvIHJlcXVlc3RlZCBmb3JtXHJcbiAgICogQHBhcmFtIGZvcm1OYW1lIE5hbWUgb2YgdGhlIGZvcm0gdG8gb3BlblxyXG4gICAqIEBwYXJhbSB0YXNrSWQgSWQgb2Ygb3BlbmluZyB0YXNrXHJcbiAgICogQHBhcmFtIHRhc2tEZXNjcmlwdGlvbiBUT0RPXHJcbiAgICogQHBhcmFtIGlzTW9kYWwgd2hldGhlciBtb2RhbCB3aW5kb3cgaXMgYmVpbmcgb3BlbmVkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRDb21wb25lbnQoZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nLCBpc01vZGFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnBlbmRpbmdDb21tYW5kc0NvbGxlY3Rvci5zdGFydENvbGxlY3RpbmcoKTtcclxuXHJcbiAgICBpZihpc01vZGFsKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVdpbmRvd1NlcnZpY2Uub3Blbihmb3JtTmFtZSwgdGFza0lkLCB0YXNrRGVzY3JpcHRpb24pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuUm9vdENvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50TGlzdC5nZXRDb21wb25lbnQoZm9ybU5hbWUpO1xyXG4gICAgICB0aGlzLlJvb3RDb21wb25lbnRQYXJhbWV0ZXJzID0geyB0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbiB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJVSUNvbW1hbmRzKCkge1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UucmVmcmVzaERvbS5waXBlKFxyXG4gICAgICBmaWx0ZXIoY29tbWFuZCA9PiBjb21tYW5kLlRhc2tUYWcgPT09ICcwJykpXHJcbiAgICAgIC5zdWJzY3JpYmUoY29tbWFuZCA9PiB7XHJcbiAgICAgICAgdGhpcy5leGVjdXRlQ29tbWFuZChjb21tYW5kKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZVxyXG4gICAgICAuaW50ZXJhY3RpdmVDb21tYW5kcy5waXBlKFxyXG4gICAgICBmaWx0ZXIoY29tbWFuZCA9PiBjb21tYW5kLlRhc2tUYWcgPT09ICcwJykpXHJcbiAgICAgIC5zdWJzY3JpYmUoY29tbWFuZCA9PiB7XHJcbiAgICAgICAgR3VpSW50ZXJhY3RpdmVFeGVjdXRvci5leGVjdXRlSW50ZXJhY3RpdmVDb21tYW5kKG51bGwsIGNvbW1hbmQsIHRoaXMub3ZlcmxheVdpbmRvd1NlcnZpY2UpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGUgY29tbWFuZHMgcmVjZWl2ZWQgZnJvbSB0aGUgTWFnaWMgV2ViQ2xpZW50IGVuZ2luZVxyXG4gICAqIEBwYXJhbSBjb21tYW5kXHJcbiAgICovXHJcbiAgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZDogR3VpQ29tbWFuZCk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChjb21tYW5kLkNvbW1hbmRUeXBlKSB7XHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuT1BFTl9GT1JNOlxyXG4gICAgICAgICAgdGhpcy5zZXRDb21wb25lbnQoY29tbWFuZC5zdHIsIGNvbW1hbmQuc3RyaW5nTGlzdFswXSwgY29tbWFuZC5zdHJpbmdMaXN0WzFdLCBjb21tYW5kLkJvb2wxKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TRVRfSVNfTE9HR0VEX0lOOlxyXG4gICAgICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLnNldElzTG9nZ2VkSW4oY29tbWFuZC5Cb29sMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLkNMT1NFX0ZPUk06XHJcbiAgICAgICAgaWYgKHRoaXMuUm9vdENvbXBvbmVudCAhPSBudWxsICYmIGNvbW1hbmQuc3RyID09PSB0aGlzLlJvb3RDb21wb25lbnRQYXJhbWV0ZXJzLnRhc2tJZFBhcmFtKSB7XHJcbiAgICAgICAgICB0aGlzLlJvb3RDb21wb25lbnQgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5Sb290Q29tcG9uZW50UGFyYW1ldGVycyA9IHt9O1xyXG5cclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHsgLy8gQ2xvc2UgbW9kYWwgd2luZG93XHJcbiAgICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dTZXJ2aWNlLmNsb3NlKGNvbW1hbmQuc3RyKTtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuUkVMT0FEX1BBR0U6XHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb21tYW5kVHlwZS5TSE9XX1NQSU5ORVI6XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NwaW5uZXIgIT0gY29tbWFuZC5Cb29sMSkge1xyXG4gICAgICAgICAgdGhpcy5zaG93U3Bpbm5lciA9IGNvbW1hbmQuQm9vbDE7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbW1hbmRUeXBlLkVYSVRfTUFHSUM6XHJcbiAgICAgICAgaWYgKHRoaXMuZXhpdE1hZ2ljU2VydmljZSlcclxuICAgICAgICAgIHRoaXMuZXhpdE1hZ2ljU2VydmljZS5leGl0TWFnaWMoKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29tbWFuZFR5cGUuU0hPV19IVE1MX0VSUk9SOlxyXG4gICAgICAgIHdpbmRvdy5kb2N1bWVudC53cml0ZShjb21tYW5kLnN0cik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -732,6 +732,9 @@ class GuiInteractiveExecutor {
|
|
732
732
|
case InteractiveCommandType.GET_LAST_ROUTE:
|
733
733
|
this.OnGetLastRoute();
|
734
734
|
break;
|
735
|
+
case InteractiveCommandType.OPEN_FORM:
|
736
|
+
this.OnOpenForm();
|
737
|
+
break;
|
735
738
|
}
|
736
739
|
}
|
737
740
|
catch (ex) {
|
@@ -768,6 +771,10 @@ class GuiInteractiveExecutor {
|
|
768
771
|
OnMessageBox() {
|
769
772
|
this.overlayService.openConfirmationBox(this.command._mgValue.title, this.command._mgValue.str, this.command._mgValue.style);
|
770
773
|
}
|
774
|
+
OnOpenForm() {
|
775
|
+
if (this.command._boolVal)
|
776
|
+
this.overlayService.loadAndOpenModule(this.command.controlName, this.command._mgValue.str, this.command._mgValue.path);
|
777
|
+
}
|
771
778
|
OnSetTitle() {
|
772
779
|
this.task.setTitle(this.command._mgValue.title);
|
773
780
|
}
|
@@ -1423,17 +1430,42 @@ ConfirmationComponentsMagicProvider.ɵprov = i0.ɵɵdefineInjectable({ token: Co
|
|
1423
1430
|
})();
|
1424
1431
|
|
1425
1432
|
class OverlayWindowService {
|
1426
|
-
constructor(componentFactoryResolver, componentList, engineMagicService, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
|
1433
|
+
constructor(componentFactoryResolver, componentList, engineMagicService, magicLazyModuleLoader, injector, compiler, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
|
1427
1434
|
this.componentFactoryResolver = componentFactoryResolver;
|
1428
1435
|
this.componentList = componentList;
|
1429
1436
|
this.engineMagicService = engineMagicService;
|
1437
|
+
this.magicLazyModuleLoader = magicLazyModuleLoader;
|
1438
|
+
this.injector = injector;
|
1439
|
+
this.compiler = compiler;
|
1430
1440
|
this.overlayContainerMagicProvider = overlayContainerMagicProvider;
|
1431
1441
|
this.confirmationComponentsMagicProvider = confirmationComponentsMagicProvider;
|
1432
1442
|
this.overlayWindowFocusManager = null;
|
1443
|
+
this.changeDetectorRef = null;
|
1433
1444
|
}
|
1434
|
-
init(overlayWindowsContainerViewRef, rootMagicElement) {
|
1445
|
+
init(overlayWindowsContainerViewRef, rootMagicElement, changeDetectorRef) {
|
1435
1446
|
this.overlayWindowsContainerViewRef = overlayWindowsContainerViewRef;
|
1436
1447
|
this.overlayWindowFocusManager = new OverlayWindowFocusManager(rootMagicElement);
|
1448
|
+
this.changeDetectorRef = changeDetectorRef;
|
1449
|
+
}
|
1450
|
+
loadAndOpenModule(formName, taskId, taskDescription) {
|
1451
|
+
let moduleRef = this.componentList.getModuleRef(formName);
|
1452
|
+
if (moduleRef == null) {
|
1453
|
+
let lazyLoadModule = this.componentList.getLazyLoadModuleData(formName);
|
1454
|
+
if (lazyLoadModule != null) {
|
1455
|
+
let moduleName = lazyLoadModule.moduleName.replace("Magic", "");
|
1456
|
+
moduleName = moduleName.replace("Module", "");
|
1457
|
+
this.magicLazyModuleLoader.Load(moduleName).then(m => {
|
1458
|
+
const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
|
1459
|
+
moduleRef = compiled.ngModuleFactory.create(this.injector);
|
1460
|
+
this.open(formName, taskId, taskDescription);
|
1461
|
+
this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
|
1462
|
+
});
|
1463
|
+
}
|
1464
|
+
}
|
1465
|
+
else {
|
1466
|
+
this.open(formName, taskId, taskDescription);
|
1467
|
+
this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
|
1468
|
+
}
|
1437
1469
|
}
|
1438
1470
|
open(formName, taskId, taskDescription) {
|
1439
1471
|
let comp = this.componentList.lazyLoadModulesMap != null && this.componentList.lazyLoadModulesMap.hasOwnProperty(formName) ? null : this.componentList.getComponent(formName);
|
@@ -1444,6 +1476,7 @@ class OverlayWindowService {
|
|
1444
1476
|
guiEvent.TaskID = taskId;
|
1445
1477
|
this.engineMagicService.insertEvent(guiEvent);
|
1446
1478
|
});
|
1479
|
+
this.changeDetectorRef.detectChanges();
|
1447
1480
|
}
|
1448
1481
|
close(commandStr) {
|
1449
1482
|
this.overlayWindowsContainerViewRef.remove();
|
@@ -1489,7 +1522,7 @@ class OverlayWindowService {
|
|
1489
1522
|
return componentRef;
|
1490
1523
|
}
|
1491
1524
|
}
|
1492
|
-
OverlayWindowService.ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(ComponentListMagicService), i0.ɵɵinject(EngineMagicService), i0.ɵɵinject(OverlayContainerMagicProvider), i0.ɵɵinject(ConfirmationComponentsMagicProvider)); };
|
1525
|
+
OverlayWindowService.ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(ComponentListMagicService), i0.ɵɵinject(EngineMagicService), i0.ɵɵinject(MagicLazyLoaderService), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(OverlayContainerMagicProvider), i0.ɵɵinject(ConfirmationComponentsMagicProvider)); };
|
1493
1526
|
OverlayWindowService.ɵprov = i0.ɵɵdefineInjectable({ token: OverlayWindowService, factory: OverlayWindowService.ɵfac, providedIn: 'root' });
|
1494
1527
|
(function () {
|
1495
1528
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayWindowService, [{
|
@@ -1497,7 +1530,7 @@ OverlayWindowService.ɵprov = i0.ɵɵdefineInjectable({ token: OverlayWindowServ
|
|
1497
1530
|
args: [{
|
1498
1531
|
providedIn: 'root'
|
1499
1532
|
}]
|
1500
|
-
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: ComponentListMagicService }, { type: EngineMagicService }, { type: OverlayContainerMagicProvider }, { type: ConfirmationComponentsMagicProvider }]; }, null);
|
1533
|
+
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: ComponentListMagicService }, { type: EngineMagicService }, { type: MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }, { type: OverlayContainerMagicProvider }, { type: ConfirmationComponentsMagicProvider }]; }, null);
|
1501
1534
|
})();
|
1502
1535
|
class OverlayWindowFocusManager {
|
1503
1536
|
constructor(rootMagicElement) {
|
@@ -2021,7 +2054,10 @@ class TaskMagicService {
|
|
2021
2054
|
return val;
|
2022
2055
|
}
|
2023
2056
|
case StorageAttribute.NUMERIC:
|
2024
|
-
|
2057
|
+
if (isUndefined(val))
|
2058
|
+
return val;
|
2059
|
+
else
|
2060
|
+
return (val != null) ? +val : null;
|
2025
2061
|
default:
|
2026
2062
|
return val;
|
2027
2063
|
}
|
@@ -2252,7 +2288,7 @@ class TableMagicService {
|
|
2252
2288
|
this.task.onScrollDown();
|
2253
2289
|
}
|
2254
2290
|
sortData(e) { }
|
2255
|
-
mgOnPaginateChange(e) { }
|
2291
|
+
mgOnPaginateChange(e, changeSelectedRow) { }
|
2256
2292
|
mgOptionChanged(e) { }
|
2257
2293
|
updateTableSize(size) {
|
2258
2294
|
if (size === 0) {
|
@@ -3999,7 +4035,7 @@ class MagicShellComponent {
|
|
3999
4035
|
this.engineMagicService.TerminateContextUsingFetchAPI();
|
4000
4036
|
}
|
4001
4037
|
ngAfterViewInit() {
|
4002
|
-
this.overlayWindowService.init(this.overlayWindowsContainerViewRef, this.rootMagicElementRef.nativeElement);
|
4038
|
+
this.overlayWindowService.init(this.overlayWindowsContainerViewRef, this.rootMagicElementRef.nativeElement, this.changeDetectorRef);
|
4003
4039
|
this.engineMagicService.startMagicEngine(this.httpClient);
|
4004
4040
|
}
|
4005
4041
|
setViewContainerRef(vcRef) {
|