@tetacom/svg-charts 1.1.30 → 1.1.31

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.
@@ -117,8 +117,8 @@ export class ZoomableDirective {
117
117
  // Sync fake axis and index axis 0
118
118
  if (this.zoomAxis.index === m.message?.axis?.index &&
119
119
  this.zoomAxis.orientation === m.message?.axis?.orientation &&
120
- (m.message?.axis.isFake && !this.zoomAxis.isFake) ||
121
- (!m.message?.axis.isFake && this.zoomAxis.isFake)) {
120
+ ((m.message?.axis.isFake && !this.zoomAxis.isFake) ||
121
+ (!m.message?.axis.isFake && this.zoomAxis.isFake))) {
122
122
  this._element.call(this.zoom.transform, m.message.event.transform);
123
123
  }
124
124
  }), filter((m) => m.message.event.sourceEvent instanceof MouseEvent ||
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
265
265
  type: HostBinding,
266
266
  args: ['class.zoomable']
267
267
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUE0QixZQUFZLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQWtDLFdBQVcsR0FBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsR0FBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFLbEUsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFDVSxVQUFzQixFQUN0QixXQUF3QixFQUN4QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsSUFBWTtRQUpaLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBZmlC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S0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWlDLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Wm9vbVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2Uvem9vbS5zZXJ2aWNlJztcbmltcG9ydCB7SUNoYXJ0Q29uZmlnfSBmcm9tICcuLi9tb2RlbC9pLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQge0F4aXN9IGZyb20gJy4uL2NvcmUvYXhpcy9heGlzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7RDNab29tRXZlbnQsIFpvb21CZWhhdmlvciwgem9vbUlkZW50aXR5fSBmcm9tICdkMyc7XG5pbXBvcnQge1pvb21UeXBlfSBmcm9tICcuLi9tb2RlbC9lbnVtL3pvb20tdHlwZSc7XG5pbXBvcnQge0F4aXNPcmllbnRhdGlvbn0gZnJvbSAnLi4vbW9kZWwvZW51bS9heGlzLW9yaWVudGF0aW9uJztcbmltcG9ydCB7QnJ1c2hNZXNzYWdlLCBJQnJvYWRjYXN0TWVzc2FnZSwgWm9vbU1lc3NhZ2UsfSBmcm9tICcuLi9tb2RlbC9pLWJyb2FkY2FzdC1tZXNzYWdlJztcbmltcG9ydCB7QnJ1c2hUeXBlfSBmcm9tICcuLi9tb2RlbC9lbnVtL2JydXNoLXR5cGUnO1xuaW1wb3J0IHtCcm9hZGNhc3RTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2Jyb2FkY2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgZmlsdGVyLCB0YWtlV2hpbGUsfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtab29tQmVoYXZpb3JUeXBlfSBmcm9tICcuLi9tb2RlbC9lbnVtL3pvb20tYmVoYXZpb3ItdHlwZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZXRhWm9vbWFibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgWm9vbWFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb25maWc6IElDaGFydENvbmZpZztcbiAgQElucHV0KCkgYXhpcz86IEF4aXM7XG4gIEBJbnB1dCgpIHNpemU6IERPTVJlY3Q7XG4gIEBJbnB1dCgpIGJydXNoU2NhbGU/OiBhbnk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy56b29tYWJsZScpIHByaXZhdGUgem9vbWFibGUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9lbGVtZW50OiBkMy5TZWxlY3Rpb248U1ZHRWxlbWVudCwgYW55LCBhbnksIGFueT47XG4gIHByaXZhdGUgem9vbUF4aXM6IEF4aXM7XG4gIHByaXZhdGUgem9vbTogWm9vbUJlaGF2aW9yPGFueSwgYW55PjtcbiAgcHJpdmF0ZSBhbGl2ZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBjdXJyZW50VHJhbnNmb3JtID0gem9vbUlkZW50aXR5O1xuICBwcml2YXRlIGN1cnJlbnRTZWxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgem9vbVNlcnZpY2U6IFpvb21TZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJvYWRjYXN0U2VydmljZTogQnJvYWRjYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5heGlzPy5vcHRpb25zPy56b29tIHx8IHRoaXMuY29uZmlnPy56b29tPy5lbmFibGUpIHtcbiAgICAgIHRoaXMuem9vbWFibGUgPSB0aGlzLmNvbmZpZz8uem9vbT8uem9vbUJlaGF2aW9yID09PSBab29tQmVoYXZpb3JUeXBlLm1vdmU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2JydXNoU2NhbGUnKSkge1xuICAgICAgaWYoIXRoaXMuYXhpcykge1xuICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLnNldFNjYWxlKHRoaXMuYnJ1c2hTY2FsZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZW5hYmxlID1cbiAgICAgICh0aGlzLmF4aXM/Lm9wdGlvbnM/Lnpvb20gJiYgdGhpcy5heGlzPy5vcHRpb25zLnZpc2libGUgIT09IGZhbHNlKSB8fFxuICAgICAgdGhpcy5jb25maWc/Lnpvb20/LmVuYWJsZTtcblxuICAgIGlmICghZW5hYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbiAgICBpZiAoZW5hYmxlKSB7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQgPSBkMy5zZWxlY3QodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBjb21tb25ab29tQXhpcyA9IEF4aXMuY3JlYXRlQXhpcyhcbiAgICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICAgID8gQXhpc09yaWVudGF0aW9uLnhcbiAgICAgICAgICA6IEF4aXNPcmllbnRhdGlvbi55LFxuICAgICAgICB0aGlzLmNvbmZpZyxcbiAgICAgICAgMCxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcblxuICAgICAgdGhpcy56b29tQXhpcyA9IHRoaXMuYXhpcyA/PyBjb21tb25ab29tQXhpcztcblxuICAgICAgdGhpcy56b29tID0gZDMuem9vbSgpLmV4dGVudChbXG4gICAgICAgIFswLCAwXSxcbiAgICAgICAgW3RoaXMuc2l6ZS53aWR0aCwgdGhpcy5zaXplLmhlaWdodF0sXG4gICAgICBdKTtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LmxpbWl0VHJhbnNsYXRlQnlEYXRhKSB7XG4gICAgICAgIHRoaXMuem9vbS50cmFuc2xhdGVFeHRlbnQoW1xuICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICBbdGhpcy5zaXplLndpZHRoLCB0aGlzLnNpemUuaGVpZ2h0XSxcbiAgICAgICAgXSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5heGlzKSB7XG4gICAgICAgIHRoaXMuem9vbVNlcnZpY2Uuc2V0RWxlbWVudCh0aGlzLl9lbGVtZW50KTtcbiAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRBeGlzKGNvbW1vblpvb21BeGlzKTtcbiAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRab29tQmVoYXZpb3IodGhpcy56b29tKTtcbiAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRTY2FsZSh0aGlzLmJydXNoU2NhbGUpO1xuICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLnNldEJyb2FkY2FzdENoYW5uZWwodGhpcy5jb25maWc/Lnpvb20uc3luY0NoYW5uZWwpXG5cbiAgICAgIH1cblxuICAgICAgY29uc3QgbWF4Wm9vbSA9IHRoaXMuY29uZmlnLnpvb20/Lm1heFxuICAgICAgICA/ICh0aGlzLnpvb21BeGlzLmV4dHJlbWVzWzFdIC0gdGhpcy56b29tQXhpcy5leHRyZW1lc1swXSkgL1xuICAgICAgICB0aGlzLmNvbmZpZy56b29tPy5tYXhcbiAgICAgICAgOiB0aGlzLmNvbmZpZy56b29tPy5saW1pdFpvb21CeURhdGFcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IDA7XG5cbiAgICAgIGNvbnN0IG1pblpvb20gPSB0aGlzLmNvbmZpZy56b29tPy5taW5cbiAgICAgICAgPyAodGhpcy56b29tQXhpcy5leHRyZW1lc1sxXSAtIHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMF0pIC9cbiAgICAgICAgdGhpcy5jb25maWcuem9vbT8ubWluXG4gICAgICAgIDogSW5maW5pdHk7XG5cbiAgICAgIHRoaXMuem9vbS5zY2FsZUV4dGVudChbbWF4Wm9vbSwgbWluWm9vbV0pO1xuXG4gICAgICB0aGlzLnpvb20ub24oJ3pvb20gZW5kJywgdGhpcy56b29tZWQpO1xuICAgICAgdGhpcy5fZWxlbWVudC5jYWxsKHRoaXMuem9vbSkub24oJ2RibGNsaWNrLnpvb20nLCBudWxsKTsgLy8gRGlzYWJsZSBkYmNsaWNrIHpvb21cblxuICAgICAgaWYgKHRoaXMuY29uZmlnPy56b29tPy56b29tQmVoYXZpb3IgPT09IFpvb21CZWhhdmlvclR5cGUud2hlZWwpIHtcbiAgICAgICAgdGhpcy5ydW5XaGVlbFpvb20oKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1YnNjcmliZSB0byB6b29tIGV2ZW50c1xuICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZVxuICAgICAgLnN1YnNjcmliZVRvWm9vbSh0aGlzLmNvbmZpZz8uem9vbS5zeW5jQ2hhbm5lbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuYWxpdmUpLFxuICAgICAgICB0YXAoKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT4ge1xuXG4gICAgICAgICAgLy8gU3luYyBmYWtlIGF4aXMgYW5kIGluZGV4IGF4aXMgMFxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMuaW5kZXggPT09IG0ubWVzc2FnZT8uYXhpcz8uaW5kZXggJiZcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMub3JpZW50YXRpb24gPT09IG0ubWVzc2FnZT8uYXhpcz8ub3JpZW50YXRpb24gJiZcbiAgICAgICAgICAgIChtLm1lc3NhZ2U/LmF4aXMuaXNGYWtlICYmICF0aGlzLnpvb21BeGlzLmlzRmFrZSkgfHxcbiAgICAgICAgICAgICghbS5tZXNzYWdlPy5heGlzLmlzRmFrZSAmJiB0aGlzLnpvb21BeGlzLmlzRmFrZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbChcbiAgICAgICAgICAgICAgdGhpcy56b29tLnRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgbS5tZXNzYWdlLmV2ZW50LnRyYW5zZm9ybVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAobTogSUJyb2FkY2FzdE1lc3NhZ2U8Wm9vbU1lc3NhZ2U+KSA9PlxuICAgICAgICAgICAgbS5tZXNzYWdlLmV2ZW50LnNvdXJjZUV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCB8fFxuICAgICAgICAgICAgbS5tZXNzYWdlLmV2ZW50LnNvdXJjZUV2ZW50IGluc3RhbmNlb2YgV2hlZWxFdmVudCB8fFxuICAgICAgICAgICAgKHdpbmRvdy5Ub3VjaEV2ZW50ICYmXG4gICAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpXG4gICAgICAgICksXG4gICAgICAgIGZpbHRlcigobTogSUJyb2FkY2FzdE1lc3NhZ2U8Wm9vbU1lc3NhZ2U+KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMuaW5kZXggPT09IG0ubWVzc2FnZT8uYXhpcz8uaW5kZXggJiZcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMub3JpZW50YXRpb24gPT09IG0ubWVzc2FnZT8uYXhpcz8ub3JpZW50YXRpb25cbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChtOiBJQnJvYWRjYXN0TWVzc2FnZTxab29tTWVzc2FnZT4pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5jb25maWcuaWQgIT09IG0ubWVzc2FnZS5jaGFydElkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwoXG4gICAgICAgICAgICAgIHRoaXMuem9vbS50cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC50cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBicnVzaCBldmVudHMgeCBvciB5XG5cbiAgICBpZiAoXG4gICAgICAodGhpcy5jb25maWcuYnJ1c2g/LnR5cGUgPT09IEJydXNoVHlwZS54ICYmXG4gICAgICAgIHRoaXMuem9vbUF4aXMub3JpZW50YXRpb24gPT09IEF4aXNPcmllbnRhdGlvbi54KSB8fFxuICAgICAgKHRoaXMuY29uZmlnLmJydXNoPy50eXBlID09PSBCcnVzaFR5cGUueSAmJlxuICAgICAgICB0aGlzLnpvb21BeGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueSlcbiAgICApIHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2Uuc3Vic2NyaWJlVG9CcnVzaCh0aGlzLmNvbmZpZz8uem9vbS5zeW5jQ2hhbm5lbCksXG4gICAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNpemUsXG4gICAgICBdKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuYWxpdmUpLFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxuICAgICAgICAgIGZpbHRlcigoZGF0YTogW0lCcm9hZGNhc3RNZXNzYWdlPEJydXNoTWVzc2FnZT4sIERPTVJlY3RdKSA9PlxuICAgICAgICAgICAgQm9vbGVhbihkYXRhWzBdLm1lc3NhZ2Uuc2VsZWN0aW9uKVxuICAgICAgICAgICksXG4gICAgICAgICAgdGFwKChkYXRhOiBbSUJyb2FkY2FzdE1lc3NhZ2U8QnJ1c2hNZXNzYWdlPiwgRE9NUmVjdF0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IFttXSA9IGRhdGE7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRUcmFuc2Zvcm0gPSBkMy56b29tVHJhbnNmb3JtKHRoaXMuX2VsZW1lbnQubm9kZSgpKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhbS5tZXNzYWdlLmV2ZW50ICYmXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgICBjdXJyZW50VHJhbnNmb3JtLmsgIT09IDFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgY29uc3QgcyA9IG0ubWVzc2FnZS5zZWxlY3Rpb247XG4gICAgICAgICAgICB0aGlzLmJydXNoU2NhbGUuZG9tYWluKHRoaXMuem9vbUF4aXMuZXh0cmVtZXMpO1xuICAgICAgICAgICAgY29uc3QgZG9tYWluID0gdGhpcy5icnVzaFNjYWxlLmRvbWFpbigpO1xuXG4gICAgICAgICAgICBjb25zdCBzY2FsZSA9IChkb21haW5bMV0gLSBkb21haW5bMF0pIC8gKHNbMV0gLSBzWzBdKTtcblxuICAgICAgICAgICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eS5zY2FsZShzY2FsZSk7XG5cbiAgICAgICAgICAgIGlmIChtLm1lc3NhZ2U/LmJydXNoVHlwZSA9PT0gQnJ1c2hUeXBlLngpIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgtdGhpcy5icnVzaFNjYWxlKHNbMF0pLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChtLm1lc3NhZ2U/LmJydXNoVHlwZSA9PT0gQnJ1c2hUeXBlLnkpIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZSgwLCAtdGhpcy5icnVzaFNjYWxlKHNbMF0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jYWxsKHRoaXMuem9vbS50cmFuc2Zvcm0sIHRyYW5zZm9ybSwgbnVsbCwge30pO1xuXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSBtLm1lc3NhZ2Uuc2VsZWN0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuem9vbT8ub24oJ3N0YXJ0IHpvb20gZW5kJywgbnVsbCk7XG4gICAgdGhpcy5fZWxlbWVudD8ub24oJ3doZWVsJywgbnVsbCk7XG4gICAgdGhpcy5hbGl2ZSA9IGZhbHNlO1xuICB9XG5cblxuICB6b29tZWQgPSAoZXZlbnQ6IEQzWm9vbUV2ZW50PGFueSwgYW55PikgPT4ge1xuICAgIGlmIChldmVudC5zb3VyY2VFdmVudCkge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGV2ZW50LnNvdXJjZUV2ZW50KS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFRyYW5zZm9ybSA9PT0gZXZlbnQudHJhbnNmb3JtICYmIGV2ZW50LnR5cGUgIT09ICdlbmQnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5icnVzaFNjYWxlLmNvcHkoKS5kb21haW4odGhpcy56b29tQXhpcy5leHRyZW1lcyk7XG5cbiAgICAgICAgbGV0IGRvbWFpbiA9XG4gICAgICAgICAgdGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueVxuICAgICAgICAgICAgPyBldmVudC50cmFuc2Zvcm0ucmVzY2FsZVkob3JpZ2luKS5kb21haW4oKVxuICAgICAgICAgICAgOiBldmVudC50cmFuc2Zvcm0ucmVzY2FsZVgob3JpZ2luKS5kb21haW4oKTtcblxuICAgICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFpvb21NZXNzYWdlKHtcbiAgICAgICAgICBldmVudCxcbiAgICAgICAgICBheGlzOiB0aGlzLnpvb21BeGlzLFxuICAgICAgICAgIGJydXNoRG9tYWluOiBkb21haW4sXG4gICAgICAgICAgY2hhcnRJZDogdGhpcy5jb25maWcuaWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5icm9hZGNhc3Rab29tKHtcbiAgICAgICAgICBjaGFubmVsOiB0aGlzLmNvbmZpZz8uem9vbT8uc3luY0NoYW5uZWwsXG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuem9vbVNlcnZpY2UuZmlyZVpvb20oe1xuICAgICAgICBldmVudCxcbiAgICAgICAgdGFyZ2V0OiB0aGlzLnpvb21BeGlzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybSA9IGV2ZW50LnRyYW5zZm9ybTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBydW5XaGVlbFpvb20oKSB7XG4gICAgbGV0IHR5cGU6ICdzdGFydCcgfCAnem9vbScgfCAnZW5kJyA9ICdzdGFydCc7XG4gICAgbGV0IHdoZWVsaW5nO1xuXG4gICAgdGhpcy56b29tXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQudHlwZSA9PT0gJ3doZWVsJykgfHxcbiAgICAgICAgICAgIEJvb2xlYW4od2luZG93LlRvdWNoRXZlbnQgJiYgZXZlbnQudHlwZSAhPT0gJ3doZWVsJylcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLndoZWVsRGVsdGEoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGRlbHRhID1cbiAgICAgICAgICB0aGlzLmNvbmZpZz8uem9vbS50eXBlID09PSBab29tVHlwZS54XG4gICAgICAgICAgICA/IC1ldmVudC5kZWx0YVhcbiAgICAgICAgICAgIDogLWV2ZW50LmRlbHRhWTtcbiAgICAgICAgcmV0dXJuIGRlbHRhICogMC4wMDI7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IGVtaXQgPSAodHlwZTogc3RyaW5nLCBldmVudDogV2hlZWxFdmVudCkgPT4ge1xuICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5icnVzaFNjYWxlLmNvcHkoKS5kb21haW4odGhpcy56b29tQXhpcy5leHRyZW1lcyk7XG4gICAgICBsZXQgdHJhbnNmb3JtID0gem9vbUlkZW50aXR5O1xuICAgICAgY29uc3QgZGVsdGEgPVxuICAgICAgICB0eXBlID09PSAnZW5kJ1xuICAgICAgICAgID8gMFxuICAgICAgICAgIDogdGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueVxuICAgICAgICAgICAgPyBldmVudC5kZWx0YVlcbiAgICAgICAgICAgIDogZXZlbnQuZGVsdGFYO1xuXG4gICAgICBpZiAodGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueSkge1xuICAgICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0udHJhbnNsYXRlKFxuICAgICAgICAgIDAsXG4gICAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtLnkgLSBkZWx0YSAvIDJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLngpIHtcbiAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZShcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0ueCAtIGRlbHRhIC8gMixcbiAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS5zY2FsZSh0aGlzLmN1cnJlbnRUcmFuc2Zvcm0uayk7XG5cbiAgICAgIGxldCBkb21haW4gPVxuICAgICAgICB0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS55XG4gICAgICAgICAgPyB0cmFuc2Zvcm0ucmVzY2FsZVkob3JpZ2luKS5kb21haW4oKVxuICAgICAgICAgIDogdHJhbnNmb3JtLnJlc2NhbGVYKG9yaWdpbikuZG9tYWluKCk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgWm9vbU1lc3NhZ2Uoe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHNvdXJjZUV2ZW50OiBldmVudCxcbiAgICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgfSxcbiAgICAgICAgYXhpczogdGhpcy56b29tQXhpcyxcbiAgICAgICAgYnJ1c2hEb21haW46IGRvbWFpbixcbiAgICAgICAgY2hhcnRJZDogdGhpcy5jb25maWcuaWQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy56b29tU2VydmljZS5maXJlWm9vbSh7XG4gICAgICAgIGV2ZW50OiB7XG4gICAgICAgICAgc291cmNlRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICB9LFxuICAgICAgICB0YXJnZXQ6IHRoaXMuem9vbUF4aXMsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5jYWxsKHRoaXMuem9vbS50cmFuc2Zvcm0sIHRyYW5zZm9ybSk7XG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbiAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5icm9hZGNhc3Rab29tKHtcbiAgICAgICAgY2hhbm5lbDogdGhpcy5jb25maWc/Lnpvb20/LnN5bmNDaGFubmVsLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgfSk7XG4gICAgfTtcblxuXG4gICAgdGhpcy5fZWxlbWVudC5vbignd2hlZWwnLCAoZXZlbnQ6IFdoZWVsRXZlbnQpID0+IHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHdoZWVsaW5nKTtcbiAgICAgICAgZW1pdCh0eXBlLCBldmVudCk7XG4gICAgICAgIHR5cGUgPSAnem9vbSc7XG5cbiAgICAgICAgd2hlZWxpbmcgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBlbWl0KCdlbmQnLCBldmVudCk7XG5cbiAgICAgICAgICB0eXBlID0gJ3N0YXJ0JztcbiAgICAgICAgfSwgNTApO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgfVxufVxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbWFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2RpcmVjdGl2ZXMvem9vbWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUE0QixZQUFZLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQWtDLFdBQVcsR0FBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsR0FBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFLbEUsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFDVSxVQUFzQixFQUN0QixXQUF3QixFQUN4QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDMUIsSUFBWTtRQUpaLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBZmlC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QUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVpQyxRQUFRO3NCQUE5QyxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1pvb21TZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3pvb20uc2VydmljZSc7XG5pbXBvcnQge0lDaGFydENvbmZpZ30gZnJvbSAnLi4vbW9kZWwvaS1jaGFydC1jb25maWcnO1xuaW1wb3J0IHtBeGlzfSBmcm9tICcuLi9jb3JlL2F4aXMvYXhpcyc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5pbXBvcnQge0QzWm9vbUV2ZW50LCBab29tQmVoYXZpb3IsIHpvb21JZGVudGl0eX0gZnJvbSAnZDMnO1xuaW1wb3J0IHtab29tVHlwZX0gZnJvbSAnLi4vbW9kZWwvZW51bS96b29tLXR5cGUnO1xuaW1wb3J0IHtBeGlzT3JpZW50YXRpb259IGZyb20gJy4uL21vZGVsL2VudW0vYXhpcy1vcmllbnRhdGlvbic7XG5pbXBvcnQge0JydXNoTWVzc2FnZSwgSUJyb2FkY2FzdE1lc3NhZ2UsIFpvb21NZXNzYWdlLH0gZnJvbSAnLi4vbW9kZWwvaS1icm9hZGNhc3QtbWVzc2FnZSc7XG5pbXBvcnQge0JydXNoVHlwZX0gZnJvbSAnLi4vbW9kZWwvZW51bS9icnVzaC10eXBlJztcbmltcG9ydCB7QnJvYWRjYXN0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9icm9hZGNhc3Quc2VydmljZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZpbHRlciwgdGFrZVdoaWxlLH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoYXJ0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7Wm9vbUJlaGF2aW9yVHlwZX0gZnJvbSAnLi4vbW9kZWwvZW51bS96b29tLWJlaGF2aW9yLXR5cGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YVpvb21hYmxlXScsXG59KVxuZXhwb3J0IGNsYXNzIFpvb21hYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29uZmlnOiBJQ2hhcnRDb25maWc7XG4gIEBJbnB1dCgpIGF4aXM/OiBBeGlzO1xuICBASW5wdXQoKSBzaXplOiBET01SZWN0O1xuICBASW5wdXQoKSBicnVzaFNjYWxlPzogYW55O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muem9vbWFibGUnKSBwcml2YXRlIHpvb21hYmxlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudDogZDMuU2VsZWN0aW9uPFNWR0VsZW1lbnQsIGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIHpvb21BeGlzOiBBeGlzO1xuICBwcml2YXRlIHpvb206IFpvb21CZWhhdmlvcjxhbnksIGFueT47XG4gIHByaXZhdGUgYWxpdmUgPSB0cnVlO1xuXG4gIHByaXZhdGUgY3VycmVudFRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcbiAgcHJpdmF0ZSBjdXJyZW50U2VsZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHpvb21TZXJ2aWNlOiBab29tU2VydmljZSxcbiAgICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2U6IEJyb2FkY2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFydFNlcnZpY2U6IENoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuYXhpcz8ub3B0aW9ucz8uem9vbSB8fCB0aGlzLmNvbmZpZz8uem9vbT8uZW5hYmxlKSB7XG4gICAgICB0aGlzLnpvb21hYmxlID0gdGhpcy5jb25maWc/Lnpvb20/Lnpvb21CZWhhdmlvciA9PT0gWm9vbUJlaGF2aW9yVHlwZS5tb3ZlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZihjaGFuZ2VzLmhhc093blByb3BlcnR5KCdicnVzaFNjYWxlJykpIHtcbiAgICAgIGlmKCF0aGlzLmF4aXMpIHtcbiAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRTY2FsZSh0aGlzLmJydXNoU2NhbGUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGVuYWJsZSA9XG4gICAgICAodGhpcy5heGlzPy5vcHRpb25zPy56b29tICYmIHRoaXMuYXhpcz8ub3B0aW9ucy52aXNpYmxlICE9PSBmYWxzZSkgfHxcbiAgICAgIHRoaXMuY29uZmlnPy56b29tPy5lbmFibGU7XG5cbiAgICBpZiAoIWVuYWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4gICAgaWYgKGVuYWJsZSkge1xuXG4gICAgICB0aGlzLl9lbGVtZW50ID0gZDMuc2VsZWN0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgY29uc3QgY29tbW9uWm9vbUF4aXMgPSBBeGlzLmNyZWF0ZUF4aXMoXG4gICAgICAgIHRoaXMuY29uZmlnPy56b29tLnR5cGUgPT09IFpvb21UeXBlLnhcbiAgICAgICAgICA/IEF4aXNPcmllbnRhdGlvbi54XG4gICAgICAgICAgOiBBeGlzT3JpZW50YXRpb24ueSxcbiAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgIDAsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuem9vbUF4aXMgPSB0aGlzLmF4aXMgPz8gY29tbW9uWm9vbUF4aXM7XG5cbiAgICAgIHRoaXMuem9vbSA9IGQzLnpvb20oKS5leHRlbnQoW1xuICAgICAgICBbMCwgMF0sXG4gICAgICAgIFt0aGlzLnNpemUud2lkdGgsIHRoaXMuc2l6ZS5oZWlnaHRdLFxuICAgICAgXSk7XG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZy56b29tPy5saW1pdFRyYW5zbGF0ZUJ5RGF0YSkge1xuICAgICAgICB0aGlzLnpvb20udHJhbnNsYXRlRXh0ZW50KFtcbiAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgW3RoaXMuc2l6ZS53aWR0aCwgdGhpcy5zaXplLmhlaWdodF0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuYXhpcykge1xuICAgICAgICB0aGlzLnpvb21TZXJ2aWNlLnNldEVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICAgIHRoaXMuem9vbVNlcnZpY2Uuc2V0QXhpcyhjb21tb25ab29tQXhpcyk7XG4gICAgICAgIHRoaXMuem9vbVNlcnZpY2Uuc2V0Wm9vbUJlaGF2aW9yKHRoaXMuem9vbSk7XG4gICAgICAgIHRoaXMuem9vbVNlcnZpY2Uuc2V0U2NhbGUodGhpcy5icnVzaFNjYWxlKTtcbiAgICAgICAgdGhpcy56b29tU2VydmljZS5zZXRCcm9hZGNhc3RDaGFubmVsKHRoaXMuY29uZmlnPy56b29tLnN5bmNDaGFubmVsKVxuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1heFpvb20gPSB0aGlzLmNvbmZpZy56b29tPy5tYXhcbiAgICAgICAgPyAodGhpcy56b29tQXhpcy5leHRyZW1lc1sxXSAtIHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMF0pIC9cbiAgICAgICAgdGhpcy5jb25maWcuem9vbT8ubWF4XG4gICAgICAgIDogdGhpcy5jb25maWcuem9vbT8ubGltaXRab29tQnlEYXRhXG4gICAgICAgICAgPyAxXG4gICAgICAgICAgOiAwO1xuXG4gICAgICBjb25zdCBtaW5ab29tID0gdGhpcy5jb25maWcuem9vbT8ubWluXG4gICAgICAgID8gKHRoaXMuem9vbUF4aXMuZXh0cmVtZXNbMV0gLSB0aGlzLnpvb21BeGlzLmV4dHJlbWVzWzBdKSAvXG4gICAgICAgIHRoaXMuY29uZmlnLnpvb20/Lm1pblxuICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICB0aGlzLnpvb20uc2NhbGVFeHRlbnQoW21heFpvb20sIG1pblpvb21dKTtcblxuICAgICAgdGhpcy56b29tLm9uKCd6b29tIGVuZCcsIHRoaXMuem9vbWVkKTtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbCh0aGlzLnpvb20pLm9uKCdkYmxjbGljay56b29tJywgbnVsbCk7IC8vIERpc2FibGUgZGJjbGljayB6b29tXG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZz8uem9vbT8uem9vbUJlaGF2aW9yID09PSBab29tQmVoYXZpb3JUeXBlLndoZWVsKSB7XG4gICAgICAgIHRoaXMucnVuV2hlZWxab29tKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gem9vbSBldmVudHNcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2VcbiAgICAgIC5zdWJzY3JpYmVUb1pvb20odGhpcy5jb25maWc/Lnpvb20uc3luY0NoYW5uZWwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgdGFwKChtOiBJQnJvYWRjYXN0TWVzc2FnZTxab29tTWVzc2FnZT4pID0+IHtcblxuXG4gICAgICAgICAgLy8gU3luYyBmYWtlIGF4aXMgYW5kIGluZGV4IGF4aXMgMFxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMuaW5kZXggPT09IG0ubWVzc2FnZT8uYXhpcz8uaW5kZXggJiZcbiAgICAgICAgICAgIHRoaXMuem9vbUF4aXMub3JpZW50YXRpb24gPT09IG0ubWVzc2FnZT8uYXhpcz8ub3JpZW50YXRpb24gJiZcbiAgICAgICAgICAgICgobS5tZXNzYWdlPy5heGlzLmlzRmFrZSAmJiAhdGhpcy56b29tQXhpcy5pc0Zha2UpIHx8XG4gICAgICAgICAgICAoIW0ubWVzc2FnZT8uYXhpcy5pc0Zha2UgJiYgdGhpcy56b29tQXhpcy5pc0Zha2UpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNhbGwoXG4gICAgICAgICAgICAgIHRoaXMuem9vbS50cmFuc2Zvcm0sXG4gICAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC50cmFuc2Zvcm1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT5cbiAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgfHxcbiAgICAgICAgICAgIG0ubWVzc2FnZS5ldmVudC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQgfHxcbiAgICAgICAgICAgICh3aW5kb3cuVG91Y2hFdmVudCAmJlxuICAgICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQuc291cmNlRXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50KVxuICAgICAgICApLFxuICAgICAgICBmaWx0ZXIoKG06IElCcm9hZGNhc3RNZXNzYWdlPFpvb21NZXNzYWdlPikgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnpvb21BeGlzLmluZGV4ID09PSBtLm1lc3NhZ2U/LmF4aXM/LmluZGV4ICYmXG4gICAgICAgICAgICB0aGlzLnpvb21BeGlzLm9yaWVudGF0aW9uID09PSBtLm1lc3NhZ2U/LmF4aXM/Lm9yaWVudGF0aW9uXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgobTogSUJyb2FkY2FzdE1lc3NhZ2U8Wm9vbU1lc3NhZ2U+KSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmlkICE9PSBtLm1lc3NhZ2UuY2hhcnRJZCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jYWxsKFxuICAgICAgICAgICAgICB0aGlzLnpvb20udHJhbnNmb3JtLFxuICAgICAgICAgICAgICBtLm1lc3NhZ2UuZXZlbnQudHJhbnNmb3JtLFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gYnJ1c2ggZXZlbnRzIHggb3IgeVxuXG4gICAgaWYgKFxuICAgICAgKHRoaXMuY29uZmlnLmJydXNoPy50eXBlID09PSBCcnVzaFR5cGUueCAmJlxuICAgICAgICB0aGlzLnpvb21BeGlzLm9yaWVudGF0aW9uID09PSBBeGlzT3JpZW50YXRpb24ueCkgfHxcbiAgICAgICh0aGlzLmNvbmZpZy5icnVzaD8udHlwZSA9PT0gQnJ1c2hUeXBlLnkgJiZcbiAgICAgICAgdGhpcy56b29tQXhpcy5vcmllbnRhdGlvbiA9PT0gQXhpc09yaWVudGF0aW9uLnkpXG4gICAgKSB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnN1YnNjcmliZVRvQnJ1c2godGhpcy5jb25maWc/Lnpvb20uc3luY0NoYW5uZWwpLFxuICAgICAgICB0aGlzLmNoYXJ0U2VydmljZS5zaXplLFxuICAgICAgXSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgICBmaWx0ZXIoKGRhdGE6IFtJQnJvYWRjYXN0TWVzc2FnZTxCcnVzaE1lc3NhZ2U+LCBET01SZWN0XSkgPT5cbiAgICAgICAgICAgIEJvb2xlYW4oZGF0YVswXS5tZXNzYWdlLnNlbGVjdGlvbilcbiAgICAgICAgICApLFxuICAgICAgICAgIHRhcCgoZGF0YTogW0lCcm9hZGNhc3RNZXNzYWdlPEJydXNoTWVzc2FnZT4sIERPTVJlY3RdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBbbV0gPSBkYXRhO1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VHJhbnNmb3JtID0gZDMuem9vbVRyYW5zZm9ybSh0aGlzLl9lbGVtZW50Lm5vZGUoKSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIW0ubWVzc2FnZS5ldmVudCAmJlxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gJiZcbiAgICAgICAgICAgICAgY3VycmVudFRyYW5zZm9ybS5rICE9PSAxXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIGNvbnN0IHMgPSBtLm1lc3NhZ2Uuc2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5icnVzaFNjYWxlLmRvbWFpbih0aGlzLnpvb21BeGlzLmV4dHJlbWVzKTtcbiAgICAgICAgICAgIGNvbnN0IGRvbWFpbiA9IHRoaXMuYnJ1c2hTY2FsZS5kb21haW4oKTtcblxuICAgICAgICAgICAgY29uc3Qgc2NhbGUgPSAoZG9tYWluWzFdIC0gZG9tYWluWzBdKSAvIChzWzFdIC0gc1swXSk7XG5cbiAgICAgICAgICAgIGxldCB0cmFuc2Zvcm0gPSB6b29tSWRlbnRpdHkuc2NhbGUoc2NhbGUpO1xuXG4gICAgICAgICAgICBpZiAobS5tZXNzYWdlPy5icnVzaFR5cGUgPT09IEJydXNoVHlwZS54KSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoLXRoaXMuYnJ1c2hTY2FsZShzWzBdKSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobS5tZXNzYWdlPy5icnVzaFR5cGUgPT09IEJydXNoVHlwZS55KSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoMCwgLXRoaXMuYnJ1c2hTY2FsZShzWzBdKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbCh0aGlzLnpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0sIG51bGwsIHt9KTtcblxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gbS5tZXNzYWdlLnNlbGVjdGlvbjtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnpvb20/Lm9uKCdzdGFydCB6b29tIGVuZCcsIG51bGwpO1xuICAgIHRoaXMuX2VsZW1lbnQ/Lm9uKCd3aGVlbCcsIG51bGwpO1xuICAgIHRoaXMuYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG5cbiAgem9vbWVkID0gKGV2ZW50OiBEM1pvb21FdmVudDxhbnksIGFueT4pID0+IHtcbiAgICBpZiAoZXZlbnQuc291cmNlRXZlbnQpIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhldmVudC5zb3VyY2VFdmVudCkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPT09IGV2ZW50LnRyYW5zZm9ybSAmJiBldmVudC50eXBlICE9PSAnZW5kJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnJ1c2hTY2FsZS5jb3B5KCkuZG9tYWluKHRoaXMuem9vbUF4aXMuZXh0cmVtZXMpO1xuXG4gICAgICAgIGxldCBkb21haW4gPVxuICAgICAgICAgIHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLnlcbiAgICAgICAgICAgID8gZXZlbnQudHJhbnNmb3JtLnJlc2NhbGVZKG9yaWdpbikuZG9tYWluKClcbiAgICAgICAgICAgIDogZXZlbnQudHJhbnNmb3JtLnJlc2NhbGVYKG9yaWdpbikuZG9tYWluKCk7XG5cbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBab29tTWVzc2FnZSh7XG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgYXhpczogdGhpcy56b29tQXhpcyxcbiAgICAgICAgICBicnVzaERvbWFpbjogZG9tYWluLFxuICAgICAgICAgIGNoYXJ0SWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuYnJvYWRjYXN0Wm9vbSh7XG4gICAgICAgICAgY2hhbm5lbDogdGhpcy5jb25maWc/Lnpvb20/LnN5bmNDaGFubmVsLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnpvb21TZXJ2aWNlLmZpcmVab29tKHtcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIHRhcmdldDogdGhpcy56b29tQXhpcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2Zvcm0gPSBldmVudC50cmFuc2Zvcm07XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgcnVuV2hlZWxab29tKCkge1xuICAgIGxldCB0eXBlOiAnc3RhcnQnIHwgJ3pvb20nIHwgJ2VuZCcgPSAnc3RhcnQnO1xuICAgIGxldCB3aGVlbGluZztcblxuICAgIHRoaXMuem9vbVxuICAgICAgLmZpbHRlcihcbiAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnR5cGUgPT09ICd3aGVlbCcpIHx8XG4gICAgICAgICAgICBCb29sZWFuKHdpbmRvdy5Ub3VjaEV2ZW50ICYmIGV2ZW50LnR5cGUgIT09ICd3aGVlbCcpXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC53aGVlbERlbHRhKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBkZWx0YSA9XG4gICAgICAgICAgdGhpcy5jb25maWc/Lnpvb20udHlwZSA9PT0gWm9vbVR5cGUueFxuICAgICAgICAgICAgPyAtZXZlbnQuZGVsdGFYXG4gICAgICAgICAgICA6IC1ldmVudC5kZWx0YVk7XG4gICAgICAgIHJldHVybiBkZWx0YSAqIDAuMDAyO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBlbWl0ID0gKHR5cGU6IHN0cmluZywgZXZlbnQ6IFdoZWVsRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnJ1c2hTY2FsZS5jb3B5KCkuZG9tYWluKHRoaXMuem9vbUF4aXMuZXh0cmVtZXMpO1xuICAgICAgbGV0IHRyYW5zZm9ybSA9IHpvb21JZGVudGl0eTtcbiAgICAgIGNvbnN0IGRlbHRhID1cbiAgICAgICAgdHlwZSA9PT0gJ2VuZCdcbiAgICAgICAgICA/IDBcbiAgICAgICAgICA6IHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLnlcbiAgICAgICAgICAgID8gZXZlbnQuZGVsdGFZXG4gICAgICAgICAgICA6IGV2ZW50LmRlbHRhWDtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnLnpvb20/LnR5cGUgPT09IFpvb21UeXBlLnkpIHtcbiAgICAgICAgdHJhbnNmb3JtID0gdHJhbnNmb3JtLnRyYW5zbGF0ZShcbiAgICAgICAgICAwLFxuICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zZm9ybS55IC0gZGVsdGEgLyAyXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZy56b29tPy50eXBlID09PSBab29tVHlwZS54KSB7XG4gICAgICAgIHRyYW5zZm9ybSA9IHRyYW5zZm9ybS50cmFuc2xhdGUoXG4gICAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtLnggLSBkZWx0YSAvIDIsXG4gICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0cmFuc2Zvcm0gPSB0cmFuc2Zvcm0uc2NhbGUodGhpcy5jdXJyZW50VHJhbnNmb3JtLmspO1xuXG4gICAgICBsZXQgZG9tYWluID1cbiAgICAgICAgdGhpcy5jb25maWcuem9vbT8udHlwZSA9PT0gWm9vbVR5cGUueVxuICAgICAgICAgID8gdHJhbnNmb3JtLnJlc2NhbGVZKG9yaWdpbikuZG9tYWluKClcbiAgICAgICAgICA6IHRyYW5zZm9ybS5yZXNjYWxlWChvcmlnaW4pLmRvbWFpbigpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IFpvb21NZXNzYWdlKHtcbiAgICAgICAgZXZlbnQ6IHtcbiAgICAgICAgICBzb3VyY2VFdmVudDogZXZlbnQsXG4gICAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgIH0sXG4gICAgICAgIGF4aXM6IHRoaXMuem9vbUF4aXMsXG4gICAgICAgIGJydXNoRG9tYWluOiBkb21haW4sXG4gICAgICAgIGNoYXJ0SWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuem9vbVNlcnZpY2UuZmlyZVpvb20oe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIHNvdXJjZUV2ZW50OiBldmVudCxcbiAgICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyZ2V0OiB0aGlzLnpvb21BeGlzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQuY2FsbCh0aGlzLnpvb20udHJhbnNmb3JtLCB0cmFuc2Zvcm0pO1xuICAgICAgdGhpcy5jdXJyZW50VHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuXG4gICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuYnJvYWRjYXN0Wm9vbSh7XG4gICAgICAgIGNoYW5uZWw6IHRoaXMuY29uZmlnPy56b29tPy5zeW5jQ2hhbm5lbCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH07XG5cblxuICAgIHRoaXMuX2VsZW1lbnQub24oJ3doZWVsJywgKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh3aGVlbGluZyk7XG4gICAgICAgIGVtaXQodHlwZSwgZXZlbnQpO1xuICAgICAgICB0eXBlID0gJ3pvb20nO1xuXG4gICAgICAgIHdoZWVsaW5nID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgZW1pdCgnZW5kJywgZXZlbnQpO1xuXG4gICAgICAgICAgdHlwZSA9ICdzdGFydCc7XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cbn1cbiJdfQ==
@@ -2106,8 +2106,8 @@ class ZoomableDirective {
2106
2106
  // Sync fake axis and index axis 0
2107
2107
  if (this.zoomAxis.index === ((_b = (_a = m.message) === null || _a === void 0 ? void 0 : _a.axis) === null || _b === void 0 ? void 0 : _b.index) &&
2108
2108
  this.zoomAxis.orientation === ((_d = (_c = m.message) === null || _c === void 0 ? void 0 : _c.axis) === null || _d === void 0 ? void 0 : _d.orientation) &&
2109
- (((_e = m.message) === null || _e === void 0 ? void 0 : _e.axis.isFake) && !this.zoomAxis.isFake) ||
2110
- (!((_f = m.message) === null || _f === void 0 ? void 0 : _f.axis.isFake) && this.zoomAxis.isFake)) {
2109
+ ((((_e = m.message) === null || _e === void 0 ? void 0 : _e.axis.isFake) && !this.zoomAxis.isFake) ||
2110
+ (!((_f = m.message) === null || _f === void 0 ? void 0 : _f.axis.isFake) && this.zoomAxis.isFake))) {
2111
2111
  this._element.call(this.zoom.transform, m.message.event.transform);
2112
2112
  }
2113
2113
  }), filter((m) => m.message.event.sourceEvent instanceof MouseEvent ||