🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

fuzzball

Package Overview
Dependencies
Maintainers
1
Versions
132
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fuzzball - npm Package Compare versions

Comparing version
2.1.6
to
2.2.0
+96
lib/native_utils.js
/**
* Native JavaScript replacements for lodash functions
*/
function _intersect(arr1, arr2) {
if (!arr1 || !arr2 || arr1.length === 0 || arr2.length === 0) return [];
if (arr1.length < 100 && arr2.length < 100) {
return arr1.filter(item => arr2.includes(item));
}
const set = new Set(arr2);
return arr1.filter(item => set.has(item));
}
function _intersectWith(arr1, arr2, comparator) {
if (!arr1 || !arr2 || arr1.length === 0 || arr2.length === 0) return [];
return arr1.filter(a => arr2.some(b => comparator(a, b)));
}
function _difference(arr1, arr2) {
if (!arr1) return [];
if (!arr2 || arr2.length === 0) return arr1.slice();
if (arr1.length < 100 && arr2.length < 100) {
return arr1.filter(item => !arr2.includes(item));
}
const set = new Set(arr2);
return arr1.filter(item => !set.has(item));
}
function _differenceWith(arr1, arr2, comparator) {
if (!arr1) return [];
if (!arr2 || arr2.length === 0) return arr1.slice();
return arr1.filter(a => !arr2.some(b => comparator(a, b)));
}
function _uniq(arr) {
if (!arr || arr.length === 0) return [];
if (arr.length === 1) return arr.slice();
return [...new Set(arr)];
}
function _uniqWith(arr, comparator) {
if (!arr || arr.length === 0) return [];
if (arr.length === 1) return arr.slice();
return arr.filter((item, index, self) =>
index === self.findIndex(other => comparator(item, other))
);
}
function _partialRight(func) {
const boundArgs = Array.prototype.slice.call(arguments, 1);
return function() {
const args = Array.prototype.slice.call(arguments);
return func.apply(this, args.concat(boundArgs));
};
}
function _forEach(obj, callback) {
if (!obj) return;
if (Array.isArray(obj)) {
for (let i = 0; i < obj.length; i++) {
callback(obj[i], i);
}
} else {
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {
callback(obj[keys[i]], keys[i]);
}
}
}
function _keys(obj) {
return Object.keys(obj);
}
function _isArray(obj) {
return Array.isArray(obj);
}
module.exports = {
_intersect,
_intersectWith,
_difference,
_differenceWith,
_uniq,
_uniqWith,
_partialRight,
_forEach,
_keys,
_isArray
};
+51
-70

@@ -6,30 +6,16 @@ (function () {

var Heap = require('heap');
var orderBy = require('lodash/orderBy');
var _intersect = require('lodash/intersection');
var _intersectWith = require('lodash/intersectionWith');
var _difference = require('lodash/difference');
var _differenceWith = require('lodash/differenceWith');
var _uniq = require('lodash/uniq');
var _uniqWith = require('lodash/uniqWith');
var _partialRight = require('lodash/partialRight');
var _forEach = require('lodash/forEach');
var _keys = require('lodash/keys');
var _isArray = require('lodash/isArray');
var _toArray = require('lodash/toArray');
var _orderBy = require('lodash/orderBy');
var nativeUtils = require('./lib/native_utils.js');
var _intersect = nativeUtils._intersect;
var _intersectWith = nativeUtils._intersectWith;
var _difference = nativeUtils._difference;
var _differenceWith = nativeUtils._differenceWith;
var _uniq = nativeUtils._uniq;
var _uniqWith = nativeUtils._uniqWith;
var _partialRight = nativeUtils._partialRight;
var _forEach = nativeUtils._forEach;
var _keys = nativeUtils._keys;
var _isArray = nativeUtils._isArray;
function orderByDesc (arr, cmp) {
var mapped = arr.map(function (str) {
return { key: str, value: cmp(str) };
});
mapped.sort(function (a, b) {
return b.value - a.value;
});
return mapped.map(function (item) {
return item.key;
});
}
var iLeven = require('./lib/iLeven.js');

@@ -76,6 +62,8 @@ var wildleven = require('./lib/wildcardLeven.js');

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;
str2 = options.full_process ? full_process(str2, options) : str2;
if (typeof options.subcost === "undefined") options.subcost = 1;
if (options.astral) return iLeven(str1, str2, options, _toArray);
if (options.astral) return iLeven(str1, str2, options);
else return wildleven(str1, str2, options, leven); // falls back to leven if no wildcards

@@ -102,2 +90,4 @@ }

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -128,2 +118,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -155,2 +147,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -182,2 +176,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -208,2 +204,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -237,2 +235,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -267,2 +267,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -292,2 +294,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -319,2 +323,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
//str1 = full_process(str1, options); //fuzzywuzzy runs no matter what, reason? going by options.full_process

@@ -407,4 +413,2 @@ //str2 = full_process(str2, options);

if (!isCustom) { // if custom scorer func let scorer handle it
query = pre_processor(query, options);
options.full_process = false;
if (options.astral && options.normalize) {

@@ -420,2 +424,4 @@ options.normalize = false; // don't normalize again in ratio if doing here

}
query = pre_processor(query, options);
options.full_process = false;
if (query.length === 0) if (typeof console !== undefined) console.warn("Processed query is empty string");

@@ -452,4 +458,4 @@ }

else {
mychoice = pre_processor(options.processor(value), options);
mychoice = process_and_sort(normalize ? mychoice.normalize() : mychoice);
mychoice = pre_processor(normalize ? options.processor(value).normalize() : options.processor(value), options);
mychoice = process_and_sort(mychoice);
}

@@ -465,4 +471,4 @@ result = options.scorer(proc_sorted_query, mychoice, options);

else {
mychoice = pre_processor(options.processor(value), options);
options.tokens = [query_tokens, tokenize((normalize ? mychoice.normalize() : mychoice), options)]
mychoice = pre_processor(normalize ? options.processor(value).normalize() : options.processor(value), options);
options.tokens = [query_tokens, tokenize(mychoice, options)]
}

@@ -478,5 +484,4 @@ //query and mychoice only used for validation here unless trySimple = true

else {
mychoice = pre_processor(options.processor(value), options);
mychoice = pre_processor(normalize ? options.processor(value).normalize() : options.processor(value), options);
if (typeof mychoice !== "string" || mychoice.length === 0) anyblank = true;
if (normalize && typeof mychoice === "string") mychoice = mychoice.normalize();
result = options.scorer(query, mychoice, options);

@@ -582,4 +587,2 @@ }

if (!isCustom) { // if custom scorer func let scorer handle it
query = pre_processor(query, options);
options.full_process = false;
if (options.astral && options.normalize) {

@@ -595,2 +598,4 @@ options.normalize = false; // don't normalize again in ratio if doing here

}
query = pre_processor(query, options);
options.full_process = false;
if (query.length === 0) if (typeof console !== undefined) console.warn("Processed query is empty string");

@@ -629,4 +634,4 @@ }

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = process_and_sort(normalize ? mychoice.normalize() : mychoice);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
mychoice = process_and_sort(mychoice);
}

@@ -642,4 +647,4 @@ result = options.scorer(proc_sorted_query, mychoice, options);

else {
mychoice = pre_processor(options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize((normalize ? mychoice.normalize() : mychoice), options)]
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize(mychoice, options)]
}

@@ -655,5 +660,4 @@ //query and mychoice only used for validation here unless trySimple = true

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
if (typeof mychoice !== "string" || mychoice.length === 0) anyblank = true;
if (normalize && typeof mychoice === "string") mychoice = mychoice.normalize();
result = options.scorer(query, mychoice, options);

@@ -724,3 +728,2 @@ }

var WILDCARD_KEY = "%*SuperUniqueWildcardKey*%";
var normalWarnCharCounts = false;

@@ -730,13 +733,3 @@ function _getCharacterCounts(str, options) {

if (options.astral) {
if (options.normalize) {
if (String.prototype.normalize) {
normalString = str.normalize();
} else {
if (!normalWarnCharCounts) {
if (typeof console !== undefined) console.warn("Normalization not supported in your environment");
normalWarnCharCounts = true;
}
}
}
var charArray = _toArray(normalString)
var charArray = Array.from(normalString);
} else {

@@ -796,3 +789,3 @@ var charArray = normalString.split("");

// sort by similarity to sorted1[i], take most similar
var sim = _orderBy(oldSorted2, function (x) {
var sim = orderBy(oldSorted2, function (x) {
return _cosineSim(charCounts1[sorted1[i]], charCounts2[x])

@@ -938,16 +931,4 @@ }, 'desc')[0];

if (options.astral) {
if (options.normalize) {
if (String.prototype.normalize) {
str1 = str1.normalize();
str2 = str2.normalize();
}
else {
if (!normalWarn) {
if (typeof console !== undefined) console.warn("Normalization not supported in your environment");
normalWarn = true;
}
}
}
levdistance = iLeven(str1, str2, options, _toArray);
lensum = _toArray(str1).length + _toArray(str2).length
levdistance = iLeven(str1, str2, options);
lensum = Array.from(str1).length + Array.from(str2).length
}

@@ -954,0 +935,0 @@ else {

// @ts-check
// levenshtein distance with astral support
// @ts-ignore
require('string.prototype.codepointat');
// @ts-ignore
require('string.fromcodepoint');
/** from https://github.com/hiddentao/fast-levenshtein slightly modified to double weight replacements as done by python-Levenshtein/fuzzywuzzy */

@@ -17,3 +13,3 @@

module.exports = function leven(a, b, options, _toArray) {
module.exports = function leven(a, b, options) {

@@ -33,4 +29,4 @@

}
var achars = _toArray(a);
var bchars = _toArray(b);
var achars = Array.from(a);
var bchars = Array.from(b);
var aLen = achars.length;

@@ -37,0 +33,0 @@ var bLen = bchars.length;

module.exports = function (_uniq, _uniqWith, _partialRight) {
var module = {};
var xre = require('./xregexp/index.js');
var wildLeven = require('./wildcardLeven.js');

@@ -12,3 +11,3 @@ var leven = require('./leven.js');

function validate(str) {
function validate(str) {
if ((typeof str === "string" || str instanceof String) && str.length > 0) return true;

@@ -26,3 +25,3 @@ else return false;

module.tokenize = function unique_tokens(str, options) {
if (options && options.wildcards && _uniqWith && _partialRight) {
if (options && options.wildcards && _uniqWith && _partialRight) {
var partWild = _partialRight(wildLeven, options, leven);

@@ -35,3 +34,5 @@ var wildCompare = function (a, b) { return partWild(a, b) === 0; }

var alphaNumUnicode = xre('[^\\pN|\\pL]', 'g');
// Native Unicode property escapes for alphanumeric check
const alphaNumUnicode = /[^\p{L}\p{N}]/gu;
module.full_process = function full_process(str, options) {

@@ -65,5 +66,4 @@ if (!(str instanceof String) && typeof str !== "string") return "";

// replace non-alphanum non-wildcards
var upattern = '[^\\pN|\\pL|' + escapeRegExp(wildcards) + ']';
var alphaNumUnicodeWild = xre(upattern, 'g');
str = xre.replace(str, alphaNumUnicodeWild, ' ', 'all');
var upattern = '[^\\p{L}\\p{N}|' + escapeRegExp(wildcards) + ']';
str = str.replace(new RegExp(upattern, 'gu'), ' ');

@@ -86,3 +86,5 @@ // replace wildcards with wildchar

}
processedtext = xre.replace(str, alphaNumUnicode, ' ', 'all').toLowerCase().trim();
else {
processedtext = str.replace(alphaNumUnicode, ' ').toLowerCase().trim();
}
}

@@ -109,4 +111,3 @@ if (options && options.collapseWhitespace) {

// normalize option not used unless astral is true, so true + no astral = no normalize
if (!(optclone.normalize === false)) optclone.normalize = true;
if (optclone.astral === true) optclone.full_process = false;
if (!(optclone.normalize === false) && optclone.astral === true) { optclone.normalize = true; }
if (!(optclone.collapseWhitespace === false)) optclone.collapseWhitespace = true;

@@ -113,0 +114,0 @@ return optclone;

@@ -1,14 +0,1 @@

var e,r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}},n={exports:{}};e=n,function(){var r,t,n,o,a,i,s,c,u,l,p,f,d,h,g;n=Math.floor,l=Math.min,t=function(e,r){return e<r?-1:e>r?1:0},u=function(e,r,o,a,i){var s;if(null==o&&(o=0),null==i&&(i=t),o<0)throw new Error("lo must be non-negative");for(null==a&&(a=e.length);o<a;)i(r,e[s=n((o+a)/2)])<0?a=s:o=s+1;return[].splice.apply(e,[o,o-o].concat(r)),r},i=function(e,r,n){return null==n&&(n=t),e.push(r),h(e,0,e.length-1,n)},a=function(e,r){var n,o;return null==r&&(r=t),n=e.pop(),e.length?(o=e[0],e[0]=n,g(e,0,r)):o=n,o},c=function(e,r,n){var o;return null==n&&(n=t),o=e[0],e[0]=r,g(e,0,n),o},s=function(e,r,n){var o;return null==n&&(n=t),e.length&&n(e[0],r)<0&&(r=(o=[e[0],r])[0],e[0]=o[1],g(e,0,n)),r},o=function(e,r){var o,a,i,s,c,u;for(null==r&&(r=t),c=[],a=0,i=(s=function(){u=[];for(var r=0,t=n(e.length/2);0<=t?r<t:r>t;0<=t?r++:r--)u.push(r);return u}.apply(this).reverse()).length;a<i;a++)o=s[a],c.push(g(e,o,r));return c},d=function(e,r,n){var o;if(null==n&&(n=t),-1!==(o=e.indexOf(r)))return h(e,0,o,n),g(e,o,n)},p=function(e,r,n){var a,i,c,u,l;if(null==n&&(n=t),!(i=e.slice(0,r)).length)return i;for(o(i,n),c=0,u=(l=e.slice(r)).length;c<u;c++)a=l[c],s(i,a,n);return i.sort(n).reverse()},f=function(e,r,n){var i,s,c,p,f,d,h,g,v;if(null==n&&(n=t),10*r<=e.length){if(!(c=e.slice(0,r).sort(n)).length)return c;for(s=c[c.length-1],p=0,d=(h=e.slice(r)).length;p<d;p++)n(i=h[p],s)<0&&(u(c,i,0,null,n),c.pop(),s=c[c.length-1]);return c}for(o(e,n),v=[],f=0,g=l(r,e.length);0<=g?f<g:f>g;0<=g?++f:--f)v.push(a(e,n));return v},h=function(e,r,n,o){var a,i,s;for(null==o&&(o=t),a=e[n];n>r&&o(a,i=e[s=n-1>>1])<0;)e[n]=i,n=s;return e[n]=a},g=function(e,r,n){var o,a,i,s,c;for(null==n&&(n=t),a=e.length,c=r,i=e[r],o=2*r+1;o<a;)(s=o+1)<a&&!(n(e[o],e[s])<0)&&(o=s),e[r]=e[o],o=2*(r=o)+1;return e[r]=i,h(e,c,r,n)},r=function(){function Heap(e){this.cmp=null!=e?e:t,this.nodes=[]}return Heap.push=i,Heap.pop=a,Heap.replace=c,Heap.pushpop=s,Heap.heapify=o,Heap.updateItem=d,Heap.nlargest=p,Heap.nsmallest=f,Heap.prototype.push=function(e){return i(this.nodes,e,this.cmp)},Heap.prototype.pop=function(){return a(this.nodes,this.cmp)},Heap.prototype.peek=function(){return this.nodes[0]},Heap.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},Heap.prototype.replace=function(e){return c(this.nodes,e,this.cmp)},Heap.prototype.pushpop=function(e){return s(this.nodes,e,this.cmp)},Heap.prototype.heapify=function(){return o(this.nodes,this.cmp)},Heap.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},Heap.prototype.clear=function(){return this.nodes=[]},Heap.prototype.empty=function(){return 0===this.nodes.length},Heap.prototype.size=function(){return this.nodes.length},Heap.prototype.clone=function(){var e;return(e=new Heap).nodes=this.nodes.slice(0),e},Heap.prototype.toArray=function(){return this.nodes.slice(0)},Heap.prototype.insert=Heap.prototype.push,Heap.prototype.top=Heap.prototype.peek,Heap.prototype.front=Heap.prototype.peek,Heap.prototype.has=Heap.prototype.contains,Heap.prototype.copy=Heap.prototype.clone,Heap}(),e.exports=r}.call(r);var o=n.exports;var a=function arrayMap$4(e,r){for(var t=-1,n=null==e?0:e.length,o=Array(n);++t<n;)o[t]=r(e[t],t,e);return o},i="object"==typeof r&&r&&r.Object===Object&&r,s=i,c="object"==typeof self&&self&&self.Object===Object&&self,u=s||c||Function("return this")(),l=u.Symbol,p=l,f=Object.prototype,d=f.hasOwnProperty,h=f.toString,g=p?p.toStringTag:void 0;var v=function getRawTag$1(e){var r=d.call(e,g),t=e[g];try{e[g]=void 0;var n=!0}catch(e){}var o=h.call(e);return n&&(r?e[g]=t:delete e[g]),o},y=Object.prototype.toString;var m=v,x=function objectToString$1(e){return y.call(e)},b=l?l.toStringTag:void 0;var _=function baseGetTag$5(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":b&&b in Object(e)?m(e):x(e)};var w=function isObject$2(e){var r=typeof e;return null!=e&&("object"==r||"function"==r)},$=_,E=w;var C,j=function isFunction$2(e){if(!E(e))return!1;var r=$(e);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r},k=u["__core-js_shared__"],A=(C=/[^.]+$/.exec(k&&k.keys&&k.keys.IE_PROTO||""))?"Symbol(src)_1."+C:"";var S=function isMasked$1(e){return!!A&&A in e},O=Function.prototype.toString;var R=function toSource$2(e){if(null!=e){try{return O.call(e)}catch(e){}try{return e+""}catch(e){}}return""},I=j,P=S,z=w,F=R,N=/^\[object .+?Constructor\]$/,T=Function.prototype,H=Object.prototype,X=T.toString,L=H.hasOwnProperty,M=RegExp("^"+X.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var U=function baseIsNative$1(e){return!(!z(e)||P(e))&&(I(e)?M:N).test(F(e))},D=function getValue$1(e,r){return null==e?void 0:e[r]};var B=function getNative$7(e,r){var t=D(e,r);return U(t)?t:void 0},q=B(Object,"create"),G=q;var W=function hashClear$1(){this.__data__=G?G(null):{},this.size=0};var Q=function hashDelete$1(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r},Y=q,Z=Object.prototype.hasOwnProperty;var V=function hashGet$1(e){var r=this.__data__;if(Y){var t=r[e];return"__lodash_hash_undefined__"===t?void 0:t}return Z.call(r,e)?r[e]:void 0},K=q,J=Object.prototype.hasOwnProperty;var ee=q;var re=W,te=Q,ne=V,oe=function hashHas$1(e){var r=this.__data__;return K?void 0!==r[e]:J.call(r,e)},ae=function hashSet$1(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=ee&&void 0===r?"__lodash_hash_undefined__":r,this};function Hash$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Hash$1.prototype.clear=re,Hash$1.prototype.delete=te,Hash$1.prototype.get=ne,Hash$1.prototype.has=oe,Hash$1.prototype.set=ae;var ie=Hash$1;var se=function listCacheClear$1(){this.__data__=[],this.size=0};var ce=function eq$1(e,r){return e===r||e!=e&&r!=r};var ue=function assocIndexOf$4(e,r){for(var t=e.length;t--;)if(ce(e[t][0],r))return t;return-1},le=ue,pe=Array.prototype.splice;var fe=ue;var de=ue;var he=ue;var ge=se,ve=function listCacheDelete$1(e){var r=this.__data__,t=le(r,e);return!(t<0)&&(t==r.length-1?r.pop():pe.call(r,t,1),--this.size,!0)},ye=function listCacheGet$1(e){var r=this.__data__,t=fe(r,e);return t<0?void 0:r[t][1]},me=function listCacheHas$1(e){return de(this.__data__,e)>-1},xe=function listCacheSet$1(e,r){var t=this.__data__,n=he(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this};function ListCache$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}ListCache$1.prototype.clear=ge,ListCache$1.prototype.delete=ve,ListCache$1.prototype.get=ye,ListCache$1.prototype.has=me,ListCache$1.prototype.set=xe;var be=ListCache$1,_e=B(u,"Map"),we=ie,$e=be,Ee=_e;var Ce=function isKeyable$1(e){var r=typeof e;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e};var je=function getMapData$4(e,r){var t=e.__data__;return Ce(r)?t["string"==typeof r?"string":"hash"]:t.map},ke=je;var Ae=je;var Se=je;var Oe=je;var Re=function mapCacheClear$1(){this.size=0,this.__data__={hash:new we,map:new(Ee||$e),string:new we}},Ie=function mapCacheDelete$1(e){var r=ke(this,e).delete(e);return this.size-=r?1:0,r},Pe=function mapCacheGet$1(e){return Ae(this,e).get(e)},ze=function mapCacheHas$1(e){return Se(this,e).has(e)},Fe=function mapCacheSet$1(e,r){var t=Oe(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this};function MapCache$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}MapCache$1.prototype.clear=Re,MapCache$1.prototype.delete=Ie,MapCache$1.prototype.get=Pe,MapCache$1.prototype.has=ze,MapCache$1.prototype.set=Fe;var Ne=MapCache$1,Te=function setCacheAdd$1(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},He=function setCacheHas$1(e){return this.__data__.has(e)};function SetCache$3(e){var r=-1,t=null==e?0:e.length;for(this.__data__=new Ne;++r<t;)this.add(e[r])}SetCache$3.prototype.add=SetCache$3.prototype.push=Te,SetCache$3.prototype.has=He;var Xe=SetCache$3;var Le=function baseFindIndex$1(e,r,t,n){for(var o=e.length,a=t+(n?1:-1);n?a--:++a<o;)if(r(e[a],a,e))return a;return-1},Me=function baseIsNaN$1(e){return e!=e},Ue=function strictIndexOf$1(e,r,t){for(var n=t-1,o=e.length;++n<o;)if(e[n]===r)return n;return-1};var De=function baseIndexOf$1(e,r,t){return r==r?Ue(e,r,t):Le(e,Me,t)};var Be=function arrayIncludes$3(e,r){return!!(null==e?0:e.length)&&De(e,r,0)>-1};var qe=function arrayIncludesWith$3(e,r,t){for(var n=-1,o=null==e?0:e.length;++n<o;)if(t(r,e[n]))return!0;return!1};var Ge=function baseUnary$3(e){return function(r){return e(r)}};var We=function cacheHas$3(e,r){return e.has(r)},Qe=Xe,Ye=Be,Ze=qe,Ve=a,Ke=Ge,Je=We,er=Math.min;var rr=function baseIntersection$1(e,r,t){for(var n=t?Ze:Ye,o=e[0].length,a=e.length,i=a,s=Array(a),c=1/0,u=[];i--;){var l=e[i];i&&r&&(l=Ve(l,Ke(r))),c=er(l.length,c),s[i]=!t&&(r||o>=120&&l.length>=120)?new Qe(i&&l):void 0}l=e[0];var p=-1,f=s[0];e:for(;++p<o&&u.length<c;){var d=l[p],h=r?r(d):d;if(d=t||0!==d?d:0,!(f?Je(f,h):n(u,h,t))){for(i=a;--i;){var g=s[i];if(!(g?Je(g,h):n(e[i],h,t)))continue e}f&&f.push(h),u.push(d)}}return u};var tr=function identity$2(e){return e};var nr=function apply$1(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)},or=Math.max;var ar=function overRest$1(e,r,t){return r=or(void 0===r?e.length-1:r,0),function(){for(var n=arguments,o=-1,a=or(n.length-r,0),i=Array(a);++o<a;)i[o]=n[r+o];o=-1;for(var s=Array(r+1);++o<r;)s[o]=n[o];return s[r]=t(i),nr(e,this,s)}};var ir=function constant$1(e){return function(){return e}},sr=B,cr=function(){try{var e=sr(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),ur=ir,lr=cr,pr=lr?function(e,r){return lr(e,"toString",{configurable:!0,enumerable:!1,value:ur(r),writable:!0})}:tr,fr=Date.now;var dr=function shortOut$1(e){var r=0,t=0;return function(){var n=fr(),o=16-(n-t);if(t=n,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}(pr),hr=tr,gr=ar,vr=dr;var yr=function baseRest$2(e,r){return vr(gr(e,r,hr),e+"")};var mr=function isLength$2(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},xr=j,br=mr;var _r=function isArrayLike$3(e){return null!=e&&br(e.length)&&!xr(e)};var wr=function isObjectLike$5(e){return null!=e&&"object"==typeof e},$r=_r,Er=wr;var Cr=function isArrayLikeObject$2(e){return Er(e)&&$r(e)},jr=Cr;var kr=a,Ar=rr,Sr=function castArrayLikeObject$1(e){return jr(e)?e:[]},Or=yr((function(e){var r=kr(e,Sr);return r.length&&r[0]===e[0]?Ar(r):[]})),Rr=Xe,Ir=Be,Pr=qe,zr=a,Fr=Ge,Nr=We;var Tr=function baseDifference$1(e,r,t,n){var o=-1,a=Ir,i=!0,s=e.length,c=[],u=r.length;if(!s)return c;t&&(r=zr(r,Fr(t))),n?(a=Pr,i=!1):r.length>=200&&(a=Nr,i=!1,r=new Rr(r));e:for(;++o<s;){var l=e[o],p=null==t?l:t(l);if(l=n||0!==l?l:0,i&&p==p){for(var f=u;f--;)if(r[f]===p)continue e;c.push(l)}else a(r,p,n)||c.push(l)}return c};var Hr=function arrayPush$1(e,r){for(var t=-1,n=r.length,o=e.length;++t<n;)e[o+t]=r[t];return e},Xr=_,Lr=wr;var Mr=function baseIsArguments$1(e){return Lr(e)&&"[object Arguments]"==Xr(e)},Ur=wr,Dr=Object.prototype,Br=Dr.hasOwnProperty,qr=Dr.propertyIsEnumerable,Gr=Mr(function(){return arguments}())?Mr:function(e){return Ur(e)&&Br.call(e,"callee")&&!qr.call(e,"callee")},Wr=Array.isArray,Qr=Gr,Yr=Wr,Zr=l?l.isConcatSpreadable:void 0;var Vr=Hr,Kr=function isFlattenable$1(e){return Yr(e)||Qr(e)||!!(Zr&&e&&e[Zr])};var Jr=function baseFlatten$1(e,r,t,n,o){var a=-1,i=e.length;for(t||(t=Kr),o||(o=[]);++a<i;){var s=e[a];r>0&&t(s)?r>1?baseFlatten$1(s,r-1,t,n,o):Vr(o,s):n||(o[o.length]=s)}return o},et=Tr,rt=Jr,tt=Cr,nt=yr((function(e,r){return tt(e)?et(e,rt(r,1,tt,!0)):[]})),ot=nt,at=B(u,"Set");var it=function setToArray$3(e){var r=-1,t=Array(e.size);return e.forEach((function(e){t[++r]=e})),t},st=at,ct=function noop$1(){},ut=st&&1/it(new st([,-0]))[1]==1/0?function(e){return new st(e)}:ct,lt=Xe,pt=Be,ft=qe,dt=We,ht=ut,gt=it;var vt=function baseUniq$1(e,r,t){var n=-1,o=pt,a=e.length,i=!0,s=[],c=s;if(t)i=!1,o=ft;else if(a>=200){var u=r?null:ht(e);if(u)return gt(u);i=!1,o=dt,c=new lt}else c=r?[]:s;e:for(;++n<a;){var l=e[n],p=r?r(l):l;if(l=t||0!==l?l:0,i&&p==p){for(var f=c.length;f--;)if(c[f]===p)continue e;r&&c.push(p),s.push(l)}else o(c,p,t)||(c!==s&&c.push(p),s.push(l))}return s};var yt=function uniq(e){return e&&e.length?vt(e):[]};var mt=function copyArray$1(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r},xt=B(u,"DataView"),bt=_e,_t=B(u,"Promise"),wt=at,$t=B(u,"WeakMap"),Et=_,Ct=R,jt=Ct(xt),kt=Ct(bt),At=Ct(_t),St=Ct(wt),Ot=Ct($t),Rt=Et;(xt&&"[object DataView]"!=Rt(new xt(new ArrayBuffer(1)))||bt&&"[object Map]"!=Rt(new bt)||_t&&"[object Promise]"!=Rt(_t.resolve())||wt&&"[object Set]"!=Rt(new wt)||$t&&"[object WeakMap]"!=Rt(new $t))&&(Rt=function(e){var r=Et(e),t="[object Object]"==r?e.constructor:void 0,n=t?Ct(t):"";if(n)switch(n){case jt:return"[object DataView]";case kt:return"[object Map]";case At:return"[object Promise]";case St:return"[object Set]";case Ot:return"[object WeakMap]"}return r});var It=Rt,Pt=_,zt=Wr,Ft=wr;var Nt=function isString$1(e){return"string"==typeof e||!zt(e)&&Ft(e)&&"[object String]"==Pt(e)};var Tt=function iteratorToArray$1(e){for(var r,t=[];!(r=e.next()).done;)t.push(r.value);return t};var Ht=function mapToArray$1(e){var r=-1,t=Array(e.size);return e.forEach((function(e,n){t[++r]=[n,e]})),t};var Xt=function asciiToArray$1(e){return e.split("")},Lt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Mt=function hasUnicode$1(e){return Lt.test(e)},Ut="[\\ud800-\\udfff]",Dt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Bt="\\ud83c[\\udffb-\\udfff]",qt="[^\\ud800-\\udfff]",Gt="(?:\\ud83c[\\udde6-\\uddff]){2}",Wt="[\\ud800-\\udbff][\\udc00-\\udfff]",Qt="(?:"+Dt+"|"+Bt+")"+"?",Yt="[\\ufe0e\\ufe0f]?"+Qt+("(?:\\u200d(?:"+[qt,Gt,Wt].join("|")+")[\\ufe0e\\ufe0f]?"+Qt+")*"),Zt="(?:"+[qt+Dt+"?",Dt,Gt,Wt,Ut].join("|")+")",Vt=RegExp(Bt+"(?="+Bt+")|"+Zt+Yt,"g");var Kt=Xt,Jt=Mt,en=function unicodeToArray$1(e){return e.match(Vt)||[]};var rn=function stringToArray$1(e){return Jt(e)?en(e):Kt(e)},tn=a;var nn=function baseValues$1(e,r){return tn(r,(function(r){return e[r]}))};var on=function baseTimes$1(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n},an={exports:{}};var sn=function stubFalse(){return!1};!function(e,r){var t=u,n=sn,o=r&&!r.nodeType&&r,a=o&&e&&!e.nodeType&&e,i=a&&a.exports===o?t.Buffer:void 0,s=(i?i.isBuffer:void 0)||n;e.exports=s}(an,an.exports);var cn=/^(?:0|[1-9]\d*)$/;var un=function isIndex$1(e,r){var t=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==t||"symbol"!=t&&cn.test(e))&&e>-1&&e%1==0&&e<r},ln=_,pn=mr,fn=wr,dn={};dn["[object Float32Array]"]=dn["[object Float64Array]"]=dn["[object Int8Array]"]=dn["[object Int16Array]"]=dn["[object Int32Array]"]=dn["[object Uint8Array]"]=dn["[object Uint8ClampedArray]"]=dn["[object Uint16Array]"]=dn["[object Uint32Array]"]=!0,dn["[object Arguments]"]=dn["[object Array]"]=dn["[object ArrayBuffer]"]=dn["[object Boolean]"]=dn["[object DataView]"]=dn["[object Date]"]=dn["[object Error]"]=dn["[object Function]"]=dn["[object Map]"]=dn["[object Number]"]=dn["[object Object]"]=dn["[object RegExp]"]=dn["[object Set]"]=dn["[object String]"]=dn["[object WeakMap]"]=!1;var hn=function baseIsTypedArray$1(e){return fn(e)&&pn(e.length)&&!!dn[ln(e)]},gn={exports:{}};!function(e,r){var t=i,n=r&&!r.nodeType&&r,o=n&&e&&!e.nodeType&&e,a=o&&o.exports===n&&t.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}(gn,gn.exports);var vn=hn,yn=Ge,mn=gn.exports,xn=mn&&mn.isTypedArray,bn=xn?yn(xn):vn,_n=on,wn=Gr,$n=Wr,En=an.exports,Cn=un,jn=bn,kn=Object.prototype.hasOwnProperty;var An=function arrayLikeKeys$1(e,r){var t=$n(e),n=!t&&wn(e),o=!t&&!n&&En(e),a=!t&&!n&&!o&&jn(e),i=t||n||o||a,s=i?_n(e.length,String):[],c=s.length;for(var u in e)!r&&!kn.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Cn(u,c))||s.push(u);return s},Sn=Object.prototype;var On=function isPrototype$1(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||Sn)};var Rn=function overArg$1(e,r){return function(t){return e(r(t))}}(Object.keys,Object),In=On,Pn=Rn,zn=Object.prototype.hasOwnProperty;var Fn=An,Nn=function baseKeys$1(e){if(!In(e))return Pn(e);var r=[];for(var t in Object(e))zn.call(e,t)&&"constructor"!=t&&r.push(t);return r},Tn=_r;var Hn=nn,Xn=function keys$1(e){return Tn(e)?Fn(e):Nn(e)};var Ln=mt,Mn=It,Un=_r,Dn=Nt,Bn=Tt,qn=Ht,Gn=it,Wn=rn,Qn=function values$1(e){return null==e?[]:Hn(e,Xn(e))},Yn=l?l.iterator:void 0;var Zn,Vn=function toArray(e){if(!e)return[];if(Un(e))return Dn(e)?Wn(e):Ln(e);if(Yn&&e[Yn])return Bn(e[Yn]());var r=Mn(e);return("[object Map]"==r?qn:"[object Set]"==r?Gn:Qn)(e)};
/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var e=function(){try{var e={},r=Object.defineProperty,t=r(e,e,e)&&r}catch(e){}return t}(),codePointAt=function(e){if(null==this)throw TypeError();var r=String(this),t=r.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=t)){var o,a=r.charCodeAt(n);return a>=55296&&a<=56319&&t>n+1&&(o=r.charCodeAt(n+1))>=56320&&o<=57343?1024*(a-55296)+o-56320+65536:a}};e?e(String.prototype,"codePointAt",{value:codePointAt,configurable:!0,writable:!0}):String.prototype.codePointAt=codePointAt}()
/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */,String.fromCodePoint||function(){var e=function(){try{var e={},r=Object.defineProperty,t=r(e,e,e)&&r}catch(e){}return t}(),r=String.fromCharCode,t=Math.floor,fromCodePoint=function(e){var n,o,a=16384,i=[],s=-1,c=arguments.length;if(!c)return"";for(var u="";++s<c;){var l=Number(arguments[s]);if(!isFinite(l)||l<0||l>1114111||t(l)!=l)throw RangeError("Invalid code point: "+l);l<=65535?i.push(l):(n=55296+((l-=65536)>>10),o=l%1024+56320,i.push(n,o)),(s+1==c||i.length>a)&&(u+=r.apply(null,i),i.length=0)}return u};e?e(String,"fromCodePoint",{value:fromCodePoint,configurable:!0,writable:!0}):String.fromCodePoint=fromCodePoint}();try{Zn="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var Kn,Jn=function leven(e,r,t,n){var o=[],a=[],i=t&&Zn&&t.useCollator,s=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(s=t.subcost),e===r)return 0;var c,u,l,p,f=n(e),d=n(r),h=f.length,g=d.length;if(0===h)return g;if(0===g)return h;for(var v=0,y=0;v<h;)a[v]=f[v].codePointAt(0),o[v]=++v;if(i)for(;y<g;)for(c=d[y].codePointAt(0),l=y++,u=y,v=0;v<h;v++)p=0===Zn.compare(String.fromCodePoint(c),String.fromCodePoint(a[v]))?l:l+s,l=o[v],u=o[v]=l>u?p>u?u+1:p:p>l?l+1:p;else for(;y<g;)for(c=d[y].codePointAt(0),l=y++,u=y,v=0;v<h;v++)p=c===a[v]?l:l+s,l=o[v],u=o[v]=l>u?p>u?u+1:p:p>l?l+1:p;return u};try{Kn="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var eo,ro=function leven(e,r,t,n){var o=[],a=[],i=t&&Kn&&t.useCollator,s=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(s=t.subcost),e===r)return 0;var c=e.length,u=r.length;if(0===c)return u;if(0===u)return c;if(t&&t.wildcards&&"string"==typeof t.wildcards&&t.wildcards.length>0){var l,p,f,d,h,g;if(!1===t.full_process&&!0!==t.processed){p=(l=t.wildcards[0]).charCodeAt(0);var v="["+function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(t.wildcards)+"]";if((e=e.replace(new RegExp(v,"g"),l))===(r=r.replace(new RegExp(v,"g"),l)))return 0}else p=(l=t.wildcards[0].toLowerCase()).charCodeAt(0);for(var y=0,m=0;y<c;)a[y]=e.charCodeAt(y),o[y]=++y;if(i)for(;m<u;)for(f=r.charCodeAt(m),h=m++,d=m,y=0;y<c;y++)g=0===Kn.compare(String.fromCharCode(f),String.fromCharCode(a[y]))||f===p||a[y]===p?h:h+s,h=o[y],d=o[y]=h>d?g>d?d+1:g:g>h?h+1:g;else for(;m<u;)for(f=r.charCodeAt(m),h=m++,d=m,y=0;y<c;y++)g=f===a[y]||f===p||a[y]===p?h:h+s,h=o[y],d=o[y]=h>d?g>d?d+1:g:g>h?h+1:g;return d}return n(e,r,t)};try{eo="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var to=function leven(e,r,t){var n=[],o=[],a=t&&eo&&t.useCollator,i=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(i=t.subcost),e===r)return 0;var s,c,u,l,p=e.length,f=r.length;if(0===p)return f;if(0===f)return p;for(var d=0,h=0;d<p;)o[d]=e.charCodeAt(d),n[d]=++d;if(a)for(;h<f;)for(s=r.charCodeAt(h),u=h++,c=h,d=0;d<p;d++)l=0===eo.compare(String.fromCharCode(s),String.fromCharCode(o[d]))?u:u+i,u=n[d],c=n[d]=u>c?l>c?c+1:l:l>u?u+1:l;else for(;h<f;)for(s=r.charCodeAt(h),u=h++,c=h,d=0;d<p;d++)l=s===o[d]?u:u+i,u=n[d],c=n[d]=u>c?l>c?c+1:l:l>u?u+1:l;return c};!function(e,r){if(!e.setImmediate){var t,n=1,o={},a=!1,i=e.document,s=Object.getPrototypeOf&&Object.getPrototypeOf(e);s=s&&s.setTimeout?s:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){t=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var r=!0,t=e.onmessage;return e.onmessage=function(){r=!1},e.postMessage("","*"),e.onmessage=t,r}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},t=function(r){e.port2.postMessage(r)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;t=function(r){var t=i.createElement("script");t.onreadystatechange=function(){runIfPresent(r),t.onreadystatechange=null,e.removeChild(t),t=null},e.appendChild(t)}}():function installSetTimeoutImplementation(){t=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var r="setImmediate$"+Math.random()+"$",onGlobalMessage=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&runIfPresent(+t.data.slice(r.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),t=function(t){e.postMessage(r+t,"*")}}(),s.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),a=0;a<r.length;a++)r[a]=arguments[a+1];var i={callback:e,args:r};return o[n]=i,t(n),n++},s.clearImmediate=clearImmediate}function clearImmediate(e){delete o[e]}function runIfPresent(e){if(a)setTimeout(runIfPresent,0,e);else{var r=o[e];if(r){a=!0;try{!function run(e){var r=e.callback,t=e.args;switch(t.length){case 0:r();break;case 1:r(t[0]);break;case 2:r(t[0],t[1]);break;case 3:r(t[0],t[1],t[2]);break;default:r.apply(void 0,t)}}(r)}finally{clearImmediate(e),a=!1}}}}}("undefined"==typeof self?r:self);
/*!
* XRegExp 3.1.1-next
* <xregexp.com>
* Steven Levithan (c) 2007-2016 MIT License
*/
var no={astral:!1,natives:!1},oo={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},ao={},io={},so={},co=[],uo={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},lo=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,po=void 0===oo.exec.call(/()??/,"")[1],fo=void 0!==/x/.flags,ho={}.toString;function hasNativeFlag(e){var r=!0;try{new RegExp("",e)}catch(e){r=!1}return r&&"y"===e?new RegExp("aa|.","y").test("b"):r}var go=hasNativeFlag("u"),vo=hasNativeFlag("y"),yo={g:!0,i:!0,m:!0,u:go,y:vo};function augment(e,r,t,n,o){var a;if(e.xregexp={captureNames:r},o)return e;if(e.__proto__)e.__proto__=XRegExp$1.prototype;else for(a in XRegExp$1.prototype)e[a]=XRegExp$1.prototype[a];return e.xregexp.source=t,e.xregexp.flags=n?n.split("").sort().join(""):n,e}function clipDuplicates(e){return oo.replace.call(e,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(e,r){if(!XRegExp$1.isRegExp(e))throw new TypeError("Type RegExp expected");var t=e.xregexp||{},n=function getNativeFlags(e){return fo?e.flags:oo.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(e))[1]}(e),o="",a="",i=null,s=null;return(r=r||{}).removeG&&(a+="g"),r.removeY&&(a+="y"),a&&(n=oo.replace.call(n,new RegExp("["+a+"]+","g"),"")),r.addG&&(o+="g"),r.addY&&(o+="y"),o&&(n=clipDuplicates(n+o)),r.isInternalOnly||(void 0!==t.source&&(i=t.source),null!=t.flags&&(s=o?clipDuplicates(t.flags+o):t.flags)),e=augment(new RegExp(r.source||e.source,n),function hasNamedCapture(e){return!(!e.xregexp||!e.xregexp.captureNames)}(e)?t.captureNames.slice(0):null,i,s,r.isInternalOnly)}function dec(e){return parseInt(e,16)}function hex(e){return parseInt(e,10).toString(16)}function indexOf(e,r){var t,n=e.length;for(t=0;t<n;++t)if(e[t]===r)return t;return-1}function isQuantifierNext(e,r,t){return oo.test.call(t.indexOf("x")>-1?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,e.slice(r))}function pad4(e){for(;e.length<4;)e="0"+e;return e}function registerFlag(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");yo[e]=!0}function runTokens(e,r,t,n,o){for(var a,i,s=co.length,c=e.charAt(t),u=null;s--;)if(!((i=co[s]).leadChar&&i.leadChar!==c||i.scope!==n&&"all"!==i.scope||i.flag&&-1===r.indexOf(i.flag))&&(a=XRegExp$1.exec(e,i.regex,t,"sticky"))){u={matchLength:a[0].length,output:i.handler.call(o,a,n,r),reparse:i.reparse};break}return u}function XRegExp$1(e,r){if(XRegExp$1.isRegExp(e)){if(void 0!==r)throw new TypeError("Cannot supply flags when copying a RegExp");return copyRegex(e)}if(e=void 0===e?"":String(e),r=void 0===r?"":String(r),XRegExp$1.isInstalled("astral")&&-1===r.indexOf("A")&&(r+="A"),so[e]||(so[e]={}),!so[e][r]){for(var t,n={hasNamedCapture:!1,captureNames:[]},o="default",a="",i=0,s=function prepareFlags(e,r){var t;if(clipDuplicates(r)!==r)throw new SyntaxError("Invalid duplicate regex flag "+r);for(e=oo.replace.call(e,/^\(\?([\w$]+)\)/,(function(e,t){if(oo.test.call(/[gy]/,t))throw new SyntaxError("Cannot use flag g or y in mode modifier "+e);return r=clipDuplicates(r+t),""})),t=0;t<r.length;++t)if(!yo[r.charAt(t)])throw new SyntaxError("Unknown regex flag "+r.charAt(t));return{pattern:e,flags:r}}(e,r),c=s.pattern,u=s.flags;i<c.length;){do{(t=runTokens(c,u,i,o,n))&&t.reparse&&(c=c.slice(0,i)+t.output+c.slice(i+t.matchLength))}while(t&&t.reparse);if(t)a+=t.output,i+=t.matchLength||1;else{var l=XRegExp$1.exec(c,uo[o],i,"sticky")[0];a+=l,i+=l.length,"["===l&&"default"===o?o="class":"]"===l&&"class"===o&&(o="default")}}so[e][r]={pattern:oo.replace.call(a,/(?:\(\?:\))+/g,"(?:)"),flags:oo.replace.call(u,/[^gimuy]+/g,""),captures:n.hasNamedCapture?n.captureNames:null}}var p=so[e][r];return augment(new RegExp(p.pattern,p.flags),p.captures,e,r)}XRegExp$1.prototype=new RegExp,XRegExp$1.version="3.1.1-next",XRegExp$1._clipDuplicates=clipDuplicates,XRegExp$1._hasNativeFlag=hasNativeFlag,XRegExp$1._dec=dec,XRegExp$1._hex=hex,XRegExp$1._pad4=pad4,XRegExp$1.addToken=function(e,r,t){var n,o=(t=t||{}).optionalFlags;if(t.flag&&registerFlag(t.flag),o)for(o=oo.split.call(o,""),n=0;n<o.length;++n)registerFlag(o[n]);co.push({regex:copyRegex(e,{addG:!0,addY:vo,isInternalOnly:!0}),handler:r,scope:t.scope||"default",flag:t.flag,reparse:t.reparse,leadChar:t.leadChar}),XRegExp$1.cache.flush("patterns")},XRegExp$1.cache=function(e,r){return io[e]||(io[e]={}),io[e][r]||(io[e][r]=XRegExp$1(e,r))},XRegExp$1.cache.flush=function(e){"patterns"===e?so={}:io={}},XRegExp$1.exec=function(e,r,t,n){var o,a,i,s="g",c=!1;return(o=vo&&!!(n||r.sticky&&!1!==n))?s+="y":n&&(c=!0,s+="FakeY"),r.xregexp=r.xregexp||{},t=t||0,(i=r.xregexp[s]||(r.xregexp[s]=copyRegex(r,{addG:!0,addY:o,source:c?r.source+"|()":void 0,removeY:!1===n,isInternalOnly:!0}))).lastIndex=t,a=ao.exec.call(i,e),c&&a&&""===a.pop()&&(a=null),r.global&&(r.lastIndex=a?i.lastIndex:0),a},XRegExp$1.isInstalled=function(e){return!!no[e]},XRegExp$1.isRegExp=function(e){return"[object RegExp]"===ho.call(e)},XRegExp$1.replace=function(e,r,t,n){var o,a=XRegExp$1.isRegExp(r),i=r.global&&"one"!==n||"all"===n,s=(i?"g":"")+(r.sticky?"y":"")||"noGY",c=r;return a?(r.xregexp=r.xregexp||{},c=r.xregexp[s]||(r.xregexp[s]=copyRegex(r,{addG:!!i,removeG:"one"===n,isInternalOnly:!0}))):i&&(c=new RegExp(XRegExp$1.escape(String(r)),"g")),o=ao.replace.call(function toObject(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}(e),c,t),a&&r.global&&(r.lastIndex=0),o},ao.exec=function(e){var r,t,n,o=this.lastIndex,a=oo.exec.apply(this,arguments);if(a){if(!po&&a.length>1&&indexOf(a,"")>-1&&(t=copyRegex(this,{removeG:!0,isInternalOnly:!0}),oo.replace.call(String(e).slice(a.index),t,(function(){var e,r=arguments.length;for(e=1;e<r-2;++e)void 0===arguments[e]&&(a[e]=void 0)}))),this.xregexp&&this.xregexp.captureNames)for(n=1;n<a.length;++n)(r=this.xregexp.captureNames[n-1])&&(a[r]=a[n]);this.global&&!a[0].length&&this.lastIndex>a.index&&(this.lastIndex=a.index)}return this.global||(this.lastIndex=o),a},ao.replace=function(e,r){var t,n,o,a=XRegExp$1.isRegExp(e);return a?(e.xregexp&&(n=e.xregexp.captureNames),t=e.lastIndex):e+="",o=function isType(e,r){return ho.call(e)==="[object "+r+"]"}(r,"Function")?oo.replace.call(String(this),e,(function(){var t,o=arguments;if(n)for(o[0]=new String(o[0]),t=0;t<n.length;++t)n[t]&&(o[0][n[t]]=o[t+1]);return a&&e.global&&(e.lastIndex=o[o.length-2]+o[0].length),r.apply(void 0,o)})):oo.replace.call(null==this?this:String(this),e,(function(){var e=arguments;return oo.replace.call(String(r),lo,(function(r,t,o){var a;if(t){if((a=+t)<=e.length-3)return e[a]||"";if((a=n?indexOf(n,t):-1)<0)throw new SyntaxError("Backreference to undefined group "+r);return e[a+1]||""}if("$"===o)return"$";if("&"===o||0==+o)return e[0];if("`"===o)return e[e.length-1].slice(0,e[e.length-2]);if("'"===o)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(o=+o,!isNaN(o)){if(o>e.length-3)throw new SyntaxError("Backreference to undefined group "+r);return e[o]||""}throw new SyntaxError("Invalid token "+r)}))})),a&&(e.global?e.lastIndex=0:e.lastIndex=t),o},ao.split=function(e,r){if(!XRegExp$1.isRegExp(e))return oo.split.apply(this,arguments);var t,n=String(this),o=[],a=e.lastIndex,i=0;return r=(void 0===r?-1:r)>>>0,XRegExp$1.forEach(n,e,(function(e){e.index+e[0].length>i&&(o.push(n.slice(i,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(o,e.slice(1)),t=e[0].length,i=e.index+t)})),i===n.length?oo.test.call(e,"")&&!t||o.push(""):o.push(n.slice(i)),e.lastIndex=a,o.length>r?o.slice(0,r):o},XRegExp$1.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(e,r){if("B"===e[1]&&"default"===r)return e[0];throw new SyntaxError("Invalid escape "+e[0])}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\\u{([\dA-Fa-f]+)}/,(function(e,r,t){var n=dec(e[1]);if(n>1114111)throw new SyntaxError("Invalid Unicode code point "+e[0]);if(n<=65535)return"\\u"+pad4(hex(n));if(go&&t.indexOf("u")>-1)return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\[(\^?)\]/,(function(e){return e[1]?"[\\s\\S]":"\\b\\B"}),{leadChar:"["}),XRegExp$1.addToken(/\(\?#[^)]*\)/,(function(e,r,t){return isQuantifierNext(e.input,e.index+e[0].length,t)?"":"(?:)"}),{leadChar:"("}),XRegExp$1.addToken(/\s+|#[^\n]*\n?/,(function(e,r,t){return isQuantifierNext(e.input,e.index+e[0].length,t)?"":"(?:)"}),{flag:"x"}),XRegExp$1.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),XRegExp$1.addToken(/\\k<([\w$]+)>/,(function(e){var r=isNaN(e[1])?indexOf(this.captureNames,e[1])+1:+e[1],t=e.index+e[0].length;if(!r||r>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+e[0]);return"\\"+r+(t===e.input.length||isNaN(e.input.charAt(t))?"":"(?:)")}),{leadChar:"\\"}),XRegExp$1.addToken(/\\(\d+)/,(function(e,r){if(!("default"===r&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+e[0]);return e[0]}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\(\?P?<([\w$]+)>/,(function(e){if(!isNaN(e[1]))throw new SyntaxError("Cannot use integer as capture name "+e[0]);if("length"===e[1]||"__proto__"===e[1])throw new SyntaxError("Cannot use reserved word as capture name "+e[0]);if(indexOf(this.captureNames,e[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+e[0]);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),XRegExp$1.addToken(/\((?!\?)/,(function(e,r,t){return t.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});var mo=XRegExp$1;
/*!
* XRegExp Unicode Base 3.1.1-next
* <xregexp.com>
* Steven Levithan (c) 2008-2016 MIT License
*/!function(e){var r={},t=e._dec,n=e._hex,o=e._pad4;function normalize(e){return e.replace(/[- _]+/g,"").toLowerCase()}function charCode(e){var r=/^\\[xu](.+)/.exec(e);return r?t(r[1]):e.charCodeAt("\\"===e.charAt(0)?1:0)}function cacheInvertedBmp(t){return r[t]["b!"]||(r[t]["b!"]=function invertBmp(r){var t="",a=-1;return e.forEach(r,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(e){var r=charCode(e[1]);r>a+1&&(t+="\\u"+o(n(a+1)),r>a+2&&(t+="-\\u"+o(n(r-1)))),a=charCode(e[2]||e[1])})),a<65535&&(t+="\\u"+o(n(a+1)),a<65534&&(t+="-\\uFFFF")),t}(r[t].bmp))}e.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,(function(e,t,n){var o="P"===e[1]||!!e[2],a=normalize(e[4]||e[3]),i=r[a];if("P"===e[1]&&e[2])throw new SyntaxError("Invalid double negation "+e[0]);if(!r.hasOwnProperty(a))throw new SyntaxError("Unknown Unicode token "+e[0]);if(i.inverseOf){if(a=normalize(i.inverseOf),!r.hasOwnProperty(a))throw new ReferenceError("Unicode token missing data "+e[0]+" -> "+i.inverseOf);i=r[a],o=!o}if(!i.bmp)throw new SyntaxError("Astral mode required for Unicode token "+e[0]);return"class"===t?o?cacheInvertedBmp(a):i.bmp:(o?"[^":"[")+i.bmp+"]"}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=function(t){for(var n,o=0;o<t.length;++o){if(!(n=t[o]).name)throw new Error("Unicode token requires name");if(!(n.inverseOf||n.bmp||n.astral))throw new Error("Unicode token has no character data "+n.name);r[normalize(n.name)]=n,n.alias&&(r[normalize(n.alias)]=n)}e.cache.flush("patterns")},e._getUnicodeProperty=function(e){var t=normalize(e);return r[t]}}(mo),function(e){if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData([{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-Ᶎꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭧꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9"}])}(mo);var xo=mo,bo={exports:{}};!function(e){e.exports=function(r,t,n,o){return(e={}).dedupe=function dedupe(e,a){var i,s=r(a);if(!t(e)&&"object"!=typeof e)throw new Error("contains_dupes must be an array or object");if(0===Object.keys(e).length)return void 0!==typeof console&&console.warn("contains_dupes is empty"),[];s.limit&&(void 0!==typeof console&&console.warn("options.limit will be ignored in dedupe"),s.limit=0),s.cutoff&&"number"==typeof s.cutoff||(void 0!==typeof console&&console.warn("Using default cutoff of 70"),s.cutoff=70),s.scorer||(s.scorer=n,void 0!==typeof console&&console.log("Using default scorer 'ratio' for dedupe")),i=s.processor&&"function"==typeof s.processor?s.processor:function(e){return e};var c={};for(var u in e){var l=i(e[u]);if("string"!=typeof l&&l instanceof String==!1)throw new Error("Each processed item in dedupe must be a string.");var p=o(l,e,s);s.returnObjects?(1===p.length||(p=p.sort((function(e,r){var t=i(e.choice),n=i(r.choice),o=t.length,a=n.length;return o===a?t<n?-1:1:a-o}))),s.keepmap?c[i(p[0].choice)]={item:p[0].choice,key:p[0].key,matches:p}:c[i(p[0].choice)]={item:p[0].choice,key:p[0].key}):(1===p.length||(p=p.sort((function(e,r){var t=i(e[0]),n=i(r[0]),o=t.length,a=n.length;return o===a?t<n?-1:1:a-o}))),s.keepmap?c[i(p[0][0])]=[p[0][0],p[0][2],p]:c[i(p[0][0])]=[p[0][0],p[0][2]])}var f=[];for(var d in c)f.push(c[d]);return f},e}}(bo),function(){var e=o,r=Or,n=ot,a=Vn,i=Jn,s=ro,c=to,u=function(e,r,t){var n={},o=xo,a=ro,i=to;function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}n.validate=validate,n.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},n.tokenize=function unique_tokens(n,o){if(o&&o.wildcards&&r&&t){var s=t(a,o,i);return r(n.match(/\S+/g),(function(e,r){return 0===s(e,r)}))}return e(n.match(/\S+/g))};var s=o("[^\\pN|\\pL]","g");return n.full_process=function full_process(e,r){if(!(e instanceof String)&&"string"!=typeof e)return"";var t;if(r&&"object"==typeof r&&r.wildcards&&"string"==typeof r.wildcards&&r.wildcards.length>0){var n=r.wildcards.toLowerCase();if(e=e.toLowerCase(),r.force_ascii){var a="[^\0 -|"+escapeRegExp(n)+"]";e=e.replace(new RegExp(a,"g"),"");var i="["+escapeRegExp(n)+"]",c=n[0];e=e.replace(new RegExp(i,"g"),c);var u="[^A-Za-z0-9"+escapeRegExp(n)+"]";t=(e=(e=e.replace(new RegExp(u,"g")," ")).replace(/_/g," ")).trim()}else{var l="[^\\pN|\\pL|"+escapeRegExp(n)+"]",p=o(l,"g");e=o.replace(e,p," ","all"),i="["+escapeRegExp(n)+"]",c=n[0],t=(e=e.replace(new RegExp(i,"g"),c)).trim()}}else r&&(r.force_ascii||!0===r)&&(t=(e=e.replace(/[^\x00-\x7F]/g,"")).replace(/\W|_/g," ").toLowerCase().trim()),t=o.replace(e,s," ","all").toLowerCase().trim();return r&&r.collapseWhitespace&&(t=t.replace(/\s+/g," ")),t},n.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var r={isAClone:!0};if(e){var t,n=Object.keys(e);for(t=0;t<n.length;t++)r[n[t]]=e[n[t]]}return!1!==r.full_process&&(r.full_process=!0),!0!==r.force_ascii&&(r.force_ascii=!1),!1!==r.normalize&&(r.normalize=!0),!0===r.astral&&(r.full_process=!1),!1!==r.collapseWhitespace&&(r.collapseWhitespace=!0),r},n.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},n}(yt),l=u.validate,p=u.process_and_sort,f=u.tokenize,d=u.full_process,h=u.clone_and_set_option_defaults,g=u.isCustomFunc;void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var v=bo.exports(h,Array.isArray,QRatio,extract).dedupe;function QRatio(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,l(e)&&l(r)?_ratio(e,r,n):0}function extract(r,t,n){var o,a=h(n),i=!1;if(t&&t.length&&Array.isArray(t))o=t.length,i=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");o=Object.keys(t).length}if(!t||0===o)return void 0!==typeof console&&console.warn("No choices"),[];if(a.processor&&"function"!=typeof a.processor)throw new Error("Invalid Processor");if(a.processor||(a.processor=function(e){return e}),a.scorer&&"function"!=typeof a.scorer)throw new Error("Invalid Scorer");a.scorer||(a.scorer=QRatio);var s=g(a.scorer);a.cutoff&&"number"==typeof a.cutoff||(a.cutoff=-1);var pre_processor=function(e,r){return e};a.full_process&&(pre_processor=d,s||(a.processed=!0));var c=!1;s||(r=pre_processor(r,a),a.full_process=!1,a.astral&&a.normalize&&(a.normalize=!1,String.prototype.normalize?(c=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var u,l,v,y,m,x=[],b=!1,_=!1,w=!1;if("token_sort_ratio"===a.scorer.name||"partial_token_sort_ratio"===a.scorer.name){var $=p(r);_=!0}else if("token_set_ratio"===a.scorer.name||"partial_token_set_ratio"===a.scorer.name){var E=f(r);w=!0}for(var C in a.returnObjects?(y=function(e,r){return e.score-r.score},m=function(e,r){return r.score-e.score}):(y=function(e,r){return e[1]-r[1]},m=function(e,r){return r[1]-e[1]}),t)(i||t.hasOwnProperty(C))&&(a.tokens=void 0,a.proc_sorted=!1,_?(a.proc_sorted=!0,t[C]&&t[C].proc_sorted?l=t[C].proc_sorted:(l=pre_processor(a.processor(t[C]),a),l=p(c?l.normalize():l)),v=a.scorer($,l,a)):w?(l="x",t[C]&&t[C].tokens?(a.tokens=[E,t[C].tokens],a.trySimple&&(l=pre_processor(a.processor(t[C]),a))):(l=pre_processor(a.processor(t[C]),a),a.tokens=[E,f(c?l.normalize():l)]),v=a.scorer(r,l,a)):s?(l=a.processor(t[C]),v=a.scorer(r,l,a)):("string"==typeof(l=pre_processor(a.processor(t[C]),a))&&0!==l.length||(b=!0),c&&"string"==typeof l&&(l=l.normalize()),v=a.scorer(r,l,a)),u=i?parseInt(C):C,v>a.cutoff&&(a.returnObjects?x.push({choice:t[C],score:v,key:u}):x.push([t[C],v,u])));return b&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),a.limit&&"number"==typeof a.limit&&a.limit>0&&a.limit<o&&!a.unsorted?x=e.nlargest(x,a.limit,y):a.unsorted||(x=x.sort(m)),x}function extractAsync(r,t,n,o){var a,i,s=h(n);"object"==typeof n.abortController&&(a=n.abortController),"object"==typeof n.cancelToken&&(i=n.cancelToken);var c=256;"number"==typeof s.asyncLoopOffset&&(c=s.asyncLoopOffset<1?1:s.asyncLoopOffset);var u,l=!1;if(t&&t.length&&Array.isArray(t))u=t.length,l=!0;else{if(!(t instanceof Object))return void o(new Error("Invalid choices"));u=Object.keys(t).length}if(!t||0===u)return void 0!==typeof console&&console.warn("No choices"),void o(null,[]);if(s.processor&&"function"!=typeof s.processor)o(new Error("Invalid Processor"));else if(s.processor||(s.processor=function(e){return e}),s.scorer&&"function"!=typeof s.scorer)o(new Error("Invalid Scorer"));else{s.scorer||(s.scorer=QRatio);var v=g(s.scorer);s.cutoff&&"number"==typeof s.cutoff||(s.cutoff=-1);var pre_processor=function(e,r){return e};s.full_process&&(pre_processor=d,v||(s.processed=!0));var y=!1;v||(r=pre_processor(r,s),s.full_process=!1,s.astral&&s.normalize&&(s.normalize=!1,String.prototype.normalize?(y=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var m,x,b,_,w,$=[],E=!1,C=!1,j=!1;if("token_sort_ratio"===s.scorer.name||"partial_token_sort_ratio"===s.scorer.name){var k=p(r);C=!0}else if("token_set_ratio"===s.scorer.name||"partial_token_set_ratio"===s.scorer.name){var A=f(r);j=!0}s.returnObjects?(_=function(e,r){return e.score-r.score},w=function(e,r){return r.score-e.score}):(_=function(e,r){return e[1]-r[1]},w=function(e,r){return r[1]-e[1]});var S=Object.keys(t);l?searchLoop(0):searchLoop(S[0],0)}function searchLoop(n,d){(l||t.hasOwnProperty(n))&&(s.tokens=void 0,s.proc_sorted=!1,C?(s.proc_sorted=!0,t[n].proc_sorted?x=t[n].proc_sorted:(x=pre_processor(s.processor(t[n]),s),x=p(y?x.normalize():x)),b=s.scorer(k,x,s)):j?(x="x",t[n].tokens?(s.tokens=[A,t[n].tokens],s.trySimple&&(x=pre_processor(s.processor(t[n]),s))):(x=pre_processor(s.processor(t[n]),s),s.tokens=[A,f(y?x.normalize():x)]),b=s.scorer(r,x,s)):v?(x=s.processor(t[n]),b=s.scorer(r,x,s)):("string"==typeof(x=pre_processor(s.processor(t[n]),s))&&0!==x.length||(E=!0),y&&"string"==typeof x&&(x=x.normalize()),b=s.scorer(r,x,s)),m=l?parseInt(n):n,b>s.cutoff&&(s.returnObjects?$.push({choice:t[n],score:b,key:m}):$.push([t[n],b,m]))),a&&!0===a.signal.aborted?o(new Error("aborted")):i&&!0===i.canceled?o(new Error("canceled")):l&&n<t.length-1?n%c==0?setImmediate((function(){searchLoop(n+1)})):searchLoop(n+1):d<S.length-1?d%c==0?setImmediate((function(){searchLoop(S[d+1],d+1)})):searchLoop(S[d+1],d+1):(E&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),s.limit&&"number"==typeof s.limit&&s.limit>0&&s.limit<u&&!s.unsorted?$=e.nlargest($,s.limit,_):s.unsorted||($=$.sort(w)),o(null,$))}}var y=!1;function _ratio(e,r,t){return l(e)&&l(r)?(void 0===t.subcost&&(t.subcost=2),t.astral?(t.normalize&&(String.prototype.normalize?(e=e.normalize(),r=r.normalize()):y||(void 0!==typeof console&&console.warn("Normalization not supported in your environment"),y=!0)),n=i(e,r,t,a),o=a(e).length+a(r).length):t.wildcards?(n=s(e,r,t,c),o=e.length+r.length):(n=c(e,r,t),o=e.length+r.length),Math.round((o-n)/o*100)):0;var n,o}Object.keys||(Object.keys=function(){var e=Object.prototype.hasOwnProperty,r=!{toString:null}.propertyIsEnumerable("toString"),t=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=t.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var a,i,s=[];for(a in o)e.call(o,a)&&s.push(a);if(r)for(i=0;i<n;i++)e.call(o,t[i])&&s.push(t[i]);return s}}());var m=void 0;"undefined"!=typeof Promise&&(m=function(e,r,t){return new Promise((function(n,o){extractAsync(e,r,t,(function(e,r){e?o(e):n(r)}))}))});var x={distance:function distance(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,void 0===n.subcost&&(n.subcost=1),n.astral?i(e,r,n,a):s(e,r,n,c)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,t,o){var a=h(o);return e=a.full_process?d(e,a):e,t=a.full_process?d(t,a):t,l(e)&&l(t)?function _token_set(e,t,o){if(o.tokens)a=o.tokens[0],i=o.tokens[1];else var a=f(e),i=f(t);var s=r(a,i),c=n(a,i),u=n(i,a),l=s.sort().join(" "),p=c.sort().join(" "),d=u.sort().join(" "),h=l+" "+p,g=l+" "+d;l=l.trim(),h=h.trim(),g=g.trim();var v=_ratio,y=[v(l,h,o),v(l,g,o),v(h,g,o)];o.trySimple&&y.push(v(e,t,o));return Math.max.apply(null,y)}(e,t,a):0},token_sort_ratio:function token_sort_ratio(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,l(e)&&l(r)?(n.proc_sorted||(e=p(e),r=p(r)),_ratio(e,r,n)):0},full_process:d,extract:extract,extractAsync:extractAsync,extractAsPromised:m,process_and_sort:p,unique_tokens:f,dedupe:v};t.exports=x}();var _o=t.exports;const wo=_o.distance,$o=_o.ratio,Eo=_o.token_set_ratio,Co=_o.token_sort_ratio,jo=_o.full_process,ko=_o.extract,Ao=_o.extractAsync,So=_o.extractAsPromised,Oo=_o.process_and_sort,Ro=_o.unique_tokens,Io=_o.dedupe;export{Io as dedupe,wo as distance,ko as extract,So as extractAsPromised,Ao as extractAsync,jo as full_process,Oo as process_and_sort,$o as ratio,Eo as token_set_ratio,Co as token_sort_ratio,Ro as unique_tokens};
var e,r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}},o={exports:{}};e=o,function(){var r,t,o,n,s,i,a,c,l,p,u,f,d,h,m;o=Math.floor,p=Math.min,t=function(e,r){return e<r?-1:e>r?1:0},l=function(e,r,n,s,i){var a;if(null==n&&(n=0),null==i&&(i=t),n<0)throw new Error("lo must be non-negative");for(null==s&&(s=e.length);n<s;)i(r,e[a=o((n+s)/2)])<0?s=a:n=a+1;return[].splice.apply(e,[n,n-n].concat(r)),r},i=function(e,r,o){return null==o&&(o=t),e.push(r),h(e,0,e.length-1,o)},s=function(e,r){var o,n;return null==r&&(r=t),o=e.pop(),e.length?(n=e[0],e[0]=o,m(e,0,r)):n=o,n},c=function(e,r,o){var n;return null==o&&(o=t),n=e[0],e[0]=r,m(e,0,o),n},a=function(e,r,o){var n;return null==o&&(o=t),e.length&&o(e[0],r)<0&&(r=(n=[e[0],r])[0],e[0]=n[1],m(e,0,o)),r},n=function(e,r){var n,s,i,a,c,l;for(null==r&&(r=t),c=[],s=0,i=(a=function(){l=[];for(var r=0,t=o(e.length/2);0<=t?r<t:r>t;0<=t?r++:r--)l.push(r);return l}.apply(this).reverse()).length;s<i;s++)n=a[s],c.push(m(e,n,r));return c},d=function(e,r,o){var n;if(null==o&&(o=t),-1!==(n=e.indexOf(r)))return h(e,0,n,o),m(e,n,o)},u=function(e,r,o){var s,i,c,l,p;if(null==o&&(o=t),!(i=e.slice(0,r)).length)return i;for(n(i,o),c=0,l=(p=e.slice(r)).length;c<l;c++)s=p[c],a(i,s,o);return i.sort(o).reverse()},f=function(e,r,o){var i,a,c,u,f,d,h,m,y;if(null==o&&(o=t),10*r<=e.length){if(!(c=e.slice(0,r).sort(o)).length)return c;for(a=c[c.length-1],u=0,d=(h=e.slice(r)).length;u<d;u++)o(i=h[u],a)<0&&(l(c,i,0,null,o),c.pop(),a=c[c.length-1]);return c}for(n(e,o),y=[],f=0,m=p(r,e.length);0<=m?f<m:f>m;0<=m?++f:--f)y.push(s(e,o));return y},h=function(e,r,o,n){var s,i,a;for(null==n&&(n=t),s=e[o];o>r&&n(s,i=e[a=o-1>>1])<0;)e[o]=i,o=a;return e[o]=s},m=function(e,r,o){var n,s,i,a,c;for(null==o&&(o=t),s=e.length,c=r,i=e[r],n=2*r+1;n<s;)(a=n+1)<s&&!(o(e[n],e[a])<0)&&(n=a),e[r]=e[n],n=2*(r=n)+1;return e[r]=i,h(e,c,r,o)},r=function(){function Heap(e){this.cmp=null!=e?e:t,this.nodes=[]}return Heap.push=i,Heap.pop=s,Heap.replace=c,Heap.pushpop=a,Heap.heapify=n,Heap.updateItem=d,Heap.nlargest=u,Heap.nsmallest=f,Heap.prototype.push=function(e){return i(this.nodes,e,this.cmp)},Heap.prototype.pop=function(){return s(this.nodes,this.cmp)},Heap.prototype.peek=function(){return this.nodes[0]},Heap.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},Heap.prototype.replace=function(e){return c(this.nodes,e,this.cmp)},Heap.prototype.pushpop=function(e){return a(this.nodes,e,this.cmp)},Heap.prototype.heapify=function(){return n(this.nodes,this.cmp)},Heap.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},Heap.prototype.clear=function(){return this.nodes=[]},Heap.prototype.empty=function(){return 0===this.nodes.length},Heap.prototype.size=function(){return this.nodes.length},Heap.prototype.clone=function(){var e;return(e=new Heap).nodes=this.nodes.slice(0),e},Heap.prototype.toArray=function(){return this.nodes.slice(0)},Heap.prototype.insert=Heap.prototype.push,Heap.prototype.top=Heap.prototype.peek,Heap.prototype.front=Heap.prototype.peek,Heap.prototype.has=Heap.prototype.contains,Heap.prototype.copy=Heap.prototype.clone,Heap}(),e.exports=r}.call(r);var n=o.exports;var s,i={_intersect:function _intersect(e,r){if(!e||!r||0===e.length||0===r.length)return[];if(e.length<100&&r.length<100)return e.filter((e=>r.includes(e)));const t=new Set(r);return e.filter((e=>t.has(e)))},_intersectWith:function _intersectWith(e,r,t){return e&&r&&0!==e.length&&0!==r.length?e.filter((e=>r.some((r=>t(e,r))))):[]},_difference:function _difference(e,r){if(!e)return[];if(!r||0===r.length)return e.slice();if(e.length<100&&r.length<100)return e.filter((e=>!r.includes(e)));const t=new Set(r);return e.filter((e=>!t.has(e)))},_differenceWith:function _differenceWith(e,r,t){return e?r&&0!==r.length?e.filter((e=>!r.some((r=>t(e,r))))):e.slice():[]},_uniq:function _uniq(e){return e&&0!==e.length?1===e.length?e.slice():[...new Set(e)]:[]},_uniqWith:function _uniqWith(e,r){return e&&0!==e.length?1===e.length?e.slice():e.filter(((e,t,o)=>t===o.findIndex((t=>r(e,t))))):[]},_partialRight:function _partialRight(e){const r=Array.prototype.slice.call(arguments,1);return function(){const t=Array.prototype.slice.call(arguments);return e.apply(this,t.concat(r))}},_forEach:function _forEach(e,r){if(e)if(Array.isArray(e))for(let t=0;t<e.length;t++)r(e[t],t);else{const t=Object.keys(e);for(let o=0;o<t.length;o++)r(e[t[o]],t[o])}},_keys:function _keys(e){return Object.keys(e)},_isArray:function _isArray(e){return Array.isArray(e)}};try{s="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var a,c=function leven(e,r,t){var o=[],n=[],i=t&&s&&t.useCollator,a=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(a=t.subcost),e===r)return 0;var c,l,p,u,f=Array.from(e),d=Array.from(r),h=f.length,m=d.length;if(0===h)return m;if(0===m)return h;for(var y=0,g=0;y<h;)n[y]=f[y].codePointAt(0),o[y]=++y;if(i)for(;g<m;)for(c=d[g].codePointAt(0),p=g++,l=g,y=0;y<h;y++)u=0===s.compare(String.fromCodePoint(c),String.fromCodePoint(n[y]))?p:p+a,p=o[y],l=o[y]=p>l?u>l?l+1:u:u>p?p+1:u;else for(;g<m;)for(c=d[g].codePointAt(0),p=g++,l=g,y=0;y<h;y++)u=c===n[y]?p:p+a,p=o[y],l=o[y]=p>l?u>l?l+1:u:u>p?p+1:u;return l};try{a="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var l,p=function leven(e,r,t,o){var n=[],s=[],i=t&&a&&t.useCollator,c=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(c=t.subcost),e===r)return 0;var l=e.length,p=r.length;if(0===l)return p;if(0===p)return l;if(t&&t.wildcards&&"string"==typeof t.wildcards&&t.wildcards.length>0){var u,f,d,h,m,y;if(!1===t.full_process&&!0!==t.processed){f=(u=t.wildcards[0]).charCodeAt(0);var g="["+function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(t.wildcards)+"]";if((e=e.replace(new RegExp(g,"g"),u))===(r=r.replace(new RegExp(g,"g"),u)))return 0}else f=(u=t.wildcards[0].toLowerCase()).charCodeAt(0);for(var v=0,_=0;v<l;)s[v]=e.charCodeAt(v),n[v]=++v;if(i)for(;_<p;)for(d=r.charCodeAt(_),m=_++,h=_,v=0;v<l;v++)y=0===a.compare(String.fromCharCode(d),String.fromCharCode(s[v]))||d===f||s[v]===f?m:m+c,m=n[v],h=n[v]=m>h?y>h?h+1:y:y>m?m+1:y;else for(;_<p;)for(d=r.charCodeAt(_),m=_++,h=_,v=0;v<l;v++)y=d===s[v]||d===f||s[v]===f?m:m+c,m=n[v],h=n[v]=m>h?y>h?h+1:y:y>m?m+1:y;return h}return o(e,r,t)};try{l="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var u=function leven(e,r,t){var o=[],n=[],s=t&&l&&t.useCollator,i=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(i=t.subcost),e===r)return 0;var a,c,p,u,f=e.length,d=r.length;if(0===f)return d;if(0===d)return f;for(var h=0,m=0;h<f;)n[h]=e.charCodeAt(h),o[h]=++h;if(s)for(;m<d;)for(a=r.charCodeAt(m),p=m++,c=m,h=0;h<f;h++)u=0===l.compare(String.fromCharCode(a),String.fromCharCode(n[h]))?p:p+i,p=o[h],c=o[h]=p>c?u>c?c+1:u:u>p?p+1:u;else for(;m<d;)for(a=r.charCodeAt(m),p=m++,c=m,h=0;h<f;h++)u=a===n[h]?p:p+i,p=o[h],c=o[h]=p>c?u>c?c+1:u:u>p?p+1:u;return c};!function(e,r){if(!e.setImmediate){var t,o=1,n={},s=!1,i=e.document,a=Object.getPrototypeOf&&Object.getPrototypeOf(e);a=a&&a.setTimeout?a:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){t=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var r=!0,t=e.onmessage;return e.onmessage=function(){r=!1},e.postMessage("","*"),e.onmessage=t,r}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},t=function(r){e.port2.postMessage(r)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;t=function(r){var t=i.createElement("script");t.onreadystatechange=function(){runIfPresent(r),t.onreadystatechange=null,e.removeChild(t),t=null},e.appendChild(t)}}():function installSetTimeoutImplementation(){t=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var r="setImmediate$"+Math.random()+"$",onGlobalMessage=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&runIfPresent(+t.data.slice(r.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),t=function(t){e.postMessage(r+t,"*")}}(),a.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),s=0;s<r.length;s++)r[s]=arguments[s+1];var i={callback:e,args:r};return n[o]=i,t(o),o++},a.clearImmediate=clearImmediate}function clearImmediate(e){delete n[e]}function runIfPresent(e){if(s)setTimeout(runIfPresent,0,e);else{var r=n[e];if(r){s=!0;try{!function run(e){var r=e.callback,t=e.args;switch(t.length){case 0:r();break;case 1:r(t[0]);break;case 2:r(t[0],t[1]);break;case 3:r(t[0],t[1],t[2]);break;default:r.apply(void 0,t)}}(r)}finally{clearImmediate(e),s=!1}}}}}("undefined"==typeof self?r:self);var f={exports:{}};!function(e){e.exports=function(r,t,o,n){return(e={}).dedupe=function dedupe(e,s){var i,a=r(s);if(!t(e)&&"object"!=typeof e)throw new Error("contains_dupes must be an array or object");if(0===Object.keys(e).length)return void 0!==typeof console&&console.warn("contains_dupes is empty"),[];a.limit&&(void 0!==typeof console&&console.warn("options.limit will be ignored in dedupe"),a.limit=0),a.cutoff&&"number"==typeof a.cutoff||(void 0!==typeof console&&console.warn("Using default cutoff of 70"),a.cutoff=70),a.scorer||(a.scorer=o,void 0!==typeof console&&console.log("Using default scorer 'ratio' for dedupe")),i=a.processor&&"function"==typeof a.processor?a.processor:function(e){return e};var c={};for(var l in e){var p=i(e[l]);if("string"!=typeof p&&p instanceof String==!1)throw new Error("Each processed item in dedupe must be a string.");var u=n(p,e,a);a.returnObjects?(1===u.length||(u=u.sort((function(e,r){var t=i(e.choice),o=i(r.choice),n=t.length,s=o.length;return n===s?t<o?-1:1:s-n}))),a.keepmap?c[i(u[0].choice)]={item:u[0].choice,key:u[0].key,matches:u}:c[i(u[0].choice)]={item:u[0].choice,key:u[0].key}):(1===u.length||(u=u.sort((function(e,r){var t=i(e[0]),o=i(r[0]),n=t.length,s=o.length;return n===s?t<o?-1:1:s-n}))),a.keepmap?c[i(u[0][0])]=[u[0][0],u[0][2],u]:c[i(u[0][0])]=[u[0][0],u[0][2]])}var f=[];for(var d in c)f.push(c[d]);return f},e}}(f),function(){var e=n,r=i._intersect,o=i._difference,s=c,a=p,l=u,d=function(e,r,t){var o={},n=p,s=u;function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}o.validate=validate,o.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},o.tokenize=function unique_tokens(o,i){if(i&&i.wildcards&&r&&t){var a=t(n,i,s);return r(o.match(/\S+/g),(function(e,r){return 0===a(e,r)}))}return e(o.match(/\S+/g))};const i=/[^\p{L}\p{N}]/gu;return o.full_process=function full_process(e,r){if(!(e instanceof String)&&"string"!=typeof e)return"";var t;if(r&&"object"==typeof r&&r.wildcards&&"string"==typeof r.wildcards&&r.wildcards.length>0){var o=r.wildcards.toLowerCase();if(e=e.toLowerCase(),r.force_ascii){var n="[^\0 -|"+escapeRegExp(o)+"]";e=e.replace(new RegExp(n,"g"),"");var s="["+escapeRegExp(o)+"]",a=o[0];e=e.replace(new RegExp(s,"g"),a);var c="[^A-Za-z0-9"+escapeRegExp(o)+"]";t=(e=(e=e.replace(new RegExp(c,"g")," ")).replace(/_/g," ")).trim()}else{var l="[^\\p{L}\\p{N}|"+escapeRegExp(o)+"]";e=e.replace(new RegExp(l,"gu")," "),s="["+escapeRegExp(o)+"]",a=o[0],t=(e=e.replace(new RegExp(s,"g"),a)).trim()}}else t=r&&(r.force_ascii||!0===r)?(e=e.replace(/[^\x00-\x7F]/g,"")).replace(/\W|_/g," ").toLowerCase().trim():e.replace(i," ").toLowerCase().trim();return r&&r.collapseWhitespace&&(t=t.replace(/\s+/g," ")),t},o.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var r={isAClone:!0};if(e){var t,o=Object.keys(e);for(t=0;t<o.length;t++)r[o[t]]=e[o[t]]}return!1!==r.full_process&&(r.full_process=!0),!0!==r.force_ascii&&(r.force_ascii=!1),!1!==r.normalize&&!0===r.astral&&(r.normalize=!0),!1!==r.collapseWhitespace&&(r.collapseWhitespace=!0),r},o.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},o}(i._uniq),h=d.validate,m=d.process_and_sort,y=d.tokenize,g=d.full_process,v=d.clone_and_set_option_defaults,_=d.isCustomFunc;void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var b,w,k,x,C=f.exports(v,Array.isArray,QRatio,extract).dedupe;function QRatio(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,h(e)&&h(r)?_ratio(e,r,o):0}function extract(r,t,o){var n,s=v(o),i=!1;if(t&&t.length&&Array.isArray(t))n=t.length,i=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");n=Object.keys(t).length}if(!t||0===n)return void 0!==typeof console&&console.warn("No choices"),[];if(s.processor&&"function"!=typeof s.processor)throw new Error("Invalid Processor");if(s.processor||(s.processor=function(e){return e}),s.scorer&&"function"!=typeof s.scorer)throw new Error("Invalid Scorer");s.scorer||(s.scorer=QRatio);var a=_(s.scorer);s.cutoff&&"number"==typeof s.cutoff||(s.cutoff=-1);var pre_processor=function(e,r){return e};s.full_process&&(pre_processor=g,a||(s.processed=!0));var c=!1;a||(s.astral&&s.normalize&&(s.normalize=!1,String.prototype.normalize?(c=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),r=pre_processor(r,s),s.full_process=!1,0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var l,p,u,f,d,h=[],b=!1,w=!1,k=!1;if("token_sort_ratio"===s.scorer.name||"partial_token_sort_ratio"===s.scorer.name){var x=m(r);w=!0}else if("token_set_ratio"===s.scorer.name||"partial_token_set_ratio"===s.scorer.name){var C=y(r);k=!0}for(var A in s.returnObjects?(f=function(e,r){return e.score-r.score},d=function(e,r){return r.score-e.score}):(f=function(e,r){return e[1]-r[1]},d=function(e,r){return r[1]-e[1]}),t)(i||t.hasOwnProperty(A))&&(s.tokens=void 0,s.proc_sorted=!1,w?(s.proc_sorted=!0,t[A]&&t[A].proc_sorted?p=t[A].proc_sorted:(p=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s),p=m(p)),u=s.scorer(x,p,s)):k?(p="x",t[A]&&t[A].tokens?(s.tokens=[C,t[A].tokens],s.trySimple&&(p=pre_processor(s.processor(t[A]),s))):(p=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s),s.tokens=[C,y(p)]),u=s.scorer(r,p,s)):a?(p=s.processor(t[A]),u=s.scorer(r,p,s)):("string"==typeof(p=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s))&&0!==p.length||(b=!0),u=s.scorer(r,p,s)),l=i?parseInt(A):A,u>s.cutoff&&(s.returnObjects?h.push({choice:t[A],score:u,key:l}):h.push([t[A],u,l])));return b&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),s.limit&&"number"==typeof s.limit&&s.limit>0&&s.limit<n&&!s.unsorted?h=e.nlargest(h,s.limit,f):s.unsorted||(h=h.sort(d)),h}function extractAsync(r,t,o,n){var s,i,a=v(o);"object"==typeof o.abortController&&(s=o.abortController),"object"==typeof o.cancelToken&&(i=o.cancelToken);var c=256;"number"==typeof a.asyncLoopOffset&&(c=a.asyncLoopOffset<1?1:a.asyncLoopOffset);var l,p=!1;if(t&&t.length&&Array.isArray(t))l=t.length,p=!0;else{if(!(t instanceof Object))return void n(new Error("Invalid choices"));l=Object.keys(t).length}if(!t||0===l)return void 0!==typeof console&&console.warn("No choices"),void n(null,[]);if(a.processor&&"function"!=typeof a.processor)n(new Error("Invalid Processor"));else if(a.processor||(a.processor=function(e){return e}),a.scorer&&"function"!=typeof a.scorer)n(new Error("Invalid Scorer"));else{a.scorer||(a.scorer=QRatio);var u=_(a.scorer);a.cutoff&&"number"==typeof a.cutoff||(a.cutoff=-1);var pre_processor=function(e,r){return e};a.full_process&&(pre_processor=g,u||(a.processed=!0));var f=!1;u||(a.astral&&a.normalize&&(a.normalize=!1,String.prototype.normalize?(f=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),r=pre_processor(r,a),a.full_process=!1,0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var d,h,b,w,k,x=[],C=!1,A=!1,I=!1;if("token_sort_ratio"===a.scorer.name||"partial_token_sort_ratio"===a.scorer.name){var z=m(r);A=!0}else if("token_set_ratio"===a.scorer.name||"partial_token_set_ratio"===a.scorer.name){var E=y(r);I=!0}a.returnObjects?(w=function(e,r){return e.score-r.score},k=function(e,r){return r.score-e.score}):(w=function(e,r){return e[1]-r[1]},k=function(e,r){return r[1]-e[1]});var O=Object.keys(t);p?searchLoop(0):searchLoop(O[0],0)}function searchLoop(o,g){(p||t.hasOwnProperty(o))&&(a.tokens=void 0,a.proc_sorted=!1,A?(a.proc_sorted=!0,t[o].proc_sorted?h=t[o].proc_sorted:(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a),h=m(h)),b=a.scorer(z,h,a)):I?(h="x",t[o].tokens?(a.tokens=[E,t[o].tokens],a.trySimple&&(h=pre_processor(a.processor(t[o]),a))):(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a),a.tokens=[E,y(h)]),b=a.scorer(r,h,a)):u?(h=a.processor(t[o]),b=a.scorer(r,h,a)):("string"==typeof(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a))&&0!==h.length||(C=!0),b=a.scorer(r,h,a)),d=p?parseInt(o):o,b>a.cutoff&&(a.returnObjects?x.push({choice:t[o],score:b,key:d}):x.push([t[o],b,d]))),s&&!0===s.signal.aborted?n(new Error("aborted")):i&&!0===i.canceled?n(new Error("canceled")):p&&o<t.length-1?o%c==0?setImmediate((function(){searchLoop(o+1)})):searchLoop(o+1):g<O.length-1?g%c==0?setImmediate((function(){searchLoop(O[g+1],g+1)})):searchLoop(O[g+1],g+1):(C&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),a.limit&&"number"==typeof a.limit&&a.limit>0&&a.limit<l&&!a.unsorted?x=e.nlargest(x,a.limit,w):a.unsorted||(x=x.sort(k)),n(null,x))}}function _ratio(e,r,t){return h(e)&&h(r)?(void 0===t.subcost&&(t.subcost=2),t.astral?(o=s(e,r,t),n=Array.from(e).length+Array.from(r).length):t.wildcards?(o=a(e,r,t,l),n=e.length+r.length):(o=l(e,r,t),n=e.length+r.length),Math.round((n-o)/n*100)):0;var o,n}Object.keys||(Object.keys=(b=Object.prototype.hasOwnProperty,w=!{toString:null}.propertyIsEnumerable("toString"),x=(k=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var r,t,o=[];for(r in e)b.call(e,r)&&o.push(r);if(w)for(t=0;t<x;t++)b.call(e,k[t])&&o.push(k[t]);return o}));var A=void 0;"undefined"!=typeof Promise&&(A=function(e,r,t){return new Promise((function(o,n){extractAsync(e,r,t,(function(e,r){e?n(e):o(r)}))}))});var I={distance:function distance(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,void 0===o.subcost&&(o.subcost=1),o.astral?s(e,r,o):a(e,r,o,l)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,t,n){var s=v(n);return e=s.normalize?e.normalize():e,t=s.normalize?t.normalize():t,e=s.full_process?g(e,s):e,t=s.full_process?g(t,s):t,h(e)&&h(t)?function _token_set(e,t,n){if(n.tokens)s=n.tokens[0],i=n.tokens[1];else var s=y(e),i=y(t);var a=r(s,i),c=o(s,i),l=o(i,s),p=a.sort().join(" "),u=c.sort().join(" "),f=l.sort().join(" "),d=p+" "+u,h=p+" "+f;p=p.trim(),d=d.trim(),h=h.trim();var m=_ratio,g=[m(p,d,n),m(p,h,n),m(d,h,n)];n.trySimple&&g.push(m(e,t,n));return Math.max.apply(null,g)}(e,t,s):0},token_sort_ratio:function token_sort_ratio(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,h(e)&&h(r)?(o.proc_sorted||(e=m(e),r=m(r)),_ratio(e,r,o)):0},full_process:g,extract:extract,extractAsync:extractAsync,extractAsPromised:A,process_and_sort:m,unique_tokens:y,dedupe:C};t.exports=I}();var d=t.exports;const h=d.distance,m=d.ratio,y=d.token_set_ratio,g=d.token_sort_ratio,v=d.full_process,_=d.extract,b=d.extractAsync,w=d.extractAsPromised,k=d.process_and_sort,x=d.unique_tokens,C=d.dedupe;export{C as dedupe,h as distance,_ as extract,w as extractAsPromised,b as extractAsync,v as full_process,k as process_and_sort,m as ratio,y as token_set_ratio,g as token_sort_ratio,x as unique_tokens};

@@ -6,6 +6,6 @@ (function () {

var _intersect = require('lodash/intersection');
var _difference = require('lodash/difference');
var _uniq = require('lodash/uniq');
var _toArray = require('lodash/toArray');
var nativeUtils = require('../lib/native_utils.js');
var _intersect = nativeUtils._intersect;
var _difference = nativeUtils._difference;
var _uniq = nativeUtils._uniq;

@@ -56,6 +56,8 @@ var iLeven = require('../lib/iLeven.js');

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;
str2 = options.full_process ? full_process(str2, options) : str2;
if (typeof options.subcost === "undefined") options.subcost = 1;
if (options.astral) return iLeven(str1, str2, options, _toArray);
if (options.astral) return iLeven(str1, str2, options);
else return wildLeven(str1, str2, options, leven); // falls back to leven if no wildcards

@@ -80,2 +82,4 @@ }

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -103,2 +107,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -126,2 +132,4 @@ str2 = options.full_process ? full_process(str2, options) : str2;

var options = clone_and_set_option_defaults(options_p);
str1 = options.normalize ? str1.normalize() : str1;
str2 = options.normalize ? str2.normalize() : str2;
str1 = options.full_process ? full_process(str1, options) : str1;

@@ -193,4 +201,2 @@ str2 = options.full_process ? full_process(str2, options) : str2;

if (!isCustom) { // if custom scorer func let scorer handle it
query = pre_processor(query, options);
options.full_process = false;
if (options.astral && options.normalize) {

@@ -206,2 +212,4 @@ options.normalize = false; // don't normalize again in ratio if doing here

}
query = pre_processor(query, options);
options.full_process = false;
if (query.length === 0) if (typeof console !== undefined) console.warn("Processed query is empty string");

@@ -238,4 +246,4 @@ }

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = process_and_sort(normalize ? mychoice.normalize() : mychoice);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
mychoice = process_and_sort(mychoice);
}

@@ -251,4 +259,4 @@ result = options.scorer(proc_sorted_query, mychoice, options);

else {
mychoice = pre_processor(options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize(normalize ? mychoice.normalize() : mychoice)]
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize(mychoice)]
}

@@ -264,5 +272,4 @@ //query and mychoice only used for validation here unless trySimple = true

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
if (typeof mychoice !== "string" || mychoice.length === 0) anyblank = true;
if (normalize && typeof mychoice === "string") mychoice = mychoice.normalize();
result = options.scorer(query, mychoice, options);

@@ -367,4 +374,2 @@ }

if (!isCustom) { // if custom scorer func let scorer handle it
query = pre_processor(query, options);
options.full_process = false;
if (options.astral && options.normalize) {

@@ -380,2 +385,4 @@ options.normalize = false; // don't normalize again in ratio if doing here

}
query = pre_processor(query, options);
options.full_process = false;
if (query.length === 0) if (typeof console !== undefined) console.warn("Processed query is empty string");

@@ -414,4 +421,4 @@ }

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = process_and_sort(normalize ? mychoice.normalize() : mychoice);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
mychoice = process_and_sort(mychoice);
}

@@ -427,4 +434,4 @@ result = options.scorer(proc_sorted_query, mychoice, options);

else {
mychoice = pre_processor(options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize(normalize ? mychoice.normalize() : mychoice)]
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
options.tokens = [query_tokens, tokenize(mychoice)]
}

@@ -440,5 +447,4 @@ //query and mychoice only used for validation here unless trySimple = true

else {
mychoice = pre_processor(options.processor(choices[c]), options);
mychoice = pre_processor(normalize ? options.processor(choices[c]).normalize() : options.processor(choices[c]), options);
if (typeof mychoice !== "string" || mychoice.length === 0) anyblank = true;
if (normalize && typeof mychoice === "string") mychoice = mychoice.normalize();
result = options.scorer(query, mychoice, options);

@@ -533,16 +539,4 @@ }

if (options.astral) {
if (options.normalize) {
if (String.prototype.normalize) {
str1 = str1.normalize();
str2 = str2.normalize();
}
else {
if (!normalWarn) {
if (typeof console !== undefined) console.warn("Normalization not supported in your environment");
normalWarn = true;
}
}
}
levdistance = iLeven(str1, str2, options, _toArray);
lensum = _toArray(str1).length + _toArray(str2).length
levdistance = iLeven(str1, str2, options);
lensum = Array.from(str1).length + Array.from(str2).length
}

@@ -549,0 +543,0 @@ else {

@@ -1,14 +0,1 @@

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).fuzzball=r()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r={exports:{}},t={exports:{}};!function(r,t){(function(){var e,t,n,o,a,i,s,c,u,l,p,f,d,h,g;n=Math.floor,l=Math.min,t=function(e,r){return e<r?-1:e>r?1:0},u=function(e,r,o,a,i){var s;if(null==o&&(o=0),null==i&&(i=t),o<0)throw new Error("lo must be non-negative");for(null==a&&(a=e.length);o<a;)i(r,e[s=n((o+a)/2)])<0?a=s:o=s+1;return[].splice.apply(e,[o,o-o].concat(r)),r},i=function(e,r,n){return null==n&&(n=t),e.push(r),h(e,0,e.length-1,n)},a=function(e,r){var n,o;return null==r&&(r=t),n=e.pop(),e.length?(o=e[0],e[0]=n,g(e,0,r)):o=n,o},c=function(e,r,n){var o;return null==n&&(n=t),o=e[0],e[0]=r,g(e,0,n),o},s=function(e,r,n){var o;return null==n&&(n=t),e.length&&n(e[0],r)<0&&(r=(o=[e[0],r])[0],e[0]=o[1],g(e,0,n)),r},o=function(e,r){var o,a,i,s,c,u;for(null==r&&(r=t),c=[],a=0,i=(s=function(){u=[];for(var r=0,t=n(e.length/2);0<=t?r<t:r>t;0<=t?r++:r--)u.push(r);return u}.apply(this).reverse()).length;a<i;a++)o=s[a],c.push(g(e,o,r));return c},d=function(e,r,n){var o;if(null==n&&(n=t),-1!==(o=e.indexOf(r)))return h(e,0,o,n),g(e,o,n)},p=function(e,r,n){var a,i,c,u,l;if(null==n&&(n=t),!(i=e.slice(0,r)).length)return i;for(o(i,n),c=0,u=(l=e.slice(r)).length;c<u;c++)a=l[c],s(i,a,n);return i.sort(n).reverse()},f=function(e,r,n){var i,s,c,p,f,d,h,g,v;if(null==n&&(n=t),10*r<=e.length){if(!(c=e.slice(0,r).sort(n)).length)return c;for(s=c[c.length-1],p=0,d=(h=e.slice(r)).length;p<d;p++)n(i=h[p],s)<0&&(u(c,i,0,null,n),c.pop(),s=c[c.length-1]);return c}for(o(e,n),v=[],f=0,g=l(r,e.length);0<=g?f<g:f>g;0<=g?++f:--f)v.push(a(e,n));return v},h=function(e,r,n,o){var a,i,s;for(null==o&&(o=t),a=e[n];n>r&&o(a,i=e[s=n-1>>1])<0;)e[n]=i,n=s;return e[n]=a},g=function(e,r,n){var o,a,i,s,c;for(null==n&&(n=t),a=e.length,c=r,i=e[r],o=2*r+1;o<a;)(s=o+1)<a&&!(n(e[o],e[s])<0)&&(o=s),e[r]=e[o],o=2*(r=o)+1;return e[r]=i,h(e,c,r,n)},e=function(){function Heap(e){this.cmp=null!=e?e:t,this.nodes=[]}return Heap.push=i,Heap.pop=a,Heap.replace=c,Heap.pushpop=s,Heap.heapify=o,Heap.updateItem=d,Heap.nlargest=p,Heap.nsmallest=f,Heap.prototype.push=function(e){return i(this.nodes,e,this.cmp)},Heap.prototype.pop=function(){return a(this.nodes,this.cmp)},Heap.prototype.peek=function(){return this.nodes[0]},Heap.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},Heap.prototype.replace=function(e){return c(this.nodes,e,this.cmp)},Heap.prototype.pushpop=function(e){return s(this.nodes,e,this.cmp)},Heap.prototype.heapify=function(){return o(this.nodes,this.cmp)},Heap.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},Heap.prototype.clear=function(){return this.nodes=[]},Heap.prototype.empty=function(){return 0===this.nodes.length},Heap.prototype.size=function(){return this.nodes.length},Heap.prototype.clone=function(){var e;return(e=new Heap).nodes=this.nodes.slice(0),e},Heap.prototype.toArray=function(){return this.nodes.slice(0)},Heap.prototype.insert=Heap.prototype.push,Heap.prototype.top=Heap.prototype.peek,Heap.prototype.front=Heap.prototype.peek,Heap.prototype.has=Heap.prototype.contains,Heap.prototype.copy=Heap.prototype.clone,Heap}(),r.exports=e}).call(e)}(t);var n=t.exports;var o=function arrayMap$4(e,r){for(var t=-1,n=null==e?0:e.length,o=Array(n);++t<n;)o[t]=r(e[t],t,e);return o},a="object"==typeof e&&e&&e.Object===Object&&e,i=a,s="object"==typeof self&&self&&self.Object===Object&&self,c=i||s||Function("return this")(),u=c.Symbol,l=u,p=Object.prototype,f=p.hasOwnProperty,d=p.toString,h=l?l.toStringTag:void 0;var g=function getRawTag$1(e){var r=f.call(e,h),t=e[h];try{e[h]=void 0;var n=!0}catch(e){}var o=d.call(e);return n&&(r?e[h]=t:delete e[h]),o},v=Object.prototype.toString;var y=g,m=function objectToString$1(e){return v.call(e)},x=u?u.toStringTag:void 0;var b=function baseGetTag$5(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?y(e):m(e)};var _=function isObject$2(e){var r=typeof e;return null!=e&&("object"==r||"function"==r)},w=b,$=_;var E,C=function isFunction$2(e){if(!$(e))return!1;var r=w(e);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r},j=c["__core-js_shared__"],k=(E=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"";var S=function isMasked$1(e){return!!k&&k in e},A=Function.prototype.toString;var O=function toSource$2(e){if(null!=e){try{return A.call(e)}catch(e){}try{return e+""}catch(e){}}return""},R=C,I=S,z=_,P=O,F=/^\[object .+?Constructor\]$/,N=Function.prototype,T=Object.prototype,H=N.toString,X=T.hasOwnProperty,L=RegExp("^"+H.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var M=function baseIsNative$1(e){return!(!z(e)||I(e))&&(R(e)?L:F).test(P(e))},U=function getValue$1(e,r){return null==e?void 0:e[r]};var D=function getNative$7(e,r){var t=U(e,r);return M(t)?t:void 0},B=D(Object,"create"),G=B;var q=function hashClear$1(){this.__data__=G?G(null):{},this.size=0};var Q=function hashDelete$1(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r},W=B,Y=Object.prototype.hasOwnProperty;var Z=function hashGet$1(e){var r=this.__data__;if(W){var t=r[e];return"__lodash_hash_undefined__"===t?void 0:t}return Y.call(r,e)?r[e]:void 0},V=B,K=Object.prototype.hasOwnProperty;var J=B;var ee=q,re=Q,te=Z,ne=function hashHas$1(e){var r=this.__data__;return V?void 0!==r[e]:K.call(r,e)},oe=function hashSet$1(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=J&&void 0===r?"__lodash_hash_undefined__":r,this};function Hash$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Hash$1.prototype.clear=ee,Hash$1.prototype.delete=re,Hash$1.prototype.get=te,Hash$1.prototype.has=ne,Hash$1.prototype.set=oe;var ae=Hash$1;var ie=function listCacheClear$1(){this.__data__=[],this.size=0};var se=function eq$1(e,r){return e===r||e!=e&&r!=r};var ce=function assocIndexOf$4(e,r){for(var t=e.length;t--;)if(se(e[t][0],r))return t;return-1},ue=ce,le=Array.prototype.splice;var pe=ce;var fe=ce;var de=ce;var he=ie,ge=function listCacheDelete$1(e){var r=this.__data__,t=ue(r,e);return!(t<0)&&(t==r.length-1?r.pop():le.call(r,t,1),--this.size,!0)},ve=function listCacheGet$1(e){var r=this.__data__,t=pe(r,e);return t<0?void 0:r[t][1]},ye=function listCacheHas$1(e){return fe(this.__data__,e)>-1},me=function listCacheSet$1(e,r){var t=this.__data__,n=de(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this};function ListCache$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}ListCache$1.prototype.clear=he,ListCache$1.prototype.delete=ge,ListCache$1.prototype.get=ve,ListCache$1.prototype.has=ye,ListCache$1.prototype.set=me;var xe=ListCache$1,be=D(c,"Map"),_e=ae,we=xe,$e=be;var Ee=function isKeyable$1(e){var r=typeof e;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e};var Ce=function getMapData$4(e,r){var t=e.__data__;return Ee(r)?t["string"==typeof r?"string":"hash"]:t.map},je=Ce;var ke=Ce;var Se=Ce;var Ae=Ce;var Oe=function mapCacheClear$1(){this.size=0,this.__data__={hash:new _e,map:new($e||we),string:new _e}},Re=function mapCacheDelete$1(e){var r=je(this,e).delete(e);return this.size-=r?1:0,r},Ie=function mapCacheGet$1(e){return ke(this,e).get(e)},ze=function mapCacheHas$1(e){return Se(this,e).has(e)},Pe=function mapCacheSet$1(e,r){var t=Ae(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this};function MapCache$1(e){var r=-1,t=null==e?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}MapCache$1.prototype.clear=Oe,MapCache$1.prototype.delete=Re,MapCache$1.prototype.get=Ie,MapCache$1.prototype.has=ze,MapCache$1.prototype.set=Pe;var Fe=MapCache$1,Ne=function setCacheAdd$1(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Te=function setCacheHas$1(e){return this.__data__.has(e)};function SetCache$3(e){var r=-1,t=null==e?0:e.length;for(this.__data__=new Fe;++r<t;)this.add(e[r])}SetCache$3.prototype.add=SetCache$3.prototype.push=Ne,SetCache$3.prototype.has=Te;var He=SetCache$3;var Xe=function baseFindIndex$1(e,r,t,n){for(var o=e.length,a=t+(n?1:-1);n?a--:++a<o;)if(r(e[a],a,e))return a;return-1},Le=function baseIsNaN$1(e){return e!=e},Me=function strictIndexOf$1(e,r,t){for(var n=t-1,o=e.length;++n<o;)if(e[n]===r)return n;return-1};var Ue=function baseIndexOf$1(e,r,t){return r==r?Me(e,r,t):Xe(e,Le,t)};var De=function arrayIncludes$3(e,r){return!!(null==e?0:e.length)&&Ue(e,r,0)>-1};var Be=function arrayIncludesWith$3(e,r,t){for(var n=-1,o=null==e?0:e.length;++n<o;)if(t(r,e[n]))return!0;return!1};var Ge=function baseUnary$3(e){return function(r){return e(r)}};var qe=function cacheHas$3(e,r){return e.has(r)},Qe=He,We=De,Ye=Be,Ze=o,Ve=Ge,Ke=qe,Je=Math.min;var er=function baseIntersection$1(e,r,t){for(var n=t?Ye:We,o=e[0].length,a=e.length,i=a,s=Array(a),c=1/0,u=[];i--;){var l=e[i];i&&r&&(l=Ze(l,Ve(r))),c=Je(l.length,c),s[i]=!t&&(r||o>=120&&l.length>=120)?new Qe(i&&l):void 0}l=e[0];var p=-1,f=s[0];e:for(;++p<o&&u.length<c;){var d=l[p],h=r?r(d):d;if(d=t||0!==d?d:0,!(f?Ke(f,h):n(u,h,t))){for(i=a;--i;){var g=s[i];if(!(g?Ke(g,h):n(e[i],h,t)))continue e}f&&f.push(h),u.push(d)}}return u};var rr=function identity$2(e){return e};var tr=function apply$1(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)},nr=Math.max;var or=function overRest$1(e,r,t){return r=nr(void 0===r?e.length-1:r,0),function(){for(var n=arguments,o=-1,a=nr(n.length-r,0),i=Array(a);++o<a;)i[o]=n[r+o];o=-1;for(var s=Array(r+1);++o<r;)s[o]=n[o];return s[r]=t(i),tr(e,this,s)}};var ar=function constant$1(e){return function(){return e}},ir=D,sr=function(){try{var e=ir(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),cr=ar,ur=sr,lr=ur?function(e,r){return ur(e,"toString",{configurable:!0,enumerable:!1,value:cr(r),writable:!0})}:rr,pr=Date.now;var fr=function shortOut$1(e){var r=0,t=0;return function(){var n=pr(),o=16-(n-t);if(t=n,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}},dr=fr(lr),hr=rr,gr=or,vr=dr;var yr=function baseRest$2(e,r){return vr(gr(e,r,hr),e+"")};var mr=function isLength$2(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},xr=C,br=mr;var _r=function isArrayLike$3(e){return null!=e&&br(e.length)&&!xr(e)};var wr=function isObjectLike$5(e){return null!=e&&"object"==typeof e},$r=_r,Er=wr;var Cr=function isArrayLikeObject$2(e){return Er(e)&&$r(e)},jr=Cr;var kr=o,Sr=er,Ar=function castArrayLikeObject$1(e){return jr(e)?e:[]},Or=yr((function(e){var r=kr(e,Ar);return r.length&&r[0]===e[0]?Sr(r):[]})),Rr=He,Ir=De,zr=Be,Pr=o,Fr=Ge,Nr=qe;var Tr=function baseDifference$1(e,r,t,n){var o=-1,a=Ir,i=!0,s=e.length,c=[],u=r.length;if(!s)return c;t&&(r=Pr(r,Fr(t))),n?(a=zr,i=!1):r.length>=200&&(a=Nr,i=!1,r=new Rr(r));e:for(;++o<s;){var l=e[o],p=null==t?l:t(l);if(l=n||0!==l?l:0,i&&p==p){for(var f=u;f--;)if(r[f]===p)continue e;c.push(l)}else a(r,p,n)||c.push(l)}return c};var Hr=function arrayPush$1(e,r){for(var t=-1,n=r.length,o=e.length;++t<n;)e[o+t]=r[t];return e},Xr=b,Lr=wr;var Mr=function baseIsArguments$1(e){return Lr(e)&&"[object Arguments]"==Xr(e)},Ur=wr,Dr=Object.prototype,Br=Dr.hasOwnProperty,Gr=Dr.propertyIsEnumerable,qr=Mr(function(){return arguments}())?Mr:function(e){return Ur(e)&&Br.call(e,"callee")&&!Gr.call(e,"callee")},Qr=qr,Wr=Array.isArray,Yr=Qr,Zr=Wr,Vr=u?u.isConcatSpreadable:void 0;var Kr=Hr,Jr=function isFlattenable$1(e){return Zr(e)||Yr(e)||!!(Vr&&e&&e[Vr])};var et=function baseFlatten$1(e,r,t,n,o){var a=-1,i=e.length;for(t||(t=Jr),o||(o=[]);++a<i;){var s=e[a];r>0&&t(s)?r>1?baseFlatten$1(s,r-1,t,n,o):Kr(o,s):n||(o[o.length]=s)}return o},rt=Tr,tt=et,nt=Cr,ot=yr((function(e,r){return nt(e)?rt(e,tt(r,1,nt,!0)):[]})),at=ot,it=D(c,"Set");var st=function setToArray$3(e){var r=-1,t=Array(e.size);return e.forEach((function(e){t[++r]=e})),t},ct=it,ut=function noop$1(){},lt=ct&&1/st(new ct([,-0]))[1]==1/0?function(e){return new ct(e)}:ut,pt=He,ft=De,dt=Be,ht=qe,gt=lt,vt=st;var yt=function baseUniq$1(e,r,t){var n=-1,o=ft,a=e.length,i=!0,s=[],c=s;if(t)i=!1,o=dt;else if(a>=200){var u=r?null:gt(e);if(u)return vt(u);i=!1,o=ht,c=new pt}else c=r?[]:s;e:for(;++n<a;){var l=e[n],p=r?r(l):l;if(l=t||0!==l?l:0,i&&p==p){for(var f=c.length;f--;)if(c[f]===p)continue e;r&&c.push(p),s.push(l)}else o(c,p,t)||(c!==s&&c.push(p),s.push(l))}return s};var mt=function uniq(e){return e&&e.length?yt(e):[]};var xt=function copyArray$1(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r},bt=D(c,"DataView"),_t=be,wt=D(c,"Promise"),$t=it,Et=D(c,"WeakMap"),Ct=b,jt=O,kt="[object Map]",St="[object Promise]",At="[object Set]",Ot="[object WeakMap]",Rt="[object DataView]",It=jt(bt),zt=jt(_t),Pt=jt(wt),Ft=jt($t),Nt=jt(Et),Tt=Ct;(bt&&Tt(new bt(new ArrayBuffer(1)))!=Rt||_t&&Tt(new _t)!=kt||wt&&Tt(wt.resolve())!=St||$t&&Tt(new $t)!=At||Et&&Tt(new Et)!=Ot)&&(Tt=function(e){var r=Ct(e),t="[object Object]"==r?e.constructor:void 0,n=t?jt(t):"";if(n)switch(n){case It:return Rt;case zt:return kt;case Pt:return St;case Ft:return At;case Nt:return Ot}return r});var Ht=Tt,Xt=b,Lt=Wr,Mt=wr;var Ut=function isString$1(e){return"string"==typeof e||!Lt(e)&&Mt(e)&&"[object String]"==Xt(e)};var Dt=function iteratorToArray$1(e){for(var r,t=[];!(r=e.next()).done;)t.push(r.value);return t};var Bt=function mapToArray$1(e){var r=-1,t=Array(e.size);return e.forEach((function(e,n){t[++r]=[n,e]})),t};var Gt=function asciiToArray$1(e){return e.split("")},qt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Qt=function hasUnicode$1(e){return qt.test(e)},Wt="[\\ud800-\\udfff]",Yt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Zt="\\ud83c[\\udffb-\\udfff]",Vt="[^\\ud800-\\udfff]",Kt="(?:\\ud83c[\\udde6-\\uddff]){2}",Jt="[\\ud800-\\udbff][\\udc00-\\udfff]",en="(?:"+Yt+"|"+Zt+")"+"?",rn="[\\ufe0e\\ufe0f]?",tn=rn+en+("(?:\\u200d(?:"+[Vt,Kt,Jt].join("|")+")"+rn+en+")*"),nn="(?:"+[Vt+Yt+"?",Yt,Kt,Jt,Wt].join("|")+")",on=RegExp(Zt+"(?="+Zt+")|"+nn+tn,"g");var an=Gt,sn=Qt,cn=function unicodeToArray$1(e){return e.match(on)||[]};var un=function stringToArray$1(e){return sn(e)?cn(e):an(e)},ln=o;var pn=function baseValues$1(e,r){return ln(r,(function(r){return e[r]}))};var fn=function baseTimes$1(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n},dn={exports:{}};var hn=function stubFalse(){return!1};!function(e,r){var t=c,n=hn,o=r&&!r.nodeType&&r,a=o&&e&&!e.nodeType&&e,i=a&&a.exports===o?t.Buffer:void 0,s=(i?i.isBuffer:void 0)||n;e.exports=s}(dn,dn.exports);var gn=/^(?:0|[1-9]\d*)$/;var vn=function isIndex$1(e,r){var t=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==t||"symbol"!=t&&gn.test(e))&&e>-1&&e%1==0&&e<r},yn=b,mn=mr,xn=wr,bn={};bn["[object Float32Array]"]=bn["[object Float64Array]"]=bn["[object Int8Array]"]=bn["[object Int16Array]"]=bn["[object Int32Array]"]=bn["[object Uint8Array]"]=bn["[object Uint8ClampedArray]"]=bn["[object Uint16Array]"]=bn["[object Uint32Array]"]=!0,bn["[object Arguments]"]=bn["[object Array]"]=bn["[object ArrayBuffer]"]=bn["[object Boolean]"]=bn["[object DataView]"]=bn["[object Date]"]=bn["[object Error]"]=bn["[object Function]"]=bn["[object Map]"]=bn["[object Number]"]=bn["[object Object]"]=bn["[object RegExp]"]=bn["[object Set]"]=bn["[object String]"]=bn["[object WeakMap]"]=!1;var _n=function baseIsTypedArray$1(e){return xn(e)&&mn(e.length)&&!!bn[yn(e)]},wn={exports:{}};!function(e,r){var t=a,n=r&&!r.nodeType&&r,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&t.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=s}(wn,wn.exports);var $n=_n,En=Ge,Cn=wn.exports,jn=Cn&&Cn.isTypedArray,kn=jn?En(jn):$n,Sn=fn,An=Qr,On=Wr,Rn=dn.exports,In=vn,zn=kn,Pn=Object.prototype.hasOwnProperty;var Fn=function arrayLikeKeys$1(e,r){var t=On(e),n=!t&&An(e),o=!t&&!n&&Rn(e),a=!t&&!n&&!o&&zn(e),i=t||n||o||a,s=i?Sn(e.length,String):[],c=s.length;for(var u in e)!r&&!Pn.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||In(u,c))||s.push(u);return s},Nn=Object.prototype;var Tn=function isPrototype$1(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||Nn)};var Hn=function overArg$1(e,r){return function(t){return e(r(t))}}(Object.keys,Object),Xn=Tn,Ln=Hn,Mn=Object.prototype.hasOwnProperty;var Un=Fn,Dn=function baseKeys$1(e){if(!Xn(e))return Ln(e);var r=[];for(var t in Object(e))Mn.call(e,t)&&"constructor"!=t&&r.push(t);return r},Bn=_r;var Gn=pn,qn=function keys$1(e){return Bn(e)?Un(e):Dn(e)};var Qn=xt,Wn=Ht,Yn=_r,Zn=Ut,Vn=Dt,Kn=Bt,Jn=st,eo=un,ro=function values$1(e){return null==e?[]:Gn(e,qn(e))},to=u?u.iterator:void 0;var no,oo=function toArray(e){if(!e)return[];if(Yn(e))return Zn(e)?eo(e):Qn(e);if(to&&e[to])return Vn(e[to]());var r=Wn(e);return("[object Map]"==r?Kn:"[object Set]"==r?Jn:ro)(e)};
/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var e=function(){try{var e={},r=Object.defineProperty,t=r(e,e,e)&&r}catch(e){}return t}(),codePointAt=function(e){if(null==this)throw TypeError();var r=String(this),t=r.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=t)){var o,a=r.charCodeAt(n);return a>=55296&&a<=56319&&t>n+1&&(o=r.charCodeAt(n+1))>=56320&&o<=57343?1024*(a-55296)+o-56320+65536:a}};e?e(String.prototype,"codePointAt",{value:codePointAt,configurable:!0,writable:!0}):String.prototype.codePointAt=codePointAt}()
/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */,String.fromCodePoint||function(){var e=function(){try{var e={},r=Object.defineProperty,t=r(e,e,e)&&r}catch(e){}return t}(),r=String.fromCharCode,t=Math.floor,fromCodePoint=function(e){var n,o,a=16384,i=[],s=-1,c=arguments.length;if(!c)return"";for(var u="";++s<c;){var l=Number(arguments[s]);if(!isFinite(l)||l<0||l>1114111||t(l)!=l)throw RangeError("Invalid code point: "+l);l<=65535?i.push(l):(n=55296+((l-=65536)>>10),o=l%1024+56320,i.push(n,o)),(s+1==c||i.length>a)&&(u+=r.apply(null,i),i.length=0)}return u};e?e(String,"fromCodePoint",{value:fromCodePoint,configurable:!0,writable:!0}):String.fromCodePoint=fromCodePoint}();try{no="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var ao,io=function leven(e,r,t,n){var o=[],a=[],i=t&&no&&t.useCollator,s=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(s=t.subcost),e===r)return 0;var c,u,l,p,f=n(e),d=n(r),h=f.length,g=d.length;if(0===h)return g;if(0===g)return h;for(var v=0,y=0;v<h;)a[v]=f[v].codePointAt(0),o[v]=++v;if(i)for(;y<g;)for(c=d[y].codePointAt(0),l=y++,u=y,v=0;v<h;v++)p=0===no.compare(String.fromCodePoint(c),String.fromCodePoint(a[v]))?l:l+s,l=o[v],u=o[v]=l>u?p>u?u+1:p:p>l?l+1:p;else for(;y<g;)for(c=d[y].codePointAt(0),l=y++,u=y,v=0;v<h;v++)p=c===a[v]?l:l+s,l=o[v],u=o[v]=l>u?p>u?u+1:p:p>l?l+1:p;return u};try{ao="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var so,co=function leven(e,r,t,n){var o=[],a=[],i=t&&ao&&t.useCollator,s=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(s=t.subcost),e===r)return 0;var c=e.length,u=r.length;if(0===c)return u;if(0===u)return c;if(t&&t.wildcards&&"string"==typeof t.wildcards&&t.wildcards.length>0){var l,p,f,d,h,g;if(!1===t.full_process&&!0!==t.processed){p=(l=t.wildcards[0]).charCodeAt(0);var v="["+function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(t.wildcards)+"]";if((e=e.replace(new RegExp(v,"g"),l))===(r=r.replace(new RegExp(v,"g"),l)))return 0}else p=(l=t.wildcards[0].toLowerCase()).charCodeAt(0);for(var y=0,m=0;y<c;)a[y]=e.charCodeAt(y),o[y]=++y;if(i)for(;m<u;)for(f=r.charCodeAt(m),h=m++,d=m,y=0;y<c;y++)g=0===ao.compare(String.fromCharCode(f),String.fromCharCode(a[y]))||f===p||a[y]===p?h:h+s,h=o[y],d=o[y]=h>d?g>d?d+1:g:g>h?h+1:g;else for(;m<u;)for(f=r.charCodeAt(m),h=m++,d=m,y=0;y<c;y++)g=f===a[y]||f===p||a[y]===p?h:h+s,h=o[y],d=o[y]=h>d?g>d?d+1:g:g>h?h+1:g;return d}return n(e,r,t)};try{so="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var uo=function leven(e,r,t){var n=[],o=[],a=t&&so&&t.useCollator,i=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(i=t.subcost),e===r)return 0;var s,c,u,l,p=e.length,f=r.length;if(0===p)return f;if(0===f)return p;for(var d=0,h=0;d<p;)o[d]=e.charCodeAt(d),n[d]=++d;if(a)for(;h<f;)for(s=r.charCodeAt(h),u=h++,c=h,d=0;d<p;d++)l=0===so.compare(String.fromCharCode(s),String.fromCharCode(o[d]))?u:u+i,u=n[d],c=n[d]=u>c?l>c?c+1:l:l>u?u+1:l;else for(;h<f;)for(s=r.charCodeAt(h),u=h++,c=h,d=0;d<p;d++)l=s===o[d]?u:u+i,u=n[d],c=n[d]=u>c?l>c?c+1:l:l>u?u+1:l;return c};!function(e,r){if(!e.setImmediate){var t,n=1,o={},a=!1,i=e.document,s=Object.getPrototypeOf&&Object.getPrototypeOf(e);s=s&&s.setTimeout?s:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){t=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var r=!0,t=e.onmessage;return e.onmessage=function(){r=!1},e.postMessage("","*"),e.onmessage=t,r}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},t=function(r){e.port2.postMessage(r)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;t=function(r){var t=i.createElement("script");t.onreadystatechange=function(){runIfPresent(r),t.onreadystatechange=null,e.removeChild(t),t=null},e.appendChild(t)}}():function installSetTimeoutImplementation(){t=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var r="setImmediate$"+Math.random()+"$",onGlobalMessage=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&runIfPresent(+t.data.slice(r.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),t=function(t){e.postMessage(r+t,"*")}}(),s.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),a=0;a<r.length;a++)r[a]=arguments[a+1];var i={callback:e,args:r};return o[n]=i,t(n),n++},s.clearImmediate=clearImmediate}function clearImmediate(e){delete o[e]}function runIfPresent(e){if(a)setTimeout(runIfPresent,0,e);else{var r=o[e];if(r){a=!0;try{!function run(e){var r=e.callback,t=e.args;switch(t.length){case 0:r();break;case 1:r(t[0]);break;case 2:r(t[0],t[1]);break;case 3:r(t[0],t[1],t[2]);break;default:r.apply(void 0,t)}}(r)}finally{clearImmediate(e),a=!1}}}}}("undefined"==typeof self?e:self);
/*!
* XRegExp 3.1.1-next
* <xregexp.com>
* Steven Levithan (c) 2007-2016 MIT License
*/
var lo={astral:!1,natives:!1},po={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},fo={},ho={},go={},vo=[],yo="default",mo="class",xo={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},bo=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,_o=void 0===po.exec.call(/()??/,"")[1],wo=void 0!==/x/.flags,$o={}.toString;function hasNativeFlag(e){var r=!0;try{new RegExp("",e)}catch(e){r=!1}return r&&"y"===e?new RegExp("aa|.","y").test("b"):r}var Eo=hasNativeFlag("u"),Co=hasNativeFlag("y"),jo={g:!0,i:!0,m:!0,u:Eo,y:Co};function augment(e,r,t,n,o){var a;if(e.xregexp={captureNames:r},o)return e;if(e.__proto__)e.__proto__=XRegExp$1.prototype;else for(a in XRegExp$1.prototype)e[a]=XRegExp$1.prototype[a];return e.xregexp.source=t,e.xregexp.flags=n?n.split("").sort().join(""):n,e}function clipDuplicates(e){return po.replace.call(e,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(e,r){if(!XRegExp$1.isRegExp(e))throw new TypeError("Type RegExp expected");var t=e.xregexp||{},n=function getNativeFlags(e){return wo?e.flags:po.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(e))[1]}(e),o="",a="",i=null,s=null;return(r=r||{}).removeG&&(a+="g"),r.removeY&&(a+="y"),a&&(n=po.replace.call(n,new RegExp("["+a+"]+","g"),"")),r.addG&&(o+="g"),r.addY&&(o+="y"),o&&(n=clipDuplicates(n+o)),r.isInternalOnly||(void 0!==t.source&&(i=t.source),null!=t.flags&&(s=o?clipDuplicates(t.flags+o):t.flags)),e=augment(new RegExp(r.source||e.source,n),function hasNamedCapture(e){return!(!e.xregexp||!e.xregexp.captureNames)}(e)?t.captureNames.slice(0):null,i,s,r.isInternalOnly)}function dec(e){return parseInt(e,16)}function hex(e){return parseInt(e,10).toString(16)}function indexOf(e,r){var t,n=e.length;for(t=0;t<n;++t)if(e[t]===r)return t;return-1}function isQuantifierNext(e,r,t){return po.test.call(t.indexOf("x")>-1?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,e.slice(r))}function pad4(e){for(;e.length<4;)e="0"+e;return e}function registerFlag(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");jo[e]=!0}function runTokens(e,r,t,n,o){for(var a,i,s=vo.length,c=e.charAt(t),u=null;s--;)if(!((i=vo[s]).leadChar&&i.leadChar!==c||i.scope!==n&&"all"!==i.scope||i.flag&&-1===r.indexOf(i.flag))&&(a=XRegExp$1.exec(e,i.regex,t,"sticky"))){u={matchLength:a[0].length,output:i.handler.call(o,a,n,r),reparse:i.reparse};break}return u}function XRegExp$1(e,r){if(XRegExp$1.isRegExp(e)){if(void 0!==r)throw new TypeError("Cannot supply flags when copying a RegExp");return copyRegex(e)}if(e=void 0===e?"":String(e),r=void 0===r?"":String(r),XRegExp$1.isInstalled("astral")&&-1===r.indexOf("A")&&(r+="A"),go[e]||(go[e]={}),!go[e][r]){for(var t,n={hasNamedCapture:!1,captureNames:[]},o=yo,a="",i=0,s=function prepareFlags(e,r){var t;if(clipDuplicates(r)!==r)throw new SyntaxError("Invalid duplicate regex flag "+r);for(e=po.replace.call(e,/^\(\?([\w$]+)\)/,(function(e,t){if(po.test.call(/[gy]/,t))throw new SyntaxError("Cannot use flag g or y in mode modifier "+e);return r=clipDuplicates(r+t),""})),t=0;t<r.length;++t)if(!jo[r.charAt(t)])throw new SyntaxError("Unknown regex flag "+r.charAt(t));return{pattern:e,flags:r}}(e,r),c=s.pattern,u=s.flags;i<c.length;){do{(t=runTokens(c,u,i,o,n))&&t.reparse&&(c=c.slice(0,i)+t.output+c.slice(i+t.matchLength))}while(t&&t.reparse);if(t)a+=t.output,i+=t.matchLength||1;else{var l=XRegExp$1.exec(c,xo[o],i,"sticky")[0];a+=l,i+=l.length,"["===l&&o===yo?o=mo:"]"===l&&o===mo&&(o=yo)}}go[e][r]={pattern:po.replace.call(a,/(?:\(\?:\))+/g,"(?:)"),flags:po.replace.call(u,/[^gimuy]+/g,""),captures:n.hasNamedCapture?n.captureNames:null}}var p=go[e][r];return augment(new RegExp(p.pattern,p.flags),p.captures,e,r)}XRegExp$1.prototype=new RegExp,XRegExp$1.version="3.1.1-next",XRegExp$1._clipDuplicates=clipDuplicates,XRegExp$1._hasNativeFlag=hasNativeFlag,XRegExp$1._dec=dec,XRegExp$1._hex=hex,XRegExp$1._pad4=pad4,XRegExp$1.addToken=function(e,r,t){var n,o=(t=t||{}).optionalFlags;if(t.flag&&registerFlag(t.flag),o)for(o=po.split.call(o,""),n=0;n<o.length;++n)registerFlag(o[n]);vo.push({regex:copyRegex(e,{addG:!0,addY:Co,isInternalOnly:!0}),handler:r,scope:t.scope||yo,flag:t.flag,reparse:t.reparse,leadChar:t.leadChar}),XRegExp$1.cache.flush("patterns")},XRegExp$1.cache=function(e,r){return ho[e]||(ho[e]={}),ho[e][r]||(ho[e][r]=XRegExp$1(e,r))},XRegExp$1.cache.flush=function(e){"patterns"===e?go={}:ho={}},XRegExp$1.exec=function(e,r,t,n){var o,a,i,s="g",c=!1;return(o=Co&&!!(n||r.sticky&&!1!==n))?s+="y":n&&(c=!0,s+="FakeY"),r.xregexp=r.xregexp||{},t=t||0,(i=r.xregexp[s]||(r.xregexp[s]=copyRegex(r,{addG:!0,addY:o,source:c?r.source+"|()":void 0,removeY:!1===n,isInternalOnly:!0}))).lastIndex=t,a=fo.exec.call(i,e),c&&a&&""===a.pop()&&(a=null),r.global&&(r.lastIndex=a?i.lastIndex:0),a},XRegExp$1.isInstalled=function(e){return!!lo[e]},XRegExp$1.isRegExp=function(e){return"[object RegExp]"===$o.call(e)},XRegExp$1.replace=function(e,r,t,n){var o,a=XRegExp$1.isRegExp(r),i=r.global&&"one"!==n||"all"===n,s=(i?"g":"")+(r.sticky?"y":"")||"noGY",c=r;return a?(r.xregexp=r.xregexp||{},c=r.xregexp[s]||(r.xregexp[s]=copyRegex(r,{addG:!!i,removeG:"one"===n,isInternalOnly:!0}))):i&&(c=new RegExp(XRegExp$1.escape(String(r)),"g")),o=fo.replace.call(function toObject(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}(e),c,t),a&&r.global&&(r.lastIndex=0),o},fo.exec=function(e){var r,t,n,o=this.lastIndex,a=po.exec.apply(this,arguments);if(a){if(!_o&&a.length>1&&indexOf(a,"")>-1&&(t=copyRegex(this,{removeG:!0,isInternalOnly:!0}),po.replace.call(String(e).slice(a.index),t,(function(){var e,r=arguments.length;for(e=1;e<r-2;++e)void 0===arguments[e]&&(a[e]=void 0)}))),this.xregexp&&this.xregexp.captureNames)for(n=1;n<a.length;++n)(r=this.xregexp.captureNames[n-1])&&(a[r]=a[n]);this.global&&!a[0].length&&this.lastIndex>a.index&&(this.lastIndex=a.index)}return this.global||(this.lastIndex=o),a},fo.replace=function(e,r){var t,n,o,a=XRegExp$1.isRegExp(e);return a?(e.xregexp&&(n=e.xregexp.captureNames),t=e.lastIndex):e+="",o=function isType(e,r){return $o.call(e)==="[object "+r+"]"}(r,"Function")?po.replace.call(String(this),e,(function(){var t,o=arguments;if(n)for(o[0]=new String(o[0]),t=0;t<n.length;++t)n[t]&&(o[0][n[t]]=o[t+1]);return a&&e.global&&(e.lastIndex=o[o.length-2]+o[0].length),r.apply(void 0,o)})):po.replace.call(null==this?this:String(this),e,(function(){var e=arguments;return po.replace.call(String(r),bo,(function(r,t,o){var a;if(t){if((a=+t)<=e.length-3)return e[a]||"";if((a=n?indexOf(n,t):-1)<0)throw new SyntaxError("Backreference to undefined group "+r);return e[a+1]||""}if("$"===o)return"$";if("&"===o||0==+o)return e[0];if("`"===o)return e[e.length-1].slice(0,e[e.length-2]);if("'"===o)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(o=+o,!isNaN(o)){if(o>e.length-3)throw new SyntaxError("Backreference to undefined group "+r);return e[o]||""}throw new SyntaxError("Invalid token "+r)}))})),a&&(e.global?e.lastIndex=0:e.lastIndex=t),o},fo.split=function(e,r){if(!XRegExp$1.isRegExp(e))return po.split.apply(this,arguments);var t,n=String(this),o=[],a=e.lastIndex,i=0;return r=(void 0===r?-1:r)>>>0,XRegExp$1.forEach(n,e,(function(e){e.index+e[0].length>i&&(o.push(n.slice(i,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(o,e.slice(1)),t=e[0].length,i=e.index+t)})),i===n.length?po.test.call(e,"")&&!t||o.push(""):o.push(n.slice(i)),e.lastIndex=a,o.length>r?o.slice(0,r):o},XRegExp$1.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(e,r){if("B"===e[1]&&r===yo)return e[0];throw new SyntaxError("Invalid escape "+e[0])}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\\u{([\dA-Fa-f]+)}/,(function(e,r,t){var n=dec(e[1]);if(n>1114111)throw new SyntaxError("Invalid Unicode code point "+e[0]);if(n<=65535)return"\\u"+pad4(hex(n));if(Eo&&t.indexOf("u")>-1)return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\[(\^?)\]/,(function(e){return e[1]?"[\\s\\S]":"\\b\\B"}),{leadChar:"["}),XRegExp$1.addToken(/\(\?#[^)]*\)/,(function(e,r,t){return isQuantifierNext(e.input,e.index+e[0].length,t)?"":"(?:)"}),{leadChar:"("}),XRegExp$1.addToken(/\s+|#[^\n]*\n?/,(function(e,r,t){return isQuantifierNext(e.input,e.index+e[0].length,t)?"":"(?:)"}),{flag:"x"}),XRegExp$1.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),XRegExp$1.addToken(/\\k<([\w$]+)>/,(function(e){var r=isNaN(e[1])?indexOf(this.captureNames,e[1])+1:+e[1],t=e.index+e[0].length;if(!r||r>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+e[0]);return"\\"+r+(t===e.input.length||isNaN(e.input.charAt(t))?"":"(?:)")}),{leadChar:"\\"}),XRegExp$1.addToken(/\\(\d+)/,(function(e,r){if(!(r===yo&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+e[0]);return e[0]}),{scope:"all",leadChar:"\\"}),XRegExp$1.addToken(/\(\?P?<([\w$]+)>/,(function(e){if(!isNaN(e[1]))throw new SyntaxError("Cannot use integer as capture name "+e[0]);if("length"===e[1]||"__proto__"===e[1])throw new SyntaxError("Cannot use reserved word as capture name "+e[0]);if(indexOf(this.captureNames,e[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+e[0]);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),XRegExp$1.addToken(/\((?!\?)/,(function(e,r,t){return t.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("});var ko=XRegExp$1;
/*!
* XRegExp Unicode Base 3.1.1-next
* <xregexp.com>
* Steven Levithan (c) 2008-2016 MIT License
*/!function(e){var r={},t=e._dec,n=e._hex,o=e._pad4;function normalize(e){return e.replace(/[- _]+/g,"").toLowerCase()}function charCode(e){var r=/^\\[xu](.+)/.exec(e);return r?t(r[1]):e.charCodeAt("\\"===e.charAt(0)?1:0)}function cacheInvertedBmp(t){return r[t]["b!"]||(r[t]["b!"]=function invertBmp(r){var t="",a=-1;return e.forEach(r,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(e){var r=charCode(e[1]);r>a+1&&(t+="\\u"+o(n(a+1)),r>a+2&&(t+="-\\u"+o(n(r-1)))),a=charCode(e[2]||e[1])})),a<65535&&(t+="\\u"+o(n(a+1)),a<65534&&(t+="-\\uFFFF")),t}(r[t].bmp))}e.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,(function(e,t,n){var o="P"===e[1]||!!e[2],a=normalize(e[4]||e[3]),i=r[a];if("P"===e[1]&&e[2])throw new SyntaxError("Invalid double negation "+e[0]);if(!r.hasOwnProperty(a))throw new SyntaxError("Unknown Unicode token "+e[0]);if(i.inverseOf){if(a=normalize(i.inverseOf),!r.hasOwnProperty(a))throw new ReferenceError("Unicode token missing data "+e[0]+" -> "+i.inverseOf);i=r[a],o=!o}if(!i.bmp)throw new SyntaxError("Astral mode required for Unicode token "+e[0]);return"class"===t?o?cacheInvertedBmp(a):i.bmp:(o?"[^":"[")+i.bmp+"]"}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=function(t){for(var n,o=0;o<t.length;++o){if(!(n=t[o]).name)throw new Error("Unicode token requires name");if(!(n.inverseOf||n.bmp||n.astral))throw new Error("Unicode token has no character data "+n.name);r[normalize(n.name)]=n,n.alias&&(r[normalize(n.alias)]=n)}e.cache.flush("patterns")},e._getUnicodeProperty=function(e){var t=normalize(e);return r[t]}}(ko),function(e){if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData([{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-Ᶎꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭧꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9"}])}(ko);var So=ko,Ao={exports:{}};return function(e){e.exports=function(r,t,n,o){return(e={}).dedupe=function dedupe(e,a){var i,s=r(a);if(!t(e)&&"object"!=typeof e)throw new Error("contains_dupes must be an array or object");if(0===Object.keys(e).length)return void 0!==typeof console&&console.warn("contains_dupes is empty"),[];s.limit&&(void 0!==typeof console&&console.warn("options.limit will be ignored in dedupe"),s.limit=0),s.cutoff&&"number"==typeof s.cutoff||(void 0!==typeof console&&console.warn("Using default cutoff of 70"),s.cutoff=70),s.scorer||(s.scorer=n,void 0!==typeof console&&console.log("Using default scorer 'ratio' for dedupe")),i=s.processor&&"function"==typeof s.processor?s.processor:function(e){return e};var c={};for(var u in e){var l=i(e[u]);if("string"!=typeof l&&l instanceof String==!1)throw new Error("Each processed item in dedupe must be a string.");var p=o(l,e,s);s.returnObjects?(1===p.length||(p=p.sort((function(e,r){var t=i(e.choice),n=i(r.choice),o=t.length,a=n.length;return o===a?t<n?-1:1:a-o}))),s.keepmap?c[i(p[0].choice)]={item:p[0].choice,key:p[0].key,matches:p}:c[i(p[0].choice)]={item:p[0].choice,key:p[0].key}):(1===p.length||(p=p.sort((function(e,r){var t=i(e[0]),n=i(r[0]),o=t.length,a=n.length;return o===a?t<n?-1:1:a-o}))),s.keepmap?c[i(p[0][0])]=[p[0][0],p[0][2],p]:c[i(p[0][0])]=[p[0][0],p[0][2]])}var f=[];for(var d in c)f.push(c[d]);return f},e}}(Ao),function(){var e=n,t=Or,o=at,a=oo,i=io,s=co,c=uo,u=function(e,r,t){var n={},o=So,a=co,i=uo;function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}n.validate=validate,n.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},n.tokenize=function unique_tokens(n,o){if(o&&o.wildcards&&r&&t){var s=t(a,o,i);return r(n.match(/\S+/g),(function(e,r){return 0===s(e,r)}))}return e(n.match(/\S+/g))};var s=o("[^\\pN|\\pL]","g");return n.full_process=function full_process(e,r){if(!(e instanceof String)&&"string"!=typeof e)return"";var t;if(r&&"object"==typeof r&&r.wildcards&&"string"==typeof r.wildcards&&r.wildcards.length>0){var n=r.wildcards.toLowerCase();if(e=e.toLowerCase(),r.force_ascii){var a="[^\0 -|"+escapeRegExp(n)+"]";e=e.replace(new RegExp(a,"g"),"");var i="["+escapeRegExp(n)+"]",c=n[0];e=e.replace(new RegExp(i,"g"),c);var u="[^A-Za-z0-9"+escapeRegExp(n)+"]";t=(e=(e=e.replace(new RegExp(u,"g")," ")).replace(/_/g," ")).trim()}else{var l="[^\\pN|\\pL|"+escapeRegExp(n)+"]",p=o(l,"g");e=o.replace(e,p," ","all"),i="["+escapeRegExp(n)+"]",c=n[0],t=(e=e.replace(new RegExp(i,"g"),c)).trim()}}else r&&(r.force_ascii||!0===r)&&(t=(e=e.replace(/[^\x00-\x7F]/g,"")).replace(/\W|_/g," ").toLowerCase().trim()),t=o.replace(e,s," ","all").toLowerCase().trim();return r&&r.collapseWhitespace&&(t=t.replace(/\s+/g," ")),t},n.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var r={isAClone:!0};if(e){var t,n=Object.keys(e);for(t=0;t<n.length;t++)r[n[t]]=e[n[t]]}return!1!==r.full_process&&(r.full_process=!0),!0!==r.force_ascii&&(r.force_ascii=!1),!1!==r.normalize&&(r.normalize=!0),!0===r.astral&&(r.full_process=!1),!1!==r.collapseWhitespace&&(r.collapseWhitespace=!0),r},n.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},n}(mt),l=u.validate,p=u.process_and_sort,f=u.tokenize,d=u.full_process,h=u.clone_and_set_option_defaults,g=u.isCustomFunc;void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var v=Ao.exports(h,Array.isArray,QRatio,extract).dedupe;function QRatio(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,l(e)&&l(r)?_ratio(e,r,n):0}function extract(r,t,n){var o,a=h(n),i=!1;if(t&&t.length&&Array.isArray(t))o=t.length,i=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");o=Object.keys(t).length}if(!t||0===o)return void 0!==typeof console&&console.warn("No choices"),[];if(a.processor&&"function"!=typeof a.processor)throw new Error("Invalid Processor");if(a.processor||(a.processor=function(e){return e}),a.scorer&&"function"!=typeof a.scorer)throw new Error("Invalid Scorer");a.scorer||(a.scorer=QRatio);var s=g(a.scorer);a.cutoff&&"number"==typeof a.cutoff||(a.cutoff=-1);var pre_processor=function(e,r){return e};a.full_process&&(pre_processor=d,s||(a.processed=!0));var c=!1;s||(r=pre_processor(r,a),a.full_process=!1,a.astral&&a.normalize&&(a.normalize=!1,String.prototype.normalize?(c=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var u,l,v,y,m,x=[],b=!1,_=!1,w=!1;if("token_sort_ratio"===a.scorer.name||"partial_token_sort_ratio"===a.scorer.name){var $=p(r);_=!0}else if("token_set_ratio"===a.scorer.name||"partial_token_set_ratio"===a.scorer.name){var E=f(r);w=!0}for(var C in a.returnObjects?(y=function(e,r){return e.score-r.score},m=function(e,r){return r.score-e.score}):(y=function(e,r){return e[1]-r[1]},m=function(e,r){return r[1]-e[1]}),t)(i||t.hasOwnProperty(C))&&(a.tokens=void 0,a.proc_sorted=!1,_?(a.proc_sorted=!0,t[C]&&t[C].proc_sorted?l=t[C].proc_sorted:(l=pre_processor(a.processor(t[C]),a),l=p(c?l.normalize():l)),v=a.scorer($,l,a)):w?(l="x",t[C]&&t[C].tokens?(a.tokens=[E,t[C].tokens],a.trySimple&&(l=pre_processor(a.processor(t[C]),a))):(l=pre_processor(a.processor(t[C]),a),a.tokens=[E,f(c?l.normalize():l)]),v=a.scorer(r,l,a)):s?(l=a.processor(t[C]),v=a.scorer(r,l,a)):("string"==typeof(l=pre_processor(a.processor(t[C]),a))&&0!==l.length||(b=!0),c&&"string"==typeof l&&(l=l.normalize()),v=a.scorer(r,l,a)),u=i?parseInt(C):C,v>a.cutoff&&(a.returnObjects?x.push({choice:t[C],score:v,key:u}):x.push([t[C],v,u])));return b&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),a.limit&&"number"==typeof a.limit&&a.limit>0&&a.limit<o&&!a.unsorted?x=e.nlargest(x,a.limit,y):a.unsorted||(x=x.sort(m)),x}function extractAsync(r,t,n,o){var a,i,s=h(n);"object"==typeof n.abortController&&(a=n.abortController),"object"==typeof n.cancelToken&&(i=n.cancelToken);var c=256;"number"==typeof s.asyncLoopOffset&&(c=s.asyncLoopOffset<1?1:s.asyncLoopOffset);var u,l=!1;if(t&&t.length&&Array.isArray(t))u=t.length,l=!0;else{if(!(t instanceof Object))return void o(new Error("Invalid choices"));u=Object.keys(t).length}if(!t||0===u)return void 0!==typeof console&&console.warn("No choices"),void o(null,[]);if(s.processor&&"function"!=typeof s.processor)o(new Error("Invalid Processor"));else if(s.processor||(s.processor=function(e){return e}),s.scorer&&"function"!=typeof s.scorer)o(new Error("Invalid Scorer"));else{s.scorer||(s.scorer=QRatio);var v=g(s.scorer);s.cutoff&&"number"==typeof s.cutoff||(s.cutoff=-1);var pre_processor=function(e,r){return e};s.full_process&&(pre_processor=d,v||(s.processed=!0));var y=!1;v||(r=pre_processor(r,s),s.full_process=!1,s.astral&&s.normalize&&(s.normalize=!1,String.prototype.normalize?(y=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var m,x,b,_,w,$=[],E=!1,C=!1,j=!1;if("token_sort_ratio"===s.scorer.name||"partial_token_sort_ratio"===s.scorer.name){var k=p(r);C=!0}else if("token_set_ratio"===s.scorer.name||"partial_token_set_ratio"===s.scorer.name){var S=f(r);j=!0}s.returnObjects?(_=function(e,r){return e.score-r.score},w=function(e,r){return r.score-e.score}):(_=function(e,r){return e[1]-r[1]},w=function(e,r){return r[1]-e[1]});var A=Object.keys(t);l?searchLoop(0):searchLoop(A[0],0)}function searchLoop(n,d){(l||t.hasOwnProperty(n))&&(s.tokens=void 0,s.proc_sorted=!1,C?(s.proc_sorted=!0,t[n].proc_sorted?x=t[n].proc_sorted:(x=pre_processor(s.processor(t[n]),s),x=p(y?x.normalize():x)),b=s.scorer(k,x,s)):j?(x="x",t[n].tokens?(s.tokens=[S,t[n].tokens],s.trySimple&&(x=pre_processor(s.processor(t[n]),s))):(x=pre_processor(s.processor(t[n]),s),s.tokens=[S,f(y?x.normalize():x)]),b=s.scorer(r,x,s)):v?(x=s.processor(t[n]),b=s.scorer(r,x,s)):("string"==typeof(x=pre_processor(s.processor(t[n]),s))&&0!==x.length||(E=!0),y&&"string"==typeof x&&(x=x.normalize()),b=s.scorer(r,x,s)),m=l?parseInt(n):n,b>s.cutoff&&(s.returnObjects?$.push({choice:t[n],score:b,key:m}):$.push([t[n],b,m]))),a&&!0===a.signal.aborted?o(new Error("aborted")):i&&!0===i.canceled?o(new Error("canceled")):l&&n<t.length-1?n%c==0?setImmediate((function(){searchLoop(n+1)})):searchLoop(n+1):d<A.length-1?d%c==0?setImmediate((function(){searchLoop(A[d+1],d+1)})):searchLoop(A[d+1],d+1):(E&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),s.limit&&"number"==typeof s.limit&&s.limit>0&&s.limit<u&&!s.unsorted?$=e.nlargest($,s.limit,_):s.unsorted||($=$.sort(w)),o(null,$))}}var y=!1;function _ratio(e,r,t){return l(e)&&l(r)?(void 0===t.subcost&&(t.subcost=2),t.astral?(t.normalize&&(String.prototype.normalize?(e=e.normalize(),r=r.normalize()):y||(void 0!==typeof console&&console.warn("Normalization not supported in your environment"),y=!0)),n=i(e,r,t,a),o=a(e).length+a(r).length):t.wildcards?(n=s(e,r,t,c),o=e.length+r.length):(n=c(e,r,t),o=e.length+r.length),Math.round((o-n)/o*100)):0;var n,o}Object.keys||(Object.keys=function(){var e=Object.prototype.hasOwnProperty,r=!{toString:null}.propertyIsEnumerable("toString"),t=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=t.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var a,i,s=[];for(a in o)e.call(o,a)&&s.push(a);if(r)for(i=0;i<n;i++)e.call(o,t[i])&&s.push(t[i]);return s}}());var m=void 0;"undefined"!=typeof Promise&&(m=function(e,r,t){return new Promise((function(n,o){extractAsync(e,r,t,(function(e,r){e?o(e):n(r)}))}))});var x={distance:function distance(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,void 0===n.subcost&&(n.subcost=1),n.astral?i(e,r,n,a):s(e,r,n,c)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,r,n){var a=h(n);return e=a.full_process?d(e,a):e,r=a.full_process?d(r,a):r,l(e)&&l(r)?function _token_set(e,r,n){if(n.tokens)a=n.tokens[0],i=n.tokens[1];else var a=f(e),i=f(r);var s=t(a,i),c=o(a,i),u=o(i,a),l=s.sort().join(" "),p=c.sort().join(" "),d=u.sort().join(" "),h=l+" "+p,g=l+" "+d;l=l.trim(),h=h.trim(),g=g.trim();var v=_ratio,y=[v(l,h,n),v(l,g,n),v(h,g,n)];n.trySimple&&y.push(v(e,r,n));return Math.max.apply(null,y)}(e,r,a):0},token_sort_ratio:function token_sort_ratio(e,r,t){var n=h(t);return e=n.full_process?d(e,n):e,r=n.full_process?d(r,n):r,l(e)&&l(r)?(n.proc_sorted||(e=p(e),r=p(r)),_ratio(e,r,n)):0},full_process:d,extract:extract,extractAsync:extractAsync,extractAsPromised:m,process_and_sort:p,unique_tokens:f,dedupe:v};r.exports=x}(),r.exports}));
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).fuzzball=r()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r={exports:{}},t={exports:{}};!function(r,t){(function(){var e,t,o,n,s,i,a,c,l,u,p,f,d,h,m;o=Math.floor,u=Math.min,t=function(e,r){return e<r?-1:e>r?1:0},l=function(e,r,n,s,i){var a;if(null==n&&(n=0),null==i&&(i=t),n<0)throw new Error("lo must be non-negative");for(null==s&&(s=e.length);n<s;)i(r,e[a=o((n+s)/2)])<0?s=a:n=a+1;return[].splice.apply(e,[n,n-n].concat(r)),r},i=function(e,r,o){return null==o&&(o=t),e.push(r),h(e,0,e.length-1,o)},s=function(e,r){var o,n;return null==r&&(r=t),o=e.pop(),e.length?(n=e[0],e[0]=o,m(e,0,r)):n=o,n},c=function(e,r,o){var n;return null==o&&(o=t),n=e[0],e[0]=r,m(e,0,o),n},a=function(e,r,o){var n;return null==o&&(o=t),e.length&&o(e[0],r)<0&&(r=(n=[e[0],r])[0],e[0]=n[1],m(e,0,o)),r},n=function(e,r){var n,s,i,a,c,l;for(null==r&&(r=t),c=[],s=0,i=(a=function(){l=[];for(var r=0,t=o(e.length/2);0<=t?r<t:r>t;0<=t?r++:r--)l.push(r);return l}.apply(this).reverse()).length;s<i;s++)n=a[s],c.push(m(e,n,r));return c},d=function(e,r,o){var n;if(null==o&&(o=t),-1!==(n=e.indexOf(r)))return h(e,0,n,o),m(e,n,o)},p=function(e,r,o){var s,i,c,l,u;if(null==o&&(o=t),!(i=e.slice(0,r)).length)return i;for(n(i,o),c=0,l=(u=e.slice(r)).length;c<l;c++)s=u[c],a(i,s,o);return i.sort(o).reverse()},f=function(e,r,o){var i,a,c,p,f,d,h,m,y;if(null==o&&(o=t),10*r<=e.length){if(!(c=e.slice(0,r).sort(o)).length)return c;for(a=c[c.length-1],p=0,d=(h=e.slice(r)).length;p<d;p++)o(i=h[p],a)<0&&(l(c,i,0,null,o),c.pop(),a=c[c.length-1]);return c}for(n(e,o),y=[],f=0,m=u(r,e.length);0<=m?f<m:f>m;0<=m?++f:--f)y.push(s(e,o));return y},h=function(e,r,o,n){var s,i,a;for(null==n&&(n=t),s=e[o];o>r&&n(s,i=e[a=o-1>>1])<0;)e[o]=i,o=a;return e[o]=s},m=function(e,r,o){var n,s,i,a,c;for(null==o&&(o=t),s=e.length,c=r,i=e[r],n=2*r+1;n<s;)(a=n+1)<s&&!(o(e[n],e[a])<0)&&(n=a),e[r]=e[n],n=2*(r=n)+1;return e[r]=i,h(e,c,r,o)},e=function(){function Heap(e){this.cmp=null!=e?e:t,this.nodes=[]}return Heap.push=i,Heap.pop=s,Heap.replace=c,Heap.pushpop=a,Heap.heapify=n,Heap.updateItem=d,Heap.nlargest=p,Heap.nsmallest=f,Heap.prototype.push=function(e){return i(this.nodes,e,this.cmp)},Heap.prototype.pop=function(){return s(this.nodes,this.cmp)},Heap.prototype.peek=function(){return this.nodes[0]},Heap.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},Heap.prototype.replace=function(e){return c(this.nodes,e,this.cmp)},Heap.prototype.pushpop=function(e){return a(this.nodes,e,this.cmp)},Heap.prototype.heapify=function(){return n(this.nodes,this.cmp)},Heap.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},Heap.prototype.clear=function(){return this.nodes=[]},Heap.prototype.empty=function(){return 0===this.nodes.length},Heap.prototype.size=function(){return this.nodes.length},Heap.prototype.clone=function(){var e;return(e=new Heap).nodes=this.nodes.slice(0),e},Heap.prototype.toArray=function(){return this.nodes.slice(0)},Heap.prototype.insert=Heap.prototype.push,Heap.prototype.top=Heap.prototype.peek,Heap.prototype.front=Heap.prototype.peek,Heap.prototype.has=Heap.prototype.contains,Heap.prototype.copy=Heap.prototype.clone,Heap}(),r.exports=e}).call(e)}(t);var o=t.exports;var n,s={_intersect:function _intersect(e,r){if(!e||!r||0===e.length||0===r.length)return[];if(e.length<100&&r.length<100)return e.filter((e=>r.includes(e)));const t=new Set(r);return e.filter((e=>t.has(e)))},_intersectWith:function _intersectWith(e,r,t){return e&&r&&0!==e.length&&0!==r.length?e.filter((e=>r.some((r=>t(e,r))))):[]},_difference:function _difference(e,r){if(!e)return[];if(!r||0===r.length)return e.slice();if(e.length<100&&r.length<100)return e.filter((e=>!r.includes(e)));const t=new Set(r);return e.filter((e=>!t.has(e)))},_differenceWith:function _differenceWith(e,r,t){return e?r&&0!==r.length?e.filter((e=>!r.some((r=>t(e,r))))):e.slice():[]},_uniq:function _uniq(e){return e&&0!==e.length?1===e.length?e.slice():[...new Set(e)]:[]},_uniqWith:function _uniqWith(e,r){return e&&0!==e.length?1===e.length?e.slice():e.filter(((e,t,o)=>t===o.findIndex((t=>r(e,t))))):[]},_partialRight:function _partialRight(e){const r=Array.prototype.slice.call(arguments,1);return function(){const t=Array.prototype.slice.call(arguments);return e.apply(this,t.concat(r))}},_forEach:function _forEach(e,r){if(e)if(Array.isArray(e))for(let t=0;t<e.length;t++)r(e[t],t);else{const t=Object.keys(e);for(let o=0;o<t.length;o++)r(e[t[o]],t[o])}},_keys:function _keys(e){return Object.keys(e)},_isArray:function _isArray(e){return Array.isArray(e)}};try{n="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var i,a=function leven(e,r,t){var o=[],s=[],i=t&&n&&t.useCollator,a=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(a=t.subcost),e===r)return 0;var c,l,u,p,f=Array.from(e),d=Array.from(r),h=f.length,m=d.length;if(0===h)return m;if(0===m)return h;for(var y=0,g=0;y<h;)s[y]=f[y].codePointAt(0),o[y]=++y;if(i)for(;g<m;)for(c=d[g].codePointAt(0),u=g++,l=g,y=0;y<h;y++)p=0===n.compare(String.fromCodePoint(c),String.fromCodePoint(s[y]))?u:u+a,u=o[y],l=o[y]=u>l?p>l?l+1:p:p>u?u+1:p;else for(;g<m;)for(c=d[g].codePointAt(0),u=g++,l=g,y=0;y<h;y++)p=c===s[y]?u:u+a,u=o[y],l=o[y]=u>l?p>l?l+1:p:p>u?u+1:p;return l};try{i="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var c,l=function leven(e,r,t,o){var n=[],s=[],a=t&&i&&t.useCollator,c=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(c=t.subcost),e===r)return 0;var l=e.length,u=r.length;if(0===l)return u;if(0===u)return l;if(t&&t.wildcards&&"string"==typeof t.wildcards&&t.wildcards.length>0){var p,f,d,h,m,y;if(!1===t.full_process&&!0!==t.processed){f=(p=t.wildcards[0]).charCodeAt(0);var g="["+function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(t.wildcards)+"]";if((e=e.replace(new RegExp(g,"g"),p))===(r=r.replace(new RegExp(g,"g"),p)))return 0}else f=(p=t.wildcards[0].toLowerCase()).charCodeAt(0);for(var v=0,_=0;v<l;)s[v]=e.charCodeAt(v),n[v]=++v;if(a)for(;_<u;)for(d=r.charCodeAt(_),m=_++,h=_,v=0;v<l;v++)y=0===i.compare(String.fromCharCode(d),String.fromCharCode(s[v]))||d===f||s[v]===f?m:m+c,m=n[v],h=n[v]=m>h?y>h?h+1:y:y>m?m+1:y;else for(;_<u;)for(d=r.charCodeAt(_),m=_++,h=_,v=0;v<l;v++)y=d===s[v]||d===f||s[v]===f?m:m+c,m=n[v],h=n[v]=m>h?y>h?h+1:y:y>m?m+1:y;return h}return o(e,r,t)};try{c="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var u=function leven(e,r,t){var o=[],n=[],s=t&&c&&t.useCollator,i=1;if(t&&t.subcost&&"number"==typeof t.subcost&&(i=t.subcost),e===r)return 0;var a,l,u,p,f=e.length,d=r.length;if(0===f)return d;if(0===d)return f;for(var h=0,m=0;h<f;)n[h]=e.charCodeAt(h),o[h]=++h;if(s)for(;m<d;)for(a=r.charCodeAt(m),u=m++,l=m,h=0;h<f;h++)p=0===c.compare(String.fromCharCode(a),String.fromCharCode(n[h]))?u:u+i,u=o[h],l=o[h]=u>l?p>l?l+1:p:p>u?u+1:p;else for(;m<d;)for(a=r.charCodeAt(m),u=m++,l=m,h=0;h<f;h++)p=a===n[h]?u:u+i,u=o[h],l=o[h]=u>l?p>l?l+1:p:p>u?u+1:p;return l};!function(e,r){if(!e.setImmediate){var t,o=1,n={},s=!1,i=e.document,a=Object.getPrototypeOf&&Object.getPrototypeOf(e);a=a&&a.setTimeout?a:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){t=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var r=!0,t=e.onmessage;return e.onmessage=function(){r=!1},e.postMessage("","*"),e.onmessage=t,r}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},t=function(r){e.port2.postMessage(r)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;t=function(r){var t=i.createElement("script");t.onreadystatechange=function(){runIfPresent(r),t.onreadystatechange=null,e.removeChild(t),t=null},e.appendChild(t)}}():function installSetTimeoutImplementation(){t=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var r="setImmediate$"+Math.random()+"$",onGlobalMessage=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&runIfPresent(+t.data.slice(r.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),t=function(t){e.postMessage(r+t,"*")}}(),a.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),s=0;s<r.length;s++)r[s]=arguments[s+1];var i={callback:e,args:r};return n[o]=i,t(o),o++},a.clearImmediate=clearImmediate}function clearImmediate(e){delete n[e]}function runIfPresent(e){if(s)setTimeout(runIfPresent,0,e);else{var r=n[e];if(r){s=!0;try{!function run(e){var r=e.callback,t=e.args;switch(t.length){case 0:r();break;case 1:r(t[0]);break;case 2:r(t[0],t[1]);break;case 3:r(t[0],t[1],t[2]);break;default:r.apply(void 0,t)}}(r)}finally{clearImmediate(e),s=!1}}}}}("undefined"==typeof self?e:self);var p={exports:{}};return function(e){e.exports=function(r,t,o,n){return(e={}).dedupe=function dedupe(e,s){var i,a=r(s);if(!t(e)&&"object"!=typeof e)throw new Error("contains_dupes must be an array or object");if(0===Object.keys(e).length)return void 0!==typeof console&&console.warn("contains_dupes is empty"),[];a.limit&&(void 0!==typeof console&&console.warn("options.limit will be ignored in dedupe"),a.limit=0),a.cutoff&&"number"==typeof a.cutoff||(void 0!==typeof console&&console.warn("Using default cutoff of 70"),a.cutoff=70),a.scorer||(a.scorer=o,void 0!==typeof console&&console.log("Using default scorer 'ratio' for dedupe")),i=a.processor&&"function"==typeof a.processor?a.processor:function(e){return e};var c={};for(var l in e){var u=i(e[l]);if("string"!=typeof u&&u instanceof String==!1)throw new Error("Each processed item in dedupe must be a string.");var p=n(u,e,a);a.returnObjects?(1===p.length||(p=p.sort((function(e,r){var t=i(e.choice),o=i(r.choice),n=t.length,s=o.length;return n===s?t<o?-1:1:s-n}))),a.keepmap?c[i(p[0].choice)]={item:p[0].choice,key:p[0].key,matches:p}:c[i(p[0].choice)]={item:p[0].choice,key:p[0].key}):(1===p.length||(p=p.sort((function(e,r){var t=i(e[0]),o=i(r[0]),n=t.length,s=o.length;return n===s?t<o?-1:1:s-n}))),a.keepmap?c[i(p[0][0])]=[p[0][0],p[0][2],p]:c[i(p[0][0])]=[p[0][0],p[0][2]])}var f=[];for(var d in c)f.push(c[d]);return f},e}}(p),function(){var e=o,t=s._intersect,n=s._difference,i=a,c=l,f=u,d=function(e,r,t){var o={},n=l,s=u;function escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}o.validate=validate,o.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},o.tokenize=function unique_tokens(o,i){if(i&&i.wildcards&&r&&t){var a=t(n,i,s);return r(o.match(/\S+/g),(function(e,r){return 0===a(e,r)}))}return e(o.match(/\S+/g))};const i=/[^\p{L}\p{N}]/gu;return o.full_process=function full_process(e,r){if(!(e instanceof String)&&"string"!=typeof e)return"";var t;if(r&&"object"==typeof r&&r.wildcards&&"string"==typeof r.wildcards&&r.wildcards.length>0){var o=r.wildcards.toLowerCase();if(e=e.toLowerCase(),r.force_ascii){var n="[^\0 -|"+escapeRegExp(o)+"]";e=e.replace(new RegExp(n,"g"),"");var s="["+escapeRegExp(o)+"]",a=o[0];e=e.replace(new RegExp(s,"g"),a);var c="[^A-Za-z0-9"+escapeRegExp(o)+"]";t=(e=(e=e.replace(new RegExp(c,"g")," ")).replace(/_/g," ")).trim()}else{var l="[^\\p{L}\\p{N}|"+escapeRegExp(o)+"]";e=e.replace(new RegExp(l,"gu")," "),s="["+escapeRegExp(o)+"]",a=o[0],t=(e=e.replace(new RegExp(s,"g"),a)).trim()}}else t=r&&(r.force_ascii||!0===r)?(e=e.replace(/[^\x00-\x7F]/g,"")).replace(/\W|_/g," ").toLowerCase().trim():e.replace(i," ").toLowerCase().trim();return r&&r.collapseWhitespace&&(t=t.replace(/\s+/g," ")),t},o.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var r={isAClone:!0};if(e){var t,o=Object.keys(e);for(t=0;t<o.length;t++)r[o[t]]=e[o[t]]}return!1!==r.full_process&&(r.full_process=!0),!0!==r.force_ascii&&(r.force_ascii=!1),!1!==r.normalize&&!0===r.astral&&(r.normalize=!0),!1!==r.collapseWhitespace&&(r.collapseWhitespace=!0),r},o.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},o}(s._uniq),h=d.validate,m=d.process_and_sort,y=d.tokenize,g=d.full_process,v=d.clone_and_set_option_defaults,_=d.isCustomFunc;void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var b,w,k,C,x=p.exports(v,Array.isArray,QRatio,extract).dedupe;function QRatio(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,h(e)&&h(r)?_ratio(e,r,o):0}function extract(r,t,o){var n,s=v(o),i=!1;if(t&&t.length&&Array.isArray(t))n=t.length,i=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");n=Object.keys(t).length}if(!t||0===n)return void 0!==typeof console&&console.warn("No choices"),[];if(s.processor&&"function"!=typeof s.processor)throw new Error("Invalid Processor");if(s.processor||(s.processor=function(e){return e}),s.scorer&&"function"!=typeof s.scorer)throw new Error("Invalid Scorer");s.scorer||(s.scorer=QRatio);var a=_(s.scorer);s.cutoff&&"number"==typeof s.cutoff||(s.cutoff=-1);var pre_processor=function(e,r){return e};s.full_process&&(pre_processor=g,a||(s.processed=!0));var c=!1;a||(s.astral&&s.normalize&&(s.normalize=!1,String.prototype.normalize?(c=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),r=pre_processor(r,s),s.full_process=!1,0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var l,u,p,f,d,h=[],b=!1,w=!1,k=!1;if("token_sort_ratio"===s.scorer.name||"partial_token_sort_ratio"===s.scorer.name){var C=m(r);w=!0}else if("token_set_ratio"===s.scorer.name||"partial_token_set_ratio"===s.scorer.name){var x=y(r);k=!0}for(var A in s.returnObjects?(f=function(e,r){return e.score-r.score},d=function(e,r){return r.score-e.score}):(f=function(e,r){return e[1]-r[1]},d=function(e,r){return r[1]-e[1]}),t)(i||t.hasOwnProperty(A))&&(s.tokens=void 0,s.proc_sorted=!1,w?(s.proc_sorted=!0,t[A]&&t[A].proc_sorted?u=t[A].proc_sorted:(u=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s),u=m(u)),p=s.scorer(C,u,s)):k?(u="x",t[A]&&t[A].tokens?(s.tokens=[x,t[A].tokens],s.trySimple&&(u=pre_processor(s.processor(t[A]),s))):(u=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s),s.tokens=[x,y(u)]),p=s.scorer(r,u,s)):a?(u=s.processor(t[A]),p=s.scorer(r,u,s)):("string"==typeof(u=pre_processor(c?s.processor(t[A]).normalize():s.processor(t[A]),s))&&0!==u.length||(b=!0),p=s.scorer(r,u,s)),l=i?parseInt(A):A,p>s.cutoff&&(s.returnObjects?h.push({choice:t[A],score:p,key:l}):h.push([t[A],p,l])));return b&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),s.limit&&"number"==typeof s.limit&&s.limit>0&&s.limit<n&&!s.unsorted?h=e.nlargest(h,s.limit,f):s.unsorted||(h=h.sort(d)),h}function extractAsync(r,t,o,n){var s,i,a=v(o);"object"==typeof o.abortController&&(s=o.abortController),"object"==typeof o.cancelToken&&(i=o.cancelToken);var c=256;"number"==typeof a.asyncLoopOffset&&(c=a.asyncLoopOffset<1?1:a.asyncLoopOffset);var l,u=!1;if(t&&t.length&&Array.isArray(t))l=t.length,u=!0;else{if(!(t instanceof Object))return void n(new Error("Invalid choices"));l=Object.keys(t).length}if(!t||0===l)return void 0!==typeof console&&console.warn("No choices"),void n(null,[]);if(a.processor&&"function"!=typeof a.processor)n(new Error("Invalid Processor"));else if(a.processor||(a.processor=function(e){return e}),a.scorer&&"function"!=typeof a.scorer)n(new Error("Invalid Scorer"));else{a.scorer||(a.scorer=QRatio);var p=_(a.scorer);a.cutoff&&"number"==typeof a.cutoff||(a.cutoff=-1);var pre_processor=function(e,r){return e};a.full_process&&(pre_processor=g,p||(a.processed=!0));var f=!1;p||(a.astral&&a.normalize&&(a.normalize=!1,String.prototype.normalize?(f=!0,r=r.normalize()):void 0!==typeof console&&console.warn("Normalization not supported in your environment")),r=pre_processor(r,a),a.full_process=!1,0===r.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var d,h,b,w,k,C=[],x=!1,A=!1,I=!1;if("token_sort_ratio"===a.scorer.name||"partial_token_sort_ratio"===a.scorer.name){var z=m(r);A=!0}else if("token_set_ratio"===a.scorer.name||"partial_token_set_ratio"===a.scorer.name){var E=y(r);I=!0}a.returnObjects?(w=function(e,r){return e.score-r.score},k=function(e,r){return r.score-e.score}):(w=function(e,r){return e[1]-r[1]},k=function(e,r){return r[1]-e[1]});var O=Object.keys(t);u?searchLoop(0):searchLoop(O[0],0)}function searchLoop(o,g){(u||t.hasOwnProperty(o))&&(a.tokens=void 0,a.proc_sorted=!1,A?(a.proc_sorted=!0,t[o].proc_sorted?h=t[o].proc_sorted:(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a),h=m(h)),b=a.scorer(z,h,a)):I?(h="x",t[o].tokens?(a.tokens=[E,t[o].tokens],a.trySimple&&(h=pre_processor(a.processor(t[o]),a))):(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a),a.tokens=[E,y(h)]),b=a.scorer(r,h,a)):p?(h=a.processor(t[o]),b=a.scorer(r,h,a)):("string"==typeof(h=pre_processor(f?a.processor(t[o]).normalize():a.processor(t[o]),a))&&0!==h.length||(x=!0),b=a.scorer(r,h,a)),d=u?parseInt(o):o,b>a.cutoff&&(a.returnObjects?C.push({choice:t[o],score:b,key:d}):C.push([t[o],b,d]))),s&&!0===s.signal.aborted?n(new Error("aborted")):i&&!0===i.canceled?n(new Error("canceled")):u&&o<t.length-1?o%c==0?setImmediate((function(){searchLoop(o+1)})):searchLoop(o+1):g<O.length-1?g%c==0?setImmediate((function(){searchLoop(O[g+1],g+1)})):searchLoop(O[g+1],g+1):(x&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),a.limit&&"number"==typeof a.limit&&a.limit>0&&a.limit<l&&!a.unsorted?C=e.nlargest(C,a.limit,w):a.unsorted||(C=C.sort(k)),n(null,C))}}function _ratio(e,r,t){return h(e)&&h(r)?(void 0===t.subcost&&(t.subcost=2),t.astral?(o=i(e,r,t),n=Array.from(e).length+Array.from(r).length):t.wildcards?(o=c(e,r,t,f),n=e.length+r.length):(o=f(e,r,t),n=e.length+r.length),Math.round((n-o)/n*100)):0;var o,n}Object.keys||(Object.keys=(b=Object.prototype.hasOwnProperty,w=!{toString:null}.propertyIsEnumerable("toString"),C=(k=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var r,t,o=[];for(r in e)b.call(e,r)&&o.push(r);if(w)for(t=0;t<C;t++)b.call(e,k[t])&&o.push(k[t]);return o}));var A=void 0;"undefined"!=typeof Promise&&(A=function(e,r,t){return new Promise((function(o,n){extractAsync(e,r,t,(function(e,r){e?n(e):o(r)}))}))});var I={distance:function distance(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,void 0===o.subcost&&(o.subcost=1),o.astral?i(e,r,o):c(e,r,o,f)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,r,o){var s=v(o);return e=s.normalize?e.normalize():e,r=s.normalize?r.normalize():r,e=s.full_process?g(e,s):e,r=s.full_process?g(r,s):r,h(e)&&h(r)?function _token_set(e,r,o){if(o.tokens)s=o.tokens[0],i=o.tokens[1];else var s=y(e),i=y(r);var a=t(s,i),c=n(s,i),l=n(i,s),u=a.sort().join(" "),p=c.sort().join(" "),f=l.sort().join(" "),d=u+" "+p,h=u+" "+f;u=u.trim(),d=d.trim(),h=h.trim();var m=_ratio,g=[m(u,d,o),m(u,h,o),m(d,h,o)];o.trySimple&&g.push(m(e,r,o));return Math.max.apply(null,g)}(e,r,s):0},token_sort_ratio:function token_sort_ratio(e,r,t){var o=v(t);return e=o.normalize?e.normalize():e,r=o.normalize?r.normalize():r,e=o.full_process?g(e,o):e,r=o.full_process?g(r,o):r,h(e)&&h(r)?(o.proc_sorted||(e=m(e),r=m(r)),_ratio(e,r,o)):0},full_process:g,extract:extract,extractAsync:extractAsync,extractAsPromised:A,process_and_sort:m,unique_tokens:y,dedupe:x};r.exports=I}(),r.exports}));
{
"name": "fuzzball",
"version": "2.1.6",
"version": "2.2.0",
"description": "Fuzzy string matching algorithms and utilities, port of the TheFuzz Python library.",

@@ -38,5 +38,3 @@ "main": "fuzzball.js",

"lodash": "^4.17.21",
"setimmediate": "^1.0.5",
"string.fromcodepoint": "^0.2.1",
"string.prototype.codepointat": "^0.2.0"
"setimmediate": "^1.0.5"
},

