Socket
Socket
Sign inDemoInstall

@interactjs/auto-start

Package Overview
Dependencies
Maintainers
2
Versions
137
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/auto-start - npm Package Compare versions

Comparing version 1.5.4 to 1.6.0

8

base.d.ts

@@ -22,4 +22,4 @@ import * as utils from '@interactjs/utils';

maxPerElement?: number;
allowFrom?: string | Element;
ignoreFrom?: string | Element;
allowFrom?: string | Interact.Element;
ignoreFrom?: string | Interact.Element;
mouseButtons?: 0 | 1 | 2 | 4 | 16;

@@ -31,7 +31,7 @@ }

withinInteractionLimit: typeof withinInteractionLimit;
cursorElement: HTMLElement;
cursorElement: Interact.Element;
signals: utils.Signals;
}
declare function withinInteractionLimit(interactable: Interact.Interactable, element: Element, action: any, scope: Interact.Scope): boolean;
declare function withinInteractionLimit(interactable: Interact.Interactable, element: Interact.Element, action: any, scope: Interact.Scope): boolean;
declare const _default: import("@interactjs/core/scope").Plugin;
export default _default;

@@ -42,2 +42,3 @@ import * as utils from '@interactjs/utils';

interaction.start(interaction.prepared, interactable, interaction.element);
setInteractionCursor(interaction, scope);
}

@@ -135,3 +136,4 @@ }

function prepare(interaction, { action, interactable, element }, scope) {
action = action || {};
action = action || { name: null };
// clear previous target element cursor
if (interaction.interactable && interaction.interactable.options.styleCursor) {

@@ -146,15 +148,3 @@ setCursor(interaction.element, '', scope);

: null;
if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) {
let cursor = '';
if (action) {
const { cursorChecker } = interactable.options[action.name];
if (utils.is.func(cursorChecker)) {
cursor = cursorChecker(action, interactable, element);
}
else {
cursor = scope.actions[action.name].getCursor(action);
}
}
setCursor(interaction.element, cursor || '', scope);
}
setInteractionCursor(interaction, scope);
scope.autoStart.signals.fire('prepared', { interaction });

@@ -214,2 +204,19 @@ }

}
function setInteractionCursor(interaction, scope) {
const { interactable, element, prepared } = interaction;
if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {
return;
}
let cursor = '';
if (prepared.name) {
const cursorChecker = interactable.options[prepared.name].cursorChecker;
if (utils.is.func(cursorChecker)) {
cursor = cursorChecker(prepared, interactable, element, interaction._interacting);
}
else {
cursor = scope.actions[prepared.name].getCursor(prepared);
}
}
setCursor(interaction.element, cursor || '', scope);
}
export default {

@@ -222,2 +229,2 @@ id: 'auto-start/base',

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQyxPQUFPLG1CQUFtQixNQUFNLHVCQUF1QixDQUFBO0FBMEN2RCxTQUFTLE9BQU8sQ0FBRSxLQUFxQjtJQUNyQyxNQUFNLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixRQUFRLEdBQ1QsR0FBRyxLQUFLLENBQUE7SUFFVCxLQUFLLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFFcEMsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUMvRSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUFFLE9BQU07U0FBRTtRQUV6QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2pGLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLENBQUMsQ0FBQyxDQUFBO0lBRUYsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUMvRSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEtBQUssT0FBTztZQUNuQyxXQUFXLENBQUMsYUFBYTtZQUN6QixXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFFekMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxF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QUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDekQsQ0FBQztBQUVELGVBQWU7SUFDYixFQUFFLEVBQUUsaUJBQWlCO0lBQ3JCLE9BQU87SUFDUCxlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGNBQWM7Q0FDSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMnXG5pbXBvcnQgSW50ZXJhY3RhYmxlTWV0aG9kcyBmcm9tICcuL0ludGVyYWN0YWJsZU1ldGhvZHMnXG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9pbnRlcmFjdC9pbnRlcmFjdCcge1xuICBpbnRlcmZhY2UgSW50ZXJhY3RTdGF0aWMge1xuICAgIG1heEludGVyYWN0aW9uczogKG5ld1ZhbHVlOiBhbnkpID0+IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL3Njb3BlJyB7XG4gIGludGVyZmFjZSBTY29wZSB7XG4gICAgYXV0b1N0YXJ0OiBBdXRvU3RhcnRcbiAgICBtYXhJbnRlcmFjdGlvbnM6ICguLi5hcmdzOiBhbnkpID0+IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL2RlZmF1bHRPcHRpb25zJyB7XG4gIGludGVyZmFjZSBCYXNlRGVmYXVsdHMge1xuICAgIGFjdGlvbkNoZWNrZXI/XG4gICAgc3R5bGVDdXJzb3I/XG4gIH1cblxuICBpbnRlcmZhY2UgUGVyQWN0aW9uRGVmYXVsdHMge1xuICAgIG1hbnVhbFN0YXJ0PzogYm9vbGVhblxuICAgIG1heD86IG51bWJlclxuICAgIG1heFBlckVsZW1lbnQ/OiBudW1iZXJcbiAgICBhbGxvd0Zyb20/OiBzdHJpbmcgfCBFbGVtZW50XG4gICAgaWdub3JlRnJvbT86IHN0cmluZyB8IEVsZW1lbnRcblxuICAgIC8vIG9ubHkgYWxsb3cgbGVmdCBidXR0b24gYnkgZGVmYXVsdFxuICAgIC8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvTW91c2VFdmVudC9idXR0b25zI1JldHVybl92YWx1ZVxuICAgIG1vdXNlQnV0dG9ucz86IDAgfCAxIHwgMiB8IDQgfCAxNlxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1N0YXJ0IHtcbiAgLy8gQWxsb3cgdGhpcyBtYW55IGludGVyYWN0aW9ucyB0byBoYXBwZW4gc2ltdWx0YW5lb3VzbHlcbiAgbWF4SW50ZXJhY3Rpb25zOiBudW1iZXJcbiAgd2l0aGluSW50ZXJhY3Rpb25MaW1pdDogdHlwZW9mIHdpdGhpbkludGVyYWN0aW9uTGltaXRcbiAgY3Vyc29yRWxlbWVudDogSFRNTEVsZW1lbnRcbiAgc2lnbmFsczogdXRpbHMuU2lnbmFsc1xufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0LFxuICAgIGludGVyYWN0aW9ucyxcbiAgICBkZWZhdWx0cyxcbiAgfSA9IHNjb3BlXG5cbiAgc2NvcGUudXNlUGx1Z2luKEludGVyYWN0YWJsZU1ldGhvZHMpXG5cbiAgLy8gc2V0IGN1cnNvciBzdHlsZSBvbiBtb3VzZWRvd25cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2Rvd24nLCAoeyBpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0IH0pID0+IHtcbiAgICBpZiAoaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSkgeyByZXR1cm4gfVxuXG4gICAgY29uc3QgYWN0aW9uSW5mbyA9IGdldEFjdGlvbkluZm8oaW50ZXJhY3Rpb24sIHBvaW50ZXIsIGV2ZW50LCBldmVudFRhcmdldCwgc2NvcGUpXG4gICAgcHJlcGFyZShpbnRlcmFjdGlvbiwgYWN0aW9uSW5mbywgc2NvcGUpXG4gIH0pXG5cbiAgLy8gc2V0IGN1cnNvciBzdHlsZSBvbiBtb3VzZW1vdmVcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ21vdmUnLCAoeyBpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0IH0pID0+IHtcbiAgICBpZiAoaW50ZXJhY3Rpb24ucG9pbnRlclR5cGUgIT09ICdtb3VzZScgfHxcbiAgICAgICAgaW50ZXJhY3Rpb24ucG9pbnRlcklzRG93biB8fFxuICAgICAgICBpbnRlcmFjdGlvbi5pbnRlcmFjdGluZygpKSB7IHJldHVybiB9XG5cbiAgICBjb25zdCBhY3Rpb25JbmZvID0gZ2V0QWN0aW9uSW5mbyhpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0LCBzY29wZSlcbiAgICBwcmVwYXJlKGludGVyYWN0aW9uLCBhY3Rpb25JbmZvLCBzY29wZSlcbiAgfSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignbW92ZScsIGFyZyA9PiB7XG4gICAgY29uc3QgeyBpbnRlcmFjdGlvbiB9ID0gYXJnXG5cbiAgICBpZiAoIWludGVyYWN0aW9uLnBvaW50ZXJJc0Rvd24gfHxcbiAgICAgICAgaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSB8fFxuICAgICAgICAhaW50ZXJhY3Rpb24ucG9pbnRlcldhc01vdmVkIHx8XG4gICAgICAgICFpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzY29wZS5hdXRvU3RhcnQuc2lnbmFscy5maXJlKCdiZWZvcmUtc3RhcnQnLCBhcmcpXG5cbiAgICBjb25zdCB7IGludGVyYWN0YWJsZSB9ID0gaW50ZXJhY3Rpb25cblxuICAgIGlmIChpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lICYmIGludGVyYWN0YWJsZSkge1xuICAgICAgLy8gY2hlY2sgbWFudWFsU3RhcnQgYW5kIGludGVyYWN0aW9uIGxpbWl0XG4gICAgICBpZiAoaW50ZXJhY3RhYmxlLm9wdGlvbnNbaW50ZXJhY3Rpb24ucHJlcGFyZWQubmFtZV0ubWFudWFsU3RhcnQgfHxcbiAgICAgICAgICAhd2l0aGluSW50ZXJhY3Rpb25MaW1pdChpbnRlcmFjdGFibGUsIGludGVyYWN0aW9uLmVsZW1lbnQsIGludGVyYWN0aW9uLnByZXBhcmVkLCBzY29wZSkpIHtcbiAgICAgICAgaW50ZXJhY3Rpb24uc3RvcCgpXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaW50ZXJhY3Rpb24uc3RhcnQoaW50ZXJhY3Rpb24ucHJlcGFyZWQsIGludGVyYWN0YWJsZSwgaW50ZXJhY3Rpb24uZWxlbWVudClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ3N0b3AnLCAoeyBpbnRlcmFjdGlvbiB9KSA9PiB7XG4gICAgY29uc3QgeyBpbnRlcmFjdGFibGUgfSA9IGludGVyYWN0aW9uXG5cbiAgICBpZiAoaW50ZXJhY3RhYmxlICYmIGludGVyYWN0YWJsZS5vcHRpb25zLnN0eWxlQ3Vyc29yKSB7XG4gICAgICBzZXRDdXJzb3IoaW50ZXJhY3Rpb24uZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgJycsIHNjb3BlKVxuICAgIH1cbiAgfSlcblxuICBkZWZhdWx0cy5iYXNlLmFjdGlvbkNoZWNrZXIgPSBudWxsXG4gIGRlZmF1bHRzLmJhc2Uuc3R5bGVDdXJzb3IgPSB0cnVlXG5cbiAgdXRpbHMuZXh0ZW5kKGRlZmF1bHRzLnBlckFjdGlvbiwge1xuICAgIG1hbnVhbFN0YXJ0OiBmYWxzZSxcbiAgICBtYXg6IEluZmluaXR5LFxuICAgIG1heFBlckVsZW1lbnQ6IDEsXG4gICAgYWxsb3dGcm9tOiAgbnVsbCxcbiAgICBpZ25vcmVGcm9tOiBudWxsLFxuXG4gICAgLy8gb25seSBhbGxvdyBsZWZ0IGJ1dHRvbiBieSBkZWZhdWx0XG4gICAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Nb3VzZUV2ZW50L2J1dHRvbnMjUmV0dXJuX3ZhbHVlXG4gICAgbW91c2VCdXR0b25zOiAxLFxuICB9KVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG9yIHNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbmN1cnJlbnQgaW50ZXJhY3Rpb25zIGFsbG93ZWQuICBCeVxuICAgKiBkZWZhdWx0IG9ubHkgMSBpbnRlcmFjdGlvbiBpcyBhbGxvd2VkIGF0IGEgdGltZSAoZm9yIGJhY2t3YXJkc1xuICAgKiBjb21wYXRpYmlsaXR5KS4gVG8gYWxsb3cgbXVsdGlwbGUgaW50ZXJhY3Rpb25zIG9uIHRoZSBzYW1lIEludGVyYWN0YWJsZXMgYW5kXG4gICAqIGVsZW1lbnRzLCB5b3UgbmVlZCB0byBlbmFibGUgaXQgaW4gdGhlIGRyYWdnYWJsZSwgcmVzaXphYmxlIGFuZCBnZXN0dXJhYmxlXG4gICAqIGAnbWF4J2AgYW5kIGAnbWF4UGVyRWxlbWVudCdgIG9wdGlvbnMuXG4gICAqXG4gICAqIEBhbGlhcyBtb2R1bGU6aW50ZXJhY3QubWF4SW50ZXJhY3Rpb25zXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbmV3VmFsdWVdIEFueSBudW1iZXIuIG5ld1ZhbHVlIDw9IDAgbWVhbnMgbm8gaW50ZXJhY3Rpb25zLlxuICAgKi9cbiAgaW50ZXJhY3QubWF4SW50ZXJhY3Rpb25zID0gbmV3VmFsdWUgPT4gbWF4SW50ZXJhY3Rpb25zKG5ld1ZhbHVlLCBzY29wZSlcblxuICBzY29wZS5hdXRvU3RhcnQgPSB7XG4gICAgLy8gQWxsb3cgdGhpcyBtYW55IGludGVyYWN0aW9ucyB0byBoYXBwZW4gc2ltdWx0YW5lb3VzbHlcbiAgICBtYXhJbnRlcmFjdGlvbnM6IEluZmluaXR5LFxuICAgIHdpdGhpbkludGVyYWN0aW9uTGltaXQsXG4gICAgY3Vyc29yRWxlbWVudDogbnVsbCxcbiAgICBzaWduYWxzOiBuZXcgdXRpbHMuU2lnbmFscygpLFxuICB9XG59XG5cbi8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGludGVyYWN0YWJsZSBzdXBwb3J0cyB0aGUgYWN0aW9uLlxuLy8gSWYgc28sIHJldHVybiB0aGUgdmFsaWRhdGVkIGFjdGlvbi4gT3RoZXJ3aXNlLCByZXR1cm4gbnVsbFxuZnVuY3Rpb24gdmFsaWRhdGVBY3Rpb24gKGFjdGlvbiwgaW50ZXJhY3RhYmxlLCBlbGVtZW50LCBldmVudFRhcmdldCwgc2NvcGUpIHtcbiAgaWYgKGludGVyYWN0YWJsZS50ZXN0SWdub3JlQWxsb3coaW50ZXJhY3RhYmxlLm9wdGlvbnNbYWN0aW9uLm5hbWVdLCBlbGVtZW50LCBldmVudFRhcmdldCkgJiZcbiAgICAgIGludGVyYWN0YWJsZS5vcHRpb25zW2FjdGlvbi5uYW1lXS5lbmFibGVkICYmXG4gICAgICB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0KGludGVyYWN0YWJsZSwgZWxlbWVudCwgYWN0aW9uLCBzY29wZSkpIHtcbiAgICByZXR1cm4gYWN0aW9uXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZU1hdGNoZXMgKGludGVyYWN0aW9uOiBJbnRlcmFjdC5JbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIG1hdGNoZXM6IEludGVyYWN0LkludGVyYWN0YWJsZVtdLCBtYXRjaEVsZW1lbnRzOiBFbGVtZW50W10sIGV2ZW50VGFyZ2V0OiBFbGVtZW50LCBzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG1hdGNoZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXNbaV1cbiAgICBjb25zdCBtYXRjaEVsZW1lbnQgPSBtYXRjaEVsZW1lbnRzW2ldXG4gICAgY29uc3QgbWF0Y2hBY3Rpb24gPSBtYXRjaC5nZXRBY3Rpb24ocG9pbnRlciwgZXZlbnQsIGludGVyYWN0aW9uLCBtYXRjaEVsZW1lbnQpXG5cbiAgICBpZiAoIW1hdGNoQWN0aW9uKSB7IGNvbnRpbnVlIH1cblxuICAgIGNvbnN0IGFjdGlvbiA9IHZhbGlkYXRlQWN0aW9uKFxuICAgICAgbWF0Y2hBY3Rpb24sXG4gICAgICBtYXRjaCxcbiAgICAgIG1hdGNoRWxlbWVudCxcbiAgICAgIGV2ZW50VGFyZ2V0LFxuICAgICAgc2NvcGUpXG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGludGVyYWN0YWJsZTogbWF0Y2gsXG4gICAgICAgIGVsZW1lbnQ6IG1hdGNoRWxlbWVudCxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4geyBhY3Rpb246IG51bGwsIGludGVyYWN0YWJsZTogbnVsbCwgZWxlbWVudDogbnVsbCB9XG59XG5cbmZ1bmN0aW9uIGdldEFjdGlvbkluZm8gKGludGVyYWN0aW9uOiBJbnRlcmFjdC5JbnRlcmFjdGlvbiwgcG9pbnRlcjogSW50ZXJhY3QuUG9pbnRlclR5cGUsIGV2ZW50OiBJbnRlcmFjdC5Qb2ludGVyRXZlbnRUeXBlLCBldmVudFRhcmdldDogRWxlbWVudCwgc2NvcGU6IEludGVyYWN0LlNjb3BlKSB7XG4gIGxldCBtYXRjaGVzID0gW11cbiAgbGV0IG1hdGNoRWxlbWVudHMgPSBbXVxuXG4gIGxldCBlbGVtZW50ID0gZXZlbnRUYXJnZXRcblxuICBmdW5jdGlvbiBwdXNoTWF0Y2hlcyAoaW50ZXJhY3RhYmxlKSB7XG4gICAgbWF0Y2hlcy5wdXNoKGludGVyYWN0YWJsZSlcbiAgICBtYXRjaEVsZW1lbnRzLnB1c2goZWxlbWVudClcbiAgfVxuXG4gIHdoaWxlICh1dGlscy5pcy5lbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgbWF0Y2hlcyA9IFtdXG4gICAgbWF0Y2hFbGVtZW50cyA9IFtdXG5cbiAgICBzY29wZS5pbnRlcmFjdGFibGVzLmZvckVhY2hNYXRjaChlbGVtZW50LCBwdXNoTWF0Y2hlcylcblxuICAgIGNvbnN0IGFjdGlvbkluZm8gPSB2YWxpZGF0ZU1hdGNoZXMoaW50ZXJhY3Rpb24sIHBvaW50ZXIsIGV2ZW50LCBtYXRjaGVzLCBtYXRjaEVsZW1lbnRzLCBldmVudFRhcmdldCwgc2NvcGUpXG5cbiAgICBpZiAoYWN0aW9uSW5mby5hY3Rpb24gJiZcbiAgICAgICFhY3Rpb25JbmZvLmludGVyYWN0YWJsZS5vcHRpb25zW2FjdGlvbkluZm8uYWN0aW9uLm5hbWVdLm1hbnVhbFN0YXJ0KSB7XG4gICAgICByZXR1cm4gYWN0aW9uSW5mb1xuICAgIH1cblxuICAgIGVsZW1lbnQgPSB1dGlscy5kb20ucGFyZW50Tm9kZShlbGVtZW50KVxuICB9XG5cbiAgcmV0dXJuIHsgYWN0aW9uOiBudWxsLCBpbnRlcmFjdGFibGU6IG51bGwsIGVsZW1lbnQ6IG51bGwgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlIChpbnRlcmFjdGlvbjogSW50ZXJhY3QuSW50ZXJhY3Rpb24sIHsgYWN0aW9uLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQgfSwgc2NvcGU6IEludGVyYWN0LlNjb3BlKSB7XG4gIGFjdGlvbiA9IGFjdGlvbiB8fCB7fVxuXG4gIGlmIChpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUgJiYgaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlLm9wdGlvbnMuc3R5bGVDdXJzb3IpIHtcbiAgICBzZXRDdXJzb3IoaW50ZXJhY3Rpb24uZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgJycsIHNjb3BlKVxuICB9XG5cbiAgaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlID0gaW50ZXJhY3RhYmxlXG4gIGludGVyYWN0aW9uLmVsZW1lbnQgPSBlbGVtZW50XG4gIHV0aWxzLmNvcHlBY3Rpb24oaW50ZXJhY3Rpb24ucHJlcGFyZWQsIGFjdGlvbilcblxuICBpbnRlcmFjdGlvbi5yZWN0ID0gaW50ZXJhY3RhYmxlICYmIGFjdGlvbi5uYW1lXG4gICAgPyBpbnRlcmFjdGFibGUuZ2V0UmVjdChlbGVtZW50KVxuICAgIDogbnVsbFxuXG4gIGlmIChpbnRlcmFjdGlvbi5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyAmJiBpbnRlcmFjdGFibGUgJiYgaW50ZXJhY3RhYmxlLm9wdGlvbnMuc3R5bGVDdXJzb3IpIHtcbiAgICBsZXQgY3Vyc29yID0gJydcblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIGNvbnN0IHsgY3Vyc29yQ2hlY2tlciB9ID0gaW50ZXJhY3RhYmxlLm9wdGlvbnNbYWN0aW9uLm5hbWVdXG5cbiAgICAgIGlmICh1dGlscy5pcy5mdW5jKGN1cnNvckNoZWNrZXIpKSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvckNoZWNrZXIoYWN0aW9uLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQpXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgY3Vyc29yID0gc2NvcGUuYWN0aW9uc1thY3Rpb24ubmFtZV0uZ2V0Q3Vyc29yKGFjdGlvbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDdXJzb3IoaW50ZXJhY3Rpb24uZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY3Vyc29yIHx8ICcnLCBzY29wZSlcbiAgfVxuXG4gIHNjb3BlLmF1dG9TdGFydC5zaWduYWxzLmZpcmUoJ3ByZXBhcmVkJywgeyBpbnRlcmFjdGlvbiB9KVxufVxuXG5mdW5jdGlvbiB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0IChpbnRlcmFjdGFibGU6IEludGVyYWN0LkludGVyYWN0YWJsZSwgZWxlbWVudDogRWxlbWVudCwgYWN0aW9uLCBzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGludGVyYWN0YWJsZS5vcHRpb25zXG4gIGNvbnN0IG1heEFjdGlvbnMgPSBvcHRpb25zW2FjdGlvbi5uYW1lXS5tYXhcbiAgY29uc3QgbWF4UGVyRWxlbWVudCA9IG9wdGlvbnNbYWN0aW9uLm5hbWVdLm1heFBlckVsZW1lbnRcbiAgY29uc3QgYXV0b1N0YXJ0TWF4ID0gc2NvcGUuYXV0b1N0YXJ0Lm1heEludGVyYWN0aW9uc1xuICBsZXQgYWN0aXZlSW50ZXJhY3Rpb25zID0gMFxuICBsZXQgaW50ZXJhY3RhYmxlQ291bnQgPSAwXG4gIGxldCBlbGVtZW50Q291bnQgPSAwXG5cbiAgLy8gbm8gYWN0aW9ucyBpZiBhbnkgb2YgdGhlc2UgdmFsdWVzID09IDBcbiAgaWYgKCEobWF4QWN0aW9ucyAmJiBtYXhQZXJFbGVtZW50ICYmIGF1dG9TdGFydE1heCkpIHsgcmV0dXJuIGZhbHNlIH1cblxuICBmb3IgKGNvbnN0IGludGVyYWN0aW9uIG9mIHNjb3BlLmludGVyYWN0aW9ucy5saXN0KSB7XG4gICAgY29uc3Qgb3RoZXJBY3Rpb24gPSBpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lXG5cbiAgICBpZiAoIWludGVyYWN0aW9uLmludGVyYWN0aW5nKCkpIHsgY29udGludWUgfVxuXG4gICAgYWN0aXZlSW50ZXJhY3Rpb25zKytcblxuICAgIGlmIChhY3RpdmVJbnRlcmFjdGlvbnMgPj0gYXV0b1N0YXJ0TWF4KSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlICE9PSBpbnRlcmFjdGFibGUpIHsgY29udGludWUgfVxuXG4gICAgaW50ZXJhY3RhYmxlQ291bnQgKz0gb3RoZXJBY3Rpb24gPT09IGFjdGlvbi5uYW1lID8gMSA6IDBcblxuICAgIGlmIChpbnRlcmFjdGFibGVDb3VudCA+PSBtYXhBY3Rpb25zKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJhY3Rpb24uZWxlbWVudCA9PT0gZWxlbWVudCkge1xuICAgICAgZWxlbWVudENvdW50KytcblxuICAgICAgaWYgKG90aGVyQWN0aW9uID09PSBhY3Rpb24ubmFtZSAmJiBlbGVtZW50Q291bnQgPj0gbWF4UGVyRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXV0b1N0YXJ0TWF4ID4gMFxufVxuXG5mdW5jdGlvbiBtYXhJbnRlcmFjdGlvbnMgKG5ld1ZhbHVlLCBzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgaWYgKHV0aWxzLmlzLm51bWJlcihuZXdWYWx1ZSkpIHtcbiAgICBzY29wZS5hdXRvU3RhcnQubWF4SW50ZXJhY3Rpb25zID0gbmV3VmFsdWVcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZXR1cm4gc2NvcGUuYXV0b1N0YXJ0Lm1heEludGVyYWN0aW9uc1xufVxuXG5mdW5jdGlvbiBzZXRDdXJzb3IgKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjdXJzb3IsIHNjb3BlOiBJbnRlcmFjdC5TY29wZSkge1xuICBpZiAoc2NvcGUuYXV0b1N0YXJ0LmN1cnNvckVsZW1lbnQpIHtcbiAgICBzY29wZS5hdXRvU3RhcnQuY3Vyc29yRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnJ1xuICB9XG5cbiAgZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3IgPSBjdXJzb3JcbiAgZWxlbWVudC5zdHlsZS5jdXJzb3IgPSBjdXJzb3JcbiAgc2NvcGUuYXV0b1N0YXJ0LmN1cnNvckVsZW1lbnQgPSBjdXJzb3IgPyBlbGVtZW50IDogbnVsbFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkOiAnYXV0by1zdGFydC9iYXNlJyxcbiAgaW5zdGFsbCxcbiAgbWF4SW50ZXJhY3Rpb25zLFxuICB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0LFxuICB2YWxpZGF0ZUFjdGlvbixcbn0gYXMgSW50ZXJhY3QuUGx1Z2luXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQyxPQUFPLG1CQUFtQixNQUFNLHVCQUF1QixDQUFBO0FBMEN2RCxTQUFTLE9BQU8sQ0FBRSxLQUFxQjtJQUNyQyxNQUFNLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixRQUFRLEdBQ1QsR0FBRyxLQUFLLENBQUE7SUFFVCxLQUFLLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFFcEMsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUMvRSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUFFLE9BQU07U0FBRTtRQUV6QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2pGLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLENBQUMsQ0FBQyxDQUFBO0lBRUYsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUMvRSxJQUFJLFdBQVcsQ0FBQyxXQUFXLEtBQUssT0FBTztZQUNuQyxXQUFXLENBQUMsYUFBYTtZQUN6QixXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFFekMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxF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QUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQTtRQUUvRixJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFBO1NBQ2xGO2FBQ0k7WUFDSCxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQzFEO0tBQ0Y7SUFFRCxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JELENBQUM7QUFFRCxlQUFlO0lBQ2IsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQixPQUFPO0lBQ1AsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixjQUFjO0NBQ0ksQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzJ1xuaW1wb3J0IEludGVyYWN0YWJsZU1ldGhvZHMgZnJvbSAnLi9JbnRlcmFjdGFibGVNZXRob2RzJ1xuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvaW50ZXJhY3QvaW50ZXJhY3QnIHtcbiAgaW50ZXJmYWNlIEludGVyYWN0U3RhdGljIHtcbiAgICBtYXhJbnRlcmFjdGlvbnM6IChuZXdWYWx1ZTogYW55KSA9PiBhbnlcbiAgfVxufVxuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9zY29wZScge1xuICBpbnRlcmZhY2UgU2NvcGUge1xuICAgIGF1dG9TdGFydDogQXV0b1N0YXJ0XG4gICAgbWF4SW50ZXJhY3Rpb25zOiAoLi4uYXJnczogYW55KSA9PiBhbnlcbiAgfVxufVxuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9kZWZhdWx0T3B0aW9ucycge1xuICBpbnRlcmZhY2UgQmFzZURlZmF1bHRzIHtcbiAgICBhY3Rpb25DaGVja2VyP1xuICAgIHN0eWxlQ3Vyc29yP1xuICB9XG5cbiAgaW50ZXJmYWNlIFBlckFjdGlvbkRlZmF1bHRzIHtcbiAgICBtYW51YWxTdGFydD86IGJvb2xlYW5cbiAgICBtYXg/OiBudW1iZXJcbiAgICBtYXhQZXJFbGVtZW50PzogbnVtYmVyXG4gICAgYWxsb3dGcm9tPzogc3RyaW5nIHwgSW50ZXJhY3QuRWxlbWVudFxuICAgIGlnbm9yZUZyb20/OiBzdHJpbmcgfCBJbnRlcmFjdC5FbGVtZW50XG5cbiAgICAvLyBvbmx5IGFsbG93IGxlZnQgYnV0dG9uIGJ5IGRlZmF1bHRcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL01vdXNlRXZlbnQvYnV0dG9ucyNSZXR1cm5fdmFsdWVcbiAgICBtb3VzZUJ1dHRvbnM/OiAwIHwgMSB8IDIgfCA0IHwgMTZcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9TdGFydCB7XG4gIC8vIEFsbG93IHRoaXMgbWFueSBpbnRlcmFjdGlvbnMgdG8gaGFwcGVuIHNpbXVsdGFuZW91c2x5XG4gIG1heEludGVyYWN0aW9uczogbnVtYmVyXG4gIHdpdGhpbkludGVyYWN0aW9uTGltaXQ6IHR5cGVvZiB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0XG4gIGN1cnNvckVsZW1lbnQ6IEludGVyYWN0LkVsZW1lbnRcbiAgc2lnbmFsczogdXRpbHMuU2lnbmFsc1xufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0LFxuICAgIGludGVyYWN0aW9ucyxcbiAgICBkZWZhdWx0cyxcbiAgfSA9IHNjb3BlXG5cbiAgc2NvcGUudXNlUGx1Z2luKEludGVyYWN0YWJsZU1ldGhvZHMpXG5cbiAgLy8gc2V0IGN1cnNvciBzdHlsZSBvbiBtb3VzZWRvd25cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2Rvd24nLCAoeyBpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0IH0pID0+IHtcbiAgICBpZiAoaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSkgeyByZXR1cm4gfVxuXG4gICAgY29uc3QgYWN0aW9uSW5mbyA9IGdldEFjdGlvbkluZm8oaW50ZXJhY3Rpb24sIHBvaW50ZXIsIGV2ZW50LCBldmVudFRhcmdldCwgc2NvcGUpXG4gICAgcHJlcGFyZShpbnRlcmFjdGlvbiwgYWN0aW9uSW5mbywgc2NvcGUpXG4gIH0pXG5cbiAgLy8gc2V0IGN1cnNvciBzdHlsZSBvbiBtb3VzZW1vdmVcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ21vdmUnLCAoeyBpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0IH0pID0+IHtcbiAgICBpZiAoaW50ZXJhY3Rpb24ucG9pbnRlclR5cGUgIT09ICdtb3VzZScgfHxcbiAgICAgICAgaW50ZXJhY3Rpb24ucG9pbnRlcklzRG93biB8fFxuICAgICAgICBpbnRlcmFjdGlvbi5pbnRlcmFjdGluZygpKSB7IHJldHVybiB9XG5cbiAgICBjb25zdCBhY3Rpb25JbmZvID0gZ2V0QWN0aW9uSW5mbyhpbnRlcmFjdGlvbiwgcG9pbnRlciwgZXZlbnQsIGV2ZW50VGFyZ2V0LCBzY29wZSlcbiAgICBwcmVwYXJlKGludGVyYWN0aW9uLCBhY3Rpb25JbmZvLCBzY29wZSlcbiAgfSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignbW92ZScsIGFyZyA9PiB7XG4gICAgY29uc3QgeyBpbnRlcmFjdGlvbiB9ID0gYXJnXG5cbiAgICBpZiAoIWludGVyYWN0aW9uLnBvaW50ZXJJc0Rvd24gfHxcbiAgICAgICAgaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSB8fFxuICAgICAgICAhaW50ZXJhY3Rpb24ucG9pbnRlcldhc01vdmVkIHx8XG4gICAgICAgICFpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzY29wZS5hdXRvU3RhcnQuc2lnbmFscy5maXJlKCdiZWZvcmUtc3RhcnQnLCBhcmcpXG5cbiAgICBjb25zdCB7IGludGVyYWN0YWJsZSB9ID0gaW50ZXJhY3Rpb25cblxuICAgIGlmIChpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lICYmIGludGVyYWN0YWJsZSkge1xuICAgICAgLy8gY2hlY2sgbWFudWFsU3RhcnQgYW5kIGludGVyYWN0aW9uIGxpbWl0XG4gICAgICBpZiAoaW50ZXJhY3RhYmxlLm9wdGlvbnNbaW50ZXJhY3Rpb24ucHJlcGFyZWQubmFtZV0ubWFudWFsU3RhcnQgfHxcbiAgICAgICAgICAhd2l0aGluSW50ZXJhY3Rpb25MaW1pdChpbnRlcmFjdGFibGUsIGludGVyYWN0aW9uLmVsZW1lbnQsIGludGVyYWN0aW9uLnByZXBhcmVkLCBzY29wZSkpIHtcbiAgICAgICAgaW50ZXJhY3Rpb24uc3RvcCgpXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaW50ZXJhY3Rpb24uc3RhcnQoaW50ZXJhY3Rpb24ucHJlcGFyZWQsIGludGVyYWN0YWJsZSwgaW50ZXJhY3Rpb24uZWxlbWVudClcbiAgICAgICAgc2V0SW50ZXJhY3Rpb25DdXJzb3IoaW50ZXJhY3Rpb24sIHNjb3BlKVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignc3RvcCcsICh7IGludGVyYWN0aW9uIH0pID0+IHtcbiAgICBjb25zdCB7IGludGVyYWN0YWJsZSB9ID0gaW50ZXJhY3Rpb25cblxuICAgIGlmIChpbnRlcmFjdGFibGUgJiYgaW50ZXJhY3RhYmxlLm9wdGlvbnMuc3R5bGVDdXJzb3IpIHtcbiAgICAgIHNldEN1cnNvcihpbnRlcmFjdGlvbi5lbGVtZW50LCAnJywgc2NvcGUpXG4gICAgfVxuICB9KVxuXG4gIGRlZmF1bHRzLmJhc2UuYWN0aW9uQ2hlY2tlciA9IG51bGxcbiAgZGVmYXVsdHMuYmFzZS5zdHlsZUN1cnNvciA9IHRydWVcblxuICB1dGlscy5leHRlbmQoZGVmYXVsdHMucGVyQWN0aW9uLCB7XG4gICAgbWFudWFsU3RhcnQ6IGZhbHNlLFxuICAgIG1heDogSW5maW5pdHksXG4gICAgbWF4UGVyRWxlbWVudDogMSxcbiAgICBhbGxvd0Zyb206ICBudWxsLFxuICAgIGlnbm9yZUZyb206IG51bGwsXG5cbiAgICAvLyBvbmx5IGFsbG93IGxlZnQgYnV0dG9uIGJ5IGRlZmF1bHRcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL01vdXNlRXZlbnQvYnV0dG9ucyNSZXR1cm5fdmFsdWVcbiAgICBtb3VzZUJ1dHRvbnM6IDEsXG4gIH0pXG5cbiAgLyoqXG4gICAqIFJldHVybnMgb3Igc2V0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBpbnRlcmFjdGlvbnMgYWxsb3dlZC4gIEJ5XG4gICAqIGRlZmF1bHQgb25seSAxIGludGVyYWN0aW9uIGlzIGFsbG93ZWQgYXQgYSB0aW1lIChmb3IgYmFja3dhcmRzXG4gICAqIGNvbXBhdGliaWxpdHkpLiBUbyBhbGxvdyBtdWx0aXBsZSBpbnRlcmFjdGlvbnMgb24gdGhlIHNhbWUgSW50ZXJhY3RhYmxlcyBhbmRcbiAgICogZWxlbWVudHMsIHlvdSBuZWVkIHRvIGVuYWJsZSBpdCBpbiB0aGUgZHJhZ2dhYmxlLCByZXNpemFibGUgYW5kIGdlc3R1cmFibGVcbiAgICogYCdtYXgnYCBhbmQgYCdtYXhQZXJFbGVtZW50J2Agb3B0aW9ucy5cbiAgICpcbiAgICogQGFsaWFzIG1vZHVsZTppbnRlcmFjdC5tYXhJbnRlcmFjdGlvbnNcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtuZXdWYWx1ZV0gQW55IG51bWJlci4gbmV3VmFsdWUgPD0gMCBtZWFucyBubyBpbnRlcmFjdGlvbnMuXG4gICAqL1xuICBpbnRlcmFjdC5tYXhJbnRlcmFjdGlvbnMgPSBuZXdWYWx1ZSA9PiBtYXhJbnRlcmFjdGlvbnMobmV3VmFsdWUsIHNjb3BlKVxuXG4gIHNjb3BlLmF1dG9TdGFydCA9IHtcbiAgICAvLyBBbGxvdyB0aGlzIG1hbnkgaW50ZXJhY3Rpb25zIHRvIGhhcHBlbiBzaW11bHRhbmVvdXNseVxuICAgIG1heEludGVyYWN0aW9uczogSW5maW5pdHksXG4gICAgd2l0aGluSW50ZXJhY3Rpb25MaW1pdCxcbiAgICBjdXJzb3JFbGVtZW50OiBudWxsLFxuICAgIHNpZ25hbHM6IG5ldyB1dGlscy5TaWduYWxzKCksXG4gIH1cbn1cblxuLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgaW50ZXJhY3RhYmxlIHN1cHBvcnRzIHRoZSBhY3Rpb24uXG4vLyBJZiBzbywgcmV0dXJuIHRoZSB2YWxpZGF0ZWQgYWN0aW9uLiBPdGhlcndpc2UsIHJldHVybiBudWxsXG5mdW5jdGlvbiB2YWxpZGF0ZUFjdGlvbiAoXG4gIGFjdGlvbjogSW50ZXJhY3QuQWN0aW9uUHJvcHMsXG4gIGludGVyYWN0YWJsZTogSW50ZXJhY3QuSW50ZXJhY3RhYmxlLFxuICBlbGVtZW50OiBJbnRlcmFjdC5FbGVtZW50LFxuICBldmVudFRhcmdldDogSW50ZXJhY3QuRWxlbWVudCxcbiAgc2NvcGU6IEludGVyYWN0LlNjb3BlLFxuKSB7XG4gIGlmIChpbnRlcmFjdGFibGUudGVzdElnbm9yZUFsbG93KGludGVyYWN0YWJsZS5vcHRpb25zW2FjdGlvbi5uYW1lXSwgZWxlbWVudCwgZXZlbnRUYXJnZXQpICYmXG4gICAgICBpbnRlcmFjdGFibGUub3B0aW9uc1thY3Rpb24ubmFtZV0uZW5hYmxlZCAmJlxuICAgICAgd2l0aGluSW50ZXJhY3Rpb25MaW1pdChpbnRlcmFjdGFibGUsIGVsZW1lbnQsIGFjdGlvbiwgc2NvcGUpKSB7XG4gICAgcmV0dXJuIGFjdGlvblxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVNYXRjaGVzIChcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0LkludGVyYWN0aW9uLFxuICBwb2ludGVyLFxuICBldmVudCxcbiAgbWF0Y2hlczogSW50ZXJhY3QuSW50ZXJhY3RhYmxlW10sXG4gIG1hdGNoRWxlbWVudHM6IEludGVyYWN0LkVsZW1lbnRbXSxcbiAgZXZlbnRUYXJnZXQ6IEludGVyYWN0LkVsZW1lbnQsXG4gIHNjb3BlOiBJbnRlcmFjdC5TY29wZSxcbikge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gbWF0Y2hlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IG1hdGNoID0gbWF0Y2hlc1tpXVxuICAgIGNvbnN0IG1hdGNoRWxlbWVudCA9IG1hdGNoRWxlbWVudHNbaV1cbiAgICBjb25zdCBtYXRjaEFjdGlvbiA9IG1hdGNoLmdldEFjdGlvbihwb2ludGVyLCBldmVudCwgaW50ZXJhY3Rpb24sIG1hdGNoRWxlbWVudClcblxuICAgIGlmICghbWF0Y2hBY3Rpb24pIHsgY29udGludWUgfVxuXG4gICAgY29uc3QgYWN0aW9uID0gdmFsaWRhdGVBY3Rpb24oXG4gICAgICBtYXRjaEFjdGlvbixcbiAgICAgIG1hdGNoLFxuICAgICAgbWF0Y2hFbGVtZW50LFxuICAgICAgZXZlbnRUYXJnZXQsXG4gICAgICBzY29wZSlcblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgaW50ZXJhY3RhYmxlOiBtYXRjaCxcbiAgICAgICAgZWxlbWVudDogbWF0Y2hFbGVtZW50LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGFjdGlvbjogbnVsbCwgaW50ZXJhY3RhYmxlOiBudWxsLCBlbGVtZW50OiBudWxsIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWN0aW9uSW5mbyAoXG4gIGludGVyYWN0aW9uOiBJbnRlcmFjdC5JbnRlcmFjdGlvbixcbiAgcG9pbnRlcjogSW50ZXJhY3QuUG9pbnRlclR5cGUsXG4gIGV2ZW50OiBJbnRlcmFjdC5Qb2ludGVyRXZlbnRUeXBlLFxuICBldmVudFRhcmdldDogSW50ZXJhY3QuRWxlbWVudCxcbiAgc2NvcGU6IEludGVyYWN0LlNjb3BlLFxuKSB7XG4gIGxldCBtYXRjaGVzID0gW11cbiAgbGV0IG1hdGNoRWxlbWVudHMgPSBbXVxuXG4gIGxldCBlbGVtZW50ID0gZXZlbnRUYXJnZXRcblxuICBmdW5jdGlvbiBwdXNoTWF0Y2hlcyAoaW50ZXJhY3RhYmxlKSB7XG4gICAgbWF0Y2hlcy5wdXNoKGludGVyYWN0YWJsZSlcbiAgICBtYXRjaEVsZW1lbnRzLnB1c2goZWxlbWVudClcbiAgfVxuXG4gIHdoaWxlICh1dGlscy5pcy5lbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgbWF0Y2hlcyA9IFtdXG4gICAgbWF0Y2hFbGVtZW50cyA9IFtdXG5cbiAgICBzY29wZS5pbnRlcmFjdGFibGVzLmZvckVhY2hNYXRjaChlbGVtZW50LCBwdXNoTWF0Y2hlcylcblxuICAgIGNvbnN0IGFjdGlvbkluZm8gPSB2YWxpZGF0ZU1hdGNoZXMoaW50ZXJhY3Rpb24sIHBvaW50ZXIsIGV2ZW50LCBtYXRjaGVzLCBtYXRjaEVsZW1lbnRzLCBldmVudFRhcmdldCwgc2NvcGUpXG5cbiAgICBpZiAoYWN0aW9uSW5mby5hY3Rpb24gJiZcbiAgICAgICFhY3Rpb25JbmZvLmludGVyYWN0YWJsZS5vcHRpb25zW2FjdGlvbkluZm8uYWN0aW9uLm5hbWVdLm1hbnVhbFN0YXJ0KSB7XG4gICAgICByZXR1cm4gYWN0aW9uSW5mb1xuICAgIH1cblxuICAgIGVsZW1lbnQgPSB1dGlscy5kb20ucGFyZW50Tm9kZShlbGVtZW50KVxuICB9XG5cbiAgcmV0dXJuIHsgYWN0aW9uOiBudWxsLCBpbnRlcmFjdGFibGU6IG51bGwsIGVsZW1lbnQ6IG51bGwgfVxufVxuXG5mdW5jdGlvbiBwcmVwYXJlIChcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0LkludGVyYWN0aW9uLFxuICB7IGFjdGlvbiwgaW50ZXJhY3RhYmxlLCBlbGVtZW50IH06IHtcbiAgICBhY3Rpb246IEludGVyYWN0LkFjdGlvblByb3BzXG4gICAgaW50ZXJhY3RhYmxlOiBJbnRlcmFjdC5JbnRlcmFjdGFibGVcbiAgICBlbGVtZW50OiBJbnRlcmFjdC5FbGVtZW50XG4gIH0sXG4gIHNjb3BlOiBJbnRlcmFjdC5TY29wZSxcbikge1xuICBhY3Rpb24gPSBhY3Rpb24gfHwgeyBuYW1lOiBudWxsIH1cblxuICAvLyBjbGVhciBwcmV2aW91cyB0YXJnZXQgZWxlbWVudCBjdXJzb3JcbiAgaWYgKGludGVyYWN0aW9uLmludGVyYWN0YWJsZSAmJiBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUub3B0aW9ucy5zdHlsZUN1cnNvcikge1xuICAgIHNldEN1cnNvcihpbnRlcmFjdGlvbi5lbGVtZW50LCAnJywgc2NvcGUpXG4gIH1cblxuICBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUgPSBpbnRlcmFjdGFibGVcbiAgaW50ZXJhY3Rpb24uZWxlbWVudCA9IGVsZW1lbnRcbiAgdXRpbHMuY29weUFjdGlvbihpbnRlcmFjdGlvbi5wcmVwYXJlZCwgYWN0aW9uKVxuXG4gIGludGVyYWN0aW9uLnJlY3QgPSBpbnRlcmFjdGFibGUgJiYgYWN0aW9uLm5hbWVcbiAgICA/IGludGVyYWN0YWJsZS5nZXRSZWN0KGVsZW1lbnQpXG4gICAgOiBudWxsXG5cbiAgc2V0SW50ZXJhY3Rpb25DdXJzb3IoaW50ZXJhY3Rpb24sIHNjb3BlKVxuXG4gIHNjb3BlLmF1dG9TdGFydC5zaWduYWxzLmZpcmUoJ3ByZXBhcmVkJywgeyBpbnRlcmFjdGlvbiB9KVxufVxuXG5mdW5jdGlvbiB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0IChpbnRlcmFjdGFibGU6IEludGVyYWN0LkludGVyYWN0YWJsZSwgZWxlbWVudDogSW50ZXJhY3QuRWxlbWVudCwgYWN0aW9uLCBzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGludGVyYWN0YWJsZS5vcHRpb25zXG4gIGNvbnN0IG1heEFjdGlvbnMgPSBvcHRpb25zW2FjdGlvbi5uYW1lXS5tYXhcbiAgY29uc3QgbWF4UGVyRWxlbWVudCA9IG9wdGlvbnNbYWN0aW9uLm5hbWVdLm1heFBlckVsZW1lbnRcbiAgY29uc3QgYXV0b1N0YXJ0TWF4ID0gc2NvcGUuYXV0b1N0YXJ0Lm1heEludGVyYWN0aW9uc1xuICBsZXQgYWN0aXZlSW50ZXJhY3Rpb25zID0gMFxuICBsZXQgaW50ZXJhY3RhYmxlQ291bnQgPSAwXG4gIGxldCBlbGVtZW50Q291bnQgPSAwXG5cbiAgLy8gbm8gYWN0aW9ucyBpZiBhbnkgb2YgdGhlc2UgdmFsdWVzID09IDBcbiAgaWYgKCEobWF4QWN0aW9ucyAmJiBtYXhQZXJFbGVtZW50ICYmIGF1dG9TdGFydE1heCkpIHsgcmV0dXJuIGZhbHNlIH1cblxuICBmb3IgKGNvbnN0IGludGVyYWN0aW9uIG9mIHNjb3BlLmludGVyYWN0aW9ucy5saXN0KSB7XG4gICAgY29uc3Qgb3RoZXJBY3Rpb24gPSBpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lXG5cbiAgICBpZiAoIWludGVyYWN0aW9uLmludGVyYWN0aW5nKCkpIHsgY29udGludWUgfVxuXG4gICAgYWN0aXZlSW50ZXJhY3Rpb25zKytcblxuICAgIGlmIChhY3RpdmVJbnRlcmFjdGlvbnMgPj0gYXV0b1N0YXJ0TWF4KSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlICE9PSBpbnRlcmFjdGFibGUpIHsgY29udGludWUgfVxuXG4gICAgaW50ZXJhY3RhYmxlQ291bnQgKz0gb3RoZXJBY3Rpb24gPT09IGFjdGlvbi5uYW1lID8gMSA6IDBcblxuICAgIGlmIChpbnRlcmFjdGFibGVDb3VudCA+PSBtYXhBY3Rpb25zKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJhY3Rpb24uZWxlbWVudCA9PT0gZWxlbWVudCkge1xuICAgICAgZWxlbWVudENvdW50KytcblxuICAgICAgaWYgKG90aGVyQWN0aW9uID09PSBhY3Rpb24ubmFtZSAmJiBlbGVtZW50Q291bnQgPj0gbWF4UGVyRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXV0b1N0YXJ0TWF4ID4gMFxufVxuXG5mdW5jdGlvbiBtYXhJbnRlcmFjdGlvbnMgKG5ld1ZhbHVlLCBzY29wZTogSW50ZXJhY3QuU2NvcGUpIHtcbiAgaWYgKHV0aWxzLmlzLm51bWJlcihuZXdWYWx1ZSkpIHtcbiAgICBzY29wZS5hdXRvU3RhcnQubWF4SW50ZXJhY3Rpb25zID0gbmV3VmFsdWVcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZXR1cm4gc2NvcGUuYXV0b1N0YXJ0Lm1heEludGVyYWN0aW9uc1xufVxuXG5mdW5jdGlvbiBzZXRDdXJzb3IgKGVsZW1lbnQ6IEludGVyYWN0LkVsZW1lbnQsIGN1cnNvciwgc2NvcGU6IEludGVyYWN0LlNjb3BlKSB7XG4gIGlmIChzY29wZS5hdXRvU3RhcnQuY3Vyc29yRWxlbWVudCkge1xuICAgIHNjb3BlLmF1dG9TdGFydC5jdXJzb3JFbGVtZW50LnN0eWxlLmN1cnNvciA9ICcnXG4gIH1cblxuICBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmN1cnNvciA9IGN1cnNvclxuICBlbGVtZW50LnN0eWxlLmN1cnNvciA9IGN1cnNvclxuICBzY29wZS5hdXRvU3RhcnQuY3Vyc29yRWxlbWVudCA9IGN1cnNvciA/IGVsZW1lbnQgOiBudWxsXG59XG5cbmZ1bmN0aW9uIHNldEludGVyYWN0aW9uQ3Vyc29yIChpbnRlcmFjdGlvbjogSW50ZXJhY3QuSW50ZXJhY3Rpb24sIHNjb3BlOiBJbnRlcmFjdC5TY29wZSkge1xuICBjb25zdCB7IGludGVyYWN0YWJsZSwgZWxlbWVudCwgcHJlcGFyZWQgfSA9IGludGVyYWN0aW9uXG5cbiAgaWYgKCEoaW50ZXJhY3Rpb24ucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgaW50ZXJhY3RhYmxlICYmIGludGVyYWN0YWJsZS5vcHRpb25zLnN0eWxlQ3Vyc29yKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgbGV0IGN1cnNvciA9ICcnXG5cbiAgaWYgKHByZXBhcmVkLm5hbWUpIHtcbiAgICBjb25zdCBjdXJzb3JDaGVja2VyOiBJbnRlcmFjdC5DdXJzb3JDaGVja2VyID0gaW50ZXJhY3RhYmxlLm9wdGlvbnNbcHJlcGFyZWQubmFtZV0uY3Vyc29yQ2hlY2tlclxuXG4gICAgaWYgKHV0aWxzLmlzLmZ1bmMoY3Vyc29yQ2hlY2tlcikpIHtcbiAgICAgIGN1cnNvciA9IGN1cnNvckNoZWNrZXIocHJlcGFyZWQsIGludGVyYWN0YWJsZSwgZWxlbWVudCwgaW50ZXJhY3Rpb24uX2ludGVyYWN0aW5nKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGN1cnNvciA9IHNjb3BlLmFjdGlvbnNbcHJlcGFyZWQubmFtZV0uZ2V0Q3Vyc29yKHByZXBhcmVkKVxuICAgIH1cbiAgfVxuXG4gIHNldEN1cnNvcihpbnRlcmFjdGlvbi5lbGVtZW50LCBjdXJzb3IgfHwgJycsIHNjb3BlKVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkOiAnYXV0by1zdGFydC9iYXNlJyxcbiAgaW5zdGFsbCxcbiAgbWF4SW50ZXJhY3Rpb25zLFxuICB3aXRoaW5JbnRlcmFjdGlvbkxpbWl0LFxuICB2YWxpZGF0ZUFjdGlvbixcbn0gYXMgSW50ZXJhY3QuUGx1Z2luXG4iXX0=

@@ -20,3 +20,3 @@ declare type Scope = import('@interactjs/core/scope').Scope;

declare function install(scope: Scope): void;
declare function getAction(this: Interactable, pointer: Interact.PointerType, event: Interact.PointerEventType, interaction: Interaction, element: Element): Interact.ActionProps;
declare function getAction(this: Interactable, pointer: Interact.PointerType, event: Interact.PointerEventType, interaction: Interaction, element: Interact.Element): Interact.ActionProps;
declare function styleCursor(this: Interactable, newValue?: boolean): any;

@@ -23,0 +23,0 @@ declare function actionChecker(this: Interactable, checker: any): any;

@@ -165,2 +165,2 @@ import { warnOnce } from '@interactjs/utils';

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RhYmxlTWV0aG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkludGVyYWN0YWJsZU1ldGhvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUEwQjFDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTTtJQUNKLDBCQUEwQjtJQUMxQixZQUFZLEVBQUUsMkNBQTJDO0lBQ3pELE9BQU8sR0FDUixHQUFHLEtBQUssQ0FBQTtJQUVULFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtJQUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BMkJHO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQThCLFFBQVE7UUFDakYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsRUFBRSxtR0FBbUcsQ0FBQyxDQUFBO0lBRXZHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQThCLFFBQVE7UUFDaEYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3RELENBQUMsRUFBRSxpR0FBaUcsQ0FBQyxDQUFBO0lBRXJHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E4Qkc7SUFDSCxZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7SUFFcEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBRWhELFlBQVksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcs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Q0FBQTtBQUNuQyxDQUFDO0FBRUQsZUFBZTtJQUNiLEVBQUUsRUFBRSxnQ0FBZ0M7SUFDcEMsT0FBTztDQUNSLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvaXMnXG5cbi8vIFRPRE86IHRoZXJlIHNlZW1zIHRvIGJlIGEgQGJhYmVsL3ByZXNldC10eXBlc2NyaXB0IGJ1ZyBjYXVzaW5nIHJlZ3VsYXIgaW1wb3J0XG4vLyBzeW50YXggdG8gcmVtYWluIGluIGpzIG91dHB1dFxudHlwZSBTY29wZSA9IGltcG9ydCAoJ0BpbnRlcmFjdGpzL2NvcmUvc2NvcGUnKS5TY29wZVxudHlwZSBBY3Rpb25zID0gaW1wb3J0ICgnQGludGVyYWN0anMvY29yZS9zY29wZScpLkFjdGlvbnNcbnR5cGUgSW50ZXJhY3Rpb24gPSBpbXBvcnQgKCdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJykuZGVmYXVsdFxudHlwZSBJbnRlcmFjdGFibGUgPSBpbXBvcnQgKCdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0YWJsZScpLmRlZmF1bHRcblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3RhYmxlJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGFibGUge1xuICAgIGdldEFjdGlvbjogdHlwZW9mIGdldEFjdGlvblxuICAgIGRlZmF1bHRBY3Rpb25DaGVja2VyOiAocG9pbnRlcjogYW55LCBldmVudDogYW55LCBpbnRlcmFjdGlvbjogYW55LCBlbGVtZW50OiBhbnkpID0+IGFueVxuICAgIHN0eWxlQ3Vyc29yOiB0eXBlb2Ygc3R5bGVDdXJzb3JcbiAgICBhY3Rpb25DaGVja2VyOiB0eXBlb2YgYWN0aW9uQ2hlY2tlclxuICAgIGlnbm9yZUZyb206ICguLi5hcmdzOiBhbnkpID0+IGJvb2xlYW5cbiAgICBhbGxvd0Zyb206ICguLi5hcmdzOiBhbnkpID0+IGJvb2xlYW5cbiAgfVxufVxuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9JbnRlcmFjdGlvbicge1xuICBpbnRlcmZhY2UgSW50ZXJhY3Rpb24ge1xuICAgIHBvaW50ZXJJc0Rvd246IGJvb2xlYW5cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIC8qKiBAbGVuZHMgSW50ZXJhY3RhYmxlICovXG4gICAgSW50ZXJhY3RhYmxlLCAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lIG5vLXNoYWRvd2VkLXZhcmlhYmxlXG4gICAgYWN0aW9ucyxcbiAgfSA9IHNjb3BlXG5cbiAgSW50ZXJhY3RhYmxlLnByb3RvdHlwZS5nZXRBY3Rpb24gPSBnZXRBY3Rpb25cblxuICAvKipcbiAgICogYGBganNcbiAgICogaW50ZXJhY3QoZWxlbWVudCwgeyBpZ25vcmVGcm9tOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tYWN0aW9uJykgfSlcbiAgICogLy8gb3JcbiAgICogaW50ZXJhY3QoZWxlbWVudCkuaWdub3JlRnJvbSgnaW5wdXQsIHRleHRhcmVhLCBhJylcbiAgICogYGBgXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIElmIHRoZSB0YXJnZXQgb2YgdGhlIGBtb3VzZWRvd25gLCBgcG9pbnRlcmRvd25gIG9yIGB0b3VjaHN0YXJ0YCBldmVudCBvciBhbnlcbiAgICogb2YgaXQncyBwYXJlbnRzIG1hdGNoIHRoZSBnaXZlbiBDU1Mgc2VsZWN0b3Igb3IgRWxlbWVudCwgbm9cbiAgICogZHJhZy9yZXNpemUvZ2VzdHVyZSBpcyBzdGFydGVkLlxuICAgKlxuICAgKiBEb24ndCB1c2UgdGhpcyBtZXRob2QuIEluc3RlYWQgc2V0IHRoZSBgaWdub3JlRnJvbWAgb3B0aW9uIGZvciBlYWNoIGFjdGlvblxuICAgKiBvciBmb3IgYHBvaW50ZXJFdmVudHNgXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGludGVyYWN0KHRhcmdldHQpXG4gICAqICAgLmRyYWdnYWJsZSh7XG4gICAqICAgICBpZ25vcmVGcm9tOiAnaW5wdXQsIHRleHRhcmVhLCBhW2hyZWZdJycsXG4gICAqICAgfSlcbiAgICogICAucG9pbnRlckV2ZW50cyh7XG4gICAqICAgICBpZ25vcmVGcm9tOiAnW25vLXBvaW50ZXJdJyxcbiAgICogICB9KVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEVsZW1lbnQgfCBudWxsfSBbbmV3VmFsdWVdIGEgQ1NTIHNlbGVjdG9yIHN0cmluZywgYW5cbiAgICogRWxlbWVudCBvciBgbnVsbGAgdG8gbm90IGlnbm9yZSBhbnkgZWxlbWVudHNcbiAgICogQHJldHVybiB7c3RyaW5nIHwgRWxlbWVudCB8IG9iamVjdH0gVGhlIGN1cnJlbnQgaWdub3JlRnJvbSB2YWx1ZSBvciB0aGlzXG4gICAqIEludGVyYWN0YWJsZVxuICAgKi9cbiAgSW50ZXJhY3RhYmxlLnByb3RvdHlwZS5pZ25vcmVGcm9tID0gd2Fybk9uY2UoZnVuY3Rpb24gKHRoaXM6IEludGVyYWN0YWJsZSwgbmV3VmFsdWUpIHtcbiAgICByZXR1cm4gdGhpcy5fYmFja0NvbXBhdE9wdGlvbignaWdub3JlRnJvbScsIG5ld1ZhbHVlKVxuICB9LCAnSW50ZXJhY3RhYmxlLmlnbm9yZUZyb20oKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgSW50ZXJhY3RibGUuZHJhZ2dhYmxlKHtpZ25vcmVGcm9tOiBuZXdWYWx1ZX0pLicpXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqXG4gICAqIEEgZHJhZy9yZXNpemUvZ2VzdHVyZSBpcyBzdGFydGVkIG9ubHkgSWYgdGhlIHRhcmdldCBvZiB0aGUgYG1vdXNlZG93bmAsXG4gICAqIGBwb2ludGVyZG93bmAgb3IgYHRvdWNoc3RhcnRgIGV2ZW50IG9yIGFueSBvZiBpdCdzIHBhcmVudHMgbWF0Y2ggdGhlIGdpdmVuXG4gICAqIENTUyBzZWxlY3RvciBvciBFbGVtZW50LlxuICAgKlxuICAgKiBEb24ndCB1c2UgdGhpcyBtZXRob2QuIEluc3RlYWQgc2V0IHRoZSBgYWxsb3dGcm9tYCBvcHRpb24gZm9yIGVhY2ggYWN0aW9uXG4gICAqIG9yIGZvciBgcG9pbnRlckV2ZW50c2BcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogaW50ZXJhY3QodGFyZ2V0dClcbiAgICogICAucmVzaXphYmxlKHtcbiAgICogICAgIGFsbG93RnJvbTogJy5yZXNpemUtaGFuZGxlJyxcbiAgICogICAucG9pbnRlckV2ZW50cyh7XG4gICAqICAgICBhbGxvd0Zyb206ICcuaGFuZGxlJywsXG4gICAqICAgfSlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBFbGVtZW50IHwgbnVsbH0gW25ld1ZhbHVlXSBhIENTUyBzZWxlY3RvciBzdHJpbmcsIGFuXG4gICAqIEVsZW1lbnQgb3IgYG51bGxgIHRvIGFsbG93IGZyb20gYW55IGVsZW1lbnRcbiAgICogQHJldHVybiB7c3RyaW5nIHwgRWxlbWVudCB8IG9iamVjdH0gVGhlIGN1cnJlbnQgYWxsb3dGcm9tIHZhbHVlIG9yIHRoaXNcbiAgICogSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmFsbG93RnJvbSA9IHdhcm5PbmNlKGZ1bmN0aW9uICh0aGlzOiBJbnRlcmFjdGFibGUsIG5ld1ZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tDb21wYXRPcHRpb24oJ2FsbG93RnJvbScsIG5ld1ZhbHVlKVxuICB9LCAnSW50ZXJhY3RhYmxlLmFsbG93RnJvbSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBJbnRlcmFjdGJsZS5kcmFnZ2FibGUoe2FsbG93RnJvbTogbmV3VmFsdWV9KS4nKVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBpbnRlcmFjdCgnLnJlc2l6ZS1kcmFnJylcbiAgICogICAucmVzaXphYmxlKHRydWUpXG4gICAqICAgLmRyYWdnYWJsZSh0cnVlKVxuICAgKiAgIC5hY3Rpb25DaGVja2VyKGZ1bmN0aW9uIChwb2ludGVyLCBldmVudCwgYWN0aW9uLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQsIGludGVyYWN0aW9uKSB7XG4gICAqXG4gICAqICAgaWYgKGludGVyYWN0Lm1hdGNoZXNTZWxlY3RvcihldmVudC50YXJnZXQsICcuZHJhZy1oYW5kbGUnKSkge1xuICAgKiAgICAgLy8gZm9yY2UgZHJhZyB3aXRoIGhhbmRsZSB0YXJnZXRcbiAgICogICAgIGFjdGlvbi5uYW1lID0gZHJhZ1xuICAgKiAgIH1cbiAgICogICBlbHNlIHtcbiAgICogICAgIC8vIHJlc2l6ZSBmcm9tIHRoZSB0b3AgYW5kIHJpZ2h0IGVkZ2VzXG4gICAqICAgICBhY3Rpb24ubmFtZSAgPSAncmVzaXplJ1xuICAgKiAgICAgYWN0aW9uLmVkZ2VzID0geyB0b3A6IHRydWUsIHJpZ2h0OiB0cnVlIH1cbiAgICogICB9XG4gICAqXG4gICAqICAgcmV0dXJuIGFjdGlvblxuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogUmV0dXJucyBvciBzZXRzIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgb25cbiAgICogcG9pbnRlckRvd25cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbiB8IG51bGx9IFtjaGVja2VyXSBBIGZ1bmN0aW9uIHdoaWNoIHRha2VzIGEgcG9pbnRlciBldmVudCxcbiAgICogZGVmYXVsdEFjdGlvbiBzdHJpbmcsIGludGVyYWN0YWJsZSwgZWxlbWVudCBhbmQgaW50ZXJhY3Rpb24gYXMgcGFyYW1ldGVyc1xuICAgKiBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCBuYW1lIHByb3BlcnR5ICdkcmFnJyAncmVzaXplJyBvciAnZ2VzdHVyZScgYW5kXG4gICAqIG9wdGlvbmFsbHkgYW4gYGVkZ2VzYCBvYmplY3Qgd2l0aCBib29sZWFuICd0b3AnLCAnbGVmdCcsICdib3R0b20nIGFuZCByaWdodFxuICAgKiBwcm9wcy5cbiAgICogQHJldHVybiB7RnVuY3Rpb24gfCBJbnRlcmFjdGFibGV9IFRoZSBjaGVja2VyIGZ1bmN0aW9uIG9yIHRoaXMgSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmFjdGlvbkNoZWNrZXIgPSBhY3Rpb25DaGVja2VyXG5cbiAgLyoqXG4gICAqIFJldHVybnMgb3Igc2V0cyB3aGV0aGVyIHRoZSB0aGUgY3Vyc29yIHNob3VsZCBiZSBjaGFuZ2VkIGRlcGVuZGluZyBvbiB0aGVcbiAgICogYWN0aW9uIHRoYXQgd291bGQgYmUgcGVyZm9ybWVkIGlmIHRoZSBtb3VzZSB3ZXJlIHByZXNzZWQgYW5kIGRyYWdnZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW25ld1ZhbHVlXVxuICAgKiBAcmV0dXJuIHtib29sZWFuIHwgSW50ZXJhY3RhYmxlfSBUaGUgY3VycmVudCBzZXR0aW5nIG9yIHRoaXMgSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLnN0eWxlQ3Vyc29yID0gc3R5bGVDdXJzb3JcblxuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmRlZmF1bHRBY3Rpb25DaGVja2VyID0gZnVuY3Rpb24gKHRoaXM6IEludGVyYWN0YWJsZSwgcG9pbnRlciwgZXZlbnQsIGludGVyYWN0aW9uLCBlbGVtZW50KSB7XG4gICAgcmV0dXJuIGRlZmF1bHRBY3Rpb25DaGVja2VyKHRoaXMsIHBvaW50ZXIsIGV2ZW50LCBpbnRlcmFjdGlvbiwgZWxlbWVudCwgYWN0aW9ucylcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3Rpb24gKHRoaXM6IEludGVyYWN0YWJsZSwgcG9pbnRlcjogSW50ZXJhY3QuUG9pbnRlclR5cGUsIGV2ZW50OiBJbnRlcmFjdC5Qb2ludGVyRXZlbnRUeXBlLCBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnQpOiBJbnRlcmFjdC5BY3Rpb25Qcm9wcyB7XG4gIGNvbnN0IGFjdGlvbiA9IHRoaXMuZGVmYXVsdEFjdGlvbkNoZWNrZXIocG9pbnRlciwgZXZlbnQsIGludGVyYWN0aW9uLCBlbGVtZW50KVxuXG4gIGlmICh0aGlzLm9wdGlvbnMuYWN0aW9uQ2hlY2tlcikge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWN0aW9uQ2hlY2tlcihwb2ludGVyLCBldmVudCwgYWN0aW9uLCB0aGlzLCBlbGVtZW50LCBpbnRlcmFjdGlvbilcbiAgfVxuXG4gIHJldHVybiBhY3Rpb25cbn1cblxuZnVuY3Rpb24gZGVmYXVsdEFjdGlvbkNoZWNrZXIgKGludGVyYWN0YWJsZTogSW50ZXJhY3RhYmxlLCBwb2ludGVyOiBJbnRlcmFjdC5Qb2ludGVyVHlwZSwgZXZlbnQ6IEludGVyYWN0LlBvaW50ZXJFdmVudFR5cGUsIGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiwgZWxlbWVudDogRWxlbWVudCwgYWN0aW9uczogQWN0aW9ucykge1xuICBjb25zdCByZWN0ID0gaW50ZXJhY3RhYmxlLmdldFJlY3QoZWxlbWVudClcbiAgY29uc3QgYnV0dG9ucyA9IChldmVudCBhcyBNb3VzZUV2ZW50KS5idXR0b25zIHx8ICh7XG4gICAgMDogMSxcbiAgICAxOiA0LFxuICAgIDM6IDgsXG4gICAgNDogMTYsXG4gIH0pWyhldmVudCBhcyBNb3VzZUV2ZW50KS5idXR0b24gYXMgMCB8IDEgfCAzIHwgNF1cbiAgbGV0IGFjdGlvbiA9IG51bGxcblxuICBmb3IgKGNvbnN0IGFjdGlvbk5hbWUgb2YgYWN0aW9ucy5uYW1lcykge1xuICAgIC8vIGNoZWNrIG1vdXNlQnV0dG9uIHNldHRpbmcgaWYgdGhlIHBvaW50ZXIgaXMgZG93blxuICAgIGlmIChpbnRlcmFjdGlvbi5wb2ludGVySXNEb3duICYmXG4gICAgICAgIC9tb3VzZXxwb2ludGVyLy50ZXN0KGludGVyYWN0aW9uLnBvaW50ZXJUeXBlKSAmJlxuICAgICAgKGJ1dHRvbnMgJiBpbnRlcmFjdGFibGUub3B0aW9uc1thY3Rpb25OYW1lXS5tb3VzZUJ1dHRvbnMpID09PSAwKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGFjdGlvbiA9IChhY3Rpb25zW2FjdGlvbk5hbWUgYXMga2V5b2YgQWN0aW9uc10gYXMgYW55KS5jaGVja2VyKHBvaW50ZXIsIGV2ZW50LCBpbnRlcmFjdGFibGUsIGVsZW1lbnQsIGludGVyYWN0aW9uLCByZWN0KVxuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgcmV0dXJuIGFjdGlvblxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzdHlsZUN1cnNvciAodGhpczogSW50ZXJhY3RhYmxlLCBuZXdWYWx1ZT86IGJvb2xlYW4pIHtcbiAgaWYgKGlzLmJvb2wobmV3VmFsdWUpKSB7XG4gICAgdGhpcy5vcHRpb25zLnN0eWxlQ3Vyc29yID0gbmV3VmFsdWVcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBpZiAobmV3VmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgdGhpcy5vcHRpb25zLnN0eWxlQ3Vyc29yXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcmV0dXJuIHRoaXMub3B0aW9ucy5zdHlsZUN1cnNvclxufVxuXG5mdW5jdGlvbiBhY3Rpb25DaGVja2VyICh0aGlzOiBJbnRlcmFjdGFibGUsIGNoZWNrZXI6IGFueSkge1xuICBpZiAoaXMuZnVuYyhjaGVja2VyKSkge1xuICAgIHRoaXMub3B0aW9ucy5hY3Rpb25DaGVja2VyID0gY2hlY2tlclxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGlmIChjaGVja2VyID09PSBudWxsKSB7XG4gICAgZGVsZXRlIHRoaXMub3B0aW9ucy5hY3Rpb25DaGVja2VyXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcmV0dXJuIHRoaXMub3B0aW9ucy5hY3Rpb25DaGVja2VyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaWQ6ICdhdXRvLXN0YXJ0L2ludGVyYWN0YWJsZU1ldGhvZHMnLFxuICBpbnN0YWxsLFxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RhYmxlTWV0aG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkludGVyYWN0YWJsZU1ldGhvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUEwQjFDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTTtJQUNKLDBCQUEwQjtJQUMxQixZQUFZLEVBQUUsMkNBQTJDO0lBQ3pELE9BQU8sR0FDUixHQUFHLEtBQUssQ0FBQTtJQUVULFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtJQUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BMkJHO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQThCLFFBQVE7UUFDakYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsRUFBRSxtR0FBbUcsQ0FBQyxDQUFBO0lBRXZHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQThCLFFBQVE7UUFDaEYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3RELENBQUMsRUFBRSxpR0FBaUcsQ0FBQyxDQUFBO0lBRXJHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E4Qkc7SUFDSCxZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7SUFFcEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBRWhELFlBQVksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcs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QUFDLGFBQWEsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsZUFBZTtJQUNiLEVBQUUsRUFBRSxnQ0FBZ0M7SUFDcEMsT0FBTztDQUNSLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvaXMnXG5cbi8vIFRPRE86IHRoZXJlIHNlZW1zIHRvIGJlIGEgQGJhYmVsL3ByZXNldC10eXBlc2NyaXB0IGJ1ZyBjYXVzaW5nIHJlZ3VsYXIgaW1wb3J0XG4vLyBzeW50YXggdG8gcmVtYWluIGluIGpzIG91dHB1dFxudHlwZSBTY29wZSA9IGltcG9ydCAoJ0BpbnRlcmFjdGpzL2NvcmUvc2NvcGUnKS5TY29wZVxudHlwZSBBY3Rpb25zID0gaW1wb3J0ICgnQGludGVyYWN0anMvY29yZS9zY29wZScpLkFjdGlvbnNcbnR5cGUgSW50ZXJhY3Rpb24gPSBpbXBvcnQgKCdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJykuZGVmYXVsdFxudHlwZSBJbnRlcmFjdGFibGUgPSBpbXBvcnQgKCdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0YWJsZScpLmRlZmF1bHRcblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3RhYmxlJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGFibGUge1xuICAgIGdldEFjdGlvbjogdHlwZW9mIGdldEFjdGlvblxuICAgIGRlZmF1bHRBY3Rpb25DaGVja2VyOiAocG9pbnRlcjogYW55LCBldmVudDogYW55LCBpbnRlcmFjdGlvbjogYW55LCBlbGVtZW50OiBhbnkpID0+IGFueVxuICAgIHN0eWxlQ3Vyc29yOiB0eXBlb2Ygc3R5bGVDdXJzb3JcbiAgICBhY3Rpb25DaGVja2VyOiB0eXBlb2YgYWN0aW9uQ2hlY2tlclxuICAgIGlnbm9yZUZyb206ICguLi5hcmdzOiBhbnkpID0+IGJvb2xlYW5cbiAgICBhbGxvd0Zyb206ICguLi5hcmdzOiBhbnkpID0+IGJvb2xlYW5cbiAgfVxufVxuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9JbnRlcmFjdGlvbicge1xuICBpbnRlcmZhY2UgSW50ZXJhY3Rpb24ge1xuICAgIHBvaW50ZXJJc0Rvd246IGJvb2xlYW5cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIC8qKiBAbGVuZHMgSW50ZXJhY3RhYmxlICovXG4gICAgSW50ZXJhY3RhYmxlLCAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lIG5vLXNoYWRvd2VkLXZhcmlhYmxlXG4gICAgYWN0aW9ucyxcbiAgfSA9IHNjb3BlXG5cbiAgSW50ZXJhY3RhYmxlLnByb3RvdHlwZS5nZXRBY3Rpb24gPSBnZXRBY3Rpb25cblxuICAvKipcbiAgICogYGBganNcbiAgICogaW50ZXJhY3QoZWxlbWVudCwgeyBpZ25vcmVGcm9tOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm8tYWN0aW9uJykgfSlcbiAgICogLy8gb3JcbiAgICogaW50ZXJhY3QoZWxlbWVudCkuaWdub3JlRnJvbSgnaW5wdXQsIHRleHRhcmVhLCBhJylcbiAgICogYGBgXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIElmIHRoZSB0YXJnZXQgb2YgdGhlIGBtb3VzZWRvd25gLCBgcG9pbnRlcmRvd25gIG9yIGB0b3VjaHN0YXJ0YCBldmVudCBvciBhbnlcbiAgICogb2YgaXQncyBwYXJlbnRzIG1hdGNoIHRoZSBnaXZlbiBDU1Mgc2VsZWN0b3Igb3IgRWxlbWVudCwgbm9cbiAgICogZHJhZy9yZXNpemUvZ2VzdHVyZSBpcyBzdGFydGVkLlxuICAgKlxuICAgKiBEb24ndCB1c2UgdGhpcyBtZXRob2QuIEluc3RlYWQgc2V0IHRoZSBgaWdub3JlRnJvbWAgb3B0aW9uIGZvciBlYWNoIGFjdGlvblxuICAgKiBvciBmb3IgYHBvaW50ZXJFdmVudHNgXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGludGVyYWN0KHRhcmdldHQpXG4gICAqICAgLmRyYWdnYWJsZSh7XG4gICAqICAgICBpZ25vcmVGcm9tOiAnaW5wdXQsIHRleHRhcmVhLCBhW2hyZWZdJycsXG4gICAqICAgfSlcbiAgICogICAucG9pbnRlckV2ZW50cyh7XG4gICAqICAgICBpZ25vcmVGcm9tOiAnW25vLXBvaW50ZXJdJyxcbiAgICogICB9KVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEVsZW1lbnQgfCBudWxsfSBbbmV3VmFsdWVdIGEgQ1NTIHNlbGVjdG9yIHN0cmluZywgYW5cbiAgICogRWxlbWVudCBvciBgbnVsbGAgdG8gbm90IGlnbm9yZSBhbnkgZWxlbWVudHNcbiAgICogQHJldHVybiB7c3RyaW5nIHwgRWxlbWVudCB8IG9iamVjdH0gVGhlIGN1cnJlbnQgaWdub3JlRnJvbSB2YWx1ZSBvciB0aGlzXG4gICAqIEludGVyYWN0YWJsZVxuICAgKi9cbiAgSW50ZXJhY3RhYmxlLnByb3RvdHlwZS5pZ25vcmVGcm9tID0gd2Fybk9uY2UoZnVuY3Rpb24gKHRoaXM6IEludGVyYWN0YWJsZSwgbmV3VmFsdWUpIHtcbiAgICByZXR1cm4gdGhpcy5fYmFja0NvbXBhdE9wdGlvbignaWdub3JlRnJvbScsIG5ld1ZhbHVlKVxuICB9LCAnSW50ZXJhY3RhYmxlLmlnbm9yZUZyb20oKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgSW50ZXJhY3RibGUuZHJhZ2dhYmxlKHtpZ25vcmVGcm9tOiBuZXdWYWx1ZX0pLicpXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqXG4gICAqIEEgZHJhZy9yZXNpemUvZ2VzdHVyZSBpcyBzdGFydGVkIG9ubHkgSWYgdGhlIHRhcmdldCBvZiB0aGUgYG1vdXNlZG93bmAsXG4gICAqIGBwb2ludGVyZG93bmAgb3IgYHRvdWNoc3RhcnRgIGV2ZW50IG9yIGFueSBvZiBpdCdzIHBhcmVudHMgbWF0Y2ggdGhlIGdpdmVuXG4gICAqIENTUyBzZWxlY3RvciBvciBFbGVtZW50LlxuICAgKlxuICAgKiBEb24ndCB1c2UgdGhpcyBtZXRob2QuIEluc3RlYWQgc2V0IHRoZSBgYWxsb3dGcm9tYCBvcHRpb24gZm9yIGVhY2ggYWN0aW9uXG4gICAqIG9yIGZvciBgcG9pbnRlckV2ZW50c2BcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogaW50ZXJhY3QodGFyZ2V0dClcbiAgICogICAucmVzaXphYmxlKHtcbiAgICogICAgIGFsbG93RnJvbTogJy5yZXNpemUtaGFuZGxlJyxcbiAgICogICAucG9pbnRlckV2ZW50cyh7XG4gICAqICAgICBhbGxvd0Zyb206ICcuaGFuZGxlJywsXG4gICAqICAgfSlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBFbGVtZW50IHwgbnVsbH0gW25ld1ZhbHVlXSBhIENTUyBzZWxlY3RvciBzdHJpbmcsIGFuXG4gICAqIEVsZW1lbnQgb3IgYG51bGxgIHRvIGFsbG93IGZyb20gYW55IGVsZW1lbnRcbiAgICogQHJldHVybiB7c3RyaW5nIHwgRWxlbWVudCB8IG9iamVjdH0gVGhlIGN1cnJlbnQgYWxsb3dGcm9tIHZhbHVlIG9yIHRoaXNcbiAgICogSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmFsbG93RnJvbSA9IHdhcm5PbmNlKGZ1bmN0aW9uICh0aGlzOiBJbnRlcmFjdGFibGUsIG5ld1ZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tDb21wYXRPcHRpb24oJ2FsbG93RnJvbScsIG5ld1ZhbHVlKVxuICB9LCAnSW50ZXJhY3RhYmxlLmFsbG93RnJvbSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBJbnRlcmFjdGJsZS5kcmFnZ2FibGUoe2FsbG93RnJvbTogbmV3VmFsdWV9KS4nKVxuXG4gIC8qKlxuICAgKiBgYGBqc1xuICAgKiBpbnRlcmFjdCgnLnJlc2l6ZS1kcmFnJylcbiAgICogICAucmVzaXphYmxlKHRydWUpXG4gICAqICAgLmRyYWdnYWJsZSh0cnVlKVxuICAgKiAgIC5hY3Rpb25DaGVja2VyKGZ1bmN0aW9uIChwb2ludGVyLCBldmVudCwgYWN0aW9uLCBpbnRlcmFjdGFibGUsIGVsZW1lbnQsIGludGVyYWN0aW9uKSB7XG4gICAqXG4gICAqICAgaWYgKGludGVyYWN0Lm1hdGNoZXNTZWxlY3RvcihldmVudC50YXJnZXQsICcuZHJhZy1oYW5kbGUnKSkge1xuICAgKiAgICAgLy8gZm9yY2UgZHJhZyB3aXRoIGhhbmRsZSB0YXJnZXRcbiAgICogICAgIGFjdGlvbi5uYW1lID0gZHJhZ1xuICAgKiAgIH1cbiAgICogICBlbHNlIHtcbiAgICogICAgIC8vIHJlc2l6ZSBmcm9tIHRoZSB0b3AgYW5kIHJpZ2h0IGVkZ2VzXG4gICAqICAgICBhY3Rpb24ubmFtZSAgPSAncmVzaXplJ1xuICAgKiAgICAgYWN0aW9uLmVkZ2VzID0geyB0b3A6IHRydWUsIHJpZ2h0OiB0cnVlIH1cbiAgICogICB9XG4gICAqXG4gICAqICAgcmV0dXJuIGFjdGlvblxuICAgKiB9KVxuICAgKiBgYGBcbiAgICpcbiAgICogUmV0dXJucyBvciBzZXRzIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgb25cbiAgICogcG9pbnRlckRvd25cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbiB8IG51bGx9IFtjaGVja2VyXSBBIGZ1bmN0aW9uIHdoaWNoIHRha2VzIGEgcG9pbnRlciBldmVudCxcbiAgICogZGVmYXVsdEFjdGlvbiBzdHJpbmcsIGludGVyYWN0YWJsZSwgZWxlbWVudCBhbmQgaW50ZXJhY3Rpb24gYXMgcGFyYW1ldGVyc1xuICAgKiBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCBuYW1lIHByb3BlcnR5ICdkcmFnJyAncmVzaXplJyBvciAnZ2VzdHVyZScgYW5kXG4gICAqIG9wdGlvbmFsbHkgYW4gYGVkZ2VzYCBvYmplY3Qgd2l0aCBib29sZWFuICd0b3AnLCAnbGVmdCcsICdib3R0b20nIGFuZCByaWdodFxuICAgKiBwcm9wcy5cbiAgICogQHJldHVybiB7RnVuY3Rpb24gfCBJbnRlcmFjdGFibGV9IFRoZSBjaGVja2VyIGZ1bmN0aW9uIG9yIHRoaXMgSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmFjdGlvbkNoZWNrZXIgPSBhY3Rpb25DaGVja2VyXG5cbiAgLyoqXG4gICAqIFJldHVybnMgb3Igc2V0cyB3aGV0aGVyIHRoZSB0aGUgY3Vyc29yIHNob3VsZCBiZSBjaGFuZ2VkIGRlcGVuZGluZyBvbiB0aGVcbiAgICogYWN0aW9uIHRoYXQgd291bGQgYmUgcGVyZm9ybWVkIGlmIHRoZSBtb3VzZSB3ZXJlIHByZXNzZWQgYW5kIGRyYWdnZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW25ld1ZhbHVlXVxuICAgKiBAcmV0dXJuIHtib29sZWFuIHwgSW50ZXJhY3RhYmxlfSBUaGUgY3VycmVudCBzZXR0aW5nIG9yIHRoaXMgSW50ZXJhY3RhYmxlXG4gICAqL1xuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLnN0eWxlQ3Vyc29yID0gc3R5bGVDdXJzb3JcblxuICBJbnRlcmFjdGFibGUucHJvdG90eXBlLmRlZmF1bHRBY3Rpb25DaGVja2VyID0gZnVuY3Rpb24gKHRoaXM6IEludGVyYWN0YWJsZSwgcG9pbnRlciwgZXZlbnQsIGludGVyYWN0aW9uLCBlbGVtZW50KSB7XG4gICAgcmV0dXJuIGRlZmF1bHRBY3Rpb25DaGVja2VyKHRoaXMsIHBvaW50ZXIsIGV2ZW50LCBpbnRlcmFjdGlvbiwgZWxlbWVudCwgYWN0aW9ucylcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3Rpb24gKFxuICB0aGlzOiBJbnRlcmFjdGFibGUsXG4gIHBvaW50ZXI6IEludGVyYWN0LlBvaW50ZXJUeXBlLFxuICBldmVudDogSW50ZXJhY3QuUG9pbnRlckV2ZW50VHlwZSxcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLFxuICBlbGVtZW50OiBJbnRlcmFjdC5FbGVtZW50LFxuKTogSW50ZXJhY3QuQWN0aW9uUHJvcHMge1xuICBjb25zdCBhY3Rpb24gPSB0aGlzLmRlZmF1bHRBY3Rpb25DaGVja2VyKHBvaW50ZXIsIGV2ZW50LCBpbnRlcmFjdGlvbiwgZWxlbWVudClcblxuICBpZiAodGhpcy5vcHRpb25zLmFjdGlvbkNoZWNrZXIpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmFjdGlvbkNoZWNrZXIocG9pbnRlciwgZXZlbnQsIGFjdGlvbiwgdGhpcywgZWxlbWVudCwgaW50ZXJhY3Rpb24pXG4gIH1cblxuICByZXR1cm4gYWN0aW9uXG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRBY3Rpb25DaGVja2VyIChcbiAgaW50ZXJhY3RhYmxlOiBJbnRlcmFjdGFibGUsXG4gIHBvaW50ZXI6IEludGVyYWN0LlBvaW50ZXJUeXBlLFxuICBldmVudDogSW50ZXJhY3QuUG9pbnRlckV2ZW50VHlwZSxcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLFxuICBlbGVtZW50OiBJbnRlcmFjdC5FbGVtZW50LFxuICBhY3Rpb25zOiBBY3Rpb25zLFxuKSB7XG4gIGNvbnN0IHJlY3QgPSBpbnRlcmFjdGFibGUuZ2V0UmVjdChlbGVtZW50KVxuICBjb25zdCBidXR0b25zID0gKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmJ1dHRvbnMgfHwgKHtcbiAgICAwOiAxLFxuICAgIDE6IDQsXG4gICAgMzogOCxcbiAgICA0OiAxNixcbiAgfSlbKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmJ1dHRvbiBhcyAwIHwgMSB8IDMgfCA0XVxuICBsZXQgYWN0aW9uID0gbnVsbFxuXG4gIGZvciAoY29uc3QgYWN0aW9uTmFtZSBvZiBhY3Rpb25zLm5hbWVzKSB7XG4gICAgLy8gY2hlY2sgbW91c2VCdXR0b24gc2V0dGluZyBpZiB0aGUgcG9pbnRlciBpcyBkb3duXG4gICAgaWYgKGludGVyYWN0aW9uLnBvaW50ZXJJc0Rvd24gJiZcbiAgICAgICAgL21vdXNlfHBvaW50ZXIvLnRlc3QoaW50ZXJhY3Rpb24ucG9pbnRlclR5cGUpICYmXG4gICAgICAoYnV0dG9ucyAmIGludGVyYWN0YWJsZS5vcHRpb25zW2FjdGlvbk5hbWVdLm1vdXNlQnV0dG9ucykgPT09IDApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgYWN0aW9uID0gKGFjdGlvbnNbYWN0aW9uTmFtZSBhcyBrZXlvZiBBY3Rpb25zXSBhcyBhbnkpLmNoZWNrZXIocG9pbnRlciwgZXZlbnQsIGludGVyYWN0YWJsZSwgZWxlbWVudCwgaW50ZXJhY3Rpb24sIHJlY3QpXG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICByZXR1cm4gYWN0aW9uXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0eWxlQ3Vyc29yICh0aGlzOiBJbnRlcmFjdGFibGUsIG5ld1ZhbHVlPzogYm9vbGVhbikge1xuICBpZiAoaXMuYm9vbChuZXdWYWx1ZSkpIHtcbiAgICB0aGlzLm9wdGlvbnMuc3R5bGVDdXJzb3IgPSBuZXdWYWx1ZVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGlmIChuZXdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSB0aGlzLm9wdGlvbnMuc3R5bGVDdXJzb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZXR1cm4gdGhpcy5vcHRpb25zLnN0eWxlQ3Vyc29yXG59XG5cbmZ1bmN0aW9uIGFjdGlvbkNoZWNrZXIgKHRoaXM6IEludGVyYWN0YWJsZSwgY2hlY2tlcjogYW55KSB7XG4gIGlmIChpcy5mdW5jKGNoZWNrZXIpKSB7XG4gICAgdGhpcy5vcHRpb25zLmFjdGlvbkNoZWNrZXIgPSBjaGVja2VyXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgaWYgKGNoZWNrZXIgPT09IG51bGwpIHtcbiAgICBkZWxldGUgdGhpcy5vcHRpb25zLmFjdGlvbkNoZWNrZXJcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZXR1cm4gdGhpcy5vcHRpb25zLmFjdGlvbkNoZWNrZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBpZDogJ2F1dG8tc3RhcnQvaW50ZXJhY3RhYmxlTWV0aG9kcycsXG4gIGluc3RhbGwsXG59XG4iXX0=
{
"name": "@interactjs/auto-start",
"version": "1.5.4",
"version": "1.6.0",
"peerDependencies": {
"@interactjs/core": "1.5.4",
"@interactjs/utils": "1.5.4"
"@interactjs/core": "1.6.0",
"@interactjs/utils": "1.6.0"
},
"devDependencies": {
"@interactjs/actions": "1.5.4"
"@interactjs/actions": "1.6.0"
},

@@ -11,0 +11,0 @@ "publishConfig": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc