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

dodos

Package Overview
Dependencies
Maintainers
2
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dodos - npm Package Compare versions

Comparing version 2.8.0 to 2.8.1

5

lib/dodo.js

@@ -52,3 +52,4 @@ 'use strict';

var Dodo = function () {
function Dodo(array, index) {
function Dodo(array) {
var index = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
var actions = arguments.length <= 2 || arguments[2] === undefined ? noActions : arguments[2];

@@ -433,2 +434,2 @@

}
//# sourceMappingURL=data:application/json;base64,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QU0sS0FBSyxJQUFMLENBRlU7QUFHdEIsTUFBSSxJQUFJLENBQUMsQ0FBRCxDQUhjO0FBSXRCLFNBQU8sRUFBRSxDQUFGLEdBQU0sR0FBTixFQUFXO0FBQ2hCLFFBQUksUUFBUSxRQUFRLENBQVIsQ0FBUixDQURZO0FBRWhCLFlBQVEsQ0FBUixJQUFhLEdBQUcsTUFBTSxDQUFOLENBQUgsRUFBYSxNQUFNLENBQU4sQ0FBYixFQUF1QixJQUF2QixDQUFiLENBRmdCO0dBQWxCO0FBSUEsU0FBTyxPQUFQLENBUnNCO0NBQXhCIiwiZmlsZSI6ImRvZG8uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCdcbmltcG9ydCB6aXAgZnJvbSAnbG9kYXNoL3ppcCdcbmltcG9ydCB6aXBPYmplY3QgZnJvbSAnbG9kYXNoL3ppcE9iamVjdCdcbmltcG9ydCB1bnppcCBmcm9tICdsb2Rhc2gvdW56aXAnXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbidcbmltcG9ydCB7bWFwLCBmaWx0ZXIsIGRyb3AsIHRha2UsIHRyYW5zZHVjZX0gZnJvbSAndHJhbnNkdWNlcnMuanMnXG5cbmltcG9ydCB7XG4gIGlkZW50aXR5LCBjb21iaW5lUmVkdWNlcnMsIFJFRFVDRVJTLCBzcHJlYWQsIGNyZWF0ZUdyb3VwZXIsIGlzZnVuYyxcbiAgYXJyYXlUb0luZGV4LCBjb21wb3NlLCB0cmFuc2R1Y2VOb0JyZWFrLCBhcnJheVJlZHVjZXIsIG5lZWRTbG93Q2FzZSxcbiAgZGlzcGF0Y2hSZWR1Y2Vcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBub0FjdGlvbnMgPSBbXVxuXG5jb25zdCBBcnJheXMgPSBuZXcgV2Vha01hcCgpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvZG8ge1xuICBjb25zdHJ1Y3RvcihhcnJheSwgaW5kZXgsIGFjdGlvbnM9bm9BY3Rpb25zKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5kZXgpKVxuICAgICAgaW5kZXggPSBhcnJheVRvSW5kZXgoaW5kZXgpXG5cbiAgICBpbnZhcmlhbnQoQXJyYXkuaXNBcnJheShhcnJheSksIGBuZXcgRG9kbyhhcnIsIGluZGV4KSAtIGFyciBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KGluZGV4ID09PSBmYWxzZSB8fCBhY3Rpb25zICE9PSBub0FjdGlvbnMgfHwgT2JqZWN0LmtleXMoaW5kZXgpLmxlbmd0aCA9PSBhcnJheVswXS5sZW5ndGgsXG4gICAgICBgbmV3IERvZG8oYXJyLCBpbmRleCkgLSBpbmRleCBsZW5ndGggKCR7T2JqZWN0LmtleXMoaW5kZXgpLmxlbmd0aH0pICE9IGFycmF5WzBdLmxlbmd0aCAoJHthcnJheVswXS5sZW5ndGh9KWApXG5cbiAgICB0aGlzLmluZGV4ID0gaW5kZXhcbiAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zXG4gICAgQXJyYXlzLnNldCh0aGlzLCBhcnJheSlcbiAgfVxuXG4gIGdldCBjb2x1bW5zKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmluZGV4KS5zb3J0KChhLCBiKSA9PiB0aGlzLmluZGV4W2FdIC0gdGhpcy5pbmRleFtiXSlcbiAgfVxuXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkgeyByZXR1cm4gdGhpcy50b0FycmF5KCkudmFsdWVzKCkgfVxuXG4gIHRvQXJyYXkoKSB7XG4gICAgaWYgKHRoaXMuYWN0aW9ucyAhPSBub0FjdGlvbnMpXG4gICAgICByZXR1cm4gKHRoaXMuYWN0aW9ucy5zb21lKG5lZWRTbG93Q2FzZSkgPyB0cmFuc2R1Y2UgOiB0cmFuc2R1Y2VOb0JyZWFrKShcbiAgICAgICAgQXJyYXlzLmdldCh0aGlzKSxcbiAgICAgICAgY29tcG9zZSh0aGlzLmFjdGlvbnMpLFxuICAgICAgICBhcnJheVJlZHVjZXIsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgZWxzZVxuICAgICAgcmV0dXJuIEFycmF5cy5nZXQodGhpcylcbiAgfVxuXG4gIGdldCBsZW5ndGgoKSB7IHJldHVybiB0aGlzLnRvQXJyYXkoKS5sZW5ndGggfVxuXG4gIHVuaXEoKSB7IHJldHVybiBbLi4ubmV3IFNldCh0aGlzKV0gfVxuXG4gIHRyYW5zZm9ybSh0cmFuc2Zvcm1lciwgaW5kZXg9dGhpcy5pbmRleCkge1xuICAgIHJldHVybiBuZXcgRG9kbyhBcnJheXMuZ2V0KHRoaXMpLCBpbmRleCwgWy4uLnRoaXMuYWN0aW9ucywgdHJhbnNmb3JtZXJdKVxuICB9XG5cbiAgZmlsdGVyKGZuKSB7XG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI2ZpbHRlcihmbikg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpZiAodGhpcy5pbmRleCkge1xuICAgICAgY29uc3QgSSA9IHRoaXMuaW5kZXhcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybShmaWx0ZXIocm93ID0+IGZuKHJvdywgSSkpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oZmlsdGVyKGZuKSlcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJCeShuYW1lLCBmbikge1xuICAgIGludmFyaWFudCh0aGlzLmluZGV4LCBgRG9kbyNmaWx0ZXJCeShuYW1lLCBmbikg4oCUIG9ubHkgYXZhaWxhYmxlIG9uIGluZGV4ZWQgZG9kb3NgKVxuICAgIGludmFyaWFudChuYW1lLCBgRG9kbyNmaWx0ZXJCeShuYW1lLCBmbikgLSBuYW1lIGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jZmlsdGVyQnkobmFtZSwgZm4pIC0gZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGNvbnN0IGNvbCA9IHRoaXMuaW5kZXhbbmFtZV1cbiAgICBpbnZhcmlhbnQoY29sICE9IG51bGwsIGBEb2RvI2NvbChuYW1lKSDigJQgbmFtZSAke25hbWV9IG5vdCBpbiBpbmRleGApXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKCBmaWx0ZXIocm93ID0+IGZuKHJvd1tjb2xdKSkgKVxuICB9XG5cbiAgbWFwKGZuKSB7XG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI21hcChmbikg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpZiAodGhpcy5pbmRleCkge1xuICAgICAgY29uc3QgSSA9IHRoaXMuaW5kZXhcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybShtYXAocm93ID0+IGZuKHJvdywgSSkpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0obWFwKGZuKSlcbiAgICB9XG4gIH1cblxuICBjb2wobmFtZSkge1xuICAgIGludmFyaWFudCh0aGlzLmluZGV4LCBgRG9kbyNjb2wobmFtZSkg4oCUIG9ubHkgYXZhaWxhYmxlIG9uIGluZGV4ZWQgZG9kb3NgKVxuICAgIGludmFyaWFudChuYW1lLCBgRG9kbyNjb2wobmFtZSkgLSBuYW1lIGlzIHJlcXVpcmVkYClcblxuICAgIGNvbnN0IGNvbCA9IHRoaXMuaW5kZXhbbmFtZV1cbiAgICBpbnZhcmlhbnQoY29sICE9IG51bGwsIGBEb2RvI2NvbChuYW1lKSDigJQgbmFtZSAke25hbWV9IG5vdCBpbiBpbmRleGApXG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0obWFwKHJvdyA9PiByb3dbY29sXSksIGZhbHNlKVxuICB9XG5cbiAgY29scyguLi5uYW1lcykge1xuICAgIGludmFyaWFudCh0aGlzLmluZGV4LCBgRG9kbyNjb2xzKC4uLm5hbWVzKSDigJQgb25seSBhdmFpbGFibGUgb24gaW5kZXhlZCBkb2Rvc2ApXG4gICAgbmFtZXMgPSBuYW1lcy5sZW5ndGggPyBmbGF0dGVuKG5hbWVzKSA6IHVuZGVmaW5lZFxuICAgIGludmFyaWFudChuYW1lcywgYERvZG8jY29scyguLi5uYW1lcykgLSBuYW1lcyBpcyByZXF1aXJlZGApXG5cbiAgICBjb25zdCBpbmRpY2VzID0gbmFtZXMubWFwKG5hbWUgPT4gdGhpcy5pbmRleFtuYW1lXSlcbiAgICBpbmRpY2VzLmZvckVhY2goaSA9PiBpbnZhcmlhbnQoaSAhPSBudWxsLCBgRG9kbyNjb2xzKC4uLm5hbWVzKSAtIG5hbWUgJHt0aGlzLmNvbHVtbnNbaV19IG5vdCBpbiBpbmRleGApKVxuXG4gICAgY29uc3QgZm4gPSBtYXAobmV3IEZ1bmN0aW9uKCdyb3cnLGByZXR1cm4gWyR7aW5kaWNlcy5tYXAoaSA9PiBgcm93WyR7aX1dYCkuam9pbignLCcpfV1gKSlcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oZm4sIG5hbWVzKVxuICB9XG5cbiAgc2tpcChhbW91bnQpIHtcbiAgICBpbnZhcmlhbnQoTnVtYmVyLmlzRmluaXRlKGFtb3VudCksIGBEb2RvI3NraXAoYW1vdW50KSAtIGFtb3VudCBtdXN0IGJlIGEgbnVtYmVyYClcbiAgICBpbnZhcmlhbnQoYW1vdW50ID49IDAsIGBEb2RvI3NraXAoYW1vdW50KSDigJQgYW1vdW50IHNtYWxsZXIgdGhhbiAwYClcblxuICAgIGlmIChhbW91bnQgPT09IDApXG4gICAgICByZXR1cm4gdGhpc1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybShkcm9wKGFtb3VudCkpXG4gIH1cblxuICB0YWtlKGFtb3VudCkge1xuICAgIGludmFyaWFudChOdW1iZXIuaXNGaW5pdGUoYW1vdW50KSwgYERvZG8jdGFrZShhbW91bnQpIC0gYW1vdW50IG11c3QgYmUgYSBudW1iZXJgKVxuICAgIGludmFyaWFudChhbW91bnQgPj0gMCwgYERvZG8jdGFrZShhbW91bnQpIOKAlCBhbW91bnQgc21hbGxlciB0aGFuIDBgKVxuXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKHRha2UoYW1vdW50KSlcbiAgfVxuXG4gIHJlZHVjZShmbiwgaW5pdCwgZmluYWw9aWRlbnRpdHkpIHtcbiAgICBpbnZhcmlhbnQoaW5pdCAhPSBudWxsLCBgRG9kbyNyZWR1Y2UoZm4sIGluaXQsIGZpbmFsKSAtIGluaXQgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNyZWR1Y2UoZm4sIGluaXQsIGZpbmFsKSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGludmFyaWFudChpc2Z1bmMoZmluYWwpLCBgRG9kbyNyZWR1Y2UoZm4sIGluaXQsIGZpbmFsKSDigJQgZmluYWwgbm90IGEgZnVuY3Rpb25gKVxuXG4gICAgcmV0dXJuICh0aGlzLmFjdGlvbnMuc29tZShuZWVkU2xvd0Nhc2UpID8gdHJhbnNkdWNlIDogdHJhbnNkdWNlTm9CcmVhaykoXG4gICAgICBBcnJheXMuZ2V0KHRoaXMpLFxuICAgICAgY29tcG9zZSh0aGlzLmFjdGlvbnMpLFxuICAgICAge1xuICAgICAgICBbJ0BAdHJhbnNkdWNlci9zdGVwJ106IGZuLFxuICAgICAgICBbJ0BAdHJhbnNkdWNlci9yZXN1bHQnXTogZmluYWxcbiAgICAgIH0sXG4gICAgICBpbml0XG4gICAgKVxuICB9XG5cbiAgcmVkdWNlRWFjaChmbiwgaW5pdEZhY3RvcnksIGZpbmFsPWlkZW50aXR5KSB7XG4gICAgaW52YXJpYW50KHRoaXMuaW5kZXgsIGBEb2RvI3JlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbD8pIC0gb25seSBhdmFpbGFibGUgb24gaW5kZXhlZCBkb2Rvc2ApXG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI3JlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbD8pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaW52YXJpYW50KGlzZnVuYyhpbml0RmFjdG9yeSksIGBEb2RvI3JlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbD8pIC0gaW5pdEZhY3Rvcnkgbm90IGEgZnVuY3Rpb25gKVxuICAgIGludmFyaWFudChpc2Z1bmMoZmluYWwpLCBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbmluaXRGYWN0b3J5LCBmaW5hbD8pIOKAlCBmaW5hbCBub3QgYSBmdW5jdGlvbmApXG5cbiAgICBjb25zdCBbZm5zLCBpbml0cywgZmluYWxzXSA9IHVuemlwKHRoaXMuY29sdW1ucy5tYXAoKCkgPT4gW2ZuLCBpbml0RmFjdG9yeSgpLCBmaW5hbF0pKVxuICAgIHJldHVybiB6aXBPYmplY3QoXG4gICAgICB0aGlzLmNvbHVtbnMsXG4gICAgICB0aGlzLnJlZHVjZShjb21iaW5lUmVkdWNlcnMoZm5zLCB0cnVlKSwgaW5pdHMsIHNwcmVhZChmaW5hbHMpKVxuICAgIClcbiAgfVxuXG4gIHN0YXRzKC4uLm1ldGhvZHMpIHtcbiAgICBpbnZhcmlhbnQobWV0aG9kcyAmJiBtZXRob2RzLmxlbmd0aCwgYERvZG8jc3RhdHMoLi4ubWV0aG9kcykgLSBhdCBsZWFzdCBvbmUgbWV0aG9kIGlzIHJlcXVpcmVkYClcbiAgICBtZXRob2RzLmZvckVhY2gobSA9PiBpbnZhcmlhbnQodHlwZW9mIG0gPT0gJ3N0cmluZycgJiYgbSBpbiBSRURVQ0VSUywgYERvZG8jc3RhdHMoLi4ubWV0aG9kcykgLSBtZXRob2QgJHttfSBpcyBub3QgaW1wbGVtZW50ZWRgKSlcblxuICAgIGNvbnN0IFtmbnMsIGluaXRzLCBmaW5hbHNdID0gemlwKC4uLm1ldGhvZHMubWFwKG0gPT4gUkVEVUNFUlNbbV0pKVxuICAgIHJldHVybiBkaXNwYXRjaFJlZHVjZS5jYWxsKHRoaXMsXG4gICAgICBjb21iaW5lUmVkdWNlcnMoZm5zKSxcbiAgICAgICgpID0+IGluaXRzLm1hcChpID0+IGkoKSksXG4gICAgICBzcHJlYWQoZmluYWxzKVxuICAgIClcbiAgfVxuXG4gIGNvdW50KCkgeyByZXR1cm4gZGlzcGF0Y2hSZWR1Y2UuY2FsbCh0aGlzLCAuLi5SRURVQ0VSUy5jb3VudCkgfVxuXG4gIHN1bSgpIHsgcmV0dXJuIGRpc3BhdGNoUmVkdWNlLmNhbGwodGhpcywgLi4uUkVEVUNFUlMuc3VtKSB9XG5cbiAgbWluKCkgeyByZXR1cm4gZGlzcGF0Y2hSZWR1Y2UuY2FsbCh0aGlzLCAuLi5SRURVQ0VSUy5taW4pIH1cblxuICBtYXgoKSB7IHJldHVybiBkaXNwYXRjaFJlZHVjZS5jYWxsKHRoaXMsIC4uLlJFRFVDRVJTLm1heCkgfVxuXG4gIGNvdW50VW5pcSgpIHsgcmV0dXJuIGRpc3BhdGNoUmVkdWNlLmNhbGwodGhpcywgLi4uUkVEVUNFUlMuY291bnRVbmlxKSB9XG5cbiAgbWVhbigpIHsgcmV0dXJuIGRpc3BhdGNoUmVkdWNlLmNhbGwodGhpcywgLi4uUkVEVUNFUlMubWVhbikgfVxuXG4gIGdyb3VwQnkobmFtZSwgZm4pIHtcbiAgICBpZiAoaXNmdW5jKG5hbWUpKSB7XG4gICAgICBmbiA9IG5hbWVcbiAgICAgIG5hbWUgPSB1bmRlZmluZWRcbiAgICB9XG4gICAgaW52YXJpYW50KHRoaXMuaW5kZXggPyBuYW1lIDogIW5hbWUsIGBEb2RvI2dyb3VwQnkobmFtZSwgZm4/KSDigJQgbmFtZSBpcyByZXF1aXJlZCBvbiBpbmRleGVkIGRvZG9zYCApXG4gICAgaW52YXJpYW50KCFuYW1lIHx8IHRoaXMuY29sdW1ucy5pbmNsdWRlcyhuYW1lKSwgYERvZG8jZ3JvdXBCeShuYW1lPywgZm4/KSDigJQgbmFtZSAke25hbWV9IG5vdCBpbiBpbmRleGApXG4gICAgaW52YXJpYW50KCFmbiB8fCBpc2Z1bmMoZm4pLCBgRG9kbyNncm91cEJ5KG5hbWU/LCBmbj8pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG5cbiAgICBjb25zdCBncm91cGVyID0gY3JlYXRlR3JvdXBlcihmbiwgbmFtZSA/IHRoaXMuaW5kZXhbbmFtZV0gOiBuYW1lKVxuICAgIGNvbnN0IHRvRG9kb3MgPSBtYXAgPT4gKG1hcC5mb3JFYWNoKGFycmF5VG9Eb2RvKHRoaXMuaW5kZXgpKSwgbWFwKVxuICAgIHJldHVybiBGbG9jayh0aGlzLnJlZHVjZShncm91cGVyLCBuZXcgTWFwKCksIHRvRG9kb3MpKVxuICB9XG5cbiAgZmxvY2soZm4pIHtcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jZmxvY2soZm4pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgcmV0dXJuIEZsb2NrKGZuLmNhbGwodGhpcywgdGhpcykpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5VG9Eb2RvKGluZGV4KSB7XG4gIHJldHVybiBmdW5jdGlvbihhcnJheSwga2V5LCBtYXApIHtcbiAgICBtYXAuc2V0KGtleSwgbmV3IERvZG8oYXJyYXksIGluZGV4KSlcbiAgfVxufVxuXG5Eb2RvLnByb3RvdHlwZS5kcm9wID0gRG9kby5wcm90b3R5cGUuc2tpcFxuXG5jb25zdCBkb2RvTWV0aG9kcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKERvZG8ucHJvdG90eXBlKVxuZG9kb01ldGhvZHMuZmlsdGVyKG1ldGhvZCA9PiBtZXRob2QgIT0gJ2NvbnN0cnVjdG9yJylcblxuZnVuY3Rpb24gRmxvY2sobWFwLCBtZXRob2QsIGFyZ3MpIHtcbiAgbWFwID0gbmV3IE1hcChtYXApXG5cbiAgLy8gaWYgY2FsbGVkIHdpdGggbWV0aG9kIGFyZyBjYWxsIHRoYXQgbWV0aG9kIG9uIGFsbCBEb2Rvc1xuICBpZiAobWV0aG9kKVxuICAgIGZvciAoY29uc3QgW2tleSwgZG9kb10gb2YgbWFwLmVudHJpZXMoKSlcbiAgICAgIG1hcC5zZXQoa2V5LCBkb2RvW21ldGhvZF0oLi4uYXJncykpXG5cbiAgLy8gaWYgdGhlIHZhbHVlcyBhcmUgRG9kb3MgYWRkIHRoZSBEb2RvIG1ldGhvZHMgdG8gdGhlIHJldHVybmVkIE1hcFxuICBpZiAobWFwLnZhbHVlcygpLm5leHQoKS52YWx1ZSBpbnN0YW5jZW9mIERvZG8pXG4gICAgZm9yIChjb25zdCBtZXRob2Qgb2YgZG9kb01ldGhvZHMpXG4gICAgICBtYXBbbWV0aG9kXSA9ICguLi5hcmdzKSA9PiBGbG9jayhtYXAsIG1ldGhvZCwgYXJncylcblxuICAvLyBtYXBFbnRyaWVzIG1ldGhvZCB3aXRoIHNhbWUgc2lnbmF0dXJlIGFzIG5hdGl2ZSBNYXAjZm9yRWFjaCgpXG4gIG1hcC5tYXBFbnRyaWVzID0gbWFwRW50cmllc1xuXG4gIHJldHVybiBtYXBcbn1cblxuZnVuY3Rpb24gbWFwRW50cmllcyhmbikge1xuICBjb25zdCBlbnRyaWVzID0gWy4uLnRoaXMuZW50cmllcygpXVxuICBjb25zdCBsZW4gPSB0aGlzLnNpemVcbiAgbGV0IGkgPSAtMVxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgbGV0IGVudHJ5ID0gZW50cmllc1tpXVxuICAgIGVudHJpZXNbaV0gPSBmbihlbnRyeVsxXSwgZW50cnlbMF0sIHRoaXMpXG4gIH1cbiAgcmV0dXJuIGVudHJpZXNcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kb2RvLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztRQXNNZ0I7O0FBdE1oQjs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFNQSxJQUFNLFlBQVksRUFBWjs7QUFFTixJQUFNLFNBQVMsSUFBSSxPQUFKLEVBQVQ7O0lBRWU7QUFDbkIsV0FEbUIsSUFDbkIsQ0FBWSxLQUFaLEVBQW1EO1FBQWhDLDhEQUFNLHFCQUEwQjtRQUFuQixnRUFBUSx5QkFBVzs7MEJBRGhDLE1BQ2dDOztBQUNqRCxRQUFJLE1BQU0sT0FBTixDQUFjLEtBQWQsQ0FBSixFQUNFLFFBQVEsMkJBQWEsS0FBYixDQUFSLENBREY7O0FBR0EsNkJBQVUsTUFBTSxPQUFOLENBQWMsS0FBZCxDQUFWLDRDQUppRDtBQUtqRCw2QkFBVSxVQUFVLEtBQVYsSUFBbUIsWUFBWSxTQUFaLElBQXlCLE9BQU8sSUFBUCxDQUFZLEtBQVosRUFBbUIsTUFBbkIsSUFBNkIsTUFBTSxDQUFOLEVBQVMsTUFBVCw0Q0FDekMsT0FBTyxJQUFQLENBQVksS0FBWixFQUFtQixNQUFuQiw4QkFBa0QsTUFBTSxDQUFOLEVBQVMsTUFBVCxNQUQ1RixFQUxpRDs7QUFRakQsU0FBSyxLQUFMLEdBQWEsS0FBYixDQVJpRDtBQVNqRCxTQUFLLE9BQUwsR0FBZSxPQUFmLENBVGlEO0FBVWpELFdBQU8sR0FBUCxDQUFXLElBQVgsRUFBaUIsS0FBakIsRUFWaUQ7R0FBbkQ7O2VBRG1CO1NBa0JsQixPQUFPLFFBQVA7NEJBQW1CO0FBQUUsYUFBTyxLQUFLLE9BQUwsR0FBZSxNQUFmLEVBQVAsQ0FBRjs7Ozs4QkFFVjtBQUNSLFVBQUksS0FBSyxPQUFMLElBQWdCLFNBQWhCLEVBQ0YsT0FBTyxDQUFDLEtBQUssT0FBTCxDQUFhLElBQWIsNkVBQUQsQ0FDTCxPQUFPLEdBQVAsQ0FBVyxJQUFYLENBREssRUFFTCxzQkFBUSxLQUFLLE9BQUwsQ0FGSCx5QkFJTCxFQUpLLENBQVAsQ0FERixLQVFFLE9BQU8sT0FBTyxHQUFQLENBQVcsSUFBWCxDQUFQLENBUkY7Ozs7MkJBYUs7QUFBRSwwQ0FBVyxJQUFJLEdBQUosQ0FBUSxJQUFSLEdBQVgsQ0FBRjs7Ozs4QkFFRyxhQUErQjtVQUFsQiw4REFBTSxLQUFLLEtBQUwsZ0JBQVk7O0FBQ3ZDLGFBQU8sSUFBSSxJQUFKLENBQVMsT0FBTyxHQUFQLENBQVcsSUFBWCxDQUFULEVBQTJCLEtBQTNCLCtCQUFzQyxLQUFLLE9BQUwsSUFBYyxhQUFwRCxDQUFQLENBRHVDOzs7OzJCQUlsQyxJQUFJOzs7QUFDVCwrQkFBVSxxQkFBTyxFQUFQLENBQVYseUNBRFM7QUFFVCxVQUFJLEtBQUssS0FBTCxFQUFZOztBQUNkLGNBQU0sSUFBSSxNQUFLLEtBQUw7QUFDVjtlQUFPLE1BQUssU0FBTCxDQUFlLHlCQUFPO3FCQUFPLEdBQUcsR0FBSCxFQUFRLENBQVI7YUFBUCxDQUF0QjtXQUFQO1lBRmM7OztPQUFoQixNQUdPO0FBQ0wsZUFBTyxLQUFLLFNBQUwsQ0FBZSx5QkFBTyxFQUFQLENBQWYsQ0FBUCxDQURLO09BSFA7Ozs7NkJBUU8sTUFBTSxJQUFJO0FBQ2pCLCtCQUFVLEtBQUssS0FBTCw2REFBVixFQURpQjtBQUVqQiwrQkFBVSxJQUFWLGdEQUZpQjtBQUdqQiwrQkFBVSxxQkFBTyxFQUFQLENBQVYsaURBSGlCO0FBSWpCLFVBQU0sTUFBTSxLQUFLLEtBQUwsQ0FBVyxJQUFYLENBQU4sQ0FKVztBQUtqQiwrQkFBVSxPQUFPLElBQVAsNkJBQXNDLHNCQUFoRCxFQUxpQjtBQU1qQixhQUFPLEtBQUssU0FBTCxDQUFnQix5QkFBTztlQUFPLEdBQUcsSUFBSSxHQUFKLENBQUg7T0FBUCxDQUF2QixDQUFQLENBTmlCOzs7O3dCQVNmLElBQUk7OztBQUNOLCtCQUFVLHFCQUFPLEVBQVAsQ0FBVixzQ0FETTtBQUVOLFVBQUksS0FBSyxLQUFMLEVBQVk7O0FBQ2QsY0FBTSxJQUFJLE9BQUssS0FBTDtBQUNWO2VBQU8sT0FBSyxTQUFMLENBQWUsc0JBQUk7cUJBQU8sR0FBRyxHQUFILEVBQVEsQ0FBUjthQUFQLENBQW5CO1dBQVA7WUFGYzs7O09BQWhCLE1BR087QUFDTCxlQUFPLEtBQUssU0FBTCxDQUFlLHNCQUFJLEVBQUosQ0FBZixDQUFQLENBREs7T0FIUDs7Ozt3QkFRRSxNQUFNO0FBQ1IsK0JBQVUsS0FBSyxLQUFMLG9EQUFWLEVBRFE7QUFFUiwrQkFBVSxJQUFWLHVDQUZROztBQUlSLFVBQU0sTUFBTSxLQUFLLEtBQUwsQ0FBVyxJQUFYLENBQU4sQ0FKRTtBQUtSLCtCQUFVLE9BQU8sSUFBUCw2QkFBc0Msc0JBQWhELEVBTFE7O0FBT1IsYUFBTyxLQUFLLFNBQUwsQ0FBZSxzQkFBSTtlQUFPLElBQUksR0FBSjtPQUFQLENBQW5CLEVBQXFDLEtBQXJDLENBQVAsQ0FQUTs7OzsyQkFVSzs7O3dDQUFQOztPQUFPOztBQUNiLCtCQUFVLEtBQUssS0FBTCx5REFBVixFQURhO0FBRWIsY0FBUSxNQUFNLE1BQU4sR0FBZSx1QkFBUSxLQUFSLENBQWYsR0FBZ0MsU0FBaEMsQ0FGSztBQUdiLCtCQUFVLEtBQVYsNkNBSGE7O0FBS2IsVUFBTSxVQUFVLE1BQU0sR0FBTixDQUFVO2VBQVEsT0FBSyxLQUFMLENBQVcsSUFBWDtPQUFSLENBQXBCLENBTE87QUFNYixjQUFRLE9BQVIsQ0FBZ0I7ZUFBSyx5QkFBVSxLQUFLLElBQUwsa0NBQXlDLE9BQUssT0FBTCxDQUFhLENBQWIsbUJBQW5EO09BQUwsQ0FBaEIsQ0FOYTs7QUFRYixVQUFNLEtBQUssc0JBQUksSUFBSSxRQUFKLENBQWEsS0FBYixlQUE4QixRQUFRLEdBQVIsQ0FBWTt3QkFBWTtPQUFaLENBQVosQ0FBOEIsSUFBOUIsQ0FBbUMsR0FBbkMsT0FBOUIsQ0FBSixDQUFMLENBUk87QUFTYixhQUFPLEtBQUssU0FBTCxDQUFlLEVBQWYsRUFBbUIsS0FBbkIsQ0FBUCxDQVRhOzs7O3lCQVlWLFFBQVE7QUFDWCwrQkFBVSxPQUFPLFFBQVAsQ0FBZ0IsTUFBaEIsQ0FBVixpREFEVztBQUVYLCtCQUFVLFVBQVUsQ0FBViw2Q0FBVixFQUZXOztBQUlYLFVBQUksV0FBVyxDQUFYLEVBQ0YsT0FBTyxJQUFQLENBREYsS0FHRSxPQUFPLEtBQUssU0FBTCxDQUFlLHVCQUFLLE1BQUwsQ0FBZixDQUFQLENBSEY7Ozs7eUJBTUcsUUFBUTtBQUNYLCtCQUFVLE9BQU8sUUFBUCxDQUFnQixNQUFoQixDQUFWLGlEQURXO0FBRVgsK0JBQVUsVUFBVSxDQUFWLDZDQUFWLEVBRlc7O0FBSVgsYUFBTyxLQUFLLFNBQUwsQ0FBZSx1QkFBSyxNQUFMLENBQWYsQ0FBUCxDQUpXOzs7OzJCQU9OLElBQUksTUFBc0I7OztVQUFoQiwrRkFBZ0I7O0FBQy9CLCtCQUFVLFFBQVEsSUFBUixtREFBVixFQUQrQjtBQUUvQiwrQkFBVSxxQkFBTyxFQUFQLENBQVYsc0RBRitCO0FBRy9CLCtCQUFVLHFCQUFPLEtBQVAsQ0FBVix5REFIK0I7O0FBSy9CLGFBQU8sQ0FBQyxLQUFLLE9BQUwsQ0FBYSxJQUFiLDZFQUFELENBQ0wsT0FBTyxHQUFQLENBQVcsSUFBWCxDQURLLEVBRUwsc0JBQVEsS0FBSyxPQUFMLENBRkgsb0NBSUYscUJBQXNCLDJCQUN0Qix1QkFBd0IsYUFMdEIsRUFPTCxJQVBLLENBQVAsQ0FMK0I7Ozs7K0JBZ0J0QixJQUFJLGFBQTZCO1VBQWhCLCtGQUFnQjs7QUFDMUMsK0JBQVUsS0FBSyxLQUFMLDhFQUFWLEVBRDBDO0FBRTFDLCtCQUFVLHFCQUFPLEVBQVAsQ0FBVixrRUFGMEM7QUFHMUMsK0JBQVUscUJBQU8sV0FBUCxDQUFWLDJFQUgwQztBQUkxQywrQkFBVSxxQkFBTyxLQUFQLENBQVYsdUVBSjBDOzttQkFNYixxQkFBTSxLQUFLLE9BQUwsQ0FBYSxHQUFiLENBQWlCO2VBQU0sQ0FBQyxFQUFELEVBQUssYUFBTCxFQUFvQixLQUFwQjtPQUFOLENBQXZCLEVBTmE7Ozs7VUFNbkMsaUJBTm1DO1VBTTlCLG1CQU44QjtVQU12QixvQkFOdUI7O0FBTzFDLGFBQU8seUJBQ0wsS0FBSyxPQUFMLEVBQ0EsS0FBSyxNQUFMLENBQVksOEJBQWdCLEdBQWhCLEVBQXFCLElBQXJCLENBQVosRUFBd0MsS0FBeEMsRUFBK0MscUJBQU8sTUFBUCxDQUEvQyxDQUZLLENBQVAsQ0FQMEM7Ozs7NEJBYTFCO3lDQUFUOztPQUFTOztBQUNoQiwrQkFBVSxXQUFXLFFBQVEsTUFBUiw0REFBckIsRUFEZ0I7QUFFaEIsY0FBUSxPQUFSLENBQWdCO2VBQUsseUJBQVUsT0FBTyxDQUFQLElBQVksUUFBWixJQUF3QixzQkFBeEIsdUNBQTBFLHlCQUFwRjtPQUFMLENBQWhCLENBRmdCOztpQkFJYSxrREFBTyxRQUFRLEdBQVIsQ0FBWTtlQUFLLGtCQUFTLENBQVQ7T0FBTCxFQUFuQixFQUpiOzs7O1VBSVQsZUFKUztVQUlKLGlCQUpJO1VBSUcsa0JBSkg7O0FBS2hCLGFBQU8sd0JBQWUsSUFBZixDQUFvQixJQUFwQixFQUNMLDhCQUFnQixHQUFoQixDQURLLEVBRUw7ZUFBTSxNQUFNLEdBQU4sQ0FBVTtpQkFBSztTQUFMO09BQWhCLEVBQ0EscUJBQU8sTUFBUCxDQUhLLENBQVAsQ0FMZ0I7Ozs7NEJBWVY7QUFBRSxhQUFPLHdCQUFlLElBQWYsaUNBQW9CLGdDQUFTLGtCQUFTLEtBQVQsRUFBN0IsQ0FBUCxDQUFGOzs7OzBCQUVGO0FBQUUsYUFBTyx3QkFBZSxJQUFmLGlDQUFvQixnQ0FBUyxrQkFBUyxHQUFULEVBQTdCLENBQVAsQ0FBRjs7OzswQkFFQTtBQUFFLGFBQU8sd0JBQWUsSUFBZixpQ0FBb0IsZ0NBQVMsa0JBQVMsR0FBVCxFQUE3QixDQUFQLENBQUY7Ozs7MEJBRUE7QUFBRSxhQUFPLHdCQUFlLElBQWYsaUNBQW9CLGdDQUFTLGtCQUFTLEdBQVQsRUFBN0IsQ0FBUCxDQUFGOzs7O2dDQUVNO0FBQUUsYUFBTyx3QkFBZSxJQUFmLGlDQUFvQixnQ0FBUyxrQkFBUyxTQUFULEVBQTdCLENBQVAsQ0FBRjs7OzsyQkFFTDtBQUFFLGFBQU8sd0JBQWUsSUFBZixpQ0FBb0IsZ0NBQVMsa0JBQVMsSUFBVCxFQUE3QixDQUFQLENBQUY7Ozs7NEJBRUMsTUFBTSxJQUFJOzs7QUFDaEIsVUFBSSxxQkFBTyxJQUFQLENBQUosRUFBa0I7QUFDaEIsYUFBSyxJQUFMLENBRGdCO0FBRWhCLGVBQU8sU0FBUCxDQUZnQjtPQUFsQjtBQUlBLCtCQUFVLEtBQUssS0FBTCxHQUFhLElBQWIsR0FBb0IsQ0FBQyxJQUFELCtEQUE5QixFQUxnQjtBQU1oQiwrQkFBVSxDQUFDLElBQUQsSUFBUyxLQUFLLE9BQUwsQ0FBYSxRQUFiLENBQXNCLElBQXRCLENBQVQsdUNBQXlFLHNCQUFuRixFQU5nQjtBQU9oQiwrQkFBVSxDQUFDLEVBQUQsSUFBTyxxQkFBTyxFQUFQLENBQVAsZ0RBQVYsRUFQZ0I7O0FBU2hCLFVBQU0sVUFBVSw0QkFBYyxFQUFkLEVBQWtCLE9BQU8sS0FBSyxLQUFMLENBQVcsSUFBWCxDQUFQLEdBQTBCLElBQTFCLENBQTVCLENBVFU7QUFVaEIsVUFBTSxVQUFVLFNBQVYsT0FBVTtlQUFRLElBQUksT0FBSixDQUFZLFlBQVksT0FBSyxLQUFMLENBQXhCLEdBQXNDLEdBQXRDO09BQVIsQ0FWQTtBQVdoQixhQUFPLE1BQU0sS0FBSyxNQUFMLENBQVksT0FBWixFQUFxQixJQUFJLEdBQUosRUFBckIsRUFBZ0MsT0FBaEMsQ0FBTixDQUFQLENBWGdCOzs7OzBCQWNaLElBQUk7QUFDUiwrQkFBVSxxQkFBTyxFQUFQLENBQVYsd0NBRFE7QUFFUixhQUFPLE1BQU0sR0FBRyxJQUFILENBQVEsSUFBUixFQUFjLElBQWQsQ0FBTixDQUFQLENBRlE7Ozs7d0JBaktJOzs7QUFDWixhQUFPLE9BQU8sSUFBUCxDQUFZLEtBQUssS0FBTCxDQUFaLENBQXdCLElBQXhCLENBQTZCLFVBQUMsQ0FBRCxFQUFJLENBQUo7ZUFBVSxPQUFLLEtBQUwsQ0FBVyxDQUFYLElBQWdCLE9BQUssS0FBTCxDQUFXLENBQVgsQ0FBaEI7T0FBVixDQUFwQyxDQURZOzs7O3dCQWtCRDtBQUFFLGFBQU8sS0FBSyxPQUFMLEdBQWUsTUFBZixDQUFUOzs7O1NBaENNOzs7O0FBcUxkLFNBQVMsV0FBVCxDQUFxQixLQUFyQixFQUE0QjtBQUNqQyxTQUFPLFVBQVMsS0FBVCxFQUFnQixHQUFoQixFQUFxQixHQUFyQixFQUEwQjtBQUMvQixRQUFJLEdBQUosQ0FBUSxHQUFSLEVBQWEsSUFBSSxJQUFKLENBQVMsS0FBVCxFQUFnQixLQUFoQixDQUFiLEVBRCtCO0dBQTFCLENBRDBCO0NBQTVCOztBQU1QLEtBQUssU0FBTCxDQUFlLElBQWYsR0FBc0IsS0FBSyxTQUFMLENBQWUsSUFBZjs7QUFFdEIsSUFBTSxjQUFjLE9BQU8sbUJBQVAsQ0FBMkIsS0FBSyxTQUFMLENBQXpDO0FBQ04sWUFBWSxNQUFaLENBQW1CO1NBQVUsVUFBVSxhQUFWO0NBQVYsQ0FBbkI7O0FBRUEsU0FBUyxLQUFULENBQWUsR0FBZixFQUFvQixNQUFwQixFQUE0QixJQUE1QixFQUFrQztBQUNoQyxRQUFNLElBQUksR0FBSixDQUFRLEdBQVIsQ0FBTjs7O0FBRGdDLE1BSTVCLE1BQUo7Ozs7OztBQUNFLDJCQUEwQixJQUFJLE9BQUosNEJBQTFCOzs7WUFBWTtZQUFLOztBQUNmLFlBQUksR0FBSixDQUFRLEtBQVIsRUFBYSxNQUFLLE9BQUwsaUNBQWdCLEtBQWhCLENBQWI7T0FERjs7Ozs7Ozs7Ozs7Ozs7O0dBREY7QUFKZ0MsTUFTNUIsSUFBSSxNQUFKLEdBQWEsSUFBYixHQUFvQixLQUFwQixZQUFxQyxJQUFyQzs7Ozs7OztZQUNTOztBQUNULFlBQUksTUFBSixJQUFjOzZDQUFJOzs7O2lCQUFTLE1BQU0sR0FBTixFQUFXLE1BQVgsRUFBbUIsSUFBbkI7U0FBYjs7O0FBRGhCLDRCQUFxQixzQ0FBckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBREY7QUFUZ0MsS0FjaEMsQ0FBSSxVQUFKLEdBQWlCLFVBQWpCLENBZGdDOztBQWdCaEMsU0FBTyxHQUFQLENBaEJnQztDQUFsQzs7QUFtQkEsU0FBUyxVQUFULENBQW9CLEVBQXBCLEVBQXdCO0FBQ3RCLE1BQU0sdUNBQWMsS0FBSyxPQUFMLElBQWQsQ0FEZ0I7QUFFdEIsTUFBTSxNQUFNLEtBQUssSUFBTCxDQUZVO0FBR3RCLE1BQUksSUFBSSxDQUFDLENBQUQsQ0FIYztBQUl0QixTQUFPLEVBQUUsQ0FBRixHQUFNLEdBQU4sRUFBVztBQUNoQixRQUFJLFFBQVEsUUFBUSxDQUFSLENBQVIsQ0FEWTtBQUVoQixZQUFRLENBQVIsSUFBYSxHQUFHLE1BQU0sQ0FBTixDQUFILEVBQWEsTUFBTSxDQUFOLENBQWIsRUFBdUIsSUFBdkIsQ0FBYixDQUZnQjtHQUFsQjtBQUlBLFNBQU8sT0FBUCxDQVJzQjtDQUF4QiIsImZpbGUiOiJkb2RvLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGludmFyaWFudCBmcm9tICdpbnZhcmlhbnQnXG5pbXBvcnQgemlwIGZyb20gJ2xvZGFzaC96aXAnXG5pbXBvcnQgemlwT2JqZWN0IGZyb20gJ2xvZGFzaC96aXBPYmplY3QnXG5pbXBvcnQgdW56aXAgZnJvbSAnbG9kYXNoL3VuemlwJ1xuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnbG9kYXNoL2ZsYXR0ZW4nXG5pbXBvcnQge21hcCwgZmlsdGVyLCBkcm9wLCB0YWtlLCB0cmFuc2R1Y2V9IGZyb20gJ3RyYW5zZHVjZXJzLmpzJ1xuXG5pbXBvcnQge1xuICBpZGVudGl0eSwgY29tYmluZVJlZHVjZXJzLCBSRURVQ0VSUywgc3ByZWFkLCBjcmVhdGVHcm91cGVyLCBpc2Z1bmMsXG4gIGFycmF5VG9JbmRleCwgY29tcG9zZSwgdHJhbnNkdWNlTm9CcmVhaywgYXJyYXlSZWR1Y2VyLCBuZWVkU2xvd0Nhc2UsXG4gIGRpc3BhdGNoUmVkdWNlXG59IGZyb20gJy4vaGVscGVycydcblxuY29uc3Qgbm9BY3Rpb25zID0gW11cblxuY29uc3QgQXJyYXlzID0gbmV3IFdlYWtNYXAoKVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEb2RvIHtcbiAgY29uc3RydWN0b3IoYXJyYXksIGluZGV4PWZhbHNlLCBhY3Rpb25zPW5vQWN0aW9ucykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGluZGV4KSlcbiAgICAgIGluZGV4ID0gYXJyYXlUb0luZGV4KGluZGV4KVxuXG4gICAgaW52YXJpYW50KEFycmF5LmlzQXJyYXkoYXJyYXkpLCBgbmV3IERvZG8oYXJyLCBpbmRleCkgLSBhcnIgaXMgcmVxdWlyZWRgKVxuICAgIGludmFyaWFudChpbmRleCA9PT0gZmFsc2UgfHwgYWN0aW9ucyAhPT0gbm9BY3Rpb25zIHx8IE9iamVjdC5rZXlzKGluZGV4KS5sZW5ndGggPT0gYXJyYXlbMF0ubGVuZ3RoLFxuICAgICAgYG5ldyBEb2RvKGFyciwgaW5kZXgpIC0gaW5kZXggbGVuZ3RoICgke09iamVjdC5rZXlzKGluZGV4KS5sZW5ndGh9KSAhPSBhcnJheVswXS5sZW5ndGggKCR7YXJyYXlbMF0ubGVuZ3RofSlgKVxuXG4gICAgdGhpcy5pbmRleCA9IGluZGV4XG4gICAgdGhpcy5hY3Rpb25zID0gYWN0aW9uc1xuICAgIEFycmF5cy5zZXQodGhpcywgYXJyYXkpXG4gIH1cblxuICBnZXQgY29sdW1ucygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbmRleCkuc29ydCgoYSwgYikgPT4gdGhpcy5pbmRleFthXSAtIHRoaXMuaW5kZXhbYl0pXG4gIH1cblxuICBbU3ltYm9sLml0ZXJhdG9yXSgpIHsgcmV0dXJuIHRoaXMudG9BcnJheSgpLnZhbHVlcygpIH1cblxuICB0b0FycmF5KCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMgIT0gbm9BY3Rpb25zKVxuICAgICAgcmV0dXJuICh0aGlzLmFjdGlvbnMuc29tZShuZWVkU2xvd0Nhc2UpID8gdHJhbnNkdWNlIDogdHJhbnNkdWNlTm9CcmVhaykoXG4gICAgICAgIEFycmF5cy5nZXQodGhpcyksXG4gICAgICAgIGNvbXBvc2UodGhpcy5hY3Rpb25zKSxcbiAgICAgICAgYXJyYXlSZWR1Y2VyLFxuICAgICAgICBbXVxuICAgICAgKVxuICAgIGVsc2VcbiAgICAgIHJldHVybiBBcnJheXMuZ2V0KHRoaXMpXG4gIH1cblxuICBnZXQgbGVuZ3RoKCkgeyByZXR1cm4gdGhpcy50b0FycmF5KCkubGVuZ3RoIH1cblxuICB1bmlxKCkgeyByZXR1cm4gWy4uLm5ldyBTZXQodGhpcyldIH1cblxuICB0cmFuc2Zvcm0odHJhbnNmb3JtZXIsIGluZGV4PXRoaXMuaW5kZXgpIHtcbiAgICByZXR1cm4gbmV3IERvZG8oQXJyYXlzLmdldCh0aGlzKSwgaW5kZXgsIFsuLi50aGlzLmFjdGlvbnMsIHRyYW5zZm9ybWVyXSlcbiAgfVxuXG4gIGZpbHRlcihmbikge1xuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNmaWx0ZXIoZm4pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaWYgKHRoaXMuaW5kZXgpIHtcbiAgICAgIGNvbnN0IEkgPSB0aGlzLmluZGV4XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oZmlsdGVyKHJvdyA9PiBmbihyb3csIEkpKSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKGZpbHRlcihmbikpXG4gICAgfVxuICB9XG5cbiAgZmlsdGVyQnkobmFtZSwgZm4pIHtcbiAgICBpbnZhcmlhbnQodGhpcy5pbmRleCwgYERvZG8jZmlsdGVyQnkobmFtZSwgZm4pIOKAlCBvbmx5IGF2YWlsYWJsZSBvbiBpbmRleGVkIGRvZG9zYClcbiAgICBpbnZhcmlhbnQobmFtZSwgYERvZG8jZmlsdGVyQnkobmFtZSwgZm4pIC0gbmFtZSBpcyByZXF1aXJlZGApXG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI2ZpbHRlckJ5KG5hbWUsIGZuKSAtIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBjb25zdCBjb2wgPSB0aGlzLmluZGV4W25hbWVdXG4gICAgaW52YXJpYW50KGNvbCAhPSBudWxsLCBgRG9kbyNjb2wobmFtZSkg4oCUIG5hbWUgJHtuYW1lfSBub3QgaW4gaW5kZXhgKVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybSggZmlsdGVyKHJvdyA9PiBmbihyb3dbY29sXSkpIClcbiAgfVxuXG4gIG1hcChmbikge1xuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNtYXAoZm4pIOKAlCBmbiBub3QgYSBmdW5jdGlvbmApXG4gICAgaWYgKHRoaXMuaW5kZXgpIHtcbiAgICAgIGNvbnN0IEkgPSB0aGlzLmluZGV4XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0obWFwKHJvdyA9PiBmbihyb3csIEkpKSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKG1hcChmbikpXG4gICAgfVxuICB9XG5cbiAgY29sKG5hbWUpIHtcbiAgICBpbnZhcmlhbnQodGhpcy5pbmRleCwgYERvZG8jY29sKG5hbWUpIOKAlCBvbmx5IGF2YWlsYWJsZSBvbiBpbmRleGVkIGRvZG9zYClcbiAgICBpbnZhcmlhbnQobmFtZSwgYERvZG8jY29sKG5hbWUpIC0gbmFtZSBpcyByZXF1aXJlZGApXG5cbiAgICBjb25zdCBjb2wgPSB0aGlzLmluZGV4W25hbWVdXG4gICAgaW52YXJpYW50KGNvbCAhPSBudWxsLCBgRG9kbyNjb2wobmFtZSkg4oCUIG5hbWUgJHtuYW1lfSBub3QgaW4gaW5kZXhgKVxuXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKG1hcChyb3cgPT4gcm93W2NvbF0pLCBmYWxzZSlcbiAgfVxuXG4gIGNvbHMoLi4ubmFtZXMpIHtcbiAgICBpbnZhcmlhbnQodGhpcy5pbmRleCwgYERvZG8jY29scyguLi5uYW1lcykg4oCUIG9ubHkgYXZhaWxhYmxlIG9uIGluZGV4ZWQgZG9kb3NgKVxuICAgIG5hbWVzID0gbmFtZXMubGVuZ3RoID8gZmxhdHRlbihuYW1lcykgOiB1bmRlZmluZWRcbiAgICBpbnZhcmlhbnQobmFtZXMsIGBEb2RvI2NvbHMoLi4ubmFtZXMpIC0gbmFtZXMgaXMgcmVxdWlyZWRgKVxuXG4gICAgY29uc3QgaW5kaWNlcyA9IG5hbWVzLm1hcChuYW1lID0+IHRoaXMuaW5kZXhbbmFtZV0pXG4gICAgaW5kaWNlcy5mb3JFYWNoKGkgPT4gaW52YXJpYW50KGkgIT0gbnVsbCwgYERvZG8jY29scyguLi5uYW1lcykgLSBuYW1lICR7dGhpcy5jb2x1bW5zW2ldfSBub3QgaW4gaW5kZXhgKSlcblxuICAgIGNvbnN0IGZuID0gbWFwKG5ldyBGdW5jdGlvbigncm93JyxgcmV0dXJuIFske2luZGljZXMubWFwKGkgPT4gYHJvd1ske2l9XWApLmpvaW4oJywnKX1dYCkpXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtKGZuLCBuYW1lcylcbiAgfVxuXG4gIHNraXAoYW1vdW50KSB7XG4gICAgaW52YXJpYW50KE51bWJlci5pc0Zpbml0ZShhbW91bnQpLCBgRG9kbyNza2lwKGFtb3VudCkgLSBhbW91bnQgbXVzdCBiZSBhIG51bWJlcmApXG4gICAgaW52YXJpYW50KGFtb3VudCA+PSAwLCBgRG9kbyNza2lwKGFtb3VudCkg4oCUIGFtb3VudCBzbWFsbGVyIHRoYW4gMGApXG5cbiAgICBpZiAoYW1vdW50ID09PSAwKVxuICAgICAgcmV0dXJuIHRoaXNcbiAgICBlbHNlXG4gICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oZHJvcChhbW91bnQpKVxuICB9XG5cbiAgdGFrZShhbW91bnQpIHtcbiAgICBpbnZhcmlhbnQoTnVtYmVyLmlzRmluaXRlKGFtb3VudCksIGBEb2RvI3Rha2UoYW1vdW50KSAtIGFtb3VudCBtdXN0IGJlIGEgbnVtYmVyYClcbiAgICBpbnZhcmlhbnQoYW1vdW50ID49IDAsIGBEb2RvI3Rha2UoYW1vdW50KSDigJQgYW1vdW50IHNtYWxsZXIgdGhhbiAwYClcblxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybSh0YWtlKGFtb3VudCkpXG4gIH1cblxuICByZWR1Y2UoZm4sIGluaXQsIGZpbmFsPWlkZW50aXR5KSB7XG4gICAgaW52YXJpYW50KGluaXQgIT0gbnVsbCwgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkgLSBpbml0IGlzIHJlcXVpcmVkYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZuKSwgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZuIG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZpbmFsKSwgYERvZG8jcmVkdWNlKGZuLCBpbml0LCBmaW5hbCkg4oCUIGZpbmFsIG5vdCBhIGZ1bmN0aW9uYClcblxuICAgIHJldHVybiAodGhpcy5hY3Rpb25zLnNvbWUobmVlZFNsb3dDYXNlKSA/IHRyYW5zZHVjZSA6IHRyYW5zZHVjZU5vQnJlYWspKFxuICAgICAgQXJyYXlzLmdldCh0aGlzKSxcbiAgICAgIGNvbXBvc2UodGhpcy5hY3Rpb25zKSxcbiAgICAgIHtcbiAgICAgICAgWydAQHRyYW5zZHVjZXIvc3RlcCddOiBmbixcbiAgICAgICAgWydAQHRyYW5zZHVjZXIvcmVzdWx0J106IGZpbmFsXG4gICAgICB9LFxuICAgICAgaW5pdFxuICAgIClcbiAgfVxuXG4gIHJlZHVjZUVhY2goZm4sIGluaXRGYWN0b3J5LCBmaW5hbD1pZGVudGl0eSkge1xuICAgIGludmFyaWFudCh0aGlzLmluZGV4LCBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWw/KSAtIG9ubHkgYXZhaWxhYmxlIG9uIGluZGV4ZWQgZG9kb3NgKVxuICAgIGludmFyaWFudChpc2Z1bmMoZm4pLCBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWw/KSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIGludmFyaWFudChpc2Z1bmMoaW5pdEZhY3RvcnkpLCBgRG9kbyNyZWR1Y2VFYWNoKGZuLCBpbml0RmFjdG9yeSwgZmluYWw/KSAtIGluaXRGYWN0b3J5IG5vdCBhIGZ1bmN0aW9uYClcbiAgICBpbnZhcmlhbnQoaXNmdW5jKGZpbmFsKSwgYERvZG8jcmVkdWNlRWFjaChmbiwgaW5pbml0RmFjdG9yeSwgZmluYWw/KSDigJQgZmluYWwgbm90IGEgZnVuY3Rpb25gKVxuXG4gICAgY29uc3QgW2ZucywgaW5pdHMsIGZpbmFsc10gPSB1bnppcCh0aGlzLmNvbHVtbnMubWFwKCgpID0+IFtmbiwgaW5pdEZhY3RvcnkoKSwgZmluYWxdKSlcbiAgICByZXR1cm4gemlwT2JqZWN0KFxuICAgICAgdGhpcy5jb2x1bW5zLFxuICAgICAgdGhpcy5yZWR1Y2UoY29tYmluZVJlZHVjZXJzKGZucywgdHJ1ZSksIGluaXRzLCBzcHJlYWQoZmluYWxzKSlcbiAgICApXG4gIH1cblxuICBzdGF0cyguLi5tZXRob2RzKSB7XG4gICAgaW52YXJpYW50KG1ldGhvZHMgJiYgbWV0aG9kcy5sZW5ndGgsIGBEb2RvI3N0YXRzKC4uLm1ldGhvZHMpIC0gYXQgbGVhc3Qgb25lIG1ldGhvZCBpcyByZXF1aXJlZGApXG4gICAgbWV0aG9kcy5mb3JFYWNoKG0gPT4gaW52YXJpYW50KHR5cGVvZiBtID09ICdzdHJpbmcnICYmIG0gaW4gUkVEVUNFUlMsIGBEb2RvI3N0YXRzKC4uLm1ldGhvZHMpIC0gbWV0aG9kICR7bX0gaXMgbm90IGltcGxlbWVudGVkYCkpXG5cbiAgICBjb25zdCBbZm5zLCBpbml0cywgZmluYWxzXSA9IHppcCguLi5tZXRob2RzLm1hcChtID0+IFJFRFVDRVJTW21dKSlcbiAgICByZXR1cm4gZGlzcGF0Y2hSZWR1Y2UuY2FsbCh0aGlzLFxuICAgICAgY29tYmluZVJlZHVjZXJzKGZucyksXG4gICAgICAoKSA9PiBpbml0cy5tYXAoaSA9PiBpKCkpLFxuICAgICAgc3ByZWFkKGZpbmFscylcbiAgICApXG4gIH1cblxuICBjb3VudCgpIHsgcmV0dXJuIGRpc3BhdGNoUmVkdWNlLmNhbGwodGhpcywgLi4uUkVEVUNFUlMuY291bnQpIH1cblxuICBzdW0oKSB7IHJldHVybiBkaXNwYXRjaFJlZHVjZS5jYWxsKHRoaXMsIC4uLlJFRFVDRVJTLnN1bSkgfVxuXG4gIG1pbigpIHsgcmV0dXJuIGRpc3BhdGNoUmVkdWNlLmNhbGwodGhpcywgLi4uUkVEVUNFUlMubWluKSB9XG5cbiAgbWF4KCkgeyByZXR1cm4gZGlzcGF0Y2hSZWR1Y2UuY2FsbCh0aGlzLCAuLi5SRURVQ0VSUy5tYXgpIH1cblxuICBjb3VudFVuaXEoKSB7IHJldHVybiBkaXNwYXRjaFJlZHVjZS5jYWxsKHRoaXMsIC4uLlJFRFVDRVJTLmNvdW50VW5pcSkgfVxuXG4gIG1lYW4oKSB7IHJldHVybiBkaXNwYXRjaFJlZHVjZS5jYWxsKHRoaXMsIC4uLlJFRFVDRVJTLm1lYW4pIH1cblxuICBncm91cEJ5KG5hbWUsIGZuKSB7XG4gICAgaWYgKGlzZnVuYyhuYW1lKSkge1xuICAgICAgZm4gPSBuYW1lXG4gICAgICBuYW1lID0gdW5kZWZpbmVkXG4gICAgfVxuICAgIGludmFyaWFudCh0aGlzLmluZGV4ID8gbmFtZSA6ICFuYW1lLCBgRG9kbyNncm91cEJ5KG5hbWUsIGZuPykg4oCUIG5hbWUgaXMgcmVxdWlyZWQgb24gaW5kZXhlZCBkb2Rvc2AgKVxuICAgIGludmFyaWFudCghbmFtZSB8fCB0aGlzLmNvbHVtbnMuaW5jbHVkZXMobmFtZSksIGBEb2RvI2dyb3VwQnkobmFtZT8sIGZuPykg4oCUIG5hbWUgJHtuYW1lfSBub3QgaW4gaW5kZXhgKVxuICAgIGludmFyaWFudCghZm4gfHwgaXNmdW5jKGZuKSwgYERvZG8jZ3JvdXBCeShuYW1lPywgZm4/KSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuXG4gICAgY29uc3QgZ3JvdXBlciA9IGNyZWF0ZUdyb3VwZXIoZm4sIG5hbWUgPyB0aGlzLmluZGV4W25hbWVdIDogbmFtZSlcbiAgICBjb25zdCB0b0RvZG9zID0gbWFwID0+IChtYXAuZm9yRWFjaChhcnJheVRvRG9kbyh0aGlzLmluZGV4KSksIG1hcClcbiAgICByZXR1cm4gRmxvY2sodGhpcy5yZWR1Y2UoZ3JvdXBlciwgbmV3IE1hcCgpLCB0b0RvZG9zKSlcbiAgfVxuXG4gIGZsb2NrKGZuKSB7XG4gICAgaW52YXJpYW50KGlzZnVuYyhmbiksIGBEb2RvI2Zsb2NrKGZuKSDigJQgZm4gbm90IGEgZnVuY3Rpb25gKVxuICAgIHJldHVybiBGbG9jayhmbi5jYWxsKHRoaXMsIHRoaXMpKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJheVRvRG9kbyhpbmRleCkge1xuICByZXR1cm4gZnVuY3Rpb24oYXJyYXksIGtleSwgbWFwKSB7XG4gICAgbWFwLnNldChrZXksIG5ldyBEb2RvKGFycmF5LCBpbmRleCkpXG4gIH1cbn1cblxuRG9kby5wcm90b3R5cGUuZHJvcCA9IERvZG8ucHJvdG90eXBlLnNraXBcblxuY29uc3QgZG9kb01ldGhvZHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhEb2RvLnByb3RvdHlwZSlcbmRvZG9NZXRob2RzLmZpbHRlcihtZXRob2QgPT4gbWV0aG9kICE9ICdjb25zdHJ1Y3RvcicpXG5cbmZ1bmN0aW9uIEZsb2NrKG1hcCwgbWV0aG9kLCBhcmdzKSB7XG4gIG1hcCA9IG5ldyBNYXAobWFwKVxuXG4gIC8vIGlmIGNhbGxlZCB3aXRoIG1ldGhvZCBhcmcgY2FsbCB0aGF0IG1ldGhvZCBvbiBhbGwgRG9kb3NcbiAgaWYgKG1ldGhvZClcbiAgICBmb3IgKGNvbnN0IFtrZXksIGRvZG9dIG9mIG1hcC5lbnRyaWVzKCkpXG4gICAgICBtYXAuc2V0KGtleSwgZG9kb1ttZXRob2RdKC4uLmFyZ3MpKVxuXG4gIC8vIGlmIHRoZSB2YWx1ZXMgYXJlIERvZG9zIGFkZCB0aGUgRG9kbyBtZXRob2RzIHRvIHRoZSByZXR1cm5lZCBNYXBcbiAgaWYgKG1hcC52YWx1ZXMoKS5uZXh0KCkudmFsdWUgaW5zdGFuY2VvZiBEb2RvKVxuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIGRvZG9NZXRob2RzKVxuICAgICAgbWFwW21ldGhvZF0gPSAoLi4uYXJncykgPT4gRmxvY2sobWFwLCBtZXRob2QsIGFyZ3MpXG5cbiAgLy8gbWFwRW50cmllcyBtZXRob2Qgd2l0aCBzYW1lIHNpZ25hdHVyZSBhcyBuYXRpdmUgTWFwI2ZvckVhY2goKVxuICBtYXAubWFwRW50cmllcyA9IG1hcEVudHJpZXNcblxuICByZXR1cm4gbWFwXG59XG5cbmZ1bmN0aW9uIG1hcEVudHJpZXMoZm4pIHtcbiAgY29uc3QgZW50cmllcyA9IFsuLi50aGlzLmVudHJpZXMoKV1cbiAgY29uc3QgbGVuID0gdGhpcy5zaXplXG4gIGxldCBpID0gLTFcbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIGxldCBlbnRyeSA9IGVudHJpZXNbaV1cbiAgICBlbnRyaWVzW2ldID0gZm4oZW50cnlbMV0sIGVudHJ5WzBdLCB0aGlzKVxuICB9XG4gIHJldHVybiBlbnRyaWVzXG59XG4iXX0=

2

package.json
{
"name": "dodos",
"version": "2.8.0",
"version": "2.8.1",
"description": "Pandas-inspired iterator-based data wrangling library for js",

@@ -5,0 +5,0 @@ "main": "lib/dodo.js",

@@ -19,3 +19,3 @@ import invariant from 'invariant'

export default class Dodo {
constructor(array, index, actions=noActions) {
constructor(array, index=false, actions=noActions) {
if (Array.isArray(index))

@@ -22,0 +22,0 @@ index = arrayToIndex(index)

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc