Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@interactjs/modifiers

Package Overview
Dependencies
Maintainers
2
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/modifiers - npm Package Compare versions

Comparing version 1.4.14 to 1.5.0

restrict/pointer.spec.d.ts

11

base.d.ts

@@ -37,7 +37,6 @@ import { Scope } from '@interactjs/core/scope';

}
export interface Modifier<Name extends string = any> {
options?: {
enabled?: boolean;
[key: string]: any;
};
export interface Modifier<Name extends string = any, Defaults extends {
enabled?: boolean;
} = any> {
options?: Defaults;
methods: {

@@ -99,3 +98,3 @@ start?: (arg: Interact.SignalArg) => void;

}, name?: Name): {
(options?: Partial<Defaults>): Modifier<Name>;
(_options?: Partial<Defaults>): Modifier<Name, Defaults>;
_defaults: Defaults;

@@ -102,0 +101,0 @@ _methods: {

@@ -294,4 +294,4 @@ import extend from '@interactjs/utils/extend';

};
const modifier = (options) => {
options = options || {};
const modifier = (_options) => {
const options = (_options || {});
options.enabled = options.enabled !== false;

@@ -330,2 +330,2 @@ // add missing defaults to options

export { makeModifier, };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFtRDdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFdkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUc7WUFDdEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNyRCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3JELEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3RELENBQUMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQW1DLENBQUMsQ0FBQTtRQUN6QyxLQUFLLENBQUMsR0FBbUMsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0s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QUMzQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7S0FDbEIsQ0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBMkIsRUFBRSxFQUFFO1FBQy9DLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFBO1FBRXZCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUE7UUFFM0Msa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUMvQjtTQUNGO1FBRUQsTUFBTSxDQUFDLEdBQW1CLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUVwRCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQTtJQUVELElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUNwQyw4QkFBOEI7UUFDOUIsUUFBUSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDN0IsUUFBUSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7S0FDNUI7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsZUFBZTtJQUNiLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEIsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sYUFBYTtJQUNiLEtBQUs7SUFDTCxVQUFVO0lBQ1YsU0FBUztJQUNULElBQUk7SUFDSixRQUFRO0lBQ1IsZUFBZTtJQUNmLGFBQWE7SUFDYixZQUFZO0NBQ2IsQ0FBQTtBQUVELE9BQU8sRUFDTCxZQUFZLEdBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjb3BlIH0gZnJvbSAnQGludGVyYWN0anMvY29yZS9zY29wZSdcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9zY29wZScge1xuICBpbnRlcmZhY2UgU2NvcGUge1xuICAgIG1vZGlmaWVycz86IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGlvbiB7XG4gICAgbW9kaWZpZXJzPzoge1xuICAgICAgc3RhdGVzOiBhbnlbXVxuICAgICAgb2Zmc2V0czogYW55XG4gICAgICBzdGFydE9mZnNldDogYW55XG4gICAgICBzdGFydERlbHRhOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgcmVzdWx0Pzoge1xuICAgICAgICBkZWx0YToge1xuICAgICAgICAgIHg6IG51bWJlclxuICAgICAgICAgIHk6IG51bWJlclxuICAgICAgICB9XG4gICAgICAgIHJlY3REZWx0YToge1xuICAgICAgICAgIGxlZnQ6IG51bWJlclxuICAgICAgICAgIHJpZ2h0OiBudW1iZXJcbiAgICAgICAgICB0b3A6IG51bWJlclxuICAgICAgICAgIGJvdHRvbTogbnVtYmVyXG4gICAgICAgIH1cbiAgICAgICAgY29vcmRzOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgICBjaGFuZ2VkOiBib29sZWFuXG4gICAgICB9LFxuICAgICAgZW5kUHJldmVudGVkOiBib29sZWFuXG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL2RlZmF1bHRPcHRpb25zJyB7XG4gIGludGVyZmFjZSBQZXJBY3Rpb25EZWZhdWx0cyB7XG4gICAgbW9kaWZpZXJzPzogTW9kaWZpZXJbXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZpZXI8TmFtZSBleHRlbmRzIHN0cmluZyA9IGFueT4ge1xuICBvcHRpb25zPzogeyBlbmFibGVkPzogYm9vbGVhbiwgW2tleTogc3RyaW5nXTogYW55IH1cbiAgbWV0aG9kczoge1xuICAgIHN0YXJ0PzogKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKSA9PiB2b2lkXG4gICAgc2V0OiAoYXJnOiBJbnRlcmFjdC5TaWduYWxBcmcpID0+IHZvaWRcbiAgICBiZWZvcmVFbmQ/OiAoYXJnOiBJbnRlcmFjdC5TaWduYWxBcmcpID0+IHZvaWRcbiAgICBzdG9wPzogKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKSA9PiB2b2lkXG4gIH0sXG4gIG5hbWU/OiBOYW1lXG59XG5cbmZ1bmN0aW9uIGluc3RhbGwgKHNjb3BlOiBTY29wZSkge1xuICBjb25zdCB7XG4gICAgaW50ZXJhY3Rpb25zLFxuICB9ID0gc2NvcGVcblxuICBzY29wZS5kZWZhdWx0cy5wZXJBY3Rpb24ubW9kaWZpZXJzID0gW11cblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignbmV3JywgKHsgaW50ZXJhY3Rpb24gfSkgPT4ge1xuICAgIGludGVyYWN0aW9uLm1vZGlmaWVycyA9IHtcbiAgICAgIHN0YXJ0T2Zmc2V0OiB7IGxlZnQ6IDAsIHJpZ2h0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCB9LFxuICAgICAgb2Zmc2V0czoge30sXG4gICAgICBzdGF0ZXM6IG51bGwsXG4gICAgICByZXN1bHQ6IG51bGwsXG4gICAgICBlbmRQcmV2ZW50ZWQ6IGZhbHNlLFxuICAgICAgc3RhcnREZWx0YTogbnVsbCxcbiAgICB9XG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tc3RhcnQnLCAoYXJnKSA9PiB7XG4gICAgc3RhcnQoYXJnIGFzIGFueSwgYXJnLmludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlKVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhY3Rpb24tcmVzdW1lJywgKGFyZykgPT4ge1xuICAgIHN0b3AoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4pXG4gICAgc3RhcnQoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4sIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuY3VyLnBhZ2UpXG4gICAgYmVmb3JlTW92ZShhcmcgYXMgUmVxdWlyZWQ8SW50ZXJhY3QuU2lnbmFsQXJnPilcbiAgfSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWZ0ZXItYWN0aW9uLW1vdmUnLCByZXN0b3JlQ29vcmRzIGFzIGFueSlcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tbW92ZScsIGJlZm9yZU1vdmUpXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tc3RhcnQnLCBzZXRDb29yZHMpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhZnRlci1hY3Rpb24tc3RhcnQnLCByZXN0b3JlQ29vcmRzIGFzIGFueSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYmVmb3JlLWFjdGlvbi1lbmQnLCBiZWZvcmVFbmQpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdzdG9wJywgc3RvcClcbn1cblxuZnVuY3Rpb24gc3RhcnQgKFxuICB7IGludGVyYWN0aW9uLCBwaGFzZSB9OiBJbnRlcmFjdC5TaWduYWxBcmcsXG4gIHBhZ2VDb29yZHM6IEludGVyYWN0LlBvaW50LFxuKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3RhYmxlLCBlbGVtZW50IH0gPSBpbnRlcmFjdGlvblxuICBjb25zdCBtb2RpZmllckxpc3QgPSBnZXRNb2RpZmllckxpc3QoaW50ZXJhY3Rpb24pXG4gIGNvbnN0IHN0YXRlcyA9IHByZXBhcmVTdGF0ZXMobW9kaWZpZXJMaXN0KVxuXG4gIGNvbnN0IHJlY3QgPSBleHRlbmQoe30sIGludGVyYWN0aW9uLnJlY3QpXG5cbiAgaWYgKCEoJ3dpZHRoJyAgaW4gcmVjdCkpIHsgcmVjdC53aWR0aCAgPSByZWN0LnJpZ2h0ICAtIHJlY3QubGVmdCB9XG4gIGlmICghKCdoZWlnaHQnIGluIHJlY3QpKSB7IHJlY3QuaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcCAgfVxuXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gZ2V0UmVjdE9mZnNldChyZWN0LCBwYWdlQ29vcmRzKVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydE9mZnNldCA9IHN0YXJ0T2Zmc2V0XG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhID0geyB4OiAwLCB5OiAwIH1cblxuICBjb25zdCBhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPiA9IHtcbiAgICBpbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGFibGUsXG4gICAgZWxlbWVudCxcbiAgICBwYWdlQ29vcmRzLFxuICAgIHBoYXNlLFxuICAgIHJlY3QsXG4gICAgc3RhcnRPZmZzZXQsXG4gICAgc3RhdGVzLFxuICAgIHByZUVuZDogZmFsc2UsXG4gICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICB9XG5cbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyA9IHN0YXRlc1xuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gbnVsbFxuICBzdGFydEFsbChhcmcpXG5cbiAgYXJnLnBhZ2VDb29yZHMgPSBleHRlbmQoe30sIGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlKVxuXG4gIGNvbnN0IHJlc3VsdCA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBzZXRBbGwoYXJnKVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0QWxsIChhcmcpIHtcbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBhcmcuc3RhdGVzKSB7XG4gICAgaWYgKHN0YXRlLm1ldGhvZHMuc3RhcnQpIHtcbiAgICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgICBzdGF0ZS5tZXRob2RzLnN0YXJ0KGFyZylcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFsbCAoYXJnOiBQYXJ0aWFsPEludGVyYWN0LlNpZ25hbEFyZz4pIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0aW9uLFxuICAgIG1vZGlmaWVyc1N0YXRlID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLFxuICAgIHByZXZDb29yZHMgPSBtb2RpZmllcnNTdGF0ZS5yZXN1bHRcbiAgICAgID8gbW9kaWZpZXJzU3RhdGUucmVzdWx0LmNvb3Jkc1xuICAgICAgOiBpbnRlcmFjdGlvbi5jb29yZHMucHJldi5wYWdlLFxuICAgIHBoYXNlLFxuICAgIHByZUVuZCxcbiAgICByZXF1aXJlRW5kT25seSxcbiAgICByZWN0LFxuICAgIHNraXBNb2RpZmllcnMsXG4gIH0gPSBhcmdcblxuICBjb25zdCBzdGF0ZXMgPSBza2lwTW9kaWZpZXJzXG4gICAgPyBhcmcuc3RhdGVzLnNsaWNlKHNraXBNb2RpZmllcnMpXG4gICAgOiBhcmcuc3RhdGVzXG5cbiAgYXJnLmNvb3JkcyA9IGV4dGVuZCh7fSwgYXJnLnBhZ2VDb29yZHMpXG4gIGFyZy5yZWN0ID0gZXh0ZW5kKHt9LCByZWN0KVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBkZWx0YTogeyB4OiAwLCB5OiAwIH0sXG4gICAgcmVjdERlbHRhOiB7XG4gICAgICBsZWZ0ICA6IDAsXG4gICAgICByaWdodCA6IDAsXG4gICAgICB0b3AgICA6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgfSxcbiAgICBjb29yZHM6IGFyZy5jb29yZHMsXG4gICAgY2hhbmdlZDogdHJ1ZSxcbiAgfVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSBzdGF0ZVxuXG4gICAgaWYgKCFzdGF0ZS5tZXRob2RzLnNldCB8fFxuICAgICAgIXNob3VsZERvKG9wdGlvbnMsIHByZUVuZCwgcmVxdWlyZUVuZE9ubHksIHBoYXNlKSkgeyBjb250aW51ZSB9XG5cbiAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgIHN0YXRlLm1ldGhvZHMuc2V0KGFyZylcbiAgfVxuXG4gIHJlc3VsdC5kZWx0YS54ID0gYXJnLmNvb3Jkcy54IC0gYXJnLnBhZ2VDb29yZHMueFxuICByZXN1bHQuZGVsdGEueSA9IGFyZy5jb29yZHMueSAtIGFyZy5wYWdlQ29vcmRzLnlcblxuICBsZXQgcmVjdENoYW5nZWQgPSBmYWxzZVxuXG4gIGlmIChyZWN0KSB7XG4gICAgcmVzdWx0LnJlY3REZWx0YS5sZWZ0ICAgPSBhcmcucmVjdC5sZWZ0IC0gcmVjdC5sZWZ0XG4gICAgcmVzdWx0LnJlY3REZWx0YS5yaWdodCAgPSBhcmcucmVjdC5yaWdodCAtIHJlY3QucmlnaHRcbiAgICByZXN1bHQucmVjdERlbHRhLnRvcCAgICA9IGFyZy5yZWN0LnRvcCAtIHJlY3QudG9wXG4gICAgcmVzdWx0LnJlY3REZWx0YS5ib3R0b20gPSBhcmcucmVjdC5ib3R0b20gLSByZWN0LmJvdHRvbVxuXG4gICAgcmVjdENoYW5nZWQgPSByZXN1bHQucmVjdERlbHRhLmxlZnQgIT09IDAgfHxcbiAgICAgIHJlc3VsdC5yZWN0RGVsdGEucmlnaHQgIT09IDAgfHxcbiAgICAgIHJlc3VsdC5yZWN0RGVsdGEudG9wICE9PSAwIHx8XG4gICAgICByZXN1bHQucmVjdERlbHRhLmJvdHRvbSAhPT0gMFxuICB9XG5cbiAgcmVzdWx0LmNoYW5nZWQgPSBwcmV2Q29vcmRzLnggIT09IHJlc3VsdC5jb29yZHMueCB8fFxuICAgIHByZXZDb29yZHMueSAhPT0gcmVzdWx0LmNvb3Jkcy55IHx8XG4gICAgcmVjdENoYW5nZWRcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmZ1bmN0aW9uIGJlZm9yZU1vdmUgKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKTogdm9pZCB8IGZhbHNlIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgcGhhc2UsIHByZUVuZCwgc2tpcE1vZGlmaWVycyB9ID0gYXJnXG4gIGNvbnN0IHsgaW50ZXJhY3RhYmxlLCBlbGVtZW50IH0gPSBpbnRlcmFjdGlvblxuICBjb25zdCBtb2RpZmllclJlc3VsdCA9IHNldEFsbChcbiAgICB7XG4gICAgICBpbnRlcmFjdGlvbixcbiAgICAgIGludGVyYWN0YWJsZSxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBwcmVFbmQsXG4gICAgICBwaGFzZSxcbiAgICAgIHBhZ2VDb29yZHM6IGludGVyYWN0aW9uLmNvb3Jkcy5jdXIucGFnZSxcbiAgICAgIHJlY3Q6IGludGVyYWN0aW9uLnJlY3QsXG4gICAgICBzdGF0ZXM6IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMsXG4gICAgICByZXF1aXJlRW5kT25seTogZmFsc2UsXG4gICAgICBza2lwTW9kaWZpZXJzLFxuICAgIH0pXG5cbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdCA9IG1vZGlmaWVyUmVzdWx0XG5cbiAgLy8gZG9uJ3QgZmlyZSBhbiBhY3Rpb24gbW92ZSBpZiBhIG1vZGlmaWVyIHdvdWxkIGtlZXAgdGhlIGV2ZW50IGluIHRoZSBzYW1lXG4gIC8vIGNvcmRpbmF0ZXMgYXMgYmVmb3JlXG4gIGlmICghbW9kaWZpZXJSZXN1bHQuY2hhbmdlZCAmJiBpbnRlcmFjdGlvbi5pbnRlcmFjdGluZygpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBzZXRDb29yZHMoYXJnKVxufVxuXG5mdW5jdGlvbiBiZWZvcmVFbmQgKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKTogdm9pZCB8IGZhbHNlIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgZXZlbnQsIG5vUHJlRW5kIH0gPSBhcmdcbiAgY29uc3Qgc3RhdGVzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlc1xuXG4gIGlmIChub1ByZUVuZCB8fCAhc3RhdGVzIHx8ICFzdGF0ZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBsZXQgZGlkUHJlRW5kID0gZmFsc2VcblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgY29uc3QgeyBvcHRpb25zLCBtZXRob2RzIH0gPSBzdGF0ZVxuXG4gICAgY29uc3QgZW5kUmVzdWx0ID0gbWV0aG9kcy5iZWZvcmVFbmQgJiYgbWV0aG9kcy5iZWZvcmVFbmQoYXJnKVxuXG4gICAgaWYgKGVuZFJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgIGludGVyYWN0aW9uLm1vZGlmaWVycy5lbmRQcmV2ZW50ZWQgPSB0cnVlXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgZW5kT25seSBvcHRpb24gaXMgdHJ1ZSBmb3IgYW55IG1vZGlmaWVyXG4gICAgaWYgKCFkaWRQcmVFbmQgJiYgc2hvdWxkRG8ob3B0aW9ucywgdHJ1ZSwgdHJ1ZSkpIHtcbiAgICAgIC8vIGZpcmUgYSBtb3ZlIGV2ZW50IGF0IHRoZSBtb2RpZmllZCBjb29yZGluYXRlc1xuICAgICAgaW50ZXJhY3Rpb24ubW92ZSh7IGV2ZW50LCBwcmVFbmQ6IHRydWUgfSlcbiAgICAgIGRpZFByZUVuZCA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcCAoYXJnOiBJbnRlcmFjdC5TaWduYWxBcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiB9ID0gYXJnXG4gIGNvbnN0IHN0YXRlcyA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXNcblxuICBpZiAoIXN0YXRlcyB8fCAhc3RhdGVzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgbW9kaWZpZXJBcmcgPSBleHRlbmQoe1xuICAgIHN0YXRlcyxcbiAgICBpbnRlcmFjdGFibGU6IGludGVyYWN0aW9uLmludGVyYWN0YWJsZSxcbiAgICBlbGVtZW50OiBpbnRlcmFjdGlvbi5lbGVtZW50LFxuICB9LCBhcmcpXG5cbiAgcmVzdG9yZUNvb3JkcyhhcmcpXG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBtb2RpZmllckFyZy5zdGF0ZSA9IHN0YXRlXG5cbiAgICBpZiAoc3RhdGUubWV0aG9kcy5zdG9wKSB7IHN0YXRlLm1ldGhvZHMuc3RvcChtb2RpZmllckFyZykgfVxuICB9XG5cbiAgYXJnLmludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMgPSBudWxsXG4gIGFyZy5pbnRlcmFjdGlvbi5tb2RpZmllcnMuZW5kUHJldmVudGVkID0gZmFsc2Vcbn1cblxuZnVuY3Rpb24gZ2V0TW9kaWZpZXJMaXN0IChpbnRlcmFjdGlvbikge1xuICBjb25zdCBhY3Rpb25PcHRpb25zID0gaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlLm9wdGlvbnNbaW50ZXJhY3Rpb24ucHJlcGFyZWQubmFtZV1cbiAgY29uc3QgYWN0aW9uTW9kaWZpZXJzID0gYWN0aW9uT3B0aW9ucy5tb2RpZmllcnNcblxuICBpZiAoYWN0aW9uTW9kaWZpZXJzICYmIGFjdGlvbk1vZGlmaWVycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWN0aW9uTW9kaWZpZXJzLmZpbHRlcihcbiAgICAgIChtb2RpZmllcikgPT4gIW1vZGlmaWVyLm9wdGlvbnMgfHwgbW9kaWZpZXIub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZVxuICAgIClcbiAgfVxuXG4gIHJldHVybiBbJ3NuYXAnLCAnc25hcFNpemUnLCAnc25hcEVkZ2VzJywgJ3Jlc3RyaWN0JywgJ3Jlc3RyaWN0RWRnZXMnLCAncmVzdHJpY3RTaXplJ11cbiAgICAubWFwKCh0eXBlKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gYWN0aW9uT3B0aW9uc1t0eXBlXVxuXG4gICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZWQgJiYge1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBtZXRob2RzOiBvcHRpb25zLl9tZXRob2RzLFxuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcigobSkgPT4gISFtKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZVN0YXRlcyAobW9kaWZpZXJMaXN0KSB7XG4gIGNvbnN0IHN0YXRlcyA9IFtdXG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vZGlmaWVyTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCB7IG9wdGlvbnMsIG1ldGhvZHMsIG5hbWUgfSA9IG1vZGlmaWVyTGlzdFtpbmRleF1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZW5hYmxlZCA9PT0gZmFsc2UpIHsgY29udGludWUgfVxuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgbWV0aG9kcyxcbiAgICAgIGluZGV4LFxuICAgICAgbmFtZSxcbiAgICB9XG5cbiAgICBzdGF0ZXMucHVzaChzdGF0ZSlcbiAgfVxuXG4gIHJldHVybiBzdGF0ZXNcbn1cblxuZnVuY3Rpb24gc2V0Q29vcmRzIChhcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfSA9IGFyZ1xuICBjb25zdCBjdXJDb29yZHMgPSBhcmcuY3VyQ29vcmRzIHx8IGludGVyYWN0aW9uLmNvb3Jkcy5jdXJcbiAgY29uc3Qgc3RhcnRDb29yZHMgPSBhcmcuc3RhcnRDb29yZHMgfHwgaW50ZXJhY3Rpb24uY29vcmRzLnN0YXJ0XG4gIGNvbnN0IHsgcmVzdWx0LCBzdGFydERlbHRhIH0gPSBpbnRlcmFjdGlvbi5tb2RpZmllcnNcbiAgY29uc3QgY3VyRGVsdGEgPSByZXN1bHQuZGVsdGFcblxuICBpZiAocGhhc2UgPT09ICdzdGFydCcpIHtcbiAgICBleHRlbmQoaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0RGVsdGEsIHJlc3VsdC5kZWx0YSlcbiAgfVxuXG4gIGZvciAoY29uc3QgW2Nvb3Jkc1NldCwgZGVsdGFdIG9mIFtbc3RhcnRDb29yZHMsIHN0YXJ0RGVsdGFdLCBbY3VyQ29vcmRzLCBjdXJEZWx0YV1dKSB7XG4gICAgY29vcmRzU2V0LnBhZ2UueCAgICs9IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55ICAgKz0gZGVsdGEueVxuICAgIGNvb3Jkc1NldC5jbGllbnQueCArPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LmNsaWVudC55ICs9IGRlbHRhLnlcbiAgfVxuXG4gIGNvbnN0IHsgcmVjdERlbHRhIH0gPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0XG4gIGNvbnN0IHJlY3QgPSBhcmcucmVjdCB8fCBpbnRlcmFjdGlvbi5yZWN0XG5cbiAgcmVjdC5sZWZ0ICAgKz0gcmVjdERlbHRhLmxlZnRcbiAgcmVjdC5yaWdodCAgKz0gcmVjdERlbHRhLnJpZ2h0XG4gIHJlY3QudG9wICAgICs9IHJlY3REZWx0YS50b3BcbiAgcmVjdC5ib3R0b20gKz0gcmVjdERlbHRhLmJvdHRvbVxuXG4gIHJlY3Qud2lkdGggPSByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0XG4gIHJlY3QuaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcFxufVxuXG5mdW5jdGlvbiByZXN0b3JlQ29vcmRzICh7IGludGVyYWN0aW9uOiB7IGNvb3JkcywgcmVjdCwgbW9kaWZpZXJzIH0gfTogSW50ZXJhY3QuU2lnbmFsQXJnKSB7XG4gIGlmICghbW9kaWZpZXJzLnJlc3VsdCkgeyByZXR1cm4gfVxuXG4gIGNvbnN0IHsgc3RhcnREZWx0YSB9ID0gbW9kaWZpZXJzXG4gIGNvbnN0IHsgZGVsdGE6IGN1ckRlbHRhLCByZWN0RGVsdGEgfSA9IG1vZGlmaWVycy5yZXN1bHRcblxuICBjb25zdCBjb29yZHNBbmREZWx0YXMgPSBbXG4gICAgW2Nvb3Jkcy5zdGFydCwgc3RhcnREZWx0YV0sXG4gICAgW2Nvb3Jkcy5jdXIsIGN1ckRlbHRhXSxcbiAgXVxuXG4gIGZvciAoY29uc3QgW2Nvb3Jkc1NldCwgZGVsdGFdIG9mIGNvb3Jkc0FuZERlbHRhcyBhcyBhbnkpIHtcbiAgICBjb29yZHNTZXQucGFnZS54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55IC09IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggLT0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSAtPSBkZWx0YS55XG4gIH1cblxuICByZWN0LmxlZnQgLT0gcmVjdERlbHRhLmxlZnRcbiAgcmVjdC5yaWdodCAtPSByZWN0RGVsdGEucmlnaHRcbiAgcmVjdC50b3AgLT0gcmVjdERlbHRhLnRvcFxuICByZWN0LmJvdHRvbSAtPSByZWN0RGVsdGEuYm90dG9tXG59XG5cbmZ1bmN0aW9uIHNob3VsZERvIChvcHRpb25zLCBwcmVFbmQ/OiBib29sZWFuLCByZXF1aXJlRW5kT25seT86IGJvb2xlYW4sIHBoYXNlPzogc3RyaW5nKSB7XG4gIHJldHVybiBvcHRpb25zXG4gICAgPyBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlICYmXG4gICAgICAocHJlRW5kIHx8ICFvcHRpb25zLmVuZE9ubHkpICYmXG4gICAgICAoIXJlcXVpcmVFbmRPbmx5IHx8IG9wdGlvbnMuZW5kT25seSB8fCBvcHRpb25zLmFsd2F5c09uRW5kKSAmJlxuICAgICAgKG9wdGlvbnMuc2V0U3RhcnQgfHwgcGhhc2UgIT09ICdzdGFydCcpXG4gICAgOiAhcmVxdWlyZUVuZE9ubHlcbn1cblxuZnVuY3Rpb24gZ2V0UmVjdE9mZnNldCAocmVjdCwgY29vcmRzKSB7XG4gIHJldHVybiByZWN0XG4gICAgPyB7XG4gICAgICBsZWZ0ICA6IGNvb3Jkcy54IC0gcmVjdC5sZWZ0LFxuICAgICAgdG9wICAgOiBjb29yZHMueSAtIHJlY3QudG9wLFxuICAgICAgcmlnaHQgOiByZWN0LnJpZ2h0ICAtIGNvb3Jkcy54LFxuICAgICAgYm90dG9tOiByZWN0LmJvdHRvbSAtIGNvb3Jkcy55LFxuICAgIH1cbiAgICA6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VNb2RpZmllcjxcbiAgRGVmYXVsdHMgZXh0ZW5kcyB7IGVuYWJsZWQ/OiBib29sZWFuIH0sXG4gIE5hbWUgZXh0ZW5kcyBzdHJpbmdcbj4gKFxuICBtb2R1bGU6IHsgZGVmYXVsdHM/OiBEZWZhdWx0cywgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIG5hbWU/OiBOYW1lXG4pIHtcbiAgY29uc3QgeyBkZWZhdWx0cyB9ID0gbW9kdWxlXG4gIGNvbnN0IG1ldGhvZHMgPSB7XG4gICAgc3RhcnQ6IG1vZHVsZS5zdGFydCxcbiAgICBzZXQ6IG1vZHVsZS5zZXQsXG4gICAgYmVmb3JlRW5kOiBtb2R1bGUuYmVmb3JlRW5kLFxuICAgIHN0b3A6IG1vZHVsZS5zdG9wLFxuICB9XG5cbiAgY29uc3QgbW9kaWZpZXIgPSAob3B0aW9ucz86IFBhcnRpYWw8RGVmYXVsdHM+KSA9PiB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cblxuICAgIG9wdGlvbnMuZW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcblxuICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHRzIHRvIG9wdGlvbnNcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpIHtcbiAgICAgICAgb3B0aW9uc1twcm9wXSA9IGRlZmF1bHRzW3Byb3BdXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbTogTW9kaWZpZXI8TmFtZT4gPSB7IG9wdGlvbnMsIG1ldGhvZHMsIG5hbWUgfVxuXG4gICAgcmV0dXJuIG1cbiAgfVxuXG4gIGlmIChuYW1lICYmIHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJykge1xuICAgIC8vIGZvciBiYWNrd3JhZHMgY29tcGF0aWJpbGl0eVxuICAgIG1vZGlmaWVyLl9kZWZhdWx0cyA9IGRlZmF1bHRzXG4gICAgbW9kaWZpZXIuX21ldGhvZHMgPSBtZXRob2RzXG4gIH1cblxuICByZXR1cm4gbW9kaWZpZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBpZDogJ21vZGlmaWVycy9iYXNlJyxcbiAgaW5zdGFsbCxcbiAgc3RhcnRBbGwsXG4gIHNldEFsbCxcbiAgcHJlcGFyZVN0YXRlcyxcbiAgc3RhcnQsXG4gIGJlZm9yZU1vdmUsXG4gIGJlZm9yZUVuZCxcbiAgc3RvcCxcbiAgc2hvdWxkRG8sXG4gIGdldE1vZGlmaWVyTGlzdCxcbiAgZ2V0UmVjdE9mZnNldCxcbiAgbWFrZU1vZGlmaWVyLFxufVxuXG5leHBvcnQge1xuICBtYWtlTW9kaWZpZXIsXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFzRDdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFdkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUc7WUFDdEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNyRCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3JELEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3RELENBQUMsQ0FBQyxDQUFBO0lBRUYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDL0MsSUFBSSxDQUFDLEdBQW1DLENBQUMsQ0FBQTtRQUN6QyxLQUFLLENBQUMsR0FBbUMsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0s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QUMzQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7S0FDbEIsQ0FBQTtJQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBNEIsRUFBRSxFQUFFO1FBQ2hELE1BQU0sT0FBTyxHQUFhLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBYSxDQUFBO1FBRXRELE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUE7UUFFM0Msa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUMvQjtTQUNGO1FBRUQsTUFBTSxDQUFDLEdBQTZCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUU5RCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQTtJQUVELElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUNwQyw4QkFBOEI7UUFDOUIsUUFBUSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7UUFDN0IsUUFBUSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7S0FDNUI7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsZUFBZTtJQUNiLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEIsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNO0lBQ04sYUFBYTtJQUNiLEtBQUs7SUFDTCxVQUFVO0lBQ1YsU0FBUztJQUNULElBQUk7SUFDSixRQUFRO0lBQ1IsZUFBZTtJQUNmLGFBQWE7SUFDYixZQUFZO0NBQ2IsQ0FBQTtBQUVELE9BQU8sRUFDTCxZQUFZLEdBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjb3BlIH0gZnJvbSAnQGludGVyYWN0anMvY29yZS9zY29wZSdcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9zY29wZScge1xuICBpbnRlcmZhY2UgU2NvcGUge1xuICAgIG1vZGlmaWVycz86IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGlvbiB7XG4gICAgbW9kaWZpZXJzPzoge1xuICAgICAgc3RhdGVzOiBhbnlbXVxuICAgICAgb2Zmc2V0czogYW55XG4gICAgICBzdGFydE9mZnNldDogYW55XG4gICAgICBzdGFydERlbHRhOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgcmVzdWx0Pzoge1xuICAgICAgICBkZWx0YToge1xuICAgICAgICAgIHg6IG51bWJlclxuICAgICAgICAgIHk6IG51bWJlclxuICAgICAgICB9XG4gICAgICAgIHJlY3REZWx0YToge1xuICAgICAgICAgIGxlZnQ6IG51bWJlclxuICAgICAgICAgIHJpZ2h0OiBudW1iZXJcbiAgICAgICAgICB0b3A6IG51bWJlclxuICAgICAgICAgIGJvdHRvbTogbnVtYmVyXG4gICAgICAgIH1cbiAgICAgICAgY29vcmRzOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgICBjaGFuZ2VkOiBib29sZWFuXG4gICAgICB9LFxuICAgICAgZW5kUHJldmVudGVkOiBib29sZWFuXG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL2RlZmF1bHRPcHRpb25zJyB7XG4gIGludGVyZmFjZSBQZXJBY3Rpb25EZWZhdWx0cyB7XG4gICAgbW9kaWZpZXJzPzogTW9kaWZpZXJbXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZpZXI8XG4gIE5hbWUgZXh0ZW5kcyBzdHJpbmcgPSBhbnksXG4gIERlZmF1bHRzIGV4dGVuZHMgeyBlbmFibGVkPzogYm9vbGVhbiB9ID0gYW55XG4+IHtcbiAgb3B0aW9ucz86IERlZmF1bHRzXG4gIG1ldGhvZHM6IHtcbiAgICBzdGFydD86IChhcmc6IEludGVyYWN0LlNpZ25hbEFyZykgPT4gdm9pZFxuICAgIHNldDogKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKSA9PiB2b2lkXG4gICAgYmVmb3JlRW5kPzogKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKSA9PiB2b2lkXG4gICAgc3RvcD86IChhcmc6IEludGVyYWN0LlNpZ25hbEFyZykgPT4gdm9pZFxuICB9LFxuICBuYW1lPzogTmFtZVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0aW9ucyxcbiAgfSA9IHNjb3BlXG5cbiAgc2NvcGUuZGVmYXVsdHMucGVyQWN0aW9uLm1vZGlmaWVycyA9IFtdXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ25ldycsICh7IGludGVyYWN0aW9uIH0pID0+IHtcbiAgICBpbnRlcmFjdGlvbi5tb2RpZmllcnMgPSB7XG4gICAgICBzdGFydE9mZnNldDogeyBsZWZ0OiAwLCByaWdodDogMCwgdG9wOiAwLCBib3R0b206IDAgfSxcbiAgICAgIG9mZnNldHM6IHt9LFxuICAgICAgc3RhdGVzOiBudWxsLFxuICAgICAgcmVzdWx0OiBudWxsLFxuICAgICAgZW5kUHJldmVudGVkOiBmYWxzZSxcbiAgICAgIHN0YXJ0RGVsdGE6IG51bGwsXG4gICAgfVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0JywgKGFyZykgPT4ge1xuICAgIHN0YXJ0KGFyZyBhcyBhbnksIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSlcbiAgfSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWN0aW9uLXJlc3VtZScsIChhcmcpID0+IHtcbiAgICBzdG9wKGFyZyBhcyBSZXF1aXJlZDxJbnRlcmFjdC5TaWduYWxBcmc+KVxuICAgIHN0YXJ0KGFyZyBhcyBSZXF1aXJlZDxJbnRlcmFjdC5TaWduYWxBcmc+LCBhcmcuaW50ZXJhY3Rpb24uY29vcmRzLmN1ci5wYWdlKVxuICAgIGJlZm9yZU1vdmUoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4pXG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2FmdGVyLWFjdGlvbi1tb3ZlJywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLW1vdmUnLCBiZWZvcmVNb3ZlKVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0Jywgc2V0Q29vcmRzKVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWZ0ZXItYWN0aW9uLXN0YXJ0JywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tZW5kJywgYmVmb3JlRW5kKVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignc3RvcCcsIHN0b3ApXG59XG5cbmZ1bmN0aW9uIHN0YXJ0IChcbiAgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfTogSW50ZXJhY3QuU2lnbmFsQXJnLFxuICBwYWdlQ29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbikge1xuICBjb25zdCB7IGludGVyYWN0YWJsZSwgZWxlbWVudCB9ID0gaW50ZXJhY3Rpb25cbiAgY29uc3QgbW9kaWZpZXJMaXN0ID0gZ2V0TW9kaWZpZXJMaXN0KGludGVyYWN0aW9uKVxuICBjb25zdCBzdGF0ZXMgPSBwcmVwYXJlU3RhdGVzKG1vZGlmaWVyTGlzdClcblxuICBjb25zdCByZWN0ID0gZXh0ZW5kKHt9LCBpbnRlcmFjdGlvbi5yZWN0KVxuXG4gIGlmICghKCd3aWR0aCcgIGluIHJlY3QpKSB7IHJlY3Qud2lkdGggID0gcmVjdC5yaWdodCAgLSByZWN0LmxlZnQgfVxuICBpZiAoISgnaGVpZ2h0JyBpbiByZWN0KSkgeyByZWN0LmhlaWdodCA9IHJlY3QuYm90dG9tIC0gcmVjdC50b3AgIH1cblxuICBjb25zdCBzdGFydE9mZnNldCA9IGdldFJlY3RPZmZzZXQocmVjdCwgcGFnZUNvb3JkcylcblxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnRPZmZzZXQgPSBzdGFydE9mZnNldFxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnREZWx0YSA9IHsgeDogMCwgeTogMCB9XG5cbiAgY29uc3QgYXJnOiBQYXJ0aWFsPEludGVyYWN0LlNpZ25hbEFyZz4gPSB7XG4gICAgaW50ZXJhY3Rpb24sXG4gICAgaW50ZXJhY3RhYmxlLFxuICAgIGVsZW1lbnQsXG4gICAgcGFnZUNvb3JkcyxcbiAgICBwaGFzZSxcbiAgICByZWN0LFxuICAgIHN0YXJ0T2Zmc2V0LFxuICAgIHN0YXRlcyxcbiAgICBwcmVFbmQ6IGZhbHNlLFxuICAgIHJlcXVpcmVFbmRPbmx5OiBmYWxzZSxcbiAgfVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMgPSBzdGF0ZXNcbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdCA9IG51bGxcbiAgc3RhcnRBbGwoYXJnKVxuXG4gIGFyZy5wYWdlQ29vcmRzID0gZXh0ZW5kKHt9LCBpbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSlcblxuICBjb25zdCByZXN1bHQgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gc2V0QWxsKGFyZylcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEFsbCAoYXJnKSB7XG4gIGZvciAoY29uc3Qgc3RhdGUgb2YgYXJnLnN0YXRlcykge1xuICAgIGlmIChzdGF0ZS5tZXRob2RzLnN0YXJ0KSB7XG4gICAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgICAgc3RhdGUubWV0aG9kcy5zdGFydChhcmcpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBbGwgKGFyZzogUGFydGlhbDxJbnRlcmFjdC5TaWduYWxBcmc+KSB7XG4gIGNvbnN0IHtcbiAgICBpbnRlcmFjdGlvbixcbiAgICBtb2RpZmllcnNTdGF0ZSA9IGludGVyYWN0aW9uLm1vZGlmaWVycyxcbiAgICBwcmV2Q29vcmRzID0gbW9kaWZpZXJzU3RhdGUucmVzdWx0XG4gICAgICA/IG1vZGlmaWVyc1N0YXRlLnJlc3VsdC5jb29yZHNcbiAgICAgIDogaW50ZXJhY3Rpb24uY29vcmRzLnByZXYucGFnZSxcbiAgICBwaGFzZSxcbiAgICBwcmVFbmQsXG4gICAgcmVxdWlyZUVuZE9ubHksXG4gICAgcmVjdCxcbiAgICBza2lwTW9kaWZpZXJzLFxuICB9ID0gYXJnXG5cbiAgY29uc3Qgc3RhdGVzID0gc2tpcE1vZGlmaWVyc1xuICAgID8gYXJnLnN0YXRlcy5zbGljZShza2lwTW9kaWZpZXJzKVxuICAgIDogYXJnLnN0YXRlc1xuXG4gIGFyZy5jb29yZHMgPSBleHRlbmQoe30sIGFyZy5wYWdlQ29vcmRzKVxuICBhcmcucmVjdCA9IGV4dGVuZCh7fSwgcmVjdClcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgZGVsdGE6IHsgeDogMCwgeTogMCB9LFxuICAgIHJlY3REZWx0YToge1xuICAgICAgbGVmdCAgOiAwLFxuICAgICAgcmlnaHQgOiAwLFxuICAgICAgdG9wICAgOiAwLFxuICAgICAgYm90dG9tOiAwLFxuICAgIH0sXG4gICAgY29vcmRzOiBhcmcuY29vcmRzLFxuICAgIGNoYW5nZWQ6IHRydWUsXG4gIH1cblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIGNvbnN0IHsgb3B0aW9ucyB9ID0gc3RhdGVcblxuICAgIGlmICghc3RhdGUubWV0aG9kcy5zZXQgfHxcbiAgICAgICFzaG91bGREbyhvcHRpb25zLCBwcmVFbmQsIHJlcXVpcmVFbmRPbmx5LCBwaGFzZSkpIHsgY29udGludWUgfVxuXG4gICAgYXJnLnN0YXRlID0gc3RhdGVcbiAgICBzdGF0ZS5tZXRob2RzLnNldChhcmcpXG4gIH1cblxuICByZXN1bHQuZGVsdGEueCA9IGFyZy5jb29yZHMueCAtIGFyZy5wYWdlQ29vcmRzLnhcbiAgcmVzdWx0LmRlbHRhLnkgPSBhcmcuY29vcmRzLnkgLSBhcmcucGFnZUNvb3Jkcy55XG5cbiAgbGV0IHJlY3RDaGFuZ2VkID0gZmFsc2VcblxuICBpZiAocmVjdCkge1xuICAgIHJlc3VsdC5yZWN0RGVsdGEubGVmdCAgID0gYXJnLnJlY3QubGVmdCAtIHJlY3QubGVmdFxuICAgIHJlc3VsdC5yZWN0RGVsdGEucmlnaHQgID0gYXJnLnJlY3QucmlnaHQgLSByZWN0LnJpZ2h0XG4gICAgcmVzdWx0LnJlY3REZWx0YS50b3AgICAgPSBhcmcucmVjdC50b3AgLSByZWN0LnRvcFxuICAgIHJlc3VsdC5yZWN0RGVsdGEuYm90dG9tID0gYXJnLnJlY3QuYm90dG9tIC0gcmVjdC5ib3R0b21cblxuICAgIHJlY3RDaGFuZ2VkID0gcmVzdWx0LnJlY3REZWx0YS5sZWZ0ICE9PSAwIHx8XG4gICAgICByZXN1bHQucmVjdERlbHRhLnJpZ2h0ICE9PSAwIHx8XG4gICAgICByZXN1bHQucmVjdERlbHRhLnRvcCAhPT0gMCB8fFxuICAgICAgcmVzdWx0LnJlY3REZWx0YS5ib3R0b20gIT09IDBcbiAgfVxuXG4gIHJlc3VsdC5jaGFuZ2VkID0gcHJldkNvb3Jkcy54ICE9PSByZXN1bHQuY29vcmRzLnggfHxcbiAgICBwcmV2Q29vcmRzLnkgIT09IHJlc3VsdC5jb29yZHMueSB8fFxuICAgIHJlY3RDaGFuZ2VkXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5mdW5jdGlvbiBiZWZvcmVNb3ZlIChhcmc6IEludGVyYWN0LlNpZ25hbEFyZyk6IHZvaWQgfCBmYWxzZSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIHBoYXNlLCBwcmVFbmQsIHNraXBNb2RpZmllcnMgfSA9IGFyZ1xuICBjb25zdCB7IGludGVyYWN0YWJsZSwgZWxlbWVudCB9ID0gaW50ZXJhY3Rpb25cbiAgY29uc3QgbW9kaWZpZXJSZXN1bHQgPSBzZXRBbGwoXG4gICAge1xuICAgICAgaW50ZXJhY3Rpb24sXG4gICAgICBpbnRlcmFjdGFibGUsXG4gICAgICBlbGVtZW50LFxuICAgICAgcHJlRW5kLFxuICAgICAgcGhhc2UsXG4gICAgICBwYWdlQ29vcmRzOiBpbnRlcmFjdGlvbi5jb29yZHMuY3VyLnBhZ2UsXG4gICAgICByZWN0OiBpbnRlcmFjdGlvbi5yZWN0LFxuICAgICAgc3RhdGVzOiBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzLFxuICAgICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICAgICAgc2tpcE1vZGlmaWVycyxcbiAgICB9KVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBtb2RpZmllclJlc3VsdFxuXG4gIC8vIGRvbid0IGZpcmUgYW4gYWN0aW9uIG1vdmUgaWYgYSBtb2RpZmllciB3b3VsZCBrZWVwIHRoZSBldmVudCBpbiB0aGUgc2FtZVxuICAvLyBjb3JkaW5hdGVzIGFzIGJlZm9yZVxuICBpZiAoIW1vZGlmaWVyUmVzdWx0LmNoYW5nZWQgJiYgaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgc2V0Q29vcmRzKGFyZylcbn1cblxuZnVuY3Rpb24gYmVmb3JlRW5kIChhcmc6IEludGVyYWN0LlNpZ25hbEFyZyk6IHZvaWQgfCBmYWxzZSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIGV2ZW50LCBub1ByZUVuZCB9ID0gYXJnXG4gIGNvbnN0IHN0YXRlcyA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXNcblxuICBpZiAobm9QcmVFbmQgfHwgIXN0YXRlcyB8fCAhc3RhdGVzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgbGV0IGRpZFByZUVuZCA9IGZhbHNlXG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgIGNvbnN0IHsgb3B0aW9ucywgbWV0aG9kcyB9ID0gc3RhdGVcblxuICAgIGNvbnN0IGVuZFJlc3VsdCA9IG1ldGhvZHMuYmVmb3JlRW5kICYmIG1ldGhvZHMuYmVmb3JlRW5kKGFyZylcblxuICAgIGlmIChlbmRSZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuZW5kUHJldmVudGVkID0gdHJ1ZVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIGVuZE9ubHkgb3B0aW9uIGlzIHRydWUgZm9yIGFueSBtb2RpZmllclxuICAgIGlmICghZGlkUHJlRW5kICYmIHNob3VsZERvKG9wdGlvbnMsIHRydWUsIHRydWUpKSB7XG4gICAgICAvLyBmaXJlIGEgbW92ZSBldmVudCBhdCB0aGUgbW9kaWZpZWQgY29vcmRpbmF0ZXNcbiAgICAgIGludGVyYWN0aW9uLm1vdmUoeyBldmVudCwgcHJlRW5kOiB0cnVlIH0pXG4gICAgICBkaWRQcmVFbmQgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3AgKGFyZzogSW50ZXJhY3QuU2lnbmFsQXJnKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24gfSA9IGFyZ1xuICBjb25zdCBzdGF0ZXMgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzXG5cbiAgaWYgKCFzdGF0ZXMgfHwgIXN0YXRlcy5sZW5ndGgpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyQXJnID0gZXh0ZW5kKHtcbiAgICBzdGF0ZXMsXG4gICAgaW50ZXJhY3RhYmxlOiBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUsXG4gICAgZWxlbWVudDogaW50ZXJhY3Rpb24uZWxlbWVudCxcbiAgfSwgYXJnKVxuXG4gIHJlc3RvcmVDb29yZHMoYXJnKVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgbW9kaWZpZXJBcmcuc3RhdGUgPSBzdGF0ZVxuXG4gICAgaWYgKHN0YXRlLm1ldGhvZHMuc3RvcCkgeyBzdGF0ZS5tZXRob2RzLnN0b3AobW9kaWZpZXJBcmcpIH1cbiAgfVxuXG4gIGFyZy5pbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzID0gbnVsbFxuICBhcmcuaW50ZXJhY3Rpb24ubW9kaWZpZXJzLmVuZFByZXZlbnRlZCA9IGZhbHNlXG59XG5cbmZ1bmN0aW9uIGdldE1vZGlmaWVyTGlzdCAoaW50ZXJhY3Rpb24pIHtcbiAgY29uc3QgYWN0aW9uT3B0aW9ucyA9IGludGVyYWN0aW9uLmludGVyYWN0YWJsZS5vcHRpb25zW2ludGVyYWN0aW9uLnByZXBhcmVkLm5hbWVdXG4gIGNvbnN0IGFjdGlvbk1vZGlmaWVycyA9IGFjdGlvbk9wdGlvbnMubW9kaWZpZXJzXG5cbiAgaWYgKGFjdGlvbk1vZGlmaWVycyAmJiBhY3Rpb25Nb2RpZmllcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGFjdGlvbk1vZGlmaWVycy5maWx0ZXIoXG4gICAgICAobW9kaWZpZXIpID0+ICFtb2RpZmllci5vcHRpb25zIHx8IG1vZGlmaWVyLm9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcbiAgICApXG4gIH1cblxuICByZXR1cm4gWydzbmFwJywgJ3NuYXBTaXplJywgJ3NuYXBFZGdlcycsICdyZXN0cmljdCcsICdyZXN0cmljdEVkZ2VzJywgJ3Jlc3RyaWN0U2l6ZSddXG4gICAgLm1hcCgodHlwZSkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IGFjdGlvbk9wdGlvbnNbdHlwZV1cblxuICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5lbmFibGVkICYmIHtcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgbWV0aG9kczogb3B0aW9ucy5fbWV0aG9kcyxcbiAgICAgIH1cbiAgICB9KVxuICAgIC5maWx0ZXIoKG0pID0+ICEhbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVTdGF0ZXMgKG1vZGlmaWVyTGlzdCkge1xuICBjb25zdCBzdGF0ZXMgPSBbXVxuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtb2RpZmllckxpc3QubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgeyBvcHRpb25zLCBtZXRob2RzLCBuYW1lIH0gPSBtb2RpZmllckxpc3RbaW5kZXhdXG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZWQgPT09IGZhbHNlKSB7IGNvbnRpbnVlIH1cblxuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgb3B0aW9ucyxcbiAgICAgIG1ldGhvZHMsXG4gICAgICBpbmRleCxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgc3RhdGVzLnB1c2goc3RhdGUpXG4gIH1cblxuICByZXR1cm4gc3RhdGVzXG59XG5cbmZ1bmN0aW9uIHNldENvb3JkcyAoYXJnKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIHBoYXNlIH0gPSBhcmdcbiAgY29uc3QgY3VyQ29vcmRzID0gYXJnLmN1ckNvb3JkcyB8fCBpbnRlcmFjdGlvbi5jb29yZHMuY3VyXG4gIGNvbnN0IHN0YXJ0Q29vcmRzID0gYXJnLnN0YXJ0Q29vcmRzIHx8IGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydFxuICBjb25zdCB7IHJlc3VsdCwgc3RhcnREZWx0YSB9ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzXG4gIGNvbnN0IGN1ckRlbHRhID0gcmVzdWx0LmRlbHRhXG5cbiAgaWYgKHBoYXNlID09PSAnc3RhcnQnKSB7XG4gICAgZXh0ZW5kKGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhLCByZXN1bHQuZGVsdGEpXG4gIH1cblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBbW3N0YXJ0Q29vcmRzLCBzdGFydERlbHRhXSwgW2N1ckNvb3JkcywgY3VyRGVsdGFdXSkge1xuICAgIGNvb3Jkc1NldC5wYWdlLnggICArPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LnBhZ2UueSAgICs9IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggKz0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSArPSBkZWx0YS55XG4gIH1cblxuICBjb25zdCB7IHJlY3REZWx0YSB9ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdFxuICBjb25zdCByZWN0ID0gYXJnLnJlY3QgfHwgaW50ZXJhY3Rpb24ucmVjdFxuXG4gIHJlY3QubGVmdCAgICs9IHJlY3REZWx0YS5sZWZ0XG4gIHJlY3QucmlnaHQgICs9IHJlY3REZWx0YS5yaWdodFxuICByZWN0LnRvcCAgICArPSByZWN0RGVsdGEudG9wXG4gIHJlY3QuYm90dG9tICs9IHJlY3REZWx0YS5ib3R0b21cblxuICByZWN0LndpZHRoID0gcmVjdC5yaWdodCAtIHJlY3QubGVmdFxuICByZWN0LmhlaWdodCA9IHJlY3QuYm90dG9tIC0gcmVjdC50b3Bcbn1cblxuZnVuY3Rpb24gcmVzdG9yZUNvb3JkcyAoeyBpbnRlcmFjdGlvbjogeyBjb29yZHMsIHJlY3QsIG1vZGlmaWVycyB9IH06IEludGVyYWN0LlNpZ25hbEFyZykge1xuICBpZiAoIW1vZGlmaWVycy5yZXN1bHQpIHsgcmV0dXJuIH1cblxuICBjb25zdCB7IHN0YXJ0RGVsdGEgfSA9IG1vZGlmaWVyc1xuICBjb25zdCB7IGRlbHRhOiBjdXJEZWx0YSwgcmVjdERlbHRhIH0gPSBtb2RpZmllcnMucmVzdWx0XG5cbiAgY29uc3QgY29vcmRzQW5kRGVsdGFzID0gW1xuICAgIFtjb29yZHMuc3RhcnQsIHN0YXJ0RGVsdGFdLFxuICAgIFtjb29yZHMuY3VyLCBjdXJEZWx0YV0sXG4gIF1cblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBjb29yZHNBbmREZWx0YXMgYXMgYW55KSB7XG4gICAgY29vcmRzU2V0LnBhZ2UueCAtPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LnBhZ2UueSAtPSBkZWx0YS55XG4gICAgY29vcmRzU2V0LmNsaWVudC54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQuY2xpZW50LnkgLT0gZGVsdGEueVxuICB9XG5cbiAgcmVjdC5sZWZ0IC09IHJlY3REZWx0YS5sZWZ0XG4gIHJlY3QucmlnaHQgLT0gcmVjdERlbHRhLnJpZ2h0XG4gIHJlY3QudG9wIC09IHJlY3REZWx0YS50b3BcbiAgcmVjdC5ib3R0b20gLT0gcmVjdERlbHRhLmJvdHRvbVxufVxuXG5mdW5jdGlvbiBzaG91bGREbyAob3B0aW9ucywgcHJlRW5kPzogYm9vbGVhbiwgcmVxdWlyZUVuZE9ubHk/OiBib29sZWFuLCBwaGFzZT86IHN0cmluZykge1xuICByZXR1cm4gb3B0aW9uc1xuICAgID8gb3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSAmJlxuICAgICAgKHByZUVuZCB8fCAhb3B0aW9ucy5lbmRPbmx5KSAmJlxuICAgICAgKCFyZXF1aXJlRW5kT25seSB8fCBvcHRpb25zLmVuZE9ubHkgfHwgb3B0aW9ucy5hbHdheXNPbkVuZCkgJiZcbiAgICAgIChvcHRpb25zLnNldFN0YXJ0IHx8IHBoYXNlICE9PSAnc3RhcnQnKVxuICAgIDogIXJlcXVpcmVFbmRPbmx5XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RPZmZzZXQgKHJlY3QsIGNvb3Jkcykge1xuICByZXR1cm4gcmVjdFxuICAgID8ge1xuICAgICAgbGVmdCAgOiBjb29yZHMueCAtIHJlY3QubGVmdCxcbiAgICAgIHRvcCAgIDogY29vcmRzLnkgLSByZWN0LnRvcCxcbiAgICAgIHJpZ2h0IDogcmVjdC5yaWdodCAgLSBjb29yZHMueCxcbiAgICAgIGJvdHRvbTogcmVjdC5ib3R0b20gLSBjb29yZHMueSxcbiAgICB9XG4gICAgOiB7XG4gICAgICBsZWZ0ICA6IDAsXG4gICAgICB0b3AgICA6IDAsXG4gICAgICByaWdodCA6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgfVxufVxuXG5mdW5jdGlvbiBtYWtlTW9kaWZpZXI8XG4gIERlZmF1bHRzIGV4dGVuZHMgeyBlbmFibGVkPzogYm9vbGVhbiB9LFxuICBOYW1lIGV4dGVuZHMgc3RyaW5nXG4+IChcbiAgbW9kdWxlOiB7IGRlZmF1bHRzPzogRGVmYXVsdHMsIFtrZXk6IHN0cmluZ106IGFueSB9LFxuICBuYW1lPzogTmFtZVxuKSB7XG4gIGNvbnN0IHsgZGVmYXVsdHMgfSA9IG1vZHVsZVxuICBjb25zdCBtZXRob2RzID0ge1xuICAgIHN0YXJ0OiBtb2R1bGUuc3RhcnQsXG4gICAgc2V0OiBtb2R1bGUuc2V0LFxuICAgIGJlZm9yZUVuZDogbW9kdWxlLmJlZm9yZUVuZCxcbiAgICBzdG9wOiBtb2R1bGUuc3RvcCxcbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyID0gKF9vcHRpb25zPzogUGFydGlhbDxEZWZhdWx0cz4pID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBEZWZhdWx0cyA9IChfb3B0aW9ucyB8fCB7fSkgYXMgRGVmYXVsdHNcblxuICAgIG9wdGlvbnMuZW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcblxuICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHRzIHRvIG9wdGlvbnNcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpIHtcbiAgICAgICAgb3B0aW9uc1twcm9wXSA9IGRlZmF1bHRzW3Byb3BdXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbTogTW9kaWZpZXI8TmFtZSwgRGVmYXVsdHM+ID0geyBvcHRpb25zLCBtZXRob2RzLCBuYW1lIH1cblxuICAgIHJldHVybiBtXG4gIH1cblxuICBpZiAobmFtZSAmJiB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyBmb3IgYmFja3dyYWRzIGNvbXBhdGliaWxpdHlcbiAgICBtb2RpZmllci5fZGVmYXVsdHMgPSBkZWZhdWx0c1xuICAgIG1vZGlmaWVyLl9tZXRob2RzID0gbWV0aG9kc1xuICB9XG5cbiAgcmV0dXJuIG1vZGlmaWVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaWQ6ICdtb2RpZmllcnMvYmFzZScsXG4gIGluc3RhbGwsXG4gIHN0YXJ0QWxsLFxuICBzZXRBbGwsXG4gIHByZXBhcmVTdGF0ZXMsXG4gIHN0YXJ0LFxuICBiZWZvcmVNb3ZlLFxuICBiZWZvcmVFbmQsXG4gIHN0b3AsXG4gIHNob3VsZERvLFxuICBnZXRNb2RpZmllckxpc3QsXG4gIGdldFJlY3RPZmZzZXQsXG4gIG1ha2VNb2RpZmllcixcbn1cblxuZXhwb3J0IHtcbiAgbWFrZU1vZGlmaWVyLFxufVxuIl19
export declare const snap: {
(options?: Partial<{
(_options?: Partial<{
enabled: boolean;

@@ -9,3 +9,10 @@ range: number;

relativePoints: any;
}>): import("./base").Modifier<"snap">;
}>): import("./base").Modifier<"snap", {
enabled: boolean;
range: number;
targets: any;
offset: any;
offsetWithOrigin: boolean;
relativePoints: any;
}>;
_defaults: {

@@ -27,3 +34,3 @@ enabled: boolean;

export declare const snapSize: {
(options?: Partial<{
(_options?: Partial<{
enabled: boolean;

@@ -33,3 +40,8 @@ range: number;

offset: any;
}>): import("./base").Modifier<"snapSize">;
}>): import("./base").Modifier<"snapSize", {
enabled: boolean;
range: number;
targets: any;
offset: any;
}>;
_defaults: {

@@ -49,3 +61,3 @@ enabled: boolean;

export declare const snapEdges: {
(options?: Partial<{
(_options?: Partial<{
offset: {

@@ -60,3 +72,13 @@ x: number;

offset: any;
}>>): import("./base").Modifier<"snapEdges">;
}>>): import("./base").Modifier<"snapEdges", {
offset: {
x: number;
y: number;
};
} & Partial<{
enabled: boolean;
range: number;
targets: any;
offset: any;
}>>;
_defaults: {

@@ -81,12 +103,35 @@ offset: {

export declare const restrict: {
(options?: Partial<{
enabled: boolean;
restriction: any;
elementRect: any;
}>): import("./base").Modifier<"restrict">;
_defaults: {
enabled: boolean;
restriction: any;
elementRect: any;
(_options?: Partial<import("../types/types").RestrictOptions>): import("./base").Modifier<"restrict", import("../types/types").RestrictOptions>;
_defaults: import("../types/types").RestrictOptions;
_methods: {
start: any;
set: any;
beforeEnd: any;
stop: any;
};
};
export declare const restrictRect: {
(_options?: Partial<import("../types/types").RestrictOptions & {
elementRect: {
top: number;
left: number;
bottom: number;
right: number;
};
}>): import("./base").Modifier<"restrictRect", import("../types/types").RestrictOptions & {
elementRect: {
top: number;
left: number;
bottom: number;
right: number;
};
}>;
_defaults: import("../types/types").RestrictOptions & {
elementRect: {
top: number;
left: number;
bottom: number;
right: number;
};
};
_methods: {

@@ -100,3 +145,3 @@ start: any;

export declare const restrictEdges: {
(options?: Partial<{
(_options?: Partial<{
enabled: boolean;

@@ -106,3 +151,8 @@ inner: any;

offset: any;
}>): import("./base").Modifier<"restrictEdges">;
}>): import("./base").Modifier<"restrictEdges", {
enabled: boolean;
inner: any;
outer: any;
offset: any;
}>;
_defaults: {

@@ -122,7 +172,11 @@ enabled: boolean;

export declare const restrictSize: {
(options?: Partial<{
(_options?: Partial<{
enabled: boolean;
min: any;
max: any;
}>): import("./base").Modifier<"restrictSize">;
}>): import("./base").Modifier<"restrictSize", {
enabled: boolean;
min: any;
max: any;
}>;
_defaults: {

@@ -129,0 +183,0 @@ enabled: boolean;

import base from './base';
import restrictEdgesModule from './restrict/edges';
import restrictModule from './restrict/pointer';
import restrictRectModule from './restrict/rect';
import restrictSizeModule from './restrict/size';

@@ -13,4 +14,5 @@ import snapEdgesModule from './snap/edges';

export const restrict = makeModifier(restrictModule, 'restrict');
export const restrictRect = makeModifier(restrictRectModule, 'restrictRect');
export const restrictEdges = makeModifier(restrictEdgesModule, 'restrictEdges');
export const restrictSize = makeModifier(restrictSizeModule, 'restrictSize');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxRQUFRLENBQUE7QUFDekIsT0FBTyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxvQkFBb0IsQ0FBQTtBQUMvQyxPQUFPLGtCQUFrQixNQUFNLGlCQUFpQixDQUFBO0FBQ2hELE9BQU8sZUFBZSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLFVBQVUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QyxPQUFPLGNBQWMsTUFBTSxhQUFhLENBQUE7QUFFeEMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtBQUU3QixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQUNoRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQTtBQUNuRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQUNoRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFBO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYmFzZSBmcm9tICcuL2Jhc2UnXG5pbXBvcnQgcmVzdHJpY3RFZGdlc01vZHVsZSBmcm9tICcuL3Jlc3RyaWN0L2VkZ2VzJ1xuaW1wb3J0IHJlc3RyaWN0TW9kdWxlIGZyb20gJy4vcmVzdHJpY3QvcG9pbnRlcidcbmltcG9ydCByZXN0cmljdFNpemVNb2R1bGUgZnJvbSAnLi9yZXN0cmljdC9zaXplJ1xuaW1wb3J0IHNuYXBFZGdlc01vZHVsZSBmcm9tICcuL3NuYXAvZWRnZXMnXG5pbXBvcnQgc25hcE1vZHVsZSBmcm9tICcuL3NuYXAvcG9pbnRlcidcbmltcG9ydCBzbmFwU2l6ZU1vZHVsZSBmcm9tICcuL3NuYXAvc2l6ZSdcblxuY29uc3QgeyBtYWtlTW9kaWZpZXIgfSA9IGJhc2VcblxuZXhwb3J0IGNvbnN0IHNuYXAgPSBtYWtlTW9kaWZpZXIoc25hcE1vZHVsZSwgJ3NuYXAnKVxuZXhwb3J0IGNvbnN0IHNuYXBTaXplID0gbWFrZU1vZGlmaWVyKHNuYXBTaXplTW9kdWxlLCAnc25hcFNpemUnKVxuZXhwb3J0IGNvbnN0IHNuYXBFZGdlcyA9IG1ha2VNb2RpZmllcihzbmFwRWRnZXNNb2R1bGUsICdzbmFwRWRnZXMnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0ID0gbWFrZU1vZGlmaWVyKHJlc3RyaWN0TW9kdWxlLCAncmVzdHJpY3QnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0RWRnZXMgPSBtYWtlTW9kaWZpZXIocmVzdHJpY3RFZGdlc01vZHVsZSwgJ3Jlc3RyaWN0RWRnZXMnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0U2l6ZSA9IG1ha2VNb2RpZmllcihyZXN0cmljdFNpemVNb2R1bGUsICdyZXN0cmljdFNpemUnKVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxRQUFRLENBQUE7QUFDekIsT0FBTyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxvQkFBb0IsQ0FBQTtBQUMvQyxPQUFPLGtCQUFrQixNQUFNLGlCQUFpQixDQUFBO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxlQUFlLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sY0FBYyxNQUFNLGFBQWEsQ0FBQTtBQUV4QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFBO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLENBQUE7QUFDNUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsQ0FBQTtBQUMvRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJhc2UgZnJvbSAnLi9iYXNlJ1xuaW1wb3J0IHJlc3RyaWN0RWRnZXNNb2R1bGUgZnJvbSAnLi9yZXN0cmljdC9lZGdlcydcbmltcG9ydCByZXN0cmljdE1vZHVsZSBmcm9tICcuL3Jlc3RyaWN0L3BvaW50ZXInXG5pbXBvcnQgcmVzdHJpY3RSZWN0TW9kdWxlIGZyb20gJy4vcmVzdHJpY3QvcmVjdCdcbmltcG9ydCByZXN0cmljdFNpemVNb2R1bGUgZnJvbSAnLi9yZXN0cmljdC9zaXplJ1xuaW1wb3J0IHNuYXBFZGdlc01vZHVsZSBmcm9tICcuL3NuYXAvZWRnZXMnXG5pbXBvcnQgc25hcE1vZHVsZSBmcm9tICcuL3NuYXAvcG9pbnRlcidcbmltcG9ydCBzbmFwU2l6ZU1vZHVsZSBmcm9tICcuL3NuYXAvc2l6ZSdcblxuY29uc3QgeyBtYWtlTW9kaWZpZXIgfSA9IGJhc2VcblxuZXhwb3J0IGNvbnN0IHNuYXAgPSBtYWtlTW9kaWZpZXIoc25hcE1vZHVsZSwgJ3NuYXAnKVxuZXhwb3J0IGNvbnN0IHNuYXBTaXplID0gbWFrZU1vZGlmaWVyKHNuYXBTaXplTW9kdWxlLCAnc25hcFNpemUnKVxuZXhwb3J0IGNvbnN0IHNuYXBFZGdlcyA9IG1ha2VNb2RpZmllcihzbmFwRWRnZXNNb2R1bGUsICdzbmFwRWRnZXMnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0ID0gbWFrZU1vZGlmaWVyKHJlc3RyaWN0TW9kdWxlLCAncmVzdHJpY3QnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0UmVjdCA9IG1ha2VNb2RpZmllcihyZXN0cmljdFJlY3RNb2R1bGUsICdyZXN0cmljdFJlY3QnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0RWRnZXMgPSBtYWtlTW9kaWZpZXIocmVzdHJpY3RFZGdlc01vZHVsZSwgJ3Jlc3RyaWN0RWRnZXMnKVxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0U2l6ZSA9IG1ha2VNb2RpZmllcihyZXN0cmljdFNpemVNb2R1bGUsICdyZXN0cmljdFNpemUnKVxuIl19
{
"name": "@interactjs/modifiers",
"version": "1.4.14",
"version": "1.5.0",
"peerDependencies": {
"@interactjs/core": "1.4.14",
"@interactjs/utils": "1.4.14"
"@interactjs/core": "1.5.0",
"@interactjs/utils": "1.5.0"
},

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

@@ -24,3 +24,3 @@ import Interaction from '@interactjs/core/Interaction';

};
getRestrictionRect: (value: any, interaction: any, coords?: import("../../types/types").Point) => any;
getRestrictionRect: (value: any, interaction: any, coords?: import("../../types/types").Point) => import("../../types/types").Rect;
start: typeof start;

@@ -27,0 +27,0 @@ set: typeof set;

@@ -79,2 +79,2 @@ // This module adds the options.resize.restrictEdges setting which sets min and

export default restrictEdges;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlZGdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRUFBK0U7QUFDL0UsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLHFCQUFxQjtBQUNyQiwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELE9BQU87QUFDUCxLQUFLO0FBR0wsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFBO0FBRWhDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsQ0FBQTtBQUN2QyxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3hGLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFeEYsU0FBUyxLQUFLLENBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QztJQUM5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFBO0lBQ3JELElBQUksTUFBTSxDQUFBO0lBRVYsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVqRyxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUVELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUVqQyxLQUFLLENBQUMsTUFBTSxHQUFHO1FBQ2IsR0FBRyxFQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUc7UUFDbEMsSUFBSSxFQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU07UUFDckMsS0FBSyxFQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUs7S0FDckMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUl6QztJQUNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO0lBRTdFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFNO0tBQ1A7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFeEUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBRXZCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQU0sTUFBTSxDQUFDLEdBQUcsRUFBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBTSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDL0Y7U0FDSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUNsRztJQUNELElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUssTUFBTSxDQUFDLElBQUksRUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDaEc7U0FDSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDcEIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUNqRztBQUNILENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBRSxJQUFJLEVBQUUsUUFBUTtJQUM5QixLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDckQsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDNUI7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE9BQU87SUFDUCxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLEtBQUs7SUFDTCxHQUFHO0lBQ0gsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7S0FDYjtDQUNGLENBQUE7QUFFRCxlQUFlLGFBQWEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgbW9kdWxlIGFkZHMgdGhlIG9wdGlvbnMucmVzaXplLnJlc3RyaWN0RWRnZXMgc2V0dGluZyB3aGljaCBzZXRzIG1pbiBhbmRcbi8vIG1heCBmb3IgdGhlIHRvcCwgbGVmdCwgYm90dG9tIGFuZCByaWdodCBlZGdlcyBvZiB0aGUgdGFyZ2V0IGJlaW5nIHJlc2l6ZWQuXG4vL1xuLy8gaW50ZXJhY3QodGFyZ2V0KS5yZXNpemUoe1xuLy8gICBlZGdlczogeyB0b3A6IHRydWUsIGxlZnQ6IHRydWUgfSxcbi8vICAgcmVzdHJpY3RFZGdlczoge1xuLy8gICAgIGlubmVyOiB7IHRvcDogMjAwLCBsZWZ0OiAyMDAsIHJpZ2h0OiA0MDAsIGJvdHRvbTogNDAwIH0sXG4vLyAgICAgb3V0ZXI6IHsgdG9wOiAgIDAsIGxlZnQ6ICAgMCwgcmlnaHQ6IDYwMCwgYm90dG9tOiA2MDAgfSxcbi8vICAgfSxcbi8vIH0pXG5cbmltcG9ydCBJbnRlcmFjdGlvbiBmcm9tICdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJ1xuaW1wb3J0IGV4dGVuZCBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9leHRlbmQnXG5pbXBvcnQgcmVjdFV0aWxzIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzL3JlY3QnXG5pbXBvcnQgcmVzdHJpY3QgZnJvbSAnLi9wb2ludGVyJ1xuXG5jb25zdCB7IGdldFJlc3RyaWN0aW9uUmVjdCB9ID0gcmVzdHJpY3RcbmNvbnN0IG5vSW5uZXIgPSB7IHRvcDogK0luZmluaXR5LCBsZWZ0OiArSW5maW5pdHksIGJvdHRvbTogLUluZmluaXR5LCByaWdodDogLUluZmluaXR5IH1cbmNvbnN0IG5vT3V0ZXIgPSB7IHRvcDogLUluZmluaXR5LCBsZWZ0OiAtSW5maW5pdHksIGJvdHRvbTogK0luZmluaXR5LCByaWdodDogK0luZmluaXR5IH1cblxuZnVuY3Rpb24gc3RhcnQgKHsgaW50ZXJhY3Rpb24sIHN0YXRlIH06IHsgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLCBzdGF0ZTogYW55IH0pIHtcbiAgY29uc3QgeyBvcHRpb25zIH0gPSBzdGF0ZVxuICBjb25zdCBzdGFydE9mZnNldCA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydE9mZnNldFxuICBsZXQgb2Zmc2V0XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBjb25zdCBvZmZzZXRSZWN0ID0gZ2V0UmVzdHJpY3Rpb25SZWN0KG9wdGlvbnMub2Zmc2V0LCBpbnRlcmFjdGlvbiwgaW50ZXJhY3Rpb24uY29vcmRzLnN0YXJ0LnBhZ2UpXG5cbiAgICBvZmZzZXQgPSByZWN0VXRpbHMucmVjdFRvWFkob2Zmc2V0UmVjdClcbiAgfVxuXG4gIG9mZnNldCA9IG9mZnNldCB8fCB7IHg6IDAsIHk6IDAgfVxuXG4gIHN0YXRlLm9mZnNldCA9IHtcbiAgICB0b3A6ICAgIG9mZnNldC55ICsgc3RhcnRPZmZzZXQudG9wLFxuICAgIGxlZnQ6ICAgb2Zmc2V0LnggKyBzdGFydE9mZnNldC5sZWZ0LFxuICAgIGJvdHRvbTogb2Zmc2V0LnkgLSBzdGFydE9mZnNldC5ib3R0b20sXG4gICAgcmlnaHQ6ICBvZmZzZXQueCAtIHN0YXJ0T2Zmc2V0LnJpZ2h0LFxuICB9XG59XG5cbmZ1bmN0aW9uIHNldCAoeyBjb29yZHMsIGludGVyYWN0aW9uLCBzdGF0ZSB9OiB7XG4gIGNvb3JkczogSW50ZXJhY3QuUG9pbnQsXG4gIGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbixcbiAgc3RhdGU6IGFueVxufSkge1xuICBjb25zdCB7IG9mZnNldCwgb3B0aW9ucyB9ID0gc3RhdGVcbiAgY29uc3QgZWRnZXMgPSBpbnRlcmFjdGlvbi5wcmVwYXJlZC5fbGlua2VkRWRnZXMgfHwgaW50ZXJhY3Rpb24ucHJlcGFyZWQuZWRnZXNcblxuICBpZiAoIWVkZ2VzKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBwYWdlID0gZXh0ZW5kKHt9LCBjb29yZHMpXG4gIGNvbnN0IGlubmVyID0gZ2V0UmVzdHJpY3Rpb25SZWN0KG9wdGlvbnMuaW5uZXIsIGludGVyYWN0aW9uLCBwYWdlKSB8fCB7fVxuICBjb25zdCBvdXRlciA9IGdldFJlc3RyaWN0aW9uUmVjdChvcHRpb25zLm91dGVyLCBpbnRlcmFjdGlvbiwgcGFnZSkgfHwge31cblxuICBmaXhSZWN0KGlubmVyLCBub0lubmVyKVxuICBmaXhSZWN0KG91dGVyLCBub091dGVyKVxuXG4gIGlmIChlZGdlcy50b3ApIHtcbiAgICBjb29yZHMueSA9IE1hdGgubWluKE1hdGgubWF4KG91dGVyLnRvcCAgICArIG9mZnNldC50b3AsICAgIHBhZ2UueSksIGlubmVyLnRvcCAgICArIG9mZnNldC50b3ApXG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMuYm90dG9tKSB7XG4gICAgY29vcmRzLnkgPSBNYXRoLm1heChNYXRoLm1pbihvdXRlci5ib3R0b20gKyBvZmZzZXQuYm90dG9tLCBwYWdlLnkpLCBpbm5lci5ib3R0b20gKyBvZmZzZXQuYm90dG9tKVxuICB9XG4gIGlmIChlZGdlcy5sZWZ0KSB7XG4gICAgY29vcmRzLnggPSBNYXRoLm1pbihNYXRoLm1heChvdXRlci5sZWZ0ICAgKyBvZmZzZXQubGVmdCwgICBwYWdlLngpLCBpbm5lci5sZWZ0ICAgKyBvZmZzZXQubGVmdClcbiAgfVxuICBlbHNlIGlmIChlZGdlcy5yaWdodCkge1xuICAgIGNvb3Jkcy54ID0gTWF0aC5tYXgoTWF0aC5taW4ob3V0ZXIucmlnaHQgICsgb2Zmc2V0LnJpZ2h0LCAgcGFnZS54KSwgaW5uZXIucmlnaHQgICsgb2Zmc2V0LnJpZ2h0KVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpeFJlY3QgKHJlY3QsIGRlZmF1bHRzKSB7XG4gIGZvciAoY29uc3QgZWRnZSBvZiBbJ3RvcCcsICdsZWZ0JywgJ2JvdHRvbScsICdyaWdodCddKSB7XG4gICAgaWYgKCEoZWRnZSBpbiByZWN0KSkge1xuICAgICAgcmVjdFtlZGdlXSA9IGRlZmF1bHRzW2VkZ2VdXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlY3Rcbn1cblxuY29uc3QgcmVzdHJpY3RFZGdlcyA9IHtcbiAgbm9Jbm5lcixcbiAgbm9PdXRlcixcbiAgZ2V0UmVzdHJpY3Rpb25SZWN0LFxuICBzdGFydCxcbiAgc2V0LFxuICBkZWZhdWx0czoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIGlubmVyOiBudWxsLFxuICAgIG91dGVyOiBudWxsLFxuICAgIG9mZnNldDogbnVsbCxcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVzdHJpY3RFZGdlc1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlZGdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRUFBK0U7QUFDL0UsNkVBQTZFO0FBQzdFLEVBQUU7QUFDRiw0QkFBNEI7QUFDNUIsc0NBQXNDO0FBQ3RDLHFCQUFxQjtBQUNyQiwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELE9BQU87QUFDUCxLQUFLO0FBR0wsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFBO0FBRWhDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsQ0FBQTtBQUN2QyxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3hGLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFeEYsU0FBUyxLQUFLLENBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QztJQUM5RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFBO0lBQ3JELElBQUksTUFBTSxDQUFBO0lBRVYsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVqRyxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN4QztJQUVELE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUVqQyxLQUFLLENBQUMsTUFBTSxHQUFHO1FBQ2IsR0FBRyxFQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUc7UUFDbEMsSUFBSSxFQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU07UUFDckMsS0FBSyxFQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUs7S0FDckMsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUl6QztJQUNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO0lBRTdFLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFNO0tBQ1A7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQW1CLENBQUE7SUFDekYsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBbUIsQ0FBQTtJQUV6RixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2IsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBTSxNQUFNLENBQUMsR0FBRyxFQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtLQUMvRjtTQUNJLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNyQixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ2xHO0lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ2QsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBSyxNQUFNLENBQUMsSUFBSSxFQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNoRztTQUNJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtRQUNwQixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQ2pHO0FBQ0gsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFFLElBQUksRUFBRSxRQUFRO0lBQzlCLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUNyRCxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUM1QjtLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsT0FBTztJQUNQLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsS0FBSztJQUNMLEdBQUc7SUFDSCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtLQUNiO0NBQ0YsQ0FBQTtBQUVELGVBQWUsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBtb2R1bGUgYWRkcyB0aGUgb3B0aW9ucy5yZXNpemUucmVzdHJpY3RFZGdlcyBzZXR0aW5nIHdoaWNoIHNldHMgbWluIGFuZFxuLy8gbWF4IGZvciB0aGUgdG9wLCBsZWZ0LCBib3R0b20gYW5kIHJpZ2h0IGVkZ2VzIG9mIHRoZSB0YXJnZXQgYmVpbmcgcmVzaXplZC5cbi8vXG4vLyBpbnRlcmFjdCh0YXJnZXQpLnJlc2l6ZSh7XG4vLyAgIGVkZ2VzOiB7IHRvcDogdHJ1ZSwgbGVmdDogdHJ1ZSB9LFxuLy8gICByZXN0cmljdEVkZ2VzOiB7XG4vLyAgICAgaW5uZXI6IHsgdG9wOiAyMDAsIGxlZnQ6IDIwMCwgcmlnaHQ6IDQwMCwgYm90dG9tOiA0MDAgfSxcbi8vICAgICBvdXRlcjogeyB0b3A6ICAgMCwgbGVmdDogICAwLCByaWdodDogNjAwLCBib3R0b206IDYwMCB9LFxuLy8gICB9LFxuLy8gfSlcblxuaW1wb3J0IEludGVyYWN0aW9uIGZyb20gJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3Rpb24nXG5pbXBvcnQgZXh0ZW5kIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzL2V4dGVuZCdcbmltcG9ydCByZWN0VXRpbHMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvcmVjdCdcbmltcG9ydCByZXN0cmljdCBmcm9tICcuL3BvaW50ZXInXG5cbmNvbnN0IHsgZ2V0UmVzdHJpY3Rpb25SZWN0IH0gPSByZXN0cmljdFxuY29uc3Qgbm9Jbm5lciA9IHsgdG9wOiArSW5maW5pdHksIGxlZnQ6ICtJbmZpbml0eSwgYm90dG9tOiAtSW5maW5pdHksIHJpZ2h0OiAtSW5maW5pdHkgfVxuY29uc3Qgbm9PdXRlciA9IHsgdG9wOiAtSW5maW5pdHksIGxlZnQ6IC1JbmZpbml0eSwgYm90dG9tOiArSW5maW5pdHksIHJpZ2h0OiArSW5maW5pdHkgfVxuXG5mdW5jdGlvbiBzdGFydCAoeyBpbnRlcmFjdGlvbiwgc3RhdGUgfTogeyBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24sIHN0YXRlOiBhbnkgfSkge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IHN0YXRlXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0T2Zmc2V0XG4gIGxldCBvZmZzZXRcblxuICBpZiAob3B0aW9ucykge1xuICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5vZmZzZXQsIGludGVyYWN0aW9uLCBpbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSlcblxuICAgIG9mZnNldCA9IHJlY3RVdGlscy5yZWN0VG9YWShvZmZzZXRSZWN0KVxuICB9XG5cbiAgb2Zmc2V0ID0gb2Zmc2V0IHx8IHsgeDogMCwgeTogMCB9XG5cbiAgc3RhdGUub2Zmc2V0ID0ge1xuICAgIHRvcDogICAgb2Zmc2V0LnkgKyBzdGFydE9mZnNldC50b3AsXG4gICAgbGVmdDogICBvZmZzZXQueCArIHN0YXJ0T2Zmc2V0LmxlZnQsXG4gICAgYm90dG9tOiBvZmZzZXQueSAtIHN0YXJ0T2Zmc2V0LmJvdHRvbSxcbiAgICByaWdodDogIG9mZnNldC54IC0gc3RhcnRPZmZzZXQucmlnaHQsXG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0ICh7IGNvb3JkcywgaW50ZXJhY3Rpb24sIHN0YXRlIH06IHtcbiAgY29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLFxuICBzdGF0ZTogYW55XG59KSB7XG4gIGNvbnN0IHsgb2Zmc2V0LCBvcHRpb25zIH0gPSBzdGF0ZVxuICBjb25zdCBlZGdlcyA9IGludGVyYWN0aW9uLnByZXBhcmVkLl9saW5rZWRFZGdlcyB8fCBpbnRlcmFjdGlvbi5wcmVwYXJlZC5lZGdlc1xuXG4gIGlmICghZWRnZXMpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHBhZ2UgPSBleHRlbmQoe30sIGNvb3JkcylcbiAgY29uc3QgaW5uZXIgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5pbm5lciwgaW50ZXJhY3Rpb24sIHBhZ2UpIHx8IHt9IGFzIEludGVyYWN0LlJlY3RcbiAgY29uc3Qgb3V0ZXIgPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5vdXRlciwgaW50ZXJhY3Rpb24sIHBhZ2UpIHx8IHt9IGFzIEludGVyYWN0LlJlY3RcblxuICBmaXhSZWN0KGlubmVyLCBub0lubmVyKVxuICBmaXhSZWN0KG91dGVyLCBub091dGVyKVxuXG4gIGlmIChlZGdlcy50b3ApIHtcbiAgICBjb29yZHMueSA9IE1hdGgubWluKE1hdGgubWF4KG91dGVyLnRvcCAgICArIG9mZnNldC50b3AsICAgIHBhZ2UueSksIGlubmVyLnRvcCAgICArIG9mZnNldC50b3ApXG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMuYm90dG9tKSB7XG4gICAgY29vcmRzLnkgPSBNYXRoLm1heChNYXRoLm1pbihvdXRlci5ib3R0b20gKyBvZmZzZXQuYm90dG9tLCBwYWdlLnkpLCBpbm5lci5ib3R0b20gKyBvZmZzZXQuYm90dG9tKVxuICB9XG4gIGlmIChlZGdlcy5sZWZ0KSB7XG4gICAgY29vcmRzLnggPSBNYXRoLm1pbihNYXRoLm1heChvdXRlci5sZWZ0ICAgKyBvZmZzZXQubGVmdCwgICBwYWdlLngpLCBpbm5lci5sZWZ0ICAgKyBvZmZzZXQubGVmdClcbiAgfVxuICBlbHNlIGlmIChlZGdlcy5yaWdodCkge1xuICAgIGNvb3Jkcy54ID0gTWF0aC5tYXgoTWF0aC5taW4ob3V0ZXIucmlnaHQgICsgb2Zmc2V0LnJpZ2h0LCAgcGFnZS54KSwgaW5uZXIucmlnaHQgICsgb2Zmc2V0LnJpZ2h0KVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpeFJlY3QgKHJlY3QsIGRlZmF1bHRzKSB7XG4gIGZvciAoY29uc3QgZWRnZSBvZiBbJ3RvcCcsICdsZWZ0JywgJ2JvdHRvbScsICdyaWdodCddKSB7XG4gICAgaWYgKCEoZWRnZSBpbiByZWN0KSkge1xuICAgICAgcmVjdFtlZGdlXSA9IGRlZmF1bHRzW2VkZ2VdXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlY3Rcbn1cblxuY29uc3QgcmVzdHJpY3RFZGdlcyA9IHtcbiAgbm9Jbm5lcixcbiAgbm9PdXRlcixcbiAgZ2V0UmVzdHJpY3Rpb25SZWN0LFxuICBzdGFydCxcbiAgc2V0LFxuICBkZWZhdWx0czoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIGlubmVyOiBudWxsLFxuICAgIG91dGVyOiBudWxsLFxuICAgIG9mZnNldDogbnVsbCxcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVzdHJpY3RFZGdlc1xuIl19

@@ -1,5 +0,7 @@

declare function start({ rect, startOffset, state }: {
declare function start({ rect, startOffset, state, interaction, pageCoords }: {
rect: any;
startOffset: any;
state: any;
interaction: any;
pageCoords: any;
}): void;

@@ -10,4 +12,4 @@ declare function set({ coords, interaction, state }: {

state: any;
}): any;
declare function getRestrictionRect(value: any, interaction: any, coords?: Interact.Point): any;
}): void;
declare function getRestrictionRect(value: any, interaction: any, coords?: Interact.Point): import("../../types/types").Rect;
declare const restrict: {

@@ -17,8 +19,4 @@ start: typeof start;

getRestrictionRect: typeof getRestrictionRect;
defaults: {
enabled: boolean;
restriction: any;
elementRect: any;
};
defaults: import("../../types/types").RestrictOptions;
};
export default restrict;

@@ -0,16 +1,30 @@

import extend from '@interactjs/utils/extend';
import * as is from '@interactjs/utils/is';
import rectUtils from '@interactjs/utils/rect';
function start({ rect, startOffset, state }) {
function start({ rect, startOffset, state, interaction, pageCoords }) {
const { options } = state;
const { elementRect } = options;
const offset = {};
const offset = extend({
left: 0,
top: 0,
right: 0,
bottom: 0,
}, options.offset || {});
if (rect && elementRect) {
offset.left = startOffset.left - (rect.width * elementRect.left);
offset.top = startOffset.top - (rect.height * elementRect.top);
offset.right = startOffset.right - (rect.width * (1 - elementRect.right));
offset.bottom = startOffset.bottom - (rect.height * (1 - elementRect.bottom));
const restriction = getRestrictionRect(options.restriction, interaction, pageCoords);
const widthDiff = (restriction.right - restriction.left) - rect.width;
const heightDiff = (restriction.bottom - restriction.top) - rect.height;
if (widthDiff < 0) {
offset.left += widthDiff;
offset.right += widthDiff;
}
if (heightDiff < 0) {
offset.top += heightDiff;
offset.bottom += heightDiff;
}
offset.left += startOffset.left - (rect.width * elementRect.left);
offset.top += startOffset.top - (rect.height * elementRect.top);
offset.right += startOffset.right - (rect.width * (1 - elementRect.right));
offset.bottom += startOffset.bottom - (rect.height * (1 - elementRect.bottom));
}
else {
offset.left = offset.top = offset.right = offset.bottom = 0;
}
state.offset = offset;

@@ -22,16 +36,7 @@ }

if (!restriction) {
return state;
return;
}
const rect = restriction;
// object is assumed to have
// x, y, width, height or
// left, top, right, bottom
if ('x' in restriction && 'y' in restriction) {
coords.x = Math.max(Math.min(rect.x + rect.width - offset.right, coords.x), rect.x + offset.left);
coords.y = Math.max(Math.min(rect.y + rect.height - offset.bottom, coords.y), rect.y + offset.top);
}
else {
coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);
coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);
}
const rect = rectUtils.xywhToTlbr(restriction);
coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);
coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);
}

@@ -46,2 +51,8 @@ function getRestrictionRect(value, interaction, coords) {

}
const defaults = {
enabled: false,
restriction: null,
elementRect: null,
offset: null,
};
const restrict = {

@@ -51,9 +62,5 @@ start,

getRestrictionRect,
defaults: {
enabled: false,
restriction: null,
elementRect: null,
},
defaults,
};
export default restrict;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBvaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMxQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUU5QyxTQUFTLEtBQUssQ0FBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO0lBQzFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFDekIsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMvQixNQUFNLE1BQU0sR0FBRyxFQUErQixDQUFBO0lBRTlDLElBQUksSUFBSSxJQUFJLFdBQVcsRUFBRTtRQUN2QixNQUFNLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqRSxNQUFNLENBQUMsR0FBRyxHQUFJLFdBQVcsQ0FBQyxHQUFHLEdBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVoRSxNQUFNLENBQUMsS0FBSyxHQUFJLFdBQVcsQ0FBQyxLQUFLLEdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFJLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzVFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7S0FDOUU7U0FDSTtRQUNILE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0tBQzVEO0lBRUQsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7QUFDdkIsQ0FBQztBQUVELFNBQVMsR0FBRyxDQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7SUFDMUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFakMsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFFaEYsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFBO0tBQUU7SUFFbEMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBRXhCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLElBQUksR0FBRyxJQUFJLFdBQVcsSUFBSSxHQUFHLElBQUksV0FBVyxFQUFFO1FBQzVDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNsRyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDbkc7U0FDSTtRQUNILE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUYsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtLQUM3RjtBQUNILENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBdUI7SUFDdEUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7S0FDMUg7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDdkY7QUFDSCxDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUc7SUFDZixLQUFLO0lBQ0wsR0FBRztJQUNILGtCQUFrQjtJQUNsQixRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxJQUFJO0tBQ2xCO0NBQ0YsQ0FBQTtBQUVELGVBQWUsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaXMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvaXMnXG5pbXBvcnQgcmVjdFV0aWxzIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzL3JlY3QnXG5cbmZ1bmN0aW9uIHN0YXJ0ICh7IHJlY3QsIHN0YXJ0T2Zmc2V0LCBzdGF0ZSB9KSB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gc3RhdGVcbiAgY29uc3QgeyBlbGVtZW50UmVjdCB9ID0gb3B0aW9uc1xuICBjb25zdCBvZmZzZXQgPSB7fSBhcyB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9XG5cbiAgaWYgKHJlY3QgJiYgZWxlbWVudFJlY3QpIHtcbiAgICBvZmZzZXQubGVmdCA9IHN0YXJ0T2Zmc2V0LmxlZnQgLSAocmVjdC53aWR0aCAgKiBlbGVtZW50UmVjdC5sZWZ0KVxuICAgIG9mZnNldC50b3AgID0gc3RhcnRPZmZzZXQudG9wICAtIChyZWN0LmhlaWdodCAqIGVsZW1lbnRSZWN0LnRvcClcblxuICAgIG9mZnNldC5yaWdodCAgPSBzdGFydE9mZnNldC5yaWdodCAgLSAocmVjdC53aWR0aCAgKiAoMSAtIGVsZW1lbnRSZWN0LnJpZ2h0KSlcbiAgICBvZmZzZXQuYm90dG9tID0gc3RhcnRPZmZzZXQuYm90dG9tIC0gKHJlY3QuaGVpZ2h0ICogKDEgLSBlbGVtZW50UmVjdC5ib3R0b20pKVxuICB9XG4gIGVsc2Uge1xuICAgIG9mZnNldC5sZWZ0ID0gb2Zmc2V0LnRvcCA9IG9mZnNldC5yaWdodCA9IG9mZnNldC5ib3R0b20gPSAwXG4gIH1cblxuICBzdGF0ZS5vZmZzZXQgPSBvZmZzZXRcbn1cblxuZnVuY3Rpb24gc2V0ICh7IGNvb3JkcywgaW50ZXJhY3Rpb24sIHN0YXRlIH0pIHtcbiAgY29uc3QgeyBvcHRpb25zLCBvZmZzZXQgfSA9IHN0YXRlXG5cbiAgY29uc3QgcmVzdHJpY3Rpb24gPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5yZXN0cmljdGlvbiwgaW50ZXJhY3Rpb24sIGNvb3JkcylcblxuICBpZiAoIXJlc3RyaWN0aW9uKSB7IHJldHVybiBzdGF0ZSB9XG5cbiAgY29uc3QgcmVjdCA9IHJlc3RyaWN0aW9uXG5cbiAgLy8gb2JqZWN0IGlzIGFzc3VtZWQgdG8gaGF2ZVxuICAvLyB4LCB5LCB3aWR0aCwgaGVpZ2h0IG9yXG4gIC8vIGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbVxuICBpZiAoJ3gnIGluIHJlc3RyaWN0aW9uICYmICd5JyBpbiByZXN0cmljdGlvbikge1xuICAgIGNvb3Jkcy54ID0gTWF0aC5tYXgoTWF0aC5taW4ocmVjdC54ICsgcmVjdC53aWR0aCAgLSBvZmZzZXQucmlnaHQsIGNvb3Jkcy54KSwgcmVjdC54ICsgb2Zmc2V0LmxlZnQpXG4gICAgY29vcmRzLnkgPSBNYXRoLm1heChNYXRoLm1pbihyZWN0LnkgKyByZWN0LmhlaWdodCAtIG9mZnNldC5ib3R0b20sIGNvb3Jkcy55KSwgcmVjdC55ICsgb2Zmc2V0LnRvcClcbiAgfVxuICBlbHNlIHtcbiAgICBjb29yZHMueCA9IE1hdGgubWF4KE1hdGgubWluKHJlY3QucmlnaHQgIC0gb2Zmc2V0LnJpZ2h0LCBjb29yZHMueCksIHJlY3QubGVmdCArIG9mZnNldC5sZWZ0KVxuICAgIGNvb3Jkcy55ID0gTWF0aC5tYXgoTWF0aC5taW4ocmVjdC5ib3R0b20gLSBvZmZzZXQuYm90dG9tLCBjb29yZHMueSksIHJlY3QudG9wICArIG9mZnNldC50b3ApXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UmVzdHJpY3Rpb25SZWN0ICh2YWx1ZSwgaW50ZXJhY3Rpb24sIGNvb3Jkcz86IEludGVyYWN0LlBvaW50KSB7XG4gIGlmIChpcy5mdW5jKHZhbHVlKSkge1xuICAgIHJldHVybiByZWN0VXRpbHMucmVzb2x2ZVJlY3RMaWtlKHZhbHVlLCBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUsIGludGVyYWN0aW9uLmVsZW1lbnQsIFtjb29yZHMueCwgY29vcmRzLnksIGludGVyYWN0aW9uXSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVjdFV0aWxzLnJlc29sdmVSZWN0TGlrZSh2YWx1ZSwgaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlLCBpbnRlcmFjdGlvbi5lbGVtZW50KVxuICB9XG59XG5cbmNvbnN0IHJlc3RyaWN0ID0ge1xuICBzdGFydCxcbiAgc2V0LFxuICBnZXRSZXN0cmljdGlvblJlY3QsXG4gIGRlZmF1bHRzOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgcmVzdHJpY3Rpb246IG51bGwsXG4gICAgZWxlbWVudFJlY3Q6IG51bGwsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlc3RyaWN0XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBvaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMxQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUU5QyxTQUFTLEtBQUssQ0FBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUU7SUFDbkUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUN6QixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQy9CLE1BQU0sTUFBTSxHQUFrQixNQUFNLENBQUM7UUFDbkMsSUFBSSxFQUFFLENBQUM7UUFDUCxHQUFHLEVBQUUsQ0FBQztRQUNOLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUM7S0FDVixFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUE7SUFFeEIsSUFBSSxJQUFJLElBQUksV0FBVyxFQUFFO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ3BGLE1BQU0sU0FBUyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNyRSxNQUFNLFVBQVUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFFdkUsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFBO1lBQ3hCLE1BQU0sQ0FBQyxLQUFLLElBQUks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QSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvaXMnXG5pbXBvcnQgcmVjdFV0aWxzIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzL3JlY3QnXG5cbmZ1bmN0aW9uIHN0YXJ0ICh7IHJlY3QsIHN0YXJ0T2Zmc2V0LCBzdGF0ZSwgaW50ZXJhY3Rpb24sIHBhZ2VDb29yZHMgfSkge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IHN0YXRlXG4gIGNvbnN0IHsgZWxlbWVudFJlY3QgfSA9IG9wdGlvbnNcbiAgY29uc3Qgb2Zmc2V0OiBJbnRlcmFjdC5SZWN0ID0gZXh0ZW5kKHtcbiAgICBsZWZ0OiAwLFxuICAgIHRvcDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3R0b206IDAsXG4gIH0sIG9wdGlvbnMub2Zmc2V0IHx8IHt9KVxuXG4gIGlmIChyZWN0ICYmIGVsZW1lbnRSZWN0KSB7XG4gICAgY29uc3QgcmVzdHJpY3Rpb24gPSBnZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5yZXN0cmljdGlvbiwgaW50ZXJhY3Rpb24sIHBhZ2VDb29yZHMpXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gKHJlc3RyaWN0aW9uLnJpZ2h0IC0gcmVzdHJpY3Rpb24ubGVmdCkgLSByZWN0LndpZHRoXG4gICAgY29uc3QgaGVpZ2h0RGlmZiA9IChyZXN0cmljdGlvbi5ib3R0b20gLSByZXN0cmljdGlvbi50b3ApIC0gcmVjdC5oZWlnaHRcblxuICAgIGlmICh3aWR0aERpZmYgPCAwKSB7XG4gICAgICBvZmZzZXQubGVmdCArPSB3aWR0aERpZmZcbiAgICAgIG9mZnNldC5yaWdodCArPSB3aWR0aERpZmZcbiAgICB9XG4gICAgaWYgKGhlaWdodERpZmYgPCAwKSB7XG4gICAgICBvZmZzZXQudG9wICs9IGhlaWdodERpZmZcbiAgICAgIG9mZnNldC5ib3R0b20gKz0gaGVpZ2h0RGlmZlxuICAgIH1cblxuICAgIG9mZnNldC5sZWZ0ICs9IHN0YXJ0T2Zmc2V0LmxlZnQgLSAocmVjdC53aWR0aCAgKiBlbGVtZW50UmVjdC5sZWZ0KVxuICAgIG9mZnNldC50b3AgICs9IHN0YXJ0T2Zmc2V0LnRvcCAgLSAocmVjdC5oZWlnaHQgKiBlbGVtZW50UmVjdC50b3ApXG5cbiAgICBvZmZzZXQucmlnaHQgICs9IHN0YXJ0T2Zmc2V0LnJpZ2h0ICAtIChyZWN0LndpZHRoICAqICgxIC0gZWxlbWVudFJlY3QucmlnaHQpKVxuICAgIG9mZnNldC5ib3R0b20gKz0gc3RhcnRPZmZzZXQuYm90dG9tIC0gKHJlY3QuaGVpZ2h0ICogKDEgLSBlbGVtZW50UmVjdC5ib3R0b20pKVxuICB9XG5cbiAgc3RhdGUub2Zmc2V0ID0gb2Zmc2V0XG59XG5cbmZ1bmN0aW9uIHNldCAoeyBjb29yZHMsIGludGVyYWN0aW9uLCBzdGF0ZSB9KSB7XG4gIGNvbnN0IHsgb3B0aW9ucywgb2Zmc2V0IH0gPSBzdGF0ZVxuXG4gIGNvbnN0IHJlc3RyaWN0aW9uID0gZ2V0UmVzdHJpY3Rpb25SZWN0KG9wdGlvbnMucmVzdHJpY3Rpb24sIGludGVyYWN0aW9uLCBjb29yZHMpXG5cbiAgaWYgKCFyZXN0cmljdGlvbikgeyByZXR1cm4gfVxuXG4gIGNvbnN0IHJlY3QgPSByZWN0VXRpbHMueHl3aFRvVGxicihyZXN0cmljdGlvbilcblxuICBjb29yZHMueCA9IE1hdGgubWF4KE1hdGgubWluKHJlY3QucmlnaHQgIC0gb2Zmc2V0LnJpZ2h0LCBjb29yZHMueCksIHJlY3QubGVmdCArIG9mZnNldC5sZWZ0KVxuICBjb29yZHMueSA9IE1hdGgubWF4KE1hdGgubWluKHJlY3QuYm90dG9tIC0gb2Zmc2V0LmJvdHRvbSwgY29vcmRzLnkpLCByZWN0LnRvcCAgKyBvZmZzZXQudG9wKVxufVxuXG5mdW5jdGlvbiBnZXRSZXN0cmljdGlvblJlY3QgKHZhbHVlLCBpbnRlcmFjdGlvbiwgY29vcmRzPzogSW50ZXJhY3QuUG9pbnQpIHtcbiAgaWYgKGlzLmZ1bmModmFsdWUpKSB7XG4gICAgcmV0dXJuIHJlY3RVdGlscy5yZXNvbHZlUmVjdExpa2UodmFsdWUsIGludGVyYWN0aW9uLmludGVyYWN0YWJsZSwgaW50ZXJhY3Rpb24uZWxlbWVudCwgW2Nvb3Jkcy54LCBjb29yZHMueSwgaW50ZXJhY3Rpb25dKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiByZWN0VXRpbHMucmVzb2x2ZVJlY3RMaWtlKHZhbHVlLCBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUsIGludGVyYWN0aW9uLmVsZW1lbnQpXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdHM6IEludGVyYWN0LlJlc3RyaWN0T3B0aW9ucyA9IHtcbiAgZW5hYmxlZDogZmFsc2UsXG4gIHJlc3RyaWN0aW9uOiBudWxsLFxuICBlbGVtZW50UmVjdDogbnVsbCxcbiAgb2Zmc2V0OiBudWxsLFxufVxuXG5jb25zdCByZXN0cmljdCA9IHtcbiAgc3RhcnQsXG4gIHNldCxcbiAgZ2V0UmVzdHJpY3Rpb25SZWN0LFxuICBkZWZhdWx0cyxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVzdHJpY3RcbiJdfQ==

@@ -1,11 +0,1 @@

// This module adds the options.resize.restrictSize setting which sets min and
// max width and height for the target being resized.
//
// interact(target).resize({
// edges: { top: true, left: true },
// restrictSize: {
// min: { width: -600, height: -600 },
// max: { width: 600, height: 600 },
// },
// })
import extend from '@interactjs/utils/extend';

@@ -64,2 +54,2 @@ import rectUtils from '@interactjs/utils/rect';

export default restrictSize;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEVBQThFO0FBQzlFLHFEQUFxRDtBQUNyRCxFQUFFO0FBQ0YsNEJBQTRCO0FBQzVCLHNDQUFzQztBQUN0QyxvQkFBb0I7QUFDcEIsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQyxPQUFPO0FBQ1AsS0FBSztBQUVMLE9BQU8sTUFBTSxNQUFNLDBCQUEwQixDQUFBO0FBQzdDLE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFBO0FBQzlDLE9BQU8sYUFBYSxNQUFNLFNBQVMsQ0FBQTtBQUVuQyxNQUFNLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUNyRCxNQUFNLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUVyRCxTQUFTLEtBQUssQ0FBRSxHQUFHO0lBQ2pCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNqQyxDQUFDO0FBRUQsU0FBUyxHQUFHLENBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFBO0lBQ2xDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFDekIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUE7SUFFNUUsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU07S0FDUDtJQUVELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVuRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUE7SUFDckgsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFBO0lBRXJILEtBQUssQ0FBQyxPQUFPLEdBQUc7UUFDZCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDeEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztLQUN6QyxDQUFBO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO0tBQ3ZEO1NBQ0ksSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7UUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQTtLQUN2RDtJQUNELElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtLQUN0RDtTQUNJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtRQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQ3JELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7S0FDdEQ7SUFFRCxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXRCLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRztJQUNuQixLQUFLO0lBQ0wsR0FBRztJQUNILFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxLQUFLO1FBQ2QsR0FBRyxFQUFFLElBQUk7UUFDVCxHQUFHLEVBQUUsSUFBSTtLQUNWO0NBQ0YsQ0FBQTtBQUVELGVBQWUsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBtb2R1bGUgYWRkcyB0aGUgb3B0aW9ucy5yZXNpemUucmVzdHJpY3RTaXplIHNldHRpbmcgd2hpY2ggc2V0cyBtaW4gYW5kXG4vLyBtYXggd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIHRhcmdldCBiZWluZyByZXNpemVkLlxuLy9cbi8vIGludGVyYWN0KHRhcmdldCkucmVzaXplKHtcbi8vICAgZWRnZXM6IHsgdG9wOiB0cnVlLCBsZWZ0OiB0cnVlIH0sXG4vLyAgIHJlc3RyaWN0U2l6ZToge1xuLy8gICAgIG1pbjogeyB3aWR0aDogLTYwMCwgaGVpZ2h0OiAtNjAwIH0sXG4vLyAgICAgbWF4OiB7IHdpZHRoOiAgNjAwLCBoZWlnaHQ6ICA2MDAgfSxcbi8vICAgfSxcbi8vIH0pXG5cbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuaW1wb3J0IHJlY3RVdGlscyBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9yZWN0J1xuaW1wb3J0IHJlc3RyaWN0RWRnZXMgZnJvbSAnLi9lZGdlcydcblxuY29uc3Qgbm9NaW4gPSB7IHdpZHRoOiAtSW5maW5pdHksIGhlaWdodDogLUluZmluaXR5IH1cbmNvbnN0IG5vTWF4ID0geyB3aWR0aDogK0luZmluaXR5LCBoZWlnaHQ6ICtJbmZpbml0eSB9XG5cbmZ1bmN0aW9uIHN0YXJ0IChhcmcpIHtcbiAgcmV0dXJuIHJlc3RyaWN0RWRnZXMuc3RhcnQoYXJnKVxufVxuXG5mdW5jdGlvbiBzZXQgKGFyZykge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBzdGF0ZSB9ID0gYXJnXG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gc3RhdGVcbiAgY29uc3QgZWRnZXMgPSBpbnRlcmFjdGlvbi5wcmVwYXJlZC5saW5rZWRFZGdlcyB8fCBpbnRlcmFjdGlvbi5wcmVwYXJlZC5lZGdlc1xuXG4gIGlmICghZWRnZXMpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSByZWN0VXRpbHMueHl3aFRvVGxicihpbnRlcmFjdGlvbi5yZXNpemVSZWN0cy5pbnZlcnRlZClcblxuICBjb25zdCBtaW5TaXplID0gcmVjdFV0aWxzLnRsYnJUb1h5d2gocmVzdHJpY3RFZGdlcy5nZXRSZXN0cmljdGlvblJlY3Qob3B0aW9ucy5taW4sIGludGVyYWN0aW9uLCBhcmcuY29vcmRzKSkgfHwgbm9NaW5cbiAgY29uc3QgbWF4U2l6ZSA9IHJlY3RVdGlscy50bGJyVG9YeXdoKHJlc3RyaWN0RWRnZXMuZ2V0UmVzdHJpY3Rpb25SZWN0KG9wdGlvbnMubWF4LCBpbnRlcmFjdGlvbiwgYXJnLmNvb3JkcykpIHx8IG5vTWF4XG5cbiAgc3RhdGUub3B0aW9ucyA9IHtcbiAgICBlbmFibGVkOiBvcHRpb25zLmVuYWJsZWQsXG4gICAgZW5kT25seTogb3B0aW9ucy5lbmRPbmx5LFxuICAgIGlubmVyOiBleHRlbmQoe30sIHJlc3RyaWN0RWRnZXMubm9Jbm5lciksXG4gICAgb3V0ZXI6IGV4dGVuZCh7fSwgcmVzdHJpY3RFZGdlcy5ub091dGVyKSxcbiAgfVxuXG4gIGlmIChlZGdlcy50b3ApIHtcbiAgICBzdGF0ZS5vcHRpb25zLmlubmVyLnRvcCA9IHJlY3QuYm90dG9tIC0gbWluU2l6ZS5oZWlnaHRcbiAgICBzdGF0ZS5vcHRpb25zLm91dGVyLnRvcCA9IHJlY3QuYm90dG9tIC0gbWF4U2l6ZS5oZWlnaHRcbiAgfVxuICBlbHNlIGlmIChlZGdlcy5ib3R0b20pIHtcbiAgICBzdGF0ZS5vcHRpb25zLmlubmVyLmJvdHRvbSA9IHJlY3QudG9wICsgbWluU2l6ZS5oZWlnaHRcbiAgICBzdGF0ZS5vcHRpb25zLm91dGVyLmJvdHRvbSA9IHJlY3QudG9wICsgbWF4U2l6ZS5oZWlnaHRcbiAgfVxuICBpZiAoZWRnZXMubGVmdCkge1xuICAgIHN0YXRlLm9wdGlvbnMuaW5uZXIubGVmdCA9IHJlY3QucmlnaHQgLSBtaW5TaXplLndpZHRoXG4gICAgc3RhdGUub3B0aW9ucy5vdXRlci5sZWZ0ID0gcmVjdC5yaWdodCAtIG1heFNpemUud2lkdGhcbiAgfVxuICBlbHNlIGlmIChlZGdlcy5yaWdodCkge1xuICAgIHN0YXRlLm9wdGlvbnMuaW5uZXIucmlnaHQgPSByZWN0LmxlZnQgKyBtaW5TaXplLndpZHRoXG4gICAgc3RhdGUub3B0aW9ucy5vdXRlci5yaWdodCA9IHJlY3QubGVmdCArIG1heFNpemUud2lkdGhcbiAgfVxuXG4gIHJlc3RyaWN0RWRnZXMuc2V0KGFyZylcblxuICBzdGF0ZS5vcHRpb25zID0gb3B0aW9uc1xufVxuXG5jb25zdCByZXN0cmljdFNpemUgPSB7XG4gIHN0YXJ0LFxuICBzZXQsXG4gIGRlZmF1bHRzOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgbWluOiBudWxsLFxuICAgIG1heDogbnVsbCxcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVzdHJpY3RTaXplXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDN0MsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFDOUMsT0FBTyxhQUFhLE1BQU0sU0FBUyxDQUFBO0FBRW5DLE1BQU0sS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBQ3JELE1BQU0sS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0FBRXJELFNBQVMsS0FBSyxDQUFFLEdBQUc7SUFDakIsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFFRCxTQUFTLEdBQUcsQ0FBRSxHQUFHO0lBQ2YsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUE7SUFDbEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQTtJQUN6QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQTtJQUU1RSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTTtLQUNQO0lBRUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRW5FLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQTtJQUNySCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUE7SUFFckgsS0FBSyxDQUFDLE9BQU8sR0FBRztRQUNkLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDO0tBQ3pDLENBQUE7SUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDYixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQ3RELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7S0FDdkQ7U0FDSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO0tBQ3ZEO0lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ2QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUNyRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO0tBQ3REO1NBQ0ksSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtLQUN0RDtJQUVELGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFdEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7QUFDekIsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUFHO0lBQ25CLEtBQUs7SUFDTCxHQUFHO0lBQ0gsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsSUFBSTtRQUNULEdBQUcsRUFBRSxJQUFJO0tBQ1Y7Q0FDRixDQUFBO0FBRUQsZUFBZSxZQUFZLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXh0ZW5kIGZyb20gJ0BpbnRlcmFjdGpzL3V0aWxzL2V4dGVuZCdcbmltcG9ydCByZWN0VXRpbHMgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvcmVjdCdcbmltcG9ydCByZXN0cmljdEVkZ2VzIGZyb20gJy4vZWRnZXMnXG5cbmNvbnN0IG5vTWluID0geyB3aWR0aDogLUluZmluaXR5LCBoZWlnaHQ6IC1JbmZpbml0eSB9XG5jb25zdCBub01heCA9IHsgd2lkdGg6ICtJbmZpbml0eSwgaGVpZ2h0OiArSW5maW5pdHkgfVxuXG5mdW5jdGlvbiBzdGFydCAoYXJnKSB7XG4gIHJldHVybiByZXN0cmljdEVkZ2VzLnN0YXJ0KGFyZylcbn1cblxuZnVuY3Rpb24gc2V0IChhcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgc3RhdGUgfSA9IGFyZ1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IHN0YXRlXG4gIGNvbnN0IGVkZ2VzID0gaW50ZXJhY3Rpb24ucHJlcGFyZWQubGlua2VkRWRnZXMgfHwgaW50ZXJhY3Rpb24ucHJlcGFyZWQuZWRnZXNcblxuICBpZiAoIWVkZ2VzKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCByZWN0ID0gcmVjdFV0aWxzLnh5d2hUb1RsYnIoaW50ZXJhY3Rpb24ucmVzaXplUmVjdHMuaW52ZXJ0ZWQpXG5cbiAgY29uc3QgbWluU2l6ZSA9IHJlY3RVdGlscy50bGJyVG9YeXdoKHJlc3RyaWN0RWRnZXMuZ2V0UmVzdHJpY3Rpb25SZWN0KG9wdGlvbnMubWluLCBpbnRlcmFjdGlvbiwgYXJnLmNvb3JkcykpIHx8IG5vTWluXG4gIGNvbnN0IG1heFNpemUgPSByZWN0VXRpbHMudGxiclRvWHl3aChyZXN0cmljdEVkZ2VzLmdldFJlc3RyaWN0aW9uUmVjdChvcHRpb25zLm1heCwgaW50ZXJhY3Rpb24sIGFyZy5jb29yZHMpKSB8fCBub01heFxuXG4gIHN0YXRlLm9wdGlvbnMgPSB7XG4gICAgZW5hYmxlZDogb3B0aW9ucy5lbmFibGVkLFxuICAgIGVuZE9ubHk6IG9wdGlvbnMuZW5kT25seSxcbiAgICBpbm5lcjogZXh0ZW5kKHt9LCByZXN0cmljdEVkZ2VzLm5vSW5uZXIpLFxuICAgIG91dGVyOiBleHRlbmQoe30sIHJlc3RyaWN0RWRnZXMubm9PdXRlciksXG4gIH1cblxuICBpZiAoZWRnZXMudG9wKSB7XG4gICAgc3RhdGUub3B0aW9ucy5pbm5lci50b3AgPSByZWN0LmJvdHRvbSAtIG1pblNpemUuaGVpZ2h0XG4gICAgc3RhdGUub3B0aW9ucy5vdXRlci50b3AgPSByZWN0LmJvdHRvbSAtIG1heFNpemUuaGVpZ2h0XG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMuYm90dG9tKSB7XG4gICAgc3RhdGUub3B0aW9ucy5pbm5lci5ib3R0b20gPSByZWN0LnRvcCArIG1pblNpemUuaGVpZ2h0XG4gICAgc3RhdGUub3B0aW9ucy5vdXRlci5ib3R0b20gPSByZWN0LnRvcCArIG1heFNpemUuaGVpZ2h0XG4gIH1cbiAgaWYgKGVkZ2VzLmxlZnQpIHtcbiAgICBzdGF0ZS5vcHRpb25zLmlubmVyLmxlZnQgPSByZWN0LnJpZ2h0IC0gbWluU2l6ZS53aWR0aFxuICAgIHN0YXRlLm9wdGlvbnMub3V0ZXIubGVmdCA9IHJlY3QucmlnaHQgLSBtYXhTaXplLndpZHRoXG4gIH1cbiAgZWxzZSBpZiAoZWRnZXMucmlnaHQpIHtcbiAgICBzdGF0ZS5vcHRpb25zLmlubmVyLnJpZ2h0ID0gcmVjdC5sZWZ0ICsgbWluU2l6ZS53aWR0aFxuICAgIHN0YXRlLm9wdGlvbnMub3V0ZXIucmlnaHQgPSByZWN0LmxlZnQgKyBtYXhTaXplLndpZHRoXG4gIH1cblxuICByZXN0cmljdEVkZ2VzLnNldChhcmcpXG5cbiAgc3RhdGUub3B0aW9ucyA9IG9wdGlvbnNcbn1cblxuY29uc3QgcmVzdHJpY3RTaXplID0ge1xuICBzdGFydCxcbiAgc2V0LFxuICBkZWZhdWx0czoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIG1pbjogbnVsbCxcbiAgICBtYXg6IG51bGwsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHJlc3RyaWN0U2l6ZVxuIl19
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