@@ -76,5 +74,6 @@ "devDependencies": {

"test": "mocha --use_strict",
"test:build": "testenv=build npm run test"
"test:build": "testenv=build npm run test",
"benchmark": "node benchmark.js"
},
"runkitExample": "var fuzz = require('fuzzball');"
}

@@ -52,3 +52,3 @@ [![Build Status](https://travis-ci.com/nol13/fuzzball.js.svg?branch=master)](https://travis-ci.com/nol13/fuzzball.js) [![Try fuzzball on RunKit](https://badge.runkitcdn.com/fuzzball.svg)](https://runkit.com/npm/fuzzball)

```
Also available are two lite bundles which leave out select features in exchange for a smaller file size. See lite section below.
See the lite section below if you need the smallest possible file size.

@@ -216,6 +216,6 @@ # Usage

```
**If astral is set to true, full_process will be set to false automatically, as the current alphanumeric check only supports BMP.**
When astral is true it will also normalize your strings before scoring, as long as String.prototype.normalize exists in your environment, but will not attempt to polyfill. (So if you need to compare unnormalized strings in IE, normalize separately) You can set the **normalize** option to false if you want different representations not to match, but is true by default.
### Batch Extract

@@ -495,3 +495,3 @@ Search list of choices for top results.

The full, lite and ultra_lite bundles currently weight in at a compressed 27.0kB, 17.8kB, and 7.0kB, respectively.
The full, lite and ultra_lite bundles currently weigh in at a compressed 15.1kB, 6.3kB, and 4.0kB, respectively. A wrapper is provided for ES Module compatibility but it won't fully support code shaking.

@@ -506,4 +506,2 @@ ### Credits

Unicode alphanumerica check from [XRegExp](http://xregexp.com).
Substring matching from [difflib.js](https://github.com/qiao/difflib.js).

@@ -510,0 +508,0 @@

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

var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}};var r=function arrayMap$3(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},n="object"==typeof e&&e&&e.Object===Object&&e,o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")(),s=a.Symbol,i=s,c=Object.prototype,u=c.hasOwnProperty,l=c.toString,f=i?i.toStringTag:void 0;var p=function getRawTag$1(e){var t=u.call(e,f),r=e[f];try{e[f]=void 0;var n=!0}catch(e){}var o=l.call(e);return n&&(t?e[f]=r:delete e[f]),o},h=Object.prototype.toString;var v=p,_=function objectToString$1(e){return h.call(e)},d=s?s.toStringTag:void 0;var y=function baseGetTag$2(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":d&&d in Object(e)?v(e):_(e)};var g=function isObject$2(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},m=y,b=g;var $,k=function isFunction$2(e){if(!b(e))return!1;var t=m(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},C=a["__core-js_shared__"],O=($=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+$:"";var j=function isMasked$1(e){return!!O&&O in e},w=Function.prototype.toString;var I=k,S=j,A=g,P=function toSource$1(e){if(null!=e){try{return w.call(e)}catch(e){}try{return e+""}catch(e){}}return""},x=/^\[object .+?Constructor\]$/,L=Function.prototype,M=Object.prototype,E=L.toString,T=M.hasOwnProperty,z=RegExp("^"+E.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var F=function baseIsNative$1(e){return!(!A(e)||S(e))&&(I(e)?z:x).test(P(e))},H=function getValue$1(e,t){return null==e?void 0:e[t]};var R=function getNative$4(e,t){var r=H(e,t);return F(r)?r:void 0},q=R(Object,"create"),N=q;var W=function hashClear$1(){this.__data__=N?N(null):{},this.size=0};var D=function hashDelete$1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},G=q,Q=Object.prototype.hasOwnProperty;var U=function hashGet$1(e){var t=this.__data__;if(G){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Q.call(t,e)?t[e]:void 0},K=q,V=Object.prototype.hasOwnProperty;var B=q;var J=W,X=D,Y=U,Z=function hashHas$1(e){var t=this.__data__;return K?void 0!==t[e]:V.call(t,e)},ee=function hashSet$1(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=B&&void 0===t?"__lodash_hash_undefined__":t,this};function Hash$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Hash$1.prototype.clear=J,Hash$1.prototype.delete=X,Hash$1.prototype.get=Y,Hash$1.prototype.has=Z,Hash$1.prototype.set=ee;var te=Hash$1;var re=function listCacheClear$1(){this.__data__=[],this.size=0};var ne=function eq$1(e,t){return e===t||e!=e&&t!=t};var oe=function assocIndexOf$4(e,t){for(var r=e.length;r--;)if(ne(e[r][0],t))return r;return-1},ae=oe,se=Array.prototype.splice;var ie=oe;var ce=oe;var ue=oe;var le=re,fe=function listCacheDelete$1(e){var t=this.__data__,r=ae(t,e);return!(r<0)&&(r==t.length-1?t.pop():se.call(t,r,1),--this.size,!0)},pe=function listCacheGet$1(e){var t=this.__data__,r=ie(t,e);return r<0?void 0:t[r][1]},he=function listCacheHas$1(e){return ce(this.__data__,e)>-1},ve=function listCacheSet$1(e,t){var r=this.__data__,n=ue(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function ListCache$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ListCache$1.prototype.clear=le,ListCache$1.prototype.delete=fe,ListCache$1.prototype.get=pe,ListCache$1.prototype.has=he,ListCache$1.prototype.set=ve;var _e=ListCache$1,de=R(a,"Map"),ye=te,ge=_e,me=de;var be=function isKeyable$1(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var $e=function getMapData$4(e,t){var r=e.__data__;return be(t)?r["string"==typeof t?"string":"hash"]:r.map},ke=$e;var Ce=$e;var Oe=$e;var je=$e;var we=function mapCacheClear$1(){this.size=0,this.__data__={hash:new ye,map:new(me||ge),string:new ye}},Ie=function mapCacheDelete$1(e){var t=ke(this,e).delete(e);return this.size-=t?1:0,t},Se=function mapCacheGet$1(e){return Ce(this,e).get(e)},Ae=function mapCacheHas$1(e){return Oe(this,e).has(e)},Pe=function mapCacheSet$1(e,t){var r=je(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function MapCache$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}MapCache$1.prototype.clear=we,MapCache$1.prototype.delete=Ie,MapCache$1.prototype.get=Se,MapCache$1.prototype.has=Ae,MapCache$1.prototype.set=Pe;var xe=MapCache$1,Le=function setCacheAdd$1(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Me=function setCacheHas$1(e){return this.__data__.has(e)};function SetCache$3(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new xe;++t<r;)this.add(e[t])}SetCache$3.prototype.add=SetCache$3.prototype.push=Le,SetCache$3.prototype.has=Me;var Ee=SetCache$3;var Te=function baseFindIndex$1(e,t,r,n){for(var o=e.length,a=r+(n?1:-1);n?a--:++a<o;)if(t(e[a],a,e))return a;return-1},ze=function baseIsNaN$1(e){return e!=e},Fe=function strictIndexOf$1(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1};var He=function baseIndexOf$1(e,t,r){return t==t?Fe(e,t,r):Te(e,ze,r)};var Re=function arrayIncludes$3(e,t){return!!(null==e?0:e.length)&&He(e,t,0)>-1};var qe=function arrayIncludesWith$3(e,t,r){for(var n=-1,o=null==e?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1};var Ne=function baseUnary$2(e){return function(t){return e(t)}};var We=function cacheHas$3(e,t){return e.has(t)},De=Ee,Ge=Re,Qe=qe,Ue=r,Ke=Ne,Ve=We,Be=Math.min;var Je=function baseIntersection$1(e,t,r){for(var n=r?Qe:Ge,o=e[0].length,a=e.length,s=a,i=Array(a),c=1/0,u=[];s--;){var l=e[s];s&&t&&(l=Ue(l,Ke(t))),c=Be(l.length,c),i[s]=!r&&(t||o>=120&&l.length>=120)?new De(s&&l):void 0}l=e[0];var f=-1,p=i[0];e:for(;++f<o&&u.length<c;){var h=l[f],v=t?t(h):h;if(h=r||0!==h?h:0,!(p?Ve(p,v):n(u,v,r))){for(s=a;--s;){var _=i[s];if(!(_?Ve(_,v):n(e[s],v,r)))continue e}p&&p.push(v),u.push(h)}}return u};var Xe=function identity$2(e){return e};var Ye=function apply$1(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},Ze=Math.max;var et=function overRest$1(e,t,r){return t=Ze(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=Ze(n.length-t,0),s=Array(a);++o<a;)s[o]=n[t+o];o=-1;for(var i=Array(t+1);++o<t;)i[o]=n[o];return i[t]=r(s),Ye(e,this,i)}};var tt=function constant$1(e){return function(){return e}},rt=R,nt=function(){try{var e=rt(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=tt,at=nt,st=at?function(e,t){return at(e,"toString",{configurable:!0,enumerable:!1,value:ot(t),writable:!0})}:Xe,it=Date.now;var ct=function shortOut$1(e){var t=0,r=0;return function(){var n=it(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(st),ut=Xe,lt=et,ft=ct;var pt=function baseRest$2(e,t){return ft(lt(e,t,ut),e+"")};var ht=k,vt=function isLength$1(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var _t=function isObjectLike$3(e){return null!=e&&"object"==typeof e},dt=function isArrayLike$1(e){return null!=e&&vt(e.length)&&!ht(e)},yt=_t;var gt=function isArrayLikeObject$2(e){return yt(e)&&dt(e)},mt=gt;var bt=r,$t=Je,kt=function castArrayLikeObject$1(e){return mt(e)?e:[]},Ct=pt((function(e){var t=bt(e,kt);return t.length&&t[0]===e[0]?$t(t):[]})),Ot=Ee,jt=Re,wt=qe,It=r,St=Ne,At=We;var Pt=function baseDifference$1(e,t,r,n){var o=-1,a=jt,s=!0,i=e.length,c=[],u=t.length;if(!i)return c;r&&(t=It(t,St(r))),n?(a=wt,s=!1):t.length>=200&&(a=At,s=!1,t=new Ot(t));e:for(;++o<i;){var l=e[o],f=null==r?l:r(l);if(l=n||0!==l?l:0,s&&f==f){for(var p=u;p--;)if(t[p]===f)continue e;c.push(l)}else a(t,f,n)||c.push(l)}return c};var xt=function arrayPush$1(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},Lt=y,Mt=_t;var Et=function baseIsArguments$1(e){return Mt(e)&&"[object Arguments]"==Lt(e)},Tt=_t,zt=Object.prototype,Ft=zt.hasOwnProperty,Ht=zt.propertyIsEnumerable,Rt=Et(function(){return arguments}())?Et:function(e){return Tt(e)&&Ft.call(e,"callee")&&!Ht.call(e,"callee")},qt=Array.isArray,Nt=Rt,Wt=qt,Dt=s?s.isConcatSpreadable:void 0;var Gt=xt,Qt=function isFlattenable$1(e){return Wt(e)||Nt(e)||!!(Dt&&e&&e[Dt])};var Ut=function baseFlatten$1(e,t,r,n,o){var a=-1,s=e.length;for(r||(r=Qt),o||(o=[]);++a<s;){var i=e[a];t>0&&r(i)?t>1?baseFlatten$1(i,t-1,r,n,o):Gt(o,i):n||(o[o.length]=i)}return o},Kt=Pt,Vt=Ut,Bt=gt,Jt=pt((function(e,t){return Bt(e)?Kt(e,Vt(t,1,Bt,!0)):[]}));var Xt=function setToArray$2(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},Yt=R(a,"Set"),Zt=function noop$1(){},er=Yt&&1/Xt(new Yt([,-0]))[1]==1/0?function(e){return new Yt(e)}:Zt,tr=Ee,rr=Re,nr=qe,or=We,ar=er,sr=Xt;var ir=function baseUniq$1(e,t,r){var n=-1,o=rr,a=e.length,s=!0,i=[],c=i;if(r)s=!1,o=nr;else if(a>=200){var u=t?null:ar(e);if(u)return sr(u);s=!1,o=or,c=new tr}else c=t?[]:i;e:for(;++n<a;){var l=e[n],f=t?t(l):l;if(l=r||0!==l?l:0,s&&f==f){for(var p=c.length;p--;)if(c[p]===f)continue e;t&&c.push(f),i.push(l)}else o(c,f,r)||(c!==i&&c.push(f),i.push(l))}return i};var cr,ur=function uniq(e){return e&&e.length?ir(e):[]};try{cr="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var lr=function leven(e,t,r){var n=[],o=[],a=r&&cr&&r.useCollator,s=1;if(r&&r.subcost&&"number"==typeof r.subcost&&(s=r.subcost),e===t)return 0;var i,c,u,l,f=e.length,p=t.length;if(0===f)return p;if(0===p)return f;for(var h=0,v=0;h<f;)o[h]=e.charCodeAt(h),n[h]=++h;if(a)for(;v<p;)for(i=t.charCodeAt(v),u=v++,c=v,h=0;h<f;h++)l=0===cr.compare(String.fromCharCode(i),String.fromCharCode(o[h]))?u:u+s,u=n[h],c=n[h]=u>c?l>c?c+1:l:l>u?u+1:l;else for(;v<p;)for(i=t.charCodeAt(v),u=v++,c=v,h=0;h<f;h++)l=i===o[h]?u:u+s,u=n[h],c=n[h]=u>c?l>c?c+1:l:l>u?u+1:l;return c};!function(e,t){if(!e.setImmediate){var r,n=1,o={},a=!1,s=e.document,i=Object.getPrototypeOf&&Object.getPrototypeOf(e);i=i&&i.setTimeout?i:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){r=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},r=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function installReadyStateChangeImplementation(){var e=s.documentElement;r=function(t){var r=s.createElement("script");r.onreadystatechange=function(){runIfPresent(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r)}}():function installSetTimeoutImplementation(){r=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var t="setImmediate$"+Math.random()+"$",onGlobalMessage=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(t)&&runIfPresent(+r.data.slice(t.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),r=function(r){e.postMessage(t+r,"*")}}(),i.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),a=0;a<t.length;a++)t[a]=arguments[a+1];var s={callback:e,args:t};return o[n]=s,r(n),n++},i.clearImmediate=clearImmediate}function clearImmediate(e){delete o[e]}function runIfPresent(e){if(a)setTimeout(runIfPresent,0,e);else{var t=o[e];if(t){a=!0;try{!function run(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{clearImmediate(e),a=!1}}}}}("undefined"==typeof self?e:self),function(){var e=Ct,r=Jt,n=lr,o=function(e){var t={};function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}return t.validate=validate,t.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},t.tokenize=function unique_tokens(t,r){return e(t.match(/\S+/g))},t.full_process=function full_process(e,t){return e instanceof String||"string"==typeof e?(t&&(t.force_ascii||!0===t)&&(e=e.replace(/[^\x00-\x7F]/g,"")),r=e.replace(/\W|_/g," ").toLowerCase().trim(),t&&t.collapseWhitespace&&(r=r.replace(/\s+/g," ")),r):"";var r},t.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var t={isAClone:!0};if(e){var r,n=Object.keys(e);for(r=0;r<n.length;r++)t[n[r]]=e[n[r]]}return void 0!==t.full_process&&!1===t.full_process||(t.full_process=!0),void 0!==t.force_ascii&&!0===t.force_ascii||(t.force_ascii=!1),void 0!==t.collapseWhitespace&&!1===t.collapseWhitespace||(t.collapseWhitespace=!0),t},t.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},t}(ur),a=o.validate,s=o.process_and_sort,i=o.tokenize,c=o.full_process,u=o.clone_and_set_option_defaults,l=o.isCustomFunc;function QRatio(e,t,r){var n=u(r);return e=n.full_process?c(e,n):e,t=n.full_process?c(t,n):t,a(e)&&a(t)?_ratio(e,t,n):0}function extractAsync(e,t,r,n){var o,a,f=u(r);"object"==typeof r.abortController&&(o=r.abortController),"object"==typeof r.cancelToken&&(a=r.cancelToken);var p=256;"number"==typeof f.asyncLoopOffset&&(p=f.asyncLoopOffset<1?1:f.asyncLoopOffset);var h,v=!1;if(t&&t.length&&Array.isArray(t))h=t.length,v=!0;else{if(!(t instanceof Object))return void n(new Error("Invalid choices"));h=Object.keys(t).length}if(!t||0===h)return void 0!==typeof console&&console.warn("No choices"),void n(null,[]);if(f.processor&&"function"!=typeof f.processor)n(new Error("Invalid Processor"));else if(f.processor||(f.processor=function(e){return e}),f.scorer&&"function"!=typeof f.scorer)n(new Error("Invalid Scorer"));else{f.scorer||(f.scorer=QRatio);var _=l(f.scorer);f.cutoff&&"number"==typeof f.cutoff||(f.cutoff=-1);var pre_processor=function(e,t){return e};f.full_process&&(pre_processor=c,_||(f.processed=!0)),_||(e=pre_processor(e,f),f.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var d,y,g,m,b=[],$=!1,k=!1,C=!1;if("token_sort_ratio"===f.scorer.name||"partial_token_sort_ratio"===f.scorer.name){var O=s(e);k=!0}else if("token_set_ratio"===f.scorer.name||"partial_token_set_ratio"===f.scorer.name){var j=i(e);C=!0}m=f.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]};var w=Object.keys(t);v?searchLoop(0):searchLoop(w[0],0)}function searchLoop(r,c){(v||t.hasOwnProperty(r))&&(f.tokens=void 0,f.proc_sorted=!1,k?(f.proc_sorted=!0,t[r].proc_sorted?y=t[r].proc_sorted:(y=pre_processor(f.processor(t[r]),f),y=s(y)),g=f.scorer(O,y,f)):C?(y="x",t[r].tokens?(f.tokens=[j,t[r].tokens],f.trySimple&&(y=pre_processor(f.processor(t[r]),f))):(y=pre_processor(f.processor(t[r]),f),f.tokens=[j,i(y)]),g=f.scorer(e,y,f)):_?(y=f.processor(t[r]),g=f.scorer(e,y,f)):("string"==typeof(y=pre_processor(f.processor(t[r]),f))&&0!==y.length||($=!0),g=f.scorer(e,y,f)),d=v?parseInt(r):r,g>f.cutoff&&(f.returnObjects?b.push({choice:t[r],score:g,key:d}):b.push([t[r],g,d]))),o&&!0===o.signal.aborted?n(new Error("aborted")):a&&!0===a.canceled?n(new Error("canceled")):v&&r<t.length-1?r%p==0?setImmediate((function(){searchLoop(r+1)})):searchLoop(r+1):c<w.length-1?c%p==0?setImmediate((function(){searchLoop(w[c+1],c+1)})):searchLoop(w[c+1],c+1):($&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),f.limit&&"number"==typeof f.limit&&f.limit>0&&f.limit<h&&!f.unsorted?b=b.sort(m).slice(0,f.limit):f.unsorted||(b=b.sort(m)),n(null,b))}}function _ratio(e,t,r){return a(e)&&a(t)?(void 0===r.subcost&&(r.subcost=2),o=n(e,t,r),s=e.length+t.length,Math.round((s-o)/s*100)):0;var o,s}void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Object.keys||(Object.keys=function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var a,s,i=[];for(a in o)e.call(o,a)&&i.push(a);if(t)for(s=0;s<n;s++)e.call(o,r[s])&&i.push(r[s]);return i}}());var f=void 0;"undefined"!=typeof Promise&&(f=function(e,t,r){return new Promise((function(n,o){extractAsync(e,t,r,(function(e,t){e?o(e):n(t)}))}))});var p={distance:function distance(e,t,r){var o=u(r);return e=o.full_process?c(e,o):e,t=o.full_process?c(t,o):t,n(e,t,o)},ratio:QRatio,token_set_ratio:function token_set_ratio(t,n,o){var s=u(o);return t=s.full_process?c(t,s):t,n=s.full_process?c(n,s):n,a(t)&&a(n)?function _token_set(t,n,o){if(o.tokens)a=o.tokens[0],s=o.tokens[1];else var a=i(t),s=i(n);var c=e(a,s),u=r(a,s),l=r(s,a),f=c.sort().join(" "),p=u.sort().join(" "),h=l.sort().join(" "),v=f+" "+p,_=f+" "+h;f=f.trim(),v=v.trim(),_=_.trim();var d=_ratio,y=[d(f,v,o),d(f,_,o),d(v,_,o)];o.trySimple&&y.push(d(t,n,o));return Math.max.apply(null,y)}(t,n,s):0},token_sort_ratio:function token_sort_ratio(e,t,r){var n=u(r);return e=n.full_process?c(e,n):e,t=n.full_process?c(t,n):t,a(e)&&a(t)?(n.proc_sorted||(e=s(e),t=s(t)),_ratio(e,t,n)):0},full_process:c,extract:function extract(e,t,r){var n,o=u(r),a=!1;if(t&&t.length&&Array.isArray(t))n=t.length,a=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");n=Object.keys(t).length}if(!t||0===n)return void 0!==typeof console&&console.warn("No choices"),[];if(o.processor&&"function"!=typeof o.processor)throw new Error("Invalid Processor");if(o.processor||(o.processor=function(e){return e}),o.scorer&&"function"!=typeof o.scorer)throw new Error("Invalid Scorer");o.scorer||(o.scorer=QRatio);var f=l(o.scorer);o.cutoff&&"number"==typeof o.cutoff||(o.cutoff=-1);var pre_processor=function(e,t){return e};o.full_process&&(pre_processor=c,f||(o.processed=!0)),f||(e=pre_processor(e,o),o.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var p,h,v,_,d=[],y=!1,g=!1,m=!1;if("token_sort_ratio"===o.scorer.name||"partial_token_sort_ratio"===o.scorer.name){var b=s(e);g=!0}else if("token_set_ratio"===o.scorer.name||"partial_token_set_ratio"===o.scorer.name){var $=i(e);m=!0}for(var k in _=o.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]},t)(a||t.hasOwnProperty(k))&&(o.tokens=void 0,o.proc_sorted=!1,g?(o.proc_sorted=!0,t[k]&&t[k].proc_sorted?h=t[k].proc_sorted:(h=pre_processor(o.processor(t[k]),o),h=s(h)),v=o.scorer(b,h,o)):m?(h="x",t[k]&&t[k].tokens?(o.tokens=[$,t[k].tokens],o.trySimple&&(h=pre_processor(o.processor(t[k]),o))):(h=pre_processor(o.processor(t[k]),o),o.tokens=[$,i(h)]),v=o.scorer(e,h,o)):f?(h=o.processor(t[k]),v=o.scorer(e,h,o)):("string"==typeof(h=pre_processor(o.processor(t[k]),o))&&0!==h.length||(y=!0),v=o.scorer(e,h,o)),p=a?parseInt(k):k,v>o.cutoff&&(o.returnObjects?d.push({choice:t[k],score:v,key:p}):d.push([t[k],v,p])));return y&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),o.limit&&"number"==typeof o.limit&&o.limit>0&&o.limit<n&&!o.unsorted?d=d.sort(_).slice(0,o.limit):o.unsorted||(d=d.sort(_)),d},extractAsync:extractAsync,extractAsPromised:f,process_and_sort:s,unique_tokens:i};t.exports=p}();var fr=t.exports;const pr=fr.distance,hr=fr.ratio,vr=fr.token_set_ratio,_r=fr.token_sort_ratio,dr=fr.full_process,yr=fr.extract,gr=fr.extractAsync,mr=fr.extractAsPromised,br=fr.process_and_sort,$r=fr.unique_tokens;export{pr as distance,yr as extract,mr as extractAsPromised,gr as extractAsync,dr as full_process,br as process_and_sort,hr as ratio,vr as token_set_ratio,_r as token_sort_ratio,$r as unique_tokens};
var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}};var r,o={_intersect:function _intersect(e,t){if(!e||!t||0===e.length||0===t.length)return[];if(e.length<100&&t.length<100)return e.filter((e=>t.includes(e)));const r=new Set(t);return e.filter((e=>r.has(e)))},_intersectWith:function _intersectWith(e,t,r){return e&&t&&0!==e.length&&0!==t.length?e.filter((e=>t.some((t=>r(e,t))))):[]},_difference:function _difference(e,t){if(!e)return[];if(!t||0===t.length)return e.slice();if(e.length<100&&t.length<100)return e.filter((e=>!t.includes(e)));const r=new Set(t);return e.filter((e=>!r.has(e)))},_differenceWith:function _differenceWith(e,t,r){return e?t&&0!==t.length?e.filter((e=>!t.some((t=>r(e,t))))):e.slice():[]},_uniq:function _uniq(e){return e&&0!==e.length?1===e.length?e.slice():[...new Set(e)]:[]},_uniqWith:function _uniqWith(e,t){return e&&0!==e.length?1===e.length?e.slice():e.filter(((e,r,o)=>r===o.findIndex((r=>t(e,r))))):[]},_partialRight:function _partialRight(e){const t=Array.prototype.slice.call(arguments,1);return function(){const r=Array.prototype.slice.call(arguments);return e.apply(this,r.concat(t))}},_forEach:function _forEach(e,t){if(e)if(Array.isArray(e))for(let r=0;r<e.length;r++)t(e[r],r);else{const r=Object.keys(e);for(let o=0;o<r.length;o++)t(e[r[o]],r[o])}},_keys:function _keys(e){return Object.keys(e)},_isArray:function _isArray(e){return Array.isArray(e)}};try{r="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var n=function leven(e,t,o){var n=[],s=[],i=o&&r&&o.useCollator,c=1;if(o&&o.subcost&&"number"==typeof o.subcost&&(c=o.subcost),e===t)return 0;var a,l,f,u,p=e.length,d=t.length;if(0===p)return d;if(0===d)return p;for(var _=0,h=0;_<p;)s[_]=e.charCodeAt(_),n[_]=++_;if(i)for(;h<d;)for(a=t.charCodeAt(h),f=h++,l=h,_=0;_<p;_++)u=0===r.compare(String.fromCharCode(a),String.fromCharCode(s[_]))?f:f+c,f=n[_],l=n[_]=f>l?u>l?l+1:u:u>f?f+1:u;else for(;h<d;)for(a=t.charCodeAt(h),f=h++,l=h,_=0;_<p;_++)u=a===s[_]?f:f+c,f=n[_],l=n[_]=f>l?u>l?l+1:u:u>f?f+1:u;return l};!function(e,t){if(!e.setImmediate){var r,o=1,n={},s=!1,i=e.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(e);c=c&&c.setTimeout?c:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){r=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},r=function(t){e.port2.postMessage(t)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;r=function(t){var r=i.createElement("script");r.onreadystatechange=function(){runIfPresent(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r)}}():function installSetTimeoutImplementation(){r=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var t="setImmediate$"+Math.random()+"$",onGlobalMessage=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(t)&&runIfPresent(+r.data.slice(t.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),r=function(r){e.postMessage(t+r,"*")}}(),c.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),s=0;s<t.length;s++)t[s]=arguments[s+1];var i={callback:e,args:t};return n[o]=i,r(o),o++},c.clearImmediate=clearImmediate}function clearImmediate(e){delete n[e]}function runIfPresent(e){if(s)setTimeout(runIfPresent,0,e);else{var t=n[e];if(t){s=!0;try{!function run(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{clearImmediate(e),s=!1}}}}}("undefined"==typeof self?e:self),function(){var e,r,s,i,c=o._intersect,a=o._difference,l=n,f=function(e){var t={};function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}return t.validate=validate,t.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},t.tokenize=function unique_tokens(t,r){return e(t.match(/\S+/g))},t.full_process=function full_process(e,t){return e instanceof String||"string"==typeof e?(t&&(t.force_ascii||!0===t)&&(e=e.replace(/[^\x00-\x7F]/g,"")),r=e.replace(/\W|_/g," ").toLowerCase().trim(),t&&t.collapseWhitespace&&(r=r.replace(/\s+/g," ")),r):"";var r},t.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var t={isAClone:!0};if(e){var r,o=Object.keys(e);for(r=0;r<o.length;r++)t[o[r]]=e[o[r]]}return void 0!==t.full_process&&!1===t.full_process||(t.full_process=!0),void 0!==t.force_ascii&&!0===t.force_ascii||(t.force_ascii=!1),void 0!==t.collapseWhitespace&&!1===t.collapseWhitespace||(t.collapseWhitespace=!0),t},t.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},t}(o._uniq),u=f.validate,p=f.process_and_sort,d=f.tokenize,_=f.full_process,h=f.clone_and_set_option_defaults,m=f.isCustomFunc;function QRatio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?_ratio(e,t,o):0}function extractAsync(e,t,r,o){var n,s,i=h(r);"object"==typeof r.abortController&&(n=r.abortController),"object"==typeof r.cancelToken&&(s=r.cancelToken);var c=256;"number"==typeof i.asyncLoopOffset&&(c=i.asyncLoopOffset<1?1:i.asyncLoopOffset);var a,l=!1;if(t&&t.length&&Array.isArray(t))a=t.length,l=!0;else{if(!(t instanceof Object))return void o(new Error("Invalid choices"));a=Object.keys(t).length}if(!t||0===a)return void 0!==typeof console&&console.warn("No choices"),void o(null,[]);if(i.processor&&"function"!=typeof i.processor)o(new Error("Invalid Processor"));else if(i.processor||(i.processor=function(e){return e}),i.scorer&&"function"!=typeof i.scorer)o(new Error("Invalid Scorer"));else{i.scorer||(i.scorer=QRatio);var f=m(i.scorer);i.cutoff&&"number"==typeof i.cutoff||(i.cutoff=-1);var pre_processor=function(e,t){return e};i.full_process&&(pre_processor=_,f||(i.processed=!0)),f||(e=pre_processor(e,i),i.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var u,y,g,v,k=[],b=!1,w=!1,I=!1;if("token_sort_ratio"===i.scorer.name||"partial_token_sort_ratio"===i.scorer.name){var O=p(e);w=!0}else if("token_set_ratio"===i.scorer.name||"partial_token_set_ratio"===i.scorer.name){var A=d(e);I=!0}v=i.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]};var j=Object.keys(t);l?searchLoop(0):searchLoop(j[0],0)}function searchLoop(r,_){(l||t.hasOwnProperty(r))&&(i.tokens=void 0,i.proc_sorted=!1,w?(i.proc_sorted=!0,t[r].proc_sorted?y=t[r].proc_sorted:(y=pre_processor(i.processor(t[r]),i),y=p(y)),g=i.scorer(O,y,i)):I?(y="x",t[r].tokens?(i.tokens=[A,t[r].tokens],i.trySimple&&(y=pre_processor(i.processor(t[r]),i))):(y=pre_processor(i.processor(t[r]),i),i.tokens=[A,d(y)]),g=i.scorer(e,y,i)):f?(y=i.processor(t[r]),g=i.scorer(e,y,i)):("string"==typeof(y=pre_processor(i.processor(t[r]),i))&&0!==y.length||(b=!0),g=i.scorer(e,y,i)),u=l?parseInt(r):r,g>i.cutoff&&(i.returnObjects?k.push({choice:t[r],score:g,key:u}):k.push([t[r],g,u]))),n&&!0===n.signal.aborted?o(new Error("aborted")):s&&!0===s.canceled?o(new Error("canceled")):l&&r<t.length-1?r%c==0?setImmediate((function(){searchLoop(r+1)})):searchLoop(r+1):_<j.length-1?_%c==0?setImmediate((function(){searchLoop(j[_+1],_+1)})):searchLoop(j[_+1],_+1):(b&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),i.limit&&"number"==typeof i.limit&&i.limit>0&&i.limit<a&&!i.unsorted?k=k.sort(v).slice(0,i.limit):i.unsorted||(k=k.sort(v)),o(null,k))}}function _ratio(e,t,r){return u(e)&&u(t)?(void 0===r.subcost&&(r.subcost=2),o=l(e,t,r),n=e.length+t.length,Math.round((n-o)/n*100)):0;var o,n}void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Object.keys||(Object.keys=(e=Object.prototype.hasOwnProperty,r=!{toString:null}.propertyIsEnumerable("toString"),i=(s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(t){if("object"!=typeof t&&("function"!=typeof t||null===t))throw new TypeError("Object.keys called on non-object");var o,n,c=[];for(o in t)e.call(t,o)&&c.push(o);if(r)for(n=0;n<i;n++)e.call(t,s[n])&&c.push(s[n]);return c}));var y=void 0;"undefined"!=typeof Promise&&(y=function(e,t,r){return new Promise((function(o,n){extractAsync(e,t,r,(function(e,t){e?n(e):o(t)}))}))});var g={distance:function distance(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,l(e,t,o)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?function _token_set(e,t,r){if(r.tokens)o=r.tokens[0],n=r.tokens[1];else var o=d(e),n=d(t);var s=c(o,n),i=a(o,n),l=a(n,o),f=s.sort().join(" "),u=i.sort().join(" "),p=l.sort().join(" "),_=f+" "+u,h=f+" "+p;f=f.trim(),_=_.trim(),h=h.trim();var m=_ratio,y=[m(f,_,r),m(f,h,r),m(_,h,r)];r.trySimple&&y.push(m(e,t,r));return Math.max.apply(null,y)}(e,t,o):0},token_sort_ratio:function token_sort_ratio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?(o.proc_sorted||(e=p(e),t=p(t)),_ratio(e,t,o)):0},full_process:_,extract:function extract(e,t,r){var o,n=h(r),s=!1;if(t&&t.length&&Array.isArray(t))o=t.length,s=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");o=Object.keys(t).length}if(!t||0===o)return void 0!==typeof console&&console.warn("No choices"),[];if(n.processor&&"function"!=typeof n.processor)throw new Error("Invalid Processor");if(n.processor||(n.processor=function(e){return e}),n.scorer&&"function"!=typeof n.scorer)throw new Error("Invalid Scorer");n.scorer||(n.scorer=QRatio);var i=m(n.scorer);n.cutoff&&"number"==typeof n.cutoff||(n.cutoff=-1);var pre_processor=function(e,t){return e};n.full_process&&(pre_processor=_,i||(n.processed=!0)),i||(e=pre_processor(e,n),n.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var c,a,l,f,u=[],y=!1,g=!1,v=!1;if("token_sort_ratio"===n.scorer.name||"partial_token_sort_ratio"===n.scorer.name){var k=p(e);g=!0}else if("token_set_ratio"===n.scorer.name||"partial_token_set_ratio"===n.scorer.name){var b=d(e);v=!0}for(var w in f=n.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]},t)(s||t.hasOwnProperty(w))&&(n.tokens=void 0,n.proc_sorted=!1,g?(n.proc_sorted=!0,t[w]&&t[w].proc_sorted?a=t[w].proc_sorted:(a=pre_processor(n.processor(t[w]),n),a=p(a)),l=n.scorer(k,a,n)):v?(a="x",t[w]&&t[w].tokens?(n.tokens=[b,t[w].tokens],n.trySimple&&(a=pre_processor(n.processor(t[w]),n))):(a=pre_processor(n.processor(t[w]),n),n.tokens=[b,d(a)]),l=n.scorer(e,a,n)):i?(a=n.processor(t[w]),l=n.scorer(e,a,n)):("string"==typeof(a=pre_processor(n.processor(t[w]),n))&&0!==a.length||(y=!0),l=n.scorer(e,a,n)),c=s?parseInt(w):w,l>n.cutoff&&(n.returnObjects?u.push({choice:t[w],score:l,key:c}):u.push([t[w],l,c])));return y&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),n.limit&&"number"==typeof n.limit&&n.limit>0&&n.limit<o&&!n.unsorted?u=u.sort(f).slice(0,n.limit):n.unsorted||(u=u.sort(f)),u},extractAsync:extractAsync,extractAsPromised:y,process_and_sort:p,unique_tokens:d};t.exports=g}();var s=t.exports;const i=s.distance,c=s.ratio,a=s.token_set_ratio,l=s.token_sort_ratio,f=s.full_process,u=s.extract,p=s.extractAsync,d=s.extractAsPromised,_=s.process_and_sort,h=s.unique_tokens;export{i as distance,u as extract,d as extractAsPromised,p as extractAsync,f as full_process,_ as process_and_sort,c as ratio,a as token_set_ratio,l as token_sort_ratio,h as unique_tokens};

@@ -5,5 +5,6 @@ (function () {

var _intersect = require('lodash/intersection');
var _difference = require('lodash/difference');
var _uniq = require('lodash/uniq');
var nativeUtils = require('../lib/native_utils.js');
var _intersect = nativeUtils._intersect;
var _difference = nativeUtils._difference;
var _uniq = nativeUtils._uniq;

@@ -10,0 +11,0 @@ var leven = require('../lib/leven');

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

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).fuzzball=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}};var r=function arrayMap$3(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},n="object"==typeof e&&e&&e.Object===Object&&e,o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")(),s=a.Symbol,i=s,c=Object.prototype,u=c.hasOwnProperty,l=c.toString,f=i?i.toStringTag:void 0;var p=function getRawTag$1(e){var t=u.call(e,f),r=e[f];try{e[f]=void 0;var n=!0}catch(e){}var o=l.call(e);return n&&(t?e[f]=r:delete e[f]),o},h=Object.prototype.toString;var v=p,d=function objectToString$1(e){return h.call(e)},_=s?s.toStringTag:void 0;var y=function baseGetTag$2(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?v(e):d(e)};var g=function isObject$2(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},m=y,b=g;var $,k=function isFunction$2(e){if(!b(e))return!1;var t=m(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},C=a["__core-js_shared__"],O=($=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+$:"";var j=function isMasked$1(e){return!!O&&O in e},w=Function.prototype.toString;var I=k,S=j,A=g,P=function toSource$1(e){if(null!=e){try{return w.call(e)}catch(e){}try{return e+""}catch(e){}}return""},x=/^\[object .+?Constructor\]$/,L=Function.prototype,M=Object.prototype,E=L.toString,T=M.hasOwnProperty,z=RegExp("^"+E.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var F=function baseIsNative$1(e){return!(!A(e)||S(e))&&(I(e)?z:x).test(P(e))},H=function getValue$1(e,t){return null==e?void 0:e[t]};var R=function getNative$4(e,t){var r=H(e,t);return F(r)?r:void 0},N=R(Object,"create"),q=N;var W=function hashClear$1(){this.__data__=q?q(null):{},this.size=0};var D=function hashDelete$1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},G=N,Q=Object.prototype.hasOwnProperty;var U=function hashGet$1(e){var t=this.__data__;if(G){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Q.call(t,e)?t[e]:void 0},K=N,V=Object.prototype.hasOwnProperty;var B=N;var J=W,X=D,Y=U,Z=function hashHas$1(e){var t=this.__data__;return K?void 0!==t[e]:V.call(t,e)},ee=function hashSet$1(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=B&&void 0===t?"__lodash_hash_undefined__":t,this};function Hash$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Hash$1.prototype.clear=J,Hash$1.prototype.delete=X,Hash$1.prototype.get=Y,Hash$1.prototype.has=Z,Hash$1.prototype.set=ee;var te=Hash$1;var re=function listCacheClear$1(){this.__data__=[],this.size=0};var ne=function eq$1(e,t){return e===t||e!=e&&t!=t};var oe=function assocIndexOf$4(e,t){for(var r=e.length;r--;)if(ne(e[r][0],t))return r;return-1},ae=oe,se=Array.prototype.splice;var ie=oe;var ce=oe;var ue=oe;var le=re,fe=function listCacheDelete$1(e){var t=this.__data__,r=ae(t,e);return!(r<0)&&(r==t.length-1?t.pop():se.call(t,r,1),--this.size,!0)},pe=function listCacheGet$1(e){var t=this.__data__,r=ie(t,e);return r<0?void 0:t[r][1]},he=function listCacheHas$1(e){return ce(this.__data__,e)>-1},ve=function listCacheSet$1(e,t){var r=this.__data__,n=ue(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function ListCache$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ListCache$1.prototype.clear=le,ListCache$1.prototype.delete=fe,ListCache$1.prototype.get=pe,ListCache$1.prototype.has=he,ListCache$1.prototype.set=ve;var de=ListCache$1,_e=R(a,"Map"),ye=te,ge=de,me=_e;var be=function isKeyable$1(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var $e=function getMapData$4(e,t){var r=e.__data__;return be(t)?r["string"==typeof t?"string":"hash"]:r.map},ke=$e;var Ce=$e;var Oe=$e;var je=$e;var we=function mapCacheClear$1(){this.size=0,this.__data__={hash:new ye,map:new(me||ge),string:new ye}},Ie=function mapCacheDelete$1(e){var t=ke(this,e).delete(e);return this.size-=t?1:0,t},Se=function mapCacheGet$1(e){return Ce(this,e).get(e)},Ae=function mapCacheHas$1(e){return Oe(this,e).has(e)},Pe=function mapCacheSet$1(e,t){var r=je(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function MapCache$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}MapCache$1.prototype.clear=we,MapCache$1.prototype.delete=Ie,MapCache$1.prototype.get=Se,MapCache$1.prototype.has=Ae,MapCache$1.prototype.set=Pe;var xe=MapCache$1,Le=function setCacheAdd$1(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Me=function setCacheHas$1(e){return this.__data__.has(e)};function SetCache$3(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new xe;++t<r;)this.add(e[t])}SetCache$3.prototype.add=SetCache$3.prototype.push=Le,SetCache$3.prototype.has=Me;var Ee=SetCache$3;var Te=function baseFindIndex$1(e,t,r,n){for(var o=e.length,a=r+(n?1:-1);n?a--:++a<o;)if(t(e[a],a,e))return a;return-1},ze=function baseIsNaN$1(e){return e!=e},Fe=function strictIndexOf$1(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1};var He=function baseIndexOf$1(e,t,r){return t==t?Fe(e,t,r):Te(e,ze,r)};var Re=function arrayIncludes$3(e,t){return!!(null==e?0:e.length)&&He(e,t,0)>-1};var Ne=function arrayIncludesWith$3(e,t,r){for(var n=-1,o=null==e?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1};var qe=function baseUnary$2(e){return function(t){return e(t)}};var We=function cacheHas$3(e,t){return e.has(t)},De=Ee,Ge=Re,Qe=Ne,Ue=r,Ke=qe,Ve=We,Be=Math.min;var Je=function baseIntersection$1(e,t,r){for(var n=r?Qe:Ge,o=e[0].length,a=e.length,s=a,i=Array(a),c=1/0,u=[];s--;){var l=e[s];s&&t&&(l=Ue(l,Ke(t))),c=Be(l.length,c),i[s]=!r&&(t||o>=120&&l.length>=120)?new De(s&&l):void 0}l=e[0];var f=-1,p=i[0];e:for(;++f<o&&u.length<c;){var h=l[f],v=t?t(h):h;if(h=r||0!==h?h:0,!(p?Ve(p,v):n(u,v,r))){for(s=a;--s;){var d=i[s];if(!(d?Ve(d,v):n(e[s],v,r)))continue e}p&&p.push(v),u.push(h)}}return u};var Xe=function identity$2(e){return e};var Ye=function apply$1(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},Ze=Math.max;var et=function overRest$1(e,t,r){return t=Ze(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=Ze(n.length-t,0),s=Array(a);++o<a;)s[o]=n[t+o];o=-1;for(var i=Array(t+1);++o<t;)i[o]=n[o];return i[t]=r(s),Ye(e,this,i)}};var tt=function constant$1(e){return function(){return e}},rt=R,nt=function(){try{var e=rt(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),ot=tt,at=nt,st=at?function(e,t){return at(e,"toString",{configurable:!0,enumerable:!1,value:ot(t),writable:!0})}:Xe,it=Date.now;var ct=function shortOut$1(e){var t=0,r=0;return function(){var n=it(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}},ut=ct(st),lt=Xe,ft=et,pt=ut;var ht=function baseRest$2(e,t){return pt(ft(e,t,lt),e+"")};var vt=k,dt=function isLength$1(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var _t=function isObjectLike$3(e){return null!=e&&"object"==typeof e},yt=function isArrayLike$1(e){return null!=e&&dt(e.length)&&!vt(e)},gt=_t;var mt=function isArrayLikeObject$2(e){return gt(e)&&yt(e)},bt=mt;var $t=r,kt=Je,Ct=function castArrayLikeObject$1(e){return bt(e)?e:[]},Ot=ht((function(e){var t=$t(e,Ct);return t.length&&t[0]===e[0]?kt(t):[]})),jt=Ee,wt=Re,It=Ne,St=r,At=qe,Pt=We;var xt=function baseDifference$1(e,t,r,n){var o=-1,a=wt,s=!0,i=e.length,c=[],u=t.length;if(!i)return c;r&&(t=St(t,At(r))),n?(a=It,s=!1):t.length>=200&&(a=Pt,s=!1,t=new jt(t));e:for(;++o<i;){var l=e[o],f=null==r?l:r(l);if(l=n||0!==l?l:0,s&&f==f){for(var p=u;p--;)if(t[p]===f)continue e;c.push(l)}else a(t,f,n)||c.push(l)}return c};var Lt=function arrayPush$1(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},Mt=y,Et=_t;var Tt=function baseIsArguments$1(e){return Et(e)&&"[object Arguments]"==Mt(e)},zt=_t,Ft=Object.prototype,Ht=Ft.hasOwnProperty,Rt=Ft.propertyIsEnumerable,Nt=Tt(function(){return arguments}())?Tt:function(e){return zt(e)&&Ht.call(e,"callee")&&!Rt.call(e,"callee")},qt=Nt,Wt=Array.isArray,Dt=qt,Gt=Wt,Qt=s?s.isConcatSpreadable:void 0;var Ut=Lt,Kt=function isFlattenable$1(e){return Gt(e)||Dt(e)||!!(Qt&&e&&e[Qt])};var Vt=function baseFlatten$1(e,t,r,n,o){var a=-1,s=e.length;for(r||(r=Kt),o||(o=[]);++a<s;){var i=e[a];t>0&&r(i)?t>1?baseFlatten$1(i,t-1,r,n,o):Ut(o,i):n||(o[o.length]=i)}return o},Bt=xt,Jt=Vt,Xt=mt,Yt=ht((function(e,t){return Xt(e)?Bt(e,Jt(t,1,Xt,!0)):[]}));var Zt=function setToArray$2(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},er=R(a,"Set"),tr=function noop$1(){},rr=er&&1/Zt(new er([,-0]))[1]==1/0?function(e){return new er(e)}:tr,nr=Ee,or=Re,ar=Ne,sr=We,ir=rr,cr=Zt;var ur=function baseUniq$1(e,t,r){var n=-1,o=or,a=e.length,s=!0,i=[],c=i;if(r)s=!1,o=ar;else if(a>=200){var u=t?null:ir(e);if(u)return cr(u);s=!1,o=sr,c=new nr}else c=t?[]:i;e:for(;++n<a;){var l=e[n],f=t?t(l):l;if(l=r||0!==l?l:0,s&&f==f){for(var p=c.length;p--;)if(c[p]===f)continue e;t&&c.push(f),i.push(l)}else o(c,f,r)||(c!==i&&c.push(f),i.push(l))}return i};var lr,fr=function uniq(e){return e&&e.length?ur(e):[]};try{lr="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var pr=function leven(e,t,r){var n=[],o=[],a=r&&lr&&r.useCollator,s=1;if(r&&r.subcost&&"number"==typeof r.subcost&&(s=r.subcost),e===t)return 0;var i,c,u,l,f=e.length,p=t.length;if(0===f)return p;if(0===p)return f;for(var h=0,v=0;h<f;)o[h]=e.charCodeAt(h),n[h]=++h;if(a)for(;v<p;)for(i=t.charCodeAt(v),u=v++,c=v,h=0;h<f;h++)l=0===lr.compare(String.fromCharCode(i),String.fromCharCode(o[h]))?u:u+s,u=n[h],c=n[h]=u>c?l>c?c+1:l:l>u?u+1:l;else for(;v<p;)for(i=t.charCodeAt(v),u=v++,c=v,h=0;h<f;h++)l=i===o[h]?u:u+s,u=n[h],c=n[h]=u>c?l>c?c+1:l:l>u?u+1:l;return c};return function(e,t){if(!e.setImmediate){var r,n=1,o={},a=!1,s=e.document,i=Object.getPrototypeOf&&Object.getPrototypeOf(e);i=i&&i.setTimeout?i:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){r=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},r=function(t){e.port2.postMessage(t)}}():s&&"onreadystatechange"in s.createElement("script")?function installReadyStateChangeImplementation(){var e=s.documentElement;r=function(t){var r=s.createElement("script");r.onreadystatechange=function(){runIfPresent(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r)}}():function installSetTimeoutImplementation(){r=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var t="setImmediate$"+Math.random()+"$",onGlobalMessage=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(t)&&runIfPresent(+r.data.slice(t.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),r=function(r){e.postMessage(t+r,"*")}}(),i.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),a=0;a<t.length;a++)t[a]=arguments[a+1];var s={callback:e,args:t};return o[n]=s,r(n),n++},i.clearImmediate=clearImmediate}function clearImmediate(e){delete o[e]}function runIfPresent(e){if(a)setTimeout(runIfPresent,0,e);else{var t=o[e];if(t){a=!0;try{!function run(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{clearImmediate(e),a=!1}}}}}("undefined"==typeof self?e:self),function(){var e=Ot,r=Yt,n=pr,o=function(e){var t={};function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}return t.validate=validate,t.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},t.tokenize=function unique_tokens(t,r){return e(t.match(/\S+/g))},t.full_process=function full_process(e,t){return e instanceof String||"string"==typeof e?(t&&(t.force_ascii||!0===t)&&(e=e.replace(/[^\x00-\x7F]/g,"")),r=e.replace(/\W|_/g," ").toLowerCase().trim(),t&&t.collapseWhitespace&&(r=r.replace(/\s+/g," ")),r):"";var r},t.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var t={isAClone:!0};if(e){var r,n=Object.keys(e);for(r=0;r<n.length;r++)t[n[r]]=e[n[r]]}return void 0!==t.full_process&&!1===t.full_process||(t.full_process=!0),void 0!==t.force_ascii&&!0===t.force_ascii||(t.force_ascii=!1),void 0!==t.collapseWhitespace&&!1===t.collapseWhitespace||(t.collapseWhitespace=!0),t},t.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},t}(fr),a=o.validate,s=o.process_and_sort,i=o.tokenize,c=o.full_process,u=o.clone_and_set_option_defaults,l=o.isCustomFunc;function QRatio(e,t,r){var n=u(r);return e=n.full_process?c(e,n):e,t=n.full_process?c(t,n):t,a(e)&&a(t)?_ratio(e,t,n):0}function extractAsync(e,t,r,n){var o,a,f=u(r);"object"==typeof r.abortController&&(o=r.abortController),"object"==typeof r.cancelToken&&(a=r.cancelToken);var p=256;"number"==typeof f.asyncLoopOffset&&(p=f.asyncLoopOffset<1?1:f.asyncLoopOffset);var h,v=!1;if(t&&t.length&&Array.isArray(t))h=t.length,v=!0;else{if(!(t instanceof Object))return void n(new Error("Invalid choices"));h=Object.keys(t).length}if(!t||0===h)return void 0!==typeof console&&console.warn("No choices"),void n(null,[]);if(f.processor&&"function"!=typeof f.processor)n(new Error("Invalid Processor"));else if(f.processor||(f.processor=function(e){return e}),f.scorer&&"function"!=typeof f.scorer)n(new Error("Invalid Scorer"));else{f.scorer||(f.scorer=QRatio);var d=l(f.scorer);f.cutoff&&"number"==typeof f.cutoff||(f.cutoff=-1);var pre_processor=function(e,t){return e};f.full_process&&(pre_processor=c,d||(f.processed=!0)),d||(e=pre_processor(e,f),f.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var _,y,g,m,b=[],$=!1,k=!1,C=!1;if("token_sort_ratio"===f.scorer.name||"partial_token_sort_ratio"===f.scorer.name){var O=s(e);k=!0}else if("token_set_ratio"===f.scorer.name||"partial_token_set_ratio"===f.scorer.name){var j=i(e);C=!0}m=f.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]};var w=Object.keys(t);v?searchLoop(0):searchLoop(w[0],0)}function searchLoop(r,c){(v||t.hasOwnProperty(r))&&(f.tokens=void 0,f.proc_sorted=!1,k?(f.proc_sorted=!0,t[r].proc_sorted?y=t[r].proc_sorted:(y=pre_processor(f.processor(t[r]),f),y=s(y)),g=f.scorer(O,y,f)):C?(y="x",t[r].tokens?(f.tokens=[j,t[r].tokens],f.trySimple&&(y=pre_processor(f.processor(t[r]),f))):(y=pre_processor(f.processor(t[r]),f),f.tokens=[j,i(y)]),g=f.scorer(e,y,f)):d?(y=f.processor(t[r]),g=f.scorer(e,y,f)):("string"==typeof(y=pre_processor(f.processor(t[r]),f))&&0!==y.length||($=!0),g=f.scorer(e,y,f)),_=v?parseInt(r):r,g>f.cutoff&&(f.returnObjects?b.push({choice:t[r],score:g,key:_}):b.push([t[r],g,_]))),o&&!0===o.signal.aborted?n(new Error("aborted")):a&&!0===a.canceled?n(new Error("canceled")):v&&r<t.length-1?r%p==0?setImmediate((function(){searchLoop(r+1)})):searchLoop(r+1):c<w.length-1?c%p==0?setImmediate((function(){searchLoop(w[c+1],c+1)})):searchLoop(w[c+1],c+1):($&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),f.limit&&"number"==typeof f.limit&&f.limit>0&&f.limit<h&&!f.unsorted?b=b.sort(m).slice(0,f.limit):f.unsorted||(b=b.sort(m)),n(null,b))}}function _ratio(e,t,r){return a(e)&&a(t)?(void 0===r.subcost&&(r.subcost=2),o=n(e,t,r),s=e.length+t.length,Math.round((s-o)/s*100)):0;var o,s}void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Object.keys||(Object.keys=function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var a,s,i=[];for(a in o)e.call(o,a)&&i.push(a);if(t)for(s=0;s<n;s++)e.call(o,r[s])&&i.push(r[s]);return i}}());var f=void 0;"undefined"!=typeof Promise&&(f=function(e,t,r){return new Promise((function(n,o){extractAsync(e,t,r,(function(e,t){e?o(e):n(t)}))}))});var p={distance:function distance(e,t,r){var o=u(r);return e=o.full_process?c(e,o):e,t=o.full_process?c(t,o):t,n(e,t,o)},ratio:QRatio,token_set_ratio:function token_set_ratio(t,n,o){var s=u(o);return t=s.full_process?c(t,s):t,n=s.full_process?c(n,s):n,a(t)&&a(n)?function _token_set(t,n,o){if(o.tokens)a=o.tokens[0],s=o.tokens[1];else var a=i(t),s=i(n);var c=e(a,s),u=r(a,s),l=r(s,a),f=c.sort().join(" "),p=u.sort().join(" "),h=l.sort().join(" "),v=f+" "+p,d=f+" "+h;f=f.trim(),v=v.trim(),d=d.trim();var _=_ratio,y=[_(f,v,o),_(f,d,o),_(v,d,o)];o.trySimple&&y.push(_(t,n,o));return Math.max.apply(null,y)}(t,n,s):0},token_sort_ratio:function token_sort_ratio(e,t,r){var n=u(r);return e=n.full_process?c(e,n):e,t=n.full_process?c(t,n):t,a(e)&&a(t)?(n.proc_sorted||(e=s(e),t=s(t)),_ratio(e,t,n)):0},full_process:c,extract:function extract(e,t,r){var n,o=u(r),a=!1;if(t&&t.length&&Array.isArray(t))n=t.length,a=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");n=Object.keys(t).length}if(!t||0===n)return void 0!==typeof console&&console.warn("No choices"),[];if(o.processor&&"function"!=typeof o.processor)throw new Error("Invalid Processor");if(o.processor||(o.processor=function(e){return e}),o.scorer&&"function"!=typeof o.scorer)throw new Error("Invalid Scorer");o.scorer||(o.scorer=QRatio);var f=l(o.scorer);o.cutoff&&"number"==typeof o.cutoff||(o.cutoff=-1);var pre_processor=function(e,t){return e};o.full_process&&(pre_processor=c,f||(o.processed=!0)),f||(e=pre_processor(e,o),o.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var p,h,v,d,_=[],y=!1,g=!1,m=!1;if("token_sort_ratio"===o.scorer.name||"partial_token_sort_ratio"===o.scorer.name){var b=s(e);g=!0}else if("token_set_ratio"===o.scorer.name||"partial_token_set_ratio"===o.scorer.name){var $=i(e);m=!0}for(var k in d=o.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]},t)(a||t.hasOwnProperty(k))&&(o.tokens=void 0,o.proc_sorted=!1,g?(o.proc_sorted=!0,t[k]&&t[k].proc_sorted?h=t[k].proc_sorted:(h=pre_processor(o.processor(t[k]),o),h=s(h)),v=o.scorer(b,h,o)):m?(h="x",t[k]&&t[k].tokens?(o.tokens=[$,t[k].tokens],o.trySimple&&(h=pre_processor(o.processor(t[k]),o))):(h=pre_processor(o.processor(t[k]),o),o.tokens=[$,i(h)]),v=o.scorer(e,h,o)):f?(h=o.processor(t[k]),v=o.scorer(e,h,o)):("string"==typeof(h=pre_processor(o.processor(t[k]),o))&&0!==h.length||(y=!0),v=o.scorer(e,h,o)),p=a?parseInt(k):k,v>o.cutoff&&(o.returnObjects?_.push({choice:t[k],score:v,key:p}):_.push([t[k],v,p])));return y&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),o.limit&&"number"==typeof o.limit&&o.limit>0&&o.limit<n&&!o.unsorted?_=_.sort(d).slice(0,o.limit):o.unsorted||(_=_.sort(d)),_},extractAsync:extractAsync,extractAsPromised:f,process_and_sort:s,unique_tokens:i};t.exports=p}(),t.exports}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).fuzzball=t()}(this,(function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={exports:{}};var r,o={_intersect:function _intersect(e,t){if(!e||!t||0===e.length||0===t.length)return[];if(e.length<100&&t.length<100)return e.filter((e=>t.includes(e)));const r=new Set(t);return e.filter((e=>r.has(e)))},_intersectWith:function _intersectWith(e,t,r){return e&&t&&0!==e.length&&0!==t.length?e.filter((e=>t.some((t=>r(e,t))))):[]},_difference:function _difference(e,t){if(!e)return[];if(!t||0===t.length)return e.slice();if(e.length<100&&t.length<100)return e.filter((e=>!t.includes(e)));const r=new Set(t);return e.filter((e=>!r.has(e)))},_differenceWith:function _differenceWith(e,t,r){return e?t&&0!==t.length?e.filter((e=>!t.some((t=>r(e,t))))):e.slice():[]},_uniq:function _uniq(e){return e&&0!==e.length?1===e.length?e.slice():[...new Set(e)]:[]},_uniqWith:function _uniqWith(e,t){return e&&0!==e.length?1===e.length?e.slice():e.filter(((e,r,o)=>r===o.findIndex((r=>t(e,r))))):[]},_partialRight:function _partialRight(e){const t=Array.prototype.slice.call(arguments,1);return function(){const r=Array.prototype.slice.call(arguments);return e.apply(this,r.concat(t))}},_forEach:function _forEach(e,t){if(e)if(Array.isArray(e))for(let r=0;r<e.length;r++)t(e[r],r);else{const r=Object.keys(e);for(let o=0;o<r.length;o++)t(e[r[o]],r[o])}},_keys:function _keys(e){return Object.keys(e)},_isArray:function _isArray(e){return Array.isArray(e)}};try{r="undefined"!=typeof Intl&&void 0!==Intl.Collator?Intl.Collator("generic",{sensitivity:"base"}):null}catch(e){void 0!==typeof console&&console.warn("Collator could not be initialized and wouldn't be used")}var n=function leven(e,t,o){var n=[],s=[],i=o&&r&&o.useCollator,c=1;if(o&&o.subcost&&"number"==typeof o.subcost&&(c=o.subcost),e===t)return 0;var a,l,f,u,p=e.length,d=t.length;if(0===p)return d;if(0===d)return p;for(var _=0,h=0;_<p;)s[_]=e.charCodeAt(_),n[_]=++_;if(i)for(;h<d;)for(a=t.charCodeAt(h),f=h++,l=h,_=0;_<p;_++)u=0===r.compare(String.fromCharCode(a),String.fromCharCode(s[_]))?f:f+c,f=n[_],l=n[_]=f>l?u>l?l+1:u:u>f?f+1:u;else for(;h<d;)for(a=t.charCodeAt(h),f=h++,l=h,_=0;_<p;_++)u=a===s[_]?f:f+c,f=n[_],l=n[_]=f>l?u>l?l+1:u:u>f?f+1:u;return l};return function(e,t){if(!e.setImmediate){var r,o=1,n={},s=!1,i=e.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(e);c=c&&c.setTimeout?c:e,"[object process]"==={}.toString.call(e.process)?function installNextTickImplementation(){r=function(e){process.nextTick((function(){runIfPresent(e)}))}}():!function canUsePostMessage(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?function installMessageChannelImplementation(){var e=new MessageChannel;e.port1.onmessage=function(e){runIfPresent(e.data)},r=function(t){e.port2.postMessage(t)}}():i&&"onreadystatechange"in i.createElement("script")?function installReadyStateChangeImplementation(){var e=i.documentElement;r=function(t){var r=i.createElement("script");r.onreadystatechange=function(){runIfPresent(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r)}}():function installSetTimeoutImplementation(){r=function(e){setTimeout(runIfPresent,0,e)}}():function installPostMessageImplementation(){var t="setImmediate$"+Math.random()+"$",onGlobalMessage=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(t)&&runIfPresent(+r.data.slice(t.length))};e.addEventListener?e.addEventListener("message",onGlobalMessage,!1):e.attachEvent("onmessage",onGlobalMessage),r=function(r){e.postMessage(t+r,"*")}}(),c.setImmediate=function setImmediate(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),s=0;s<t.length;s++)t[s]=arguments[s+1];var i={callback:e,args:t};return n[o]=i,r(o),o++},c.clearImmediate=clearImmediate}function clearImmediate(e){delete n[e]}function runIfPresent(e){if(s)setTimeout(runIfPresent,0,e);else{var t=n[e];if(t){s=!0;try{!function run(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{clearImmediate(e),s=!1}}}}}("undefined"==typeof self?e:self),function(){var e,r,s,i,c=o._intersect,a=o._difference,l=n,f=function(e){var t={};function validate(e){return("string"==typeof e||e instanceof String)&&e.length>0}return t.validate=validate,t.process_and_sort=function process_and_sort(e){return validate(e)?e.match(/\S+/g).sort().join(" ").trim():""},t.tokenize=function unique_tokens(t,r){return e(t.match(/\S+/g))},t.full_process=function full_process(e,t){return e instanceof String||"string"==typeof e?(t&&(t.force_ascii||!0===t)&&(e=e.replace(/[^\x00-\x7F]/g,"")),r=e.replace(/\W|_/g," ").toLowerCase().trim(),t&&t.collapseWhitespace&&(r=r.replace(/\s+/g," ")),r):"";var r},t.clone_and_set_option_defaults=function(e){if(e&&e.isAClone)return e;var t={isAClone:!0};if(e){var r,o=Object.keys(e);for(r=0;r<o.length;r++)t[o[r]]=e[o[r]]}return void 0!==t.full_process&&!1===t.full_process||(t.full_process=!0),void 0!==t.force_ascii&&!0===t.force_ascii||(t.force_ascii=!1),void 0!==t.collapseWhitespace&&!1===t.collapseWhitespace||(t.collapseWhitespace=!0),t},t.isCustomFunc=function(e){return"function"!=typeof e||"token_set_ratio"!==e.name&&"partial_token_set_ratio"!==e.name&&"token_sort_ratio"!==e.name&&"partial_token_sort_ratio"!==e.name&&"QRatio"!==e.name&&"WRatio"!==e.name&&"distance"!==e.name&&"partial_ratio"!==e.name},t}(o._uniq),u=f.validate,p=f.process_and_sort,d=f.tokenize,_=f.full_process,h=f.clone_and_set_option_defaults,m=f.isCustomFunc;function QRatio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?_ratio(e,t,o):0}function extractAsync(e,t,r,o){var n,s,i=h(r);"object"==typeof r.abortController&&(n=r.abortController),"object"==typeof r.cancelToken&&(s=r.cancelToken);var c=256;"number"==typeof i.asyncLoopOffset&&(c=i.asyncLoopOffset<1?1:i.asyncLoopOffset);var a,l=!1;if(t&&t.length&&Array.isArray(t))a=t.length,l=!0;else{if(!(t instanceof Object))return void o(new Error("Invalid choices"));a=Object.keys(t).length}if(!t||0===a)return void 0!==typeof console&&console.warn("No choices"),void o(null,[]);if(i.processor&&"function"!=typeof i.processor)o(new Error("Invalid Processor"));else if(i.processor||(i.processor=function(e){return e}),i.scorer&&"function"!=typeof i.scorer)o(new Error("Invalid Scorer"));else{i.scorer||(i.scorer=QRatio);var f=m(i.scorer);i.cutoff&&"number"==typeof i.cutoff||(i.cutoff=-1);var pre_processor=function(e,t){return e};i.full_process&&(pre_processor=_,f||(i.processed=!0)),f||(e=pre_processor(e,i),i.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var u,y,g,v,b=[],k=!1,w=!1,I=!1;if("token_sort_ratio"===i.scorer.name||"partial_token_sort_ratio"===i.scorer.name){var O=p(e);w=!0}else if("token_set_ratio"===i.scorer.name||"partial_token_set_ratio"===i.scorer.name){var j=d(e);I=!0}v=i.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]};var A=Object.keys(t);l?searchLoop(0):searchLoop(A[0],0)}function searchLoop(r,_){(l||t.hasOwnProperty(r))&&(i.tokens=void 0,i.proc_sorted=!1,w?(i.proc_sorted=!0,t[r].proc_sorted?y=t[r].proc_sorted:(y=pre_processor(i.processor(t[r]),i),y=p(y)),g=i.scorer(O,y,i)):I?(y="x",t[r].tokens?(i.tokens=[j,t[r].tokens],i.trySimple&&(y=pre_processor(i.processor(t[r]),i))):(y=pre_processor(i.processor(t[r]),i),i.tokens=[j,d(y)]),g=i.scorer(e,y,i)):f?(y=i.processor(t[r]),g=i.scorer(e,y,i)):("string"==typeof(y=pre_processor(i.processor(t[r]),i))&&0!==y.length||(k=!0),g=i.scorer(e,y,i)),u=l?parseInt(r):r,g>i.cutoff&&(i.returnObjects?b.push({choice:t[r],score:g,key:u}):b.push([t[r],g,u]))),n&&!0===n.signal.aborted?o(new Error("aborted")):s&&!0===s.canceled?o(new Error("canceled")):l&&r<t.length-1?r%c==0?setImmediate((function(){searchLoop(r+1)})):searchLoop(r+1):_<A.length-1?_%c==0?setImmediate((function(){searchLoop(A[_+1],_+1)})):searchLoop(A[_+1],_+1):(k&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),i.limit&&"number"==typeof i.limit&&i.limit>0&&i.limit<a&&!i.unsorted?b=b.sort(v).slice(0,i.limit):i.unsorted||(b=b.sort(v)),o(null,b))}}function _ratio(e,t,r){return u(e)&&u(t)?(void 0===r.subcost&&(r.subcost=2),o=l(e,t,r),n=e.length+t.length,Math.round((n-o)/n*100)):0;var o,n}void 0===Array.isArray&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Object.keys||(Object.keys=(e=Object.prototype.hasOwnProperty,r=!{toString:null}.propertyIsEnumerable("toString"),i=(s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(t){if("object"!=typeof t&&("function"!=typeof t||null===t))throw new TypeError("Object.keys called on non-object");var o,n,c=[];for(o in t)e.call(t,o)&&c.push(o);if(r)for(n=0;n<i;n++)e.call(t,s[n])&&c.push(s[n]);return c}));var y=void 0;"undefined"!=typeof Promise&&(y=function(e,t,r){return new Promise((function(o,n){extractAsync(e,t,r,(function(e,t){e?n(e):o(t)}))}))});var g={distance:function distance(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,l(e,t,o)},ratio:QRatio,token_set_ratio:function token_set_ratio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?function _token_set(e,t,r){if(r.tokens)o=r.tokens[0],n=r.tokens[1];else var o=d(e),n=d(t);var s=c(o,n),i=a(o,n),l=a(n,o),f=s.sort().join(" "),u=i.sort().join(" "),p=l.sort().join(" "),_=f+" "+u,h=f+" "+p;f=f.trim(),_=_.trim(),h=h.trim();var m=_ratio,y=[m(f,_,r),m(f,h,r),m(_,h,r)];r.trySimple&&y.push(m(e,t,r));return Math.max.apply(null,y)}(e,t,o):0},token_sort_ratio:function token_sort_ratio(e,t,r){var o=h(r);return e=o.full_process?_(e,o):e,t=o.full_process?_(t,o):t,u(e)&&u(t)?(o.proc_sorted||(e=p(e),t=p(t)),_ratio(e,t,o)):0},full_process:_,extract:function extract(e,t,r){var o,n=h(r),s=!1;if(t&&t.length&&Array.isArray(t))o=t.length,s=!0;else{if(!(t instanceof Object))throw new Error("Invalid choices");o=Object.keys(t).length}if(!t||0===o)return void 0!==typeof console&&console.warn("No choices"),[];if(n.processor&&"function"!=typeof n.processor)throw new Error("Invalid Processor");if(n.processor||(n.processor=function(e){return e}),n.scorer&&"function"!=typeof n.scorer)throw new Error("Invalid Scorer");n.scorer||(n.scorer=QRatio);var i=m(n.scorer);n.cutoff&&"number"==typeof n.cutoff||(n.cutoff=-1);var pre_processor=function(e,t){return e};n.full_process&&(pre_processor=_,i||(n.processed=!0)),i||(e=pre_processor(e,n),n.full_process=!1,0===e.length&&void 0!==typeof console&&console.warn("Processed query is empty string"));var c,a,l,f,u=[],y=!1,g=!1,v=!1;if("token_sort_ratio"===n.scorer.name||"partial_token_sort_ratio"===n.scorer.name){var b=p(e);g=!0}else if("token_set_ratio"===n.scorer.name||"partial_token_set_ratio"===n.scorer.name){var k=d(e);v=!0}for(var w in f=n.returnObjects?function(e,t){return t.score-e.score}:function(e,t){return t[1]-e[1]},t)(s||t.hasOwnProperty(w))&&(n.tokens=void 0,n.proc_sorted=!1,g?(n.proc_sorted=!0,t[w]&&t[w].proc_sorted?a=t[w].proc_sorted:(a=pre_processor(n.processor(t[w]),n),a=p(a)),l=n.scorer(b,a,n)):v?(a="x",t[w]&&t[w].tokens?(n.tokens=[k,t[w].tokens],n.trySimple&&(a=pre_processor(n.processor(t[w]),n))):(a=pre_processor(n.processor(t[w]),n),n.tokens=[k,d(a)]),l=n.scorer(e,a,n)):i?(a=n.processor(t[w]),l=n.scorer(e,a,n)):("string"==typeof(a=pre_processor(n.processor(t[w]),n))&&0!==a.length||(y=!0),l=n.scorer(e,a,n)),c=s?parseInt(w):w,l>n.cutoff&&(n.returnObjects?u.push({choice:t[w],score:l,key:c}):u.push([t[w],l,c])));return y&&void 0!==typeof console&&console.log("One or more choices were empty. (post-processing if applied)"),n.limit&&"number"==typeof n.limit&&n.limit>0&&n.limit<o&&!n.unsorted?u=u.sort(f).slice(0,n.limit):n.unsorted||(u=u.sort(f)),u},extractAsync:extractAsync,extractAsPromised:y,process_and_sort:p,unique_tokens:d};t.exports=g}(),t.exports}));
var XRegExp = require('./xregexp');
require('./unicode-base')(XRegExp);
require('./unicode-categories')(XRegExp);
module.exports = XRegExp;
/*!
* XRegExp Unicode Base 3.1.1-next
* <xregexp.com>
* Steven Levithan (c) 2008-2016 MIT License
*/
module.exports = function(XRegExp) {
'use strict';
/**
* Adds base support for Unicode matching:
* - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or
* `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the
* braces for token names that are a single letter (e.g. `\pL` or `PL`).
* - Adds flag A (astral), which enables 21-bit Unicode support.
* - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data.
*
* Unicode Base relies on externally provided Unicode character data. Official addons are
* available to provide data for Unicode categories, scripts, blocks, and properties.
*
* @requires XRegExp
*/
// ==--------------------------==
// Private stuff
// ==--------------------------==
// Storage for Unicode data
var unicode = {};
// Reuse utils
var dec = XRegExp._dec;
var hex = XRegExp._hex;
var pad4 = XRegExp._pad4;
// Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed
function normalize(name) {
return name.replace(/[- _]+/g, '').toLowerCase();
}
// Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal
function charCode(chr) {
var esc = /^\\[xu](.+)/.exec(chr);
return esc ?
dec(esc[1]) :
chr.charCodeAt(chr.charAt(0) === '\\' ? 1 : 0);
}
// Inverts a list of ordered BMP characters and ranges
function invertBmp(range) {
var output = '';
var lastEnd = -1;
XRegExp.forEach(
range,
/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,
function(m) {
var start = charCode(m[1]);
if (start > (lastEnd + 1)) {
output += '\\u' + pad4(hex(lastEnd + 1));
if (start > (lastEnd + 2)) {
output += '-\\u' + pad4(hex(start - 1));
}
}
lastEnd = charCode(m[2] || m[1]);
}
);
if (lastEnd < 0xFFFF) {
output += '\\u' + pad4(hex(lastEnd + 1));
if (lastEnd < 0xFFFE) {
output += '-\\uFFFF';
}
}
return output;
}
// Generates an inverted BMP range on first use
function cacheInvertedBmp(slug) {
var prop = 'b!';
return (
unicode[slug][prop] ||
(unicode[slug][prop] = invertBmp(unicode[slug].bmp))
);
}
/*
// Combines and optionally negates BMP and astral data
function buildAstral(slug, isNegated) {
var item = unicode[slug];
var combined = '';
if (item.bmp && !item.isBmpLast) {
combined = '[' + item.bmp + ']' + (item.astral ? '|' : '');
}
if (item.astral) {
combined += item.astral;
}
if (item.isBmpLast && item.bmp) {
combined += (item.astral ? '|' : '') + '[' + item.bmp + ']';
}
// Astral Unicode tokens always match a code point, never a code unit
return isNegated ?
'(?:(?!' + combined + ')(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))' :
'(?:' + combined + ')';
}
// Builds a complete astral pattern on first use
function cacheAstral(slug, isNegated) {
var prop = isNegated ? 'a!' : 'a=';
return (
unicode[slug][prop] ||
(unicode[slug][prop] = buildAstral(slug, isNegated))
);
}
*/
// ==--------------------------==
// Core functionality
// ==--------------------------==
/*
* Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`.
*/
XRegExp.addToken(
// Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}`
/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,
function(match, scope, flags) {
var ERR_DOUBLE_NEG = 'Invalid double negation ';
var ERR_UNKNOWN_NAME = 'Unknown Unicode token ';
var ERR_UNKNOWN_REF = 'Unicode token missing data ';
var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token ';
var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes';
// Negated via \P{..} or \p{^..}
var isNegated = match[1] === 'P' || !!match[2];
// Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A
// var isAstralMode = flags.indexOf('A') > -1;
// Token lookup name. Check `[4]` first to avoid passing `undefined` via `\p{}`
var slug = normalize(match[4] || match[3]);
// Token data object
var item = unicode[slug];
if (match[1] === 'P' && match[2]) {
throw new SyntaxError(ERR_DOUBLE_NEG + match[0]);
}
if (!unicode.hasOwnProperty(slug)) {
throw new SyntaxError(ERR_UNKNOWN_NAME + match[0]);
}
// Switch to the negated form of the referenced Unicode token
if (item.inverseOf) {
slug = normalize(item.inverseOf);
if (!unicode.hasOwnProperty(slug)) {
throw new ReferenceError(ERR_UNKNOWN_REF + match[0] + ' -> ' + item.inverseOf);
}
item = unicode[slug];
isNegated = !isNegated;
}
if (!(item.bmp /*|| isAstralMode*/)) {
throw new SyntaxError(ERR_ASTRAL_ONLY + match[0]);
}
/* if (isAstralMode) {
if (scope === 'class') {
throw new SyntaxError(ERR_ASTRAL_IN_CLASS);
}
return cacheAstral(slug, isNegated);
}
*/
return scope === 'class' ?
(isNegated ? cacheInvertedBmp(slug) : item.bmp) :
(isNegated ? '[^' : '[') + item.bmp + ']';
},
{
scope: 'all',
optionalFlags: 'A',
leadChar: '\\'
}
);
/**
* Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`.
*
* @memberOf XRegExp
* @param {Array} data Objects with named character ranges. Each object may have properties
* `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are
* optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If
* `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent,
* the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are
* provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and
* `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan
* high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and
* `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape
* sequences, with hyphens to create ranges. Any regex metacharacters in the data should be
* escaped, apart from range-creating hyphens. The `astral` data can additionally use
* character classes and alternation, and should use surrogate pairs to represent astral code
* points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is
* defined as the exact inverse of another token.
* @example
*
* // Basic use
* XRegExp.addUnicodeData([{
* name: 'XDigit',
* alias: 'Hexadecimal',
* bmp: '0-9A-Fa-f'
* }]);
* XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true
*/
XRegExp.addUnicodeData = function(data) {
var ERR_NO_NAME = 'Unicode token requires name';
var ERR_NO_DATA = 'Unicode token has no character data ';
var item;
for (var i = 0; i < data.length; ++i) {
item = data[i];
if (!item.name) {
throw new Error(ERR_NO_NAME);
}
if (!(item.inverseOf || item.bmp || item.astral)) {
throw new Error(ERR_NO_DATA + item.name);
}
unicode[normalize(item.name)] = item;
if (item.alias) {
unicode[normalize(item.alias)] = item;
}
}
// Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and
// flags might now produce different results
XRegExp.cache.flush('patterns');
};
/**
* @ignore
*
* Return a reference to the internal Unicode definition structure for the given Unicode
* Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex
* constructs.
*
* @memberOf XRegExp
* @param {String} name Name by which the Unicode Property may be recognized (case-insensitive),
* e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode
* Properties and Property Aliases.
* @returns {Object} Reference to definition structure when the name matches a Unicode Property.
*
* @note
* For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories.
*
* @note
* This method is *not* part of the officially documented API and may change or be removed in
* the future. It is meant for userland code that wishes to reuse the (large) internal Unicode
* structures set up by XRegExp.
*/
XRegExp._getUnicodeProperty = function(name) {
var slug = normalize(name);
return unicode[slug];
};
};
/*!
* XRegExp Unicode Categories 3.1.1-next // regenerated from v4.2.4 with Unicode version changed to 12.1 then copied from output folder
* <xregexp.com>
* Steven Levithan (c) 2010-2016 MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/
module.exports = function(XRegExp) {
'use strict';
/**
* Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See
* category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token
* names are case insensitive, and any spaces, hyphens, and underscores are ignored.
*
* Uses Unicode 12.1.0.
*
* @requires XRegExp, Unicode Base
*/
if (!XRegExp.addUnicodeData) {
throw new ReferenceError('Unicode Base must be loaded before Unicode Categories');
}
XRegExp.addUnicodeData([
{
'name': 'L',
'alias': 'Letter',
'bmp': 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC'/*,
'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]'*/
},
{
'name': 'N',
'alias': 'Number',
'bmp': '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19'/*,
'astral': '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]'*/
}
]);
};

Sorry, the diff of this file is too big to display

/**
* @license
* Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash include="intersection,difference,uniq,toArray" -p -o ./lite/lodash.custom.min.js`
*/
;(function(){function t(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function e(t,e){var r;if(r=!(null==t||!t.length)){if(e===e)t:{r=-1;for(var u=t.length;++r<u;)if(t[r]===e)break t;r=-1}else t:{r=n;for(var u=t.length,o=-1;++o<u;)if(r(t[o],o,t)){r=o;break t}r=-1}r=-1<r}return r}function r(t,e){for(var r=-1,n=null==t?0:t.length,u=Array(n);++r<n;)u[r]=e(t[r],r,t);return u}function n(t){
return t!==t}function u(t){return function(e){return t(e)}}function o(t,e){return r(e,function(e){return t[e]})}function f(t,e){return t.has(e)}function i(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function a(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}function c(){}function s(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function l(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];
this.set(n[0],n[1])}}function h(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function p(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new h;++e<r;)this.add(t[e])}function d(t,e){for(var r=t.length;r--;)if(k(t[r][0],e))return r;return-1}function b(t,e,r,n,u){var o=-1,f=t.length;for(r||(r=w),u||(u=[]);++o<f;){var i=t[o];if(0<e&&r(i))if(1<e)b(i,e-1,r,n,u);else for(var a=u,c=-1,s=i.length,l=a.length;++c<s;)a[l+c]=i[c];else n||(u[u.length]=i)}return u}
function _(t){if(null==t)t=t===U?"[object Undefined]":"[object Null]";else if(gt&&gt in Object(t)){var e=at.call(t,gt),r=t[gt];try{t[gt]=U;var n=true}catch(t){}var u=st.call(t);n&&(e?t[gt]=r:delete t[gt]),t=u}else t=st.call(t);return t}function y(t){return P(t)&&"[object Arguments]"==_(t)}function g(t){return P(t)&&E(t.length)&&!!J[_(t)]}function j(t){return Lt(O(t,R),t+"")}function v(t){return z(t)?t:[]}function A(t,e){var r=t.__data__,n=typeof e;return("string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==e:null===e)?r[typeof e=="string"?"string":"hash"]:r.map;
}function m(t,e){var r=null==t?U:t[e];return(!F(r)||ct&&ct in r?0:(M(r)?lt:W).test(S(r)))?r:U}function w(t){return Ct(t)||Wt(t)||!!(_t&&t&&t[_t])}function O(e,r){var n=void 0,n=mt(n===U?e.length-1:n,0);return function(){for(var u=arguments,o=-1,f=mt(u.length-n,0),i=Array(f);++o<f;)i[o]=u[n+o];for(o=-1,f=Array(n+1);++o<n;)f[o]=u[o];return f[n]=r(i),t(e,this,f)}}function S(t){if(null!=t){try{return it.call(t)}catch(t){}return t+""}return""}function k(t,e){return t===e||t!==t&&e!==e}function x(t){return null!=t&&E(t.length)&&!M(t);
}function z(t){return P(t)&&x(t)}function M(t){return!!F(t)&&(t=_(t),"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t)}function E(t){return typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t}function F(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function P(t){return null!=t&&typeof t=="object"}function $(t){return typeof t=="string"||!Ct(t)&&P(t)&&"[object String]"==_(t)}function B(t){if(x(t)){var e=Ct(t),r=!e&&Wt(t),n=!e&&!r&&Nt(t),u=!e&&!r&&!n&&qt(t);
if(e=e||r||n||u){for(var r=t.length,o=String,f=-1,i=Array(r);++f<r;)i[f]=o(f);r=i}else r=[];var a,o=r.length;for(a in t){if(!(f=!at.call(t,a))&&(f=e)&&!(f="length"==a||n&&("offset"==a||"parent"==a)||u&&("buffer"==a||"byteLength"==a||"byteOffset"==a)))var f=a,i=o,c=typeof f,i=null==i?9007199254740991:i,f=!!i&&("number"==c||"symbol"!=c&&C.test(f))&&-1<f&&0==f%1&&f<i;f||r.push(a)}t=r}else if(a=t&&t.constructor,t===(typeof a=="function"&&a.prototype||ot)){a=[];for(n in Object(t))at.call(t,n)&&"constructor"!=n&&a.push(n);
t=a}else t=At(t);return t}function D(t){return null==t?[]:o(t,B(t))}function I(t){return function(){return t}}function R(t){return t}function T(){}function L(){return false}var U,V=1/0,W=/^\[object .+?Constructor\]$/,C=/^(?:0|[1-9]\d*)$/,N="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",q="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",G=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+q+N,"g"),H=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),J={};
J["[object Float32Array]"]=J["[object Float64Array]"]=J["[object Int8Array]"]=J["[object Int16Array]"]=J["[object Int32Array]"]=J["[object Uint8Array]"]=J["[object Uint8ClampedArray]"]=J["[object Uint16Array]"]=J["[object Uint32Array]"]=true,J["[object Arguments]"]=J["[object Array]"]=J["[object ArrayBuffer]"]=J["[object Boolean]"]=J["[object DataView]"]=J["[object Date]"]=J["[object Error]"]=J["[object Function]"]=J["[object Map]"]=J["[object Number]"]=J["[object Object]"]=J["[object RegExp]"]=J["[object Set]"]=J["[object String]"]=J["[object WeakMap]"]=false;
var K,Q=typeof global=="object"&&global&&global.Object===Object&&global,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=Q||X||Function("return this")(),Z=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tt=Z&&typeof module=="object"&&module&&!module.nodeType&&module,et=tt&&tt.exports===Z,rt=et&&Q.process;t:{try{K=rt&&rt.binding&&rt.binding("util");break t}catch(t){}K=void 0}var nt=K&&K.isTypedArray,ut=Array.prototype,ot=Object.prototype,ft=Y["__core-js_shared__"],it=Function.prototype.toString,at=ot.hasOwnProperty,ct=function(){
var t=/[^.]+$/.exec(ft&&ft.keys&&ft.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),st=ot.toString,lt=RegExp("^"+it.call(at).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ht=et?Y.Buffer:U,pt=Y.Symbol,dt=ot.propertyIsEnumerable,bt=ut.splice,_t=pt?pt.isConcatSpreadable:U,yt=pt?pt.iterator:U,gt=pt?pt.toStringTag:U,jt=function(){try{var t=m(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),vt=ht?ht.isBuffer:U,At=function(t,e){
return function(r){return t(e(r))}}(Object.keys,Object),mt=Math.max,wt=Math.min,Ot=Date.now,St=m(Y,"DataView"),kt=m(Y,"Map"),xt=m(Y,"Promise"),zt=m(Y,"Set"),Mt=m(Y,"WeakMap"),Et=m(Object,"create"),Ft=S(St),Pt=S(kt),$t=S(xt),Bt=S(zt),Dt=S(Mt);s.prototype.clear=function(){this.__data__=Et?Et(null):{},this.size=0},s.prototype.delete=function(t){return t=this.has(t)&&delete this.__data__[t],this.size-=t?1:0,t},s.prototype.get=function(t){var e=this.__data__;return Et?(t=e[t],"__lodash_hash_undefined__"===t?U:t):at.call(e,t)?e[t]:U;
},s.prototype.has=function(t){var e=this.__data__;return Et?e[t]!==U:at.call(e,t)},s.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Et&&e===U?"__lodash_hash_undefined__":e,this},l.prototype.clear=function(){this.__data__=[],this.size=0},l.prototype.delete=function(t){var e=this.__data__;return t=d(e,t),!(0>t)&&(t==e.length-1?e.pop():bt.call(e,t,1),--this.size,true)},l.prototype.get=function(t){var e=this.__data__;return t=d(e,t),0>t?U:e[t][1]},l.prototype.has=function(t){
return-1<d(this.__data__,t)},l.prototype.set=function(t,e){var r=this.__data__,n=d(r,t);return 0>n?(++this.size,r.push([t,e])):r[n][1]=e,this},h.prototype.clear=function(){this.size=0,this.__data__={hash:new s,map:new(kt||l),string:new s}},h.prototype.delete=function(t){return t=A(this,t).delete(t),this.size-=t?1:0,t},h.prototype.get=function(t){return A(this,t).get(t)},h.prototype.has=function(t){return A(this,t).has(t)},h.prototype.set=function(t,e){var r=A(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,
this},p.prototype.add=p.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},p.prototype.has=function(t){return this.__data__.has(t)};var It=jt?function(t,e){return jt(t,"toString",{configurable:true,enumerable:false,value:I(e),writable:true})}:R,Rt=zt&&1/a(new zt([,-0]))[1]==V?function(t){return new zt(t)}:T,Tt=_;(St&&"[object DataView]"!=Tt(new St(new ArrayBuffer(1)))||kt&&"[object Map]"!=Tt(new kt)||xt&&"[object Promise]"!=Tt(xt.resolve())||zt&&"[object Set]"!=Tt(new zt)||Mt&&"[object WeakMap]"!=Tt(new Mt))&&(Tt=function(t){
var e=_(t);if(t=(t="[object Object]"==e?t.constructor:U)?S(t):"")switch(t){case Ft:return"[object DataView]";case Pt:return"[object Map]";case $t:return"[object Promise]";case Bt:return"[object Set]";case Dt:return"[object WeakMap]"}return e});var Lt=function(t){var e=0,r=0;return function(){var n=Ot(),u=16-(n-r);if(r=n,0<u){if(800<=++e)return arguments[0]}else e=0;return t.apply(U,arguments)}}(It),Ut=j(function(t,r){var n;if(z(t)){n=b(r,1,z,true);var u=-1,o=e,i=true,a=t.length,c=[],s=n.length;if(a)t:for(200<=n.length&&(o=f,
i=false,n=new p(n));++u<a;){var l=t[u],h=l,l=0!==l?l:0;if(i&&h===h){for(var d=s;d--;)if(n[d]===h)continue t;c.push(l)}else o(n,h,void 0)||c.push(l)}n=c}else n=[];return n}),Vt=j(function(t){var n=r(t,v);if(n.length&&n[0]===t[0]){t=n[0].length;for(var u=n.length,o=u,i=Array(u),a=1/0,c=[];o--;){var s=n[o],a=wt(s.length,a);i[o]=120<=t&&120<=s.length?new p(o&&s):U}var s=n[0],l=-1,h=i[0];t:for(;++l<t&&c.length<a;){var d=s[l],b=d,d=0!==d?d:0;if(h?!f(h,b):!e(c,b)){for(o=u;--o;){var _=i[o];if(_?!f(_,b):!e(n[o],b))continue t;
}h&&h.push(b),c.push(d)}}n=c}else n=[];return n}),Wt=y(function(){return arguments}())?y:function(t){return P(t)&&at.call(t,"callee")&&!dt.call(t,"callee")},Ct=Array.isArray,Nt=vt||L,qt=nt?u(nt):g;c.constant=I,c.difference=Ut,c.intersection=Vt,c.keys=B,c.toArray=function(t){if(!t)return[];if(x(t)){if($(t))t=H.test(t)?t.match(G)||[]:t.split("");else{var e,r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];t=e}return t}if(yt&&t[yt]){for(t=t[yt](),r=[];!(e=t.next()).done;)r.push(e.value);return r}
return e=Tt(t),("[object Map]"==e?i:"[object Set]"==e?a:D)(t)},c.uniq=function(t){if(t&&t.length)t:{var r=-1,n=e,u=t.length,o=true,i=[],c=i;if(200<=u){if(n=Rt(t)){t=a(n);break t}o=false,n=f,c=new p}else c=i;e:for(;++r<u;){var s=t[r],l=s,s=0!==s?s:0;if(o&&l===l){for(var h=c.length;h--;)if(c[h]===l)continue e;i.push(s)}else n(c,l,void 0)||(c!==i&&c.push(l),i.push(s))}t=i}else t=[];return t},c.values=D,c.eq=k,c.identity=R,c.isArguments=Wt,c.isArray=Ct,c.isArrayLike=x,c.isArrayLikeObject=z,c.isBuffer=Nt,c.isFunction=M,
c.isLength=E,c.isObject=F,c.isObjectLike=P,c.isString=$,c.isTypedArray=qt,c.stubFalse=L,c.noop=T,c.VERSION="4.17.5",typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Y._=c, define(function(){return c})):tt?((tt.exports=c)._=c,Z._=c):Y._=c}).call(this);
/**
* @license
* Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash include="intersection,difference,uniq" -p -o ./ultra_lite/lodash.custom.min.js`
*/
;(function(){function t(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function e(t,e){var r;if(r=!(null==t||!t.length)){if(e===e)t:{r=-1;for(var o=t.length;++r<o;)if(t[r]===e)break t;r=-1}else t:{r=n;for(var o=t.length,i=-1;++i<o;)if(r(t[i],i,t)){r=i;break t}r=-1}r=-1<r}return r}function n(t){return t!==t}function r(t,e){return t.has(e)}function o(t){var e=-1,n=Array(t.size);return t.forEach(function(t){
n[++e]=t}),n}function i(){}function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function c(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new l;++e<n;)this.add(t[e])}function s(t,e){for(var n=t.length;n--;)if(j(t[n][0],e))return n;return-1}function f(t,e,n,r,o){
var i=-1,u=t.length;for(n||(n=g),o||(o=[]);++i<u;){var a=t[i];if(0<e&&n(a))if(1<e)f(a,e-1,n,r,o);else for(var l=o,c=-1,s=a.length,h=l.length;++c<s;)l[h+c]=a[c];else r||(o[o.length]=a)}return o}function h(t){if(null==t)return t===$?"[object Undefined]":"[object Null]";if(K&&K in Object(t)){var e=N.call(t,K),n=t[K];try{t[K]=$;var r=true}catch(t){}var o=G.call(t);r&&(e?t[K]=n:delete t[K]),t=o}else t=G.call(t);return t}function _(t){return x(t)&&"[object Arguments]"==h(t)}function p(t,e){return rt(v(t,e,k),t+"");
}function y(t,e){var n=t.__data__,r=typeof e;return("string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==e:null===e)?n[typeof e=="string"?"string":"hash"]:n.map}function d(t,e){var n,r=null==t?$:t[e];return n=!(!z(r)||D&&D in r)&&(w(r)?U:P).test(b(r)),n?r:$}function g(t){return it(t)||ot(t)||!!(J&&t&&t[J])}function v(e,n,r){return n=W(n===$?e.length-1:n,0),function(){for(var o=arguments,i=-1,u=W(o.length-n,0),a=Array(u);++i<u;)a[i]=o[n+i];for(i=-1,u=Array(n+1);++i<n;)u[i]=o[i];return u[n]=r(a),
t(e,this,u)}}function b(t){if(null!=t){try{return C.call(t)}catch(t){}return t+""}return""}function j(t,e){return t===e||t!==t&&e!==e}function m(t){return null!=t&&A(t.length)&&!w(t)}function O(t){return x(t)&&m(t)}function w(t){return!!z(t)&&(t=h(t),"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t)}function A(t){return typeof t=="number"&&-1<t&&0==t%1&&9007199254740991>=t}function z(t){var e=typeof t;return null!=t&&("object"==e||"function"==e);
}function x(t){return null!=t&&typeof t=="object"}function S(t){return function(){return t}}function k(t){return t}function F(){}var $,E=1/0,P=/^\[object .+?Constructor\]$/,L=typeof self=="object"&&self&&self.Object===Object&&self,L=typeof global=="object"&&global&&global.Object===Object&&global||L||Function("return this")(),T=typeof exports=="object"&&exports&&!exports.nodeType&&exports,I=T&&typeof module=="object"&&module&&!module.nodeType&&module,M=Array.prototype,R=Object.prototype,q=L["__core-js_shared__"],C=Function.prototype.toString,N=R.hasOwnProperty,D=function(){
var t=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),G=R.toString,U=RegExp("^"+C.call(N).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),V=L.Symbol,B=R.propertyIsEnumerable,H=M.splice,J=V?V.isConcatSpreadable:$,K=V?V.toStringTag:$,Q=function(){try{var t=d(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),W=Math.max,X=Math.min,Y=Date.now,Z=d(L,"Map"),tt=d(L,"Set"),et=d(Object,"create");u.prototype.clear=function(){
this.__data__=et?et(null):{},this.size=0},u.prototype.delete=function(t){return t=this.has(t)&&delete this.__data__[t],this.size-=t?1:0,t},u.prototype.get=function(t){var e=this.__data__;return et?(t=e[t],"__lodash_hash_undefined__"===t?$:t):N.call(e,t)?e[t]:$},u.prototype.has=function(t){var e=this.__data__;return et?e[t]!==$:N.call(e,t)},u.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=et&&e===$?"__lodash_hash_undefined__":e,this},a.prototype.clear=function(){
this.__data__=[],this.size=0},a.prototype.delete=function(t){var e=this.__data__;return t=s(e,t),!(0>t)&&(t==e.length-1?e.pop():H.call(e,t,1),--this.size,true)},a.prototype.get=function(t){var e=this.__data__;return t=s(e,t),0>t?$:e[t][1]},a.prototype.has=function(t){return-1<s(this.__data__,t)},a.prototype.set=function(t,e){var n=this.__data__,r=s(n,t);return 0>r?(++this.size,n.push([t,e])):n[r][1]=e,this},l.prototype.clear=function(){this.size=0,this.__data__={hash:new u,map:new(Z||a),string:new u
}},l.prototype.delete=function(t){return t=y(this,t).delete(t),this.size-=t?1:0,t},l.prototype.get=function(t){return y(this,t).get(t)},l.prototype.has=function(t){return y(this,t).has(t)},l.prototype.set=function(t,e){var n=y(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},c.prototype.add=c.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},c.prototype.has=function(t){return this.__data__.has(t)};var M=Q?function(t,e){return Q(t,"toString",{
configurable:true,enumerable:false,value:S(e),writable:true})}:k,nt=tt&&1/o(new tt([,-0]))[1]==E?function(t){return new tt(t)}:F,rt=function(t){var e=0,n=0;return function(){var r=Y(),o=16-(r-n);if(n=r,0<o){if(800<=++e)return arguments[0]}else e=0;return t.apply($,arguments)}}(M),E=p(function(t,n){var o;if(O(t)){o=f(n,1,O,true);var i=-1,u=e,a=true,l=t.length,s=[],h=o.length;if(l)t:for(200<=o.length&&(u=r,a=false,o=new c(o));++i<l;){var _=t[i],p=_,_=0!==_?_:0;if(a&&p===p){for(var y=h;y--;)if(o[y]===p)continue t;
s.push(_)}else u(o,p,void 0)||s.push(_)}o=s}else o=[];return o}),M=p(function(t){for(var n=-1,o=null==t?0:t.length,i=Array(o);++n<o;){var u,a=n;u=t[n],u=O(u)?u:[],i[a]=u}if(i.length&&i[0]===t[0]){t=i[0].length,o=n=i.length,a=Array(n),u=1/0;for(var l=[];o--;){var s=i[o];u=X(s.length,u),a[o]=120<=t&&120<=s.length?new c(o&&s):$}var s=i[0],f=-1,h=a[0];t:for(;++f<t&&l.length<u;){var _=s[f],p=_,_=0!==_?_:0;if(h?!r(h,p):!e(l,p,void 0)){for(o=n;--o;){var y=a[o];if(y?!r(y,p):!e(i[o],p,void 0))continue t}h&&h.push(p),
l.push(_)}}i=l}else i=[];return i}),ot=_(function(){return arguments}())?_:function(t){return x(t)&&N.call(t,"callee")&&!B.call(t,"callee")},it=Array.isArray;i.constant=S,i.difference=E,i.intersection=M,i.uniq=function(t){if(t&&t.length)t:{var n=-1,i=e,u=t.length,a=true,l=[],s=l;if(200<=u){if(i=nt(t)){t=o(i);break t}a=false,i=r,s=new c}else s=l;e:for(;++n<u;){var f=t[n],h=f,f=0!==f?f:0;if(a&&h===h){for(var _=s.length;_--;)if(s[_]===h)continue e;l.push(f)}else i(s,h,void 0)||(s!==l&&s.push(h),l.push(f));
}t=l}else t=[];return t},i.eq=j,i.identity=k,i.isArguments=ot,i.isArray=it,i.isArrayLike=m,i.isArrayLikeObject=O,i.isFunction=w,i.isLength=A,i.isObject=z,i.isObjectLike=x,i.noop=F,i.VERSION="4.17.5",typeof define=="function"&&typeof define.amd=="object"&&define.amd?(L._=i, define(function(){return i})):I?((I.exports=i)._=i,T._=i):L._=i}).call(this);

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display