@dashkite/joy 0.3.16 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,429 +1,474 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.wrap = exports.wait = exports.unary = exports.ternary = exports.tee = exports.substitute = exports.stack = exports.spread = exports.send = exports.rtee = exports.proxy = exports.pipeWith = exports.pipe = exports.partial = exports.once = exports.memoize = exports.identity = exports.flowWith = exports.flow = exports.flip = exports.detach = exports.curry = exports.compose = exports.chain = exports.bind = exports.binary = exports.arity = exports.apply = exports._ = void 0;
7
-
8
- var _,
9
- apply,
10
- arity,
11
- binary,
12
- bind,
13
- chain,
14
- compose,
15
- curry,
16
- detach,
17
- flip,
18
- flow,
19
- flowWith,
20
- identity,
21
- isPromise,
22
- memoize,
23
- once,
24
- partial,
25
- pipe,
26
- pipeWith,
27
- proxy,
28
- rtee,
29
- send,
30
- spread,
31
- stack,
32
- substitute,
33
- tee,
34
- ternary,
35
- unary,
36
- wait,
37
- wrap,
38
- splice = [].splice;
39
-
40
- exports.wrap = wrap;
41
- exports.wait = wait;
42
- exports.unary = unary;
43
- exports.ternary = ternary;
44
- exports.tee = tee;
45
- exports.substitute = substitute;
46
- exports.stack = stack;
47
- exports.spread = spread;
48
- exports.send = send;
49
- exports.rtee = rtee;
50
- exports.proxy = proxy;
51
- exports.pipeWith = pipeWith;
52
- exports.pipe = pipe;
53
- exports.partial = partial;
54
- exports.once = once;
55
- exports.memoize = memoize;
56
- exports.identity = identity;
57
- exports.flowWith = flowWith;
58
- exports.flow = flow;
59
- exports.flip = flip;
60
- exports.detach = detach;
61
- exports.curry = curry;
62
- exports.compose = compose;
63
- exports.chain = chain;
64
- exports.bind = bind;
65
- exports.binary = binary;
66
- exports.arity = arity;
67
- exports.apply = apply;
68
- exports._ = _;
69
-
70
- exports.identity = identity = function (x) {
71
- return x;
72
- };
73
-
74
- exports.wrap = wrap = function (x) {
75
- return function () {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ _: function() {
13
+ return _;
14
+ },
15
+ apply: function() {
16
+ return apply;
17
+ },
18
+ arity: function() {
19
+ return arity;
20
+ },
21
+ bcompose: function() {
22
+ return bcompose;
23
+ },
24
+ bflow: function() {
25
+ return bflow;
26
+ },
27
+ binary: function() {
28
+ return binary;
29
+ },
30
+ bind: function() {
31
+ return bind;
32
+ },
33
+ bpipe: function() {
34
+ return bpipe;
35
+ },
36
+ chain: function() {
37
+ return chain;
38
+ },
39
+ compose: function() {
40
+ return compose;
41
+ },
42
+ curry: function() {
43
+ return curry;
44
+ },
45
+ default: function() {
46
+ return _default //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL2Z1bmN0aW9uLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLENBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLEdBQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBO0VBQUE7O0FBQUEsUUFBQSxHQUFXLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTztBQUFQOztBQUVYLElBQUEsR0FBTyxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sUUFBQSxDQUFBLENBQUE7V0FBRztFQUFIO0FBQVAsRUFGUDs7OztBQU1BLEtBQUEsR0FBUyxRQUFBLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBQTtBQUNQLFVBQU8sQ0FBUDtBQUFBLFNBQ08sQ0FEUDthQUVJLFFBQUEsQ0FBQSxHQUFDLEVBQUQsQ0FBQTtlQUFXLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLEVBQVg7TUFBWDtBQUZKLFNBR08sQ0FIUDthQUlJLFFBQUEsQ0FBQyxFQUFELENBQUE7ZUFBUSxDQUFDLENBQUMsS0FBRixDQUFRLElBQVIsRUFBVyxTQUFYO01BQVI7QUFKSixTQUtPLENBTFA7YUFNSSxRQUFBLENBQUMsRUFBRCxFQUFLLEVBQUwsQ0FBQTtlQUFhLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLFNBQVg7TUFBYjtBQU5K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QmIsSUFqQmEsRUFrQmIsS0FsQmEsRUFtQmIsUUFuQmEsRUFvQmIsS0FwQmEsRUFxQmIsR0FyQmEsRUFzQmIsSUF0QmEsRUF1QmIsSUF2QmEsRUF3QmIsT0F4QmEsRUF5QmIsS0F6QmEsRUEwQmIsSUExQmEsRUEyQmIsTUEzQmEsRUE0QmIsSUE1QmEsRUE2QmIsS0E3QmEsRUE4QmIsR0E5QmEsRUErQmIsS0EvQmEiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG4jIEJhc2VkIG9uIF9hcml0eSBmcm9tIFJhbWJkYTpcbiMgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvdjAuMjYuMS9zb3VyY2UvaW50ZXJuYWwvX2FyaXR5LmpzXG5hcml0eSAgPSAoTiwgZikgLT5cbiAgc3dpdGNoIE5cbiAgICB3aGVuIDBcbiAgICAgIChheC4uLikgLT4gZi5hcHBseSBALCBheFxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA5XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDEwXG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTkpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgZWxzZVxuICAgICAgdGhyb3cgbmV3IEVycm9yIFwiRmlyc3QgYXJndW1lbnQgdG8gYXJpdHkgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAsIGluY2x1c2l2ZS5cIlxuXG51bmFyeSA9IChmKSAtPiBhcml0eSAxLCBmXG5cbmJpbmFyeSA9IChmKSAtPiBhcml0eSAyLCBmXG5cbnRlcm5hcnkgPSAoZikgLT4gYXJpdHkgMywgZlxuXG5mbGlwID0gKGYpIC0+XG4gIHN3aXRjaCBmLmxlbmd0aFxuICAgIHdoZW4gMFxuICAgICAgZlxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmNhbGwgQCwgYTBcbiAgICB3aGVuIDJcbiAgICAgIChhMCwgYTEpICAtPiBmLmNhbGwgQCwgYTEsIGEwXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5jYWxsIEAsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5jYWxsIEAsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA1XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0KSAtPiBmLmNhbGwgQCwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5jYWxsIEAsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5jYWxsIEAsIGE2LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTgsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE5LCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgZWxzZVxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4LnJldmVyc2UoKVxuXG5jdXJyeSA9IChmKSAtPlxuICBpZiBmLmxlbmd0aCA+IDFcbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgc2VsZiA9IEBcbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBmLmxlbmd0aFxuICAgICAgICBmLmFwcGx5IHNlbGYsIGF4XG4gICAgICBlbHNlXG4gICAgICAgIGxlbmd0aCA9IGYubGVuZ3RoIC0gYXgubGVuZ3RoXG4gICAgICAgIGlmIGxlbmd0aCA9PSAxXG4gICAgICAgICAgKHgpIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgeCBdXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBjdXJyeSBhcml0eSBsZW5ndGgsIChieC4uLikgLT4gZi5hcHBseSBzZWxmLCBbIGF4Li4uLCBieC4uLiBdXG4gIGVsc2UgZlxuXG5fID0ge31cblxuc3Vic3RpdHV0ZSA9IGN1cnJ5IChheCwgYngpIC0+XG4gIGkgPSAwXG4gIGZvciBhIGluIGF4XG4gICAgaWYgYSA9PSBfXG4gICAgICBieFtpKytdXG4gICAgZWxzZVxuICAgICAgYVxuXG5wYXJ0aWFsID0gKGYsIGF4KSAtPlxuICBuID0gMFxuICBmb3IgYSBpbiBheCB3aGVuIGEgPT0gX1xuICAgIG4rK1xuICBhcml0eSBuLCAoYnguLi4pIC0+IGYgKHN1YnN0aXR1dGUgYXgsIGJ4KS4uLlxuXG5zcHJlYWQgPSAoZikgLT4gKGF4KSAtPiBmIGF4Li4uXG5cbnN0YWNrID0gKGYpIC0+IChheC4uLikgLT4gZiBheFxuXG5waXBlID0gKFsgZiwgZ3guLi4gXSkgLT5cbiAgaWYgZ3gubGVuZ3RoID09IDBcbiAgICBmID8gaWRlbnRpdHlcbiAgZWxzZVxuICAgIGRvICh7IGcgfSA9IHt9KSAtPlxuICAgICAgZyA9IHBpcGUgZ3hcbiAgICAgIGFyaXR5ICggZi5sZW5ndGggKSwgKCBhcmdzLi4uICkgLT5cbiAgICAgICAgZG8gKHsgc2VsZiwgeCB9ID0geyBzZWxmOiBAIH0pIC0+XG4gICAgICAgICAgeCA9IGYuYXBwbHkgc2VsZiwgYXJnc1xuICAgICAgICAgIGlmIHg/LnRoZW4/XG4gICAgICAgICAgICB4LnRoZW4gKCBnLmJpbmQgc2VsZiApXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5jYWxsIHNlbGYsIHhcblxuZmxvdyA9IHBpcGVcblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxuYnBpcGUgPSBwaXBlXG5cbmJmbG93ID0gcGlwZVxuXG5iY29tcG9zZSA9IChmeCkgLT4gYnBpcGUgZngucmV2ZXJzZSgpXG5cbndhaXQgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICBQcm9taXNlLmFsbCBheFxuICAgICAgLnRoZW4gKGF4KSAtPiBmIGF4Li4uXG5cbnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYSwgYnguLi4pIC0+XG4gICAgaWYgKGsgPSAoZi5hcHBseSBALCBbIGEsIGJ4Li4uIF0pKT8udGhlbj9cbiAgICAgIGsudGhlbiAtPiBhXG4gICAgZWxzZVxuICAgICAgYVxuXG5ydGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLiwgYikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGYuYXBwbHkgQCwgYXgpXG5cbm1lbW9pemUgPSAoZikgLT5cbiAgZG8gKGNhY2hlID0ge30pIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIGNhY2hlWyBKU09OLnN0cmluZ2lmeSBheCBdID89IGYuYXBwbHkgQCwgYXhcblxuYXBwbHkgPSBjdXJyeSAoZiwgYXgpIC0+IGYuYXBwbHkgbnVsbCwgYXhcblxuYmluZCA9IGN1cnJ5IChmLCB4KSAtPiBmLmJpbmQgeFxuXG5kZXRhY2ggPSAoZikgLT5cbiAgY3VycnkgYXJpdHkgKGYubGVuZ3RoICsgMSksIFxuICAgICh4LCBhcmdzLi4uKSAtPiBmLmFwcGx5IHgsIGFyZ3Ncblxuc2VuZCA9IGN1cnJ5IChuYW1lLCBheCwgb2JqZWN0KSAtPiBvYmplY3RbbmFtZV0uYXBwbHkgb2JqZWN0LCBheFxuXG5pc1Byb21pc2UgPSAoaykgLT4gayBpbnN0YW5jZW9mIFByb21pc2VcblxuY2hhaW4gPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uKSAtPlxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBALCBheCkpKVxuICAgICAgay50aGVuID0+IEBcbiAgICBlbHNlXG4gICAgICBAXG5cbm1hcCA9ICggZnggKSAtPlxuICBkbyAoeyBsZW5ndGhzLCBsZW5ndGggfSA9IHt9KSAtPlxuICAgIGxlbmd0aHMgPSBmeC5tYXAgKCBmICkgLT4gZi5sZW5ndGhcbiAgICBsZW5ndGggPSBNYXRoLm1heCBsZW5ndGhzLi4uXG4gICAgYXJpdHkgbGVuZ3RoLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgKCBmLmFwcGx5IEAsIGFyZ3MgKSBmb3IgZiBpbiBmeFxuXG5wcm94eSA9IGN1cnJ5IChuYW1lLCBheCkgLT5cbiAgKGJ4Li4uKSAtPiBAW25hbWVdLmFwcGx5IEAsIFsgYXguLi4sIGJ4Li4uIF1cblxuZXhwb3J0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICBicGlwZVxuICBiY29tcG9zZVxuICBiZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cbiJdfQ==
47
+ //# sourceURL=/@dashkite/joy/src/function.coffee
48
+ ;
49
+ },
50
+ detach: function() {
51
+ return detach;
52
+ },
53
+ flip: function() {
54
+ return flip;
55
+ },
56
+ flow: function() {
57
+ return flow;
58
+ },
59
+ identity: function() {
60
+ return identity;
61
+ },
62
+ map: function() {
63
+ return map;
64
+ },
65
+ memoize: function() {
66
+ return memoize;
67
+ },
68
+ once: function() {
69
+ return once;
70
+ },
71
+ partial: function() {
72
+ return partial;
73
+ },
74
+ pipe: function() {
75
+ return pipe;
76
+ },
77
+ proxy: function() {
78
+ return proxy;
79
+ },
80
+ rtee: function() {
81
+ return rtee;
82
+ },
83
+ send: function() {
84
+ return send;
85
+ },
86
+ spread: function() {
87
+ return spread;
88
+ },
89
+ stack: function() {
90
+ return stack;
91
+ },
92
+ substitute: function() {
93
+ return substitute;
94
+ },
95
+ tee: function() {
96
+ return tee;
97
+ },
98
+ ternary: function() {
99
+ return ternary;
100
+ },
101
+ unary: function() {
102
+ return unary;
103
+ },
104
+ wait: function() {
105
+ return wait;
106
+ },
107
+ wrap: function() {
108
+ return wrap;
109
+ }
110
+ });
111
+ var _, apply, arity, bcompose, bflow, binary, bind, bpipe, chain, compose, curry, detach, flip, flow, identity, isPromise, map, memoize, once, partial, pipe, proxy, rtee, send, spread, stack, substitute, tee, ternary, unary, wait, wrap, splice = [].splice;
112
+ identity = function(x) {
76
113
  return x;
77
- };
78
- }; // Based on _arity from Rambda:
79
- // https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
80
-
81
-
82
- exports.arity = arity = function (N, f) {
83
- switch (N) {
84
- case 0:
85
- return function (...ax) {
86
- return f.apply(this, ax);
87
- };
88
-
89
- case 1:
90
- return function (a0) {
91
- return f.apply(this, arguments);
92
- };
93
-
94
- case 2:
95
- return function (a0, a1) {
96
- return f.apply(this, arguments);
97
- };
98
-
99
- case 3:
100
- return function (a0, a1, a2) {
101
- return f.apply(this, arguments);
102
- };
103
-
104
- case 4:
105
- return function (a0, a1, a2, a3) {
106
- return f.apply(this, arguments);
107
- };
108
-
109
- case 5:
110
- return function (a0, a1, a2, a3, a4) {
111
- return f.apply(this, arguments);
112
- };
113
-
114
- case 6:
115
- return function (a0, a1, a2, a3, a4, a5) {
116
- return f.apply(this, arguments);
117
- };
118
-
119
- case 7:
120
- return function (a0, a1, a2, a3, a4, a5, a6) {
121
- return f.apply(this, arguments);
122
- };
123
-
124
- case 8:
125
- return function (a0, a1, a2, a3, a4, a5, a6, a7) {
126
- return f.apply(this, arguments);
127
- };
128
-
129
- case 9:
130
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
131
- return f.apply(this, arguments);
132
- };
133
-
134
- case 10:
135
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
136
- return f.apply(this, arguments);
137
- };
138
-
139
- default:
140
- throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
141
- }
142
114
  };
143
-
144
- exports.unary = unary = function (f) {
145
- return arity(1, f);
115
+ wrap = function(x) {
116
+ return function() {
117
+ return x;
118
+ };
146
119
  };
147
-
148
- exports.binary = binary = function (f) {
149
- return arity(2, f);
120
+ // Based on _arity from Rambda:
121
+ // https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
122
+ arity = function(N, f) {
123
+ switch(N){
124
+ case 0:
125
+ return function(...ax) {
126
+ return f.apply(this, ax);
127
+ };
128
+ case 1:
129
+ return function(a0) {
130
+ return f.apply(this, arguments);
131
+ };
132
+ case 2:
133
+ return function(a0, a1) {
134
+ return f.apply(this, arguments);
135
+ };
136
+ case 3:
137
+ return function(a0, a1, a2) {
138
+ return f.apply(this, arguments);
139
+ };
140
+ case 4:
141
+ return function(a0, a1, a2, a3) {
142
+ return f.apply(this, arguments);
143
+ };
144
+ case 5:
145
+ return function(a0, a1, a2, a3, a4) {
146
+ return f.apply(this, arguments);
147
+ };
148
+ case 6:
149
+ return function(a0, a1, a2, a3, a4, a5) {
150
+ return f.apply(this, arguments);
151
+ };
152
+ case 7:
153
+ return function(a0, a1, a2, a3, a4, a5, a6) {
154
+ return f.apply(this, arguments);
155
+ };
156
+ case 8:
157
+ return function(a0, a1, a2, a3, a4, a5, a6, a7) {
158
+ return f.apply(this, arguments);
159
+ };
160
+ case 9:
161
+ return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
162
+ return f.apply(this, arguments);
163
+ };
164
+ case 10:
165
+ return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
166
+ return f.apply(this, arguments);
167
+ };
168
+ default:
169
+ throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
170
+ }
150
171
  };
151
-
152
- exports.ternary = ternary = function (f) {
153
- return arity(3, f);
172
+ unary = function(f) {
173
+ return arity(1, f);
154
174
  };
155
-
156
- exports.flip = flip = function (f) {
157
- switch (f.length) {
158
- case 0:
159
- return f;
160
-
161
- case 1:
162
- return function (a0) {
163
- return f.call(this, a0);
164
- };
165
-
166
- case 2:
167
- return function (a0, a1) {
168
- return f.call(this, a1, a0);
169
- };
170
-
171
- case 3:
172
- return function (a0, a1, a2) {
173
- return f.call(this, a2, a1, a0);
174
- };
175
-
176
- case 4:
177
- return function (a0, a1, a2, a3) {
178
- return f.call(this, a3, a2, a1, a0);
179
- };
180
-
181
- case 5:
182
- return function (a0, a1, a2, a3, a4) {
183
- return f.call(this, a4, a3, a2, a1, a0);
184
- };
185
-
186
- case 6:
187
- return function (a0, a1, a2, a3, a4, a5) {
188
- return f.call(this, a5, a4, a3, a2, a1, a0);
189
- };
190
-
191
- case 7:
192
- return function (a0, a1, a2, a3, a4, a5, a6) {
193
- return f.call(this, a6, a4, a3, a2, a1, a0);
194
- };
195
-
196
- case 8:
197
- return function (a0, a1, a2, a3, a4, a5, a6, a7) {
198
- return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
199
- };
200
-
201
- case 9:
202
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
203
- return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
204
- };
205
-
206
- case 10:
207
- return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
208
- return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
209
- };
210
-
211
- default:
212
- return function (...ax) {
213
- return f.apply(this, ax.reverse());
214
- };
215
- }
175
+ binary = function(f) {
176
+ return arity(2, f);
216
177
  };
217
-
218
- exports.curry = curry = function (f) {
219
- return arity(f.length, function (...ax) {
220
- var length, self;
221
- self = this;
222
-
223
- if (ax.length >= f.length) {
224
- return f.apply(self, ax);
225
- } else {
226
- length = f.length - ax.length;
227
-
228
- if (length === 1) {
229
- return function (x) {
230
- return f.apply(self, [...ax, x]);
231
- };
232
- } else {
233
- return curry(arity(length, function (...bx) {
234
- return f.apply(self, [...ax, ...bx]);
235
- }));
236
- }
178
+ ternary = function(f) {
179
+ return arity(3, f);
180
+ };
181
+ flip = function(f) {
182
+ switch(f.length){
183
+ case 0:
184
+ return f;
185
+ case 1:
186
+ return function(a0) {
187
+ return f.call(this, a0);
188
+ };
189
+ case 2:
190
+ return function(a0, a1) {
191
+ return f.call(this, a1, a0);
192
+ };
193
+ case 3:
194
+ return function(a0, a1, a2) {
195
+ return f.call(this, a2, a1, a0);
196
+ };
197
+ case 4:
198
+ return function(a0, a1, a2, a3) {
199
+ return f.call(this, a3, a2, a1, a0);
200
+ };
201
+ case 5:
202
+ return function(a0, a1, a2, a3, a4) {
203
+ return f.call(this, a4, a3, a2, a1, a0);
204
+ };
205
+ case 6:
206
+ return function(a0, a1, a2, a3, a4, a5) {
207
+ return f.call(this, a5, a4, a3, a2, a1, a0);
208
+ };
209
+ case 7:
210
+ return function(a0, a1, a2, a3, a4, a5, a6) {
211
+ return f.call(this, a6, a4, a3, a2, a1, a0);
212
+ };
213
+ case 8:
214
+ return function(a0, a1, a2, a3, a4, a5, a6, a7) {
215
+ return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
216
+ };
217
+ case 9:
218
+ return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
219
+ return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
220
+ };
221
+ case 10:
222
+ return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
223
+ return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
224
+ };
225
+ default:
226
+ return function(...ax) {
227
+ return f.apply(this, ax.reverse());
228
+ };
237
229
  }
238
- });
239
230
  };
240
-
241
- exports._ = _ = {};
242
- exports.substitute = substitute = curry(function (ax, bx) {
243
- var a, i, j, len, results;
244
- i = 0;
245
- results = [];
246
-
247
- for (j = 0, len = ax.length; j < len; j++) {
248
- a = ax[j];
249
-
250
- if (a === _) {
251
- results.push(bx[i++]);
231
+ curry = function(f) {
232
+ if (f.length > 1) {
233
+ return arity(f.length, function(...ax) {
234
+ var length, self;
235
+ self = this;
236
+ if (ax.length >= f.length) {
237
+ return f.apply(self, ax);
238
+ } else {
239
+ length = f.length - ax.length;
240
+ if (length === 1) {
241
+ return function(x) {
242
+ return f.apply(self, [
243
+ ...ax,
244
+ x
245
+ ]);
246
+ };
247
+ } else {
248
+ return curry(arity(length, function(...bx) {
249
+ return f.apply(self, [
250
+ ...ax,
251
+ ...bx
252
+ ]);
253
+ }));
254
+ }
255
+ }
256
+ });
252
257
  } else {
253
- results.push(a);
258
+ return f;
254
259
  }
255
- }
256
-
257
- return results;
258
- });
259
-
260
- exports.partial = partial = function (f, ax) {
261
- var a, j, len, n;
262
- n = 0;
263
-
264
- for (j = 0, len = ax.length; j < len; j++) {
265
- a = ax[j];
266
-
267
- if (a === _) {
268
- n++;
269
- }
270
- }
271
-
272
- return arity(n, function (...bx) {
273
- return f(...substitute(ax, bx));
274
- });
275
- };
276
-
277
- exports.spread = spread = function (f) {
278
- return function (ax) {
279
- return f(...ax);
280
- };
281
260
  };
282
-
283
- exports.stack = stack = function (f) {
284
- return function (...ax) {
285
- return f(ax);
286
- };
287
- }; // Inspired by Rambda: https://ramdajs.com/docs/#pipeWith
288
-
289
-
290
- exports.pipeWith = pipeWith = curry(function (c, fx) {
291
- var f, gx;
292
-
293
- gx = function () {
294
- var j, len, results;
261
+ _ = {};
262
+ substitute = curry(function(ax, bx) {
263
+ var a, i, j, len, results;
264
+ i = 0;
295
265
  results = [];
296
-
297
- for (j = 0, len = fx.length; j < len; j++) {
298
- f = fx[j];
299
- results.push(c(f));
266
+ for(j = 0, len = ax.length; j < len; j++){
267
+ a = ax[j];
268
+ if (a === _) {
269
+ results.push(bx[i++]);
270
+ } else {
271
+ results.push(a);
272
+ }
300
273
  }
301
-
302
274
  return results;
303
- }();
304
-
305
- return arity(fx[0].length, function (...ax) {
306
- var i, j, len;
307
-
308
- for (i = j = 0, len = gx.length; j < len; i = ++j) {
309
- f = gx[i];
310
- ax = [f(...ax)];
311
- }
312
-
313
- return ax[0];
314
- });
315
275
  });
316
- exports.pipe = pipe = pipeWith(identity);
317
-
318
- exports.compose = compose = function (fx) {
319
- return pipe(fx.reverse());
320
- };
321
-
322
- exports.wait = wait = function (f) {
323
- return arity(f.length, function (...ax) {
324
- return Promise.all(ax).then(function (ax) {
325
- return f(...ax);
276
+ partial = function(f, ax) {
277
+ var a, j, len, n;
278
+ n = 0;
279
+ for(j = 0, len = ax.length; j < len; j++){
280
+ a = ax[j];
281
+ if (a === _) {
282
+ n++;
283
+ }
284
+ }
285
+ return arity(n, function(...bx) {
286
+ return f(...substitute(ax, bx));
326
287
  });
327
- });
328
288
  };
329
-
330
- exports.flow = flow = pipeWith(wait);
331
- exports.flowWith = flowWith = curry(function (c, fx) {
332
- return pipeWith(pipe([c, wait]), fx);
333
- });
334
-
335
- exports.tee = tee = function (f) {
336
- return arity(Math.max(f.length, 1), function (a, ...bx) {
337
- var k, ref, self;
338
- self = this;
339
-
340
- if (((ref = k = f.apply(self, [a, ...bx])) != null ? ref.then : void 0) != null) {
341
- return k.then(function () {
342
- return a;
343
- });
344
- } else {
345
- return a;
346
- }
347
- });
289
+ spread = function(f) {
290
+ return function(ax) {
291
+ return f(...ax);
292
+ };
348
293
  };
349
-
350
- exports.rtee = rtee = function (f) {
351
- return arity(Math.max(f.length, 1), function (...ax) {
352
- var b, k, ref, ref1, self;
353
- ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
354
- self = this;
355
-
356
- if (((ref1 = k = f.apply(self, [...ax, b])) != null ? ref1.then : void 0) != null) {
357
- return k.then(function () {
358
- return b;
359
- });
294
+ stack = function(f) {
295
+ return function(...ax) {
296
+ return f(ax);
297
+ };
298
+ };
299
+ pipe = function([f, ...gx]) {
300
+ if (gx.length === 0) {
301
+ return f != null ? f : identity;
360
302
  } else {
361
- return b;
303
+ return function({ g }) {
304
+ g = pipe(gx);
305
+ return arity(f.length, function(...args) {
306
+ return function({ self, x }) {
307
+ x = f.apply(self, args);
308
+ if ((x != null ? x.then : void 0) != null) {
309
+ return x.then(g.bind(self));
310
+ } else {
311
+ return g.call(self, x);
312
+ }
313
+ }({
314
+ self: this
315
+ });
316
+ });
317
+ }({});
362
318
  }
363
- });
364
319
  };
365
-
366
- exports.once = once = function (f) {
367
- return function (k) {
368
- return arity(f.length, function (...ax) {
369
- if (k != null) {
370
- return k;
371
- } else {
372
- return k = apply(f, ax);
373
- }
320
+ flow = pipe;
321
+ compose = function(fx) {
322
+ return pipe(fx.reverse());
323
+ };
324
+ bpipe = pipe;
325
+ bflow = pipe;
326
+ bcompose = function(fx) {
327
+ return bpipe(fx.reverse());
328
+ };
329
+ wait = function(f) {
330
+ return arity(f.length, function(...ax) {
331
+ return Promise.all(ax).then(function(ax) {
332
+ return f(...ax);
333
+ });
374
334
  });
375
- }(void 0);
376
335
  };
377
-
378
- exports.memoize = memoize = function (f) {
379
- return function (cache) {
380
- return arity(f.length, function (...ax) {
381
- var name1;
382
- return cache[name1 = JSON.stringify(ax)] != null ? cache[name1] : cache[name1] = apply(f, ax);
336
+ tee = function(f) {
337
+ return arity(Math.max(f.length, 1), function(a, ...bx) {
338
+ var k, ref;
339
+ if (((ref = k = f.apply(this, [
340
+ a,
341
+ ...bx
342
+ ])) != null ? ref.then : void 0) != null) {
343
+ return k.then(function() {
344
+ return a;
345
+ });
346
+ } else {
347
+ return a;
348
+ }
383
349
  });
384
- }({});
385
350
  };
386
-
387
- exports.apply = apply = curry(function (f, ax) {
388
- return f(...ax);
351
+ rtee = function(f) {
352
+ return arity(Math.max(f.length, 1), function(...ax) {
353
+ var b, k, ref, ref1;
354
+ ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
355
+ if (((ref1 = k = f.apply(this, [
356
+ ...ax,
357
+ b
358
+ ])) != null ? ref1.then : void 0) != null) {
359
+ return k.then(function() {
360
+ return b;
361
+ });
362
+ } else {
363
+ return b;
364
+ }
365
+ });
366
+ };
367
+ once = function(f) {
368
+ return function(k) {
369
+ return arity(f.length, function(...ax) {
370
+ if (k != null) {
371
+ return k;
372
+ } else {
373
+ return k = f.apply(this, ax);
374
+ }
375
+ });
376
+ }(void 0);
377
+ };
378
+ memoize = function(f) {
379
+ return function(cache) {
380
+ return arity(f.length, function(...ax) {
381
+ var name1;
382
+ return cache[name1 = JSON.stringify(ax)] != null ? cache[name1] : cache[name1] = f.apply(this, ax);
383
+ });
384
+ }({});
385
+ };
386
+ apply = curry(function(f, ax) {
387
+ return f.apply(null, ax);
389
388
  });
390
- exports.bind = bind = curry(function (f, x) {
391
- return f.bind(x);
389
+ bind = curry(function(f, x) {
390
+ return f.bind(x);
392
391
  });
393
-
394
- exports.detach = detach = function (f) {
395
- return arity(f.length + 1, curry(function (x, ...args) {
396
- return f.apply(x, args);
397
- }));
392
+ detach = function(f) {
393
+ return curry(arity(f.length + 1, function(x, ...args) {
394
+ return f.apply(x, args);
395
+ }));
398
396
  };
399
-
400
- exports.send = send = curry(function (name, ax, object) {
401
- return object[name].apply(object, ax);
397
+ send = curry(function(name, ax, object) {
398
+ return object[name].apply(object, ax);
402
399
  });
403
-
404
- isPromise = function (k) {
405
- return k instanceof Promise;
400
+ isPromise = function(k) {
401
+ return k instanceof Promise;
406
402
  };
407
-
408
- exports.chain = chain = function (f) {
409
- return arity(Math.max(f.length, 1), function (...ax) {
410
- var k, self;
411
- self = this;
412
-
413
- if (isPromise(k = f.apply(self, ax))) {
414
- return k.then(function () {
415
- return self;
416
- });
417
- } else {
418
- return self;
419
- }
420
- });
403
+ chain = function(f) {
404
+ return arity(Math.max(f.length, 1), function(...ax) {
405
+ var k;
406
+ if (isPromise(k = f.apply(this, ax))) {
407
+ return k.then(()=>{
408
+ return this;
409
+ });
410
+ } else {
411
+ return this;
412
+ }
413
+ });
421
414
  };
422
-
423
- exports.proxy = proxy = curry(function (name, ax) {
424
- return function (...bx) {
425
- return this[name].apply(this, [...ax, ...bx]);
426
- };
415
+ map = function(fx) {
416
+ return function({ lengths, length }) {
417
+ lengths = fx.map(function(f) {
418
+ return f.length;
419
+ });
420
+ length = Math.max(...lengths);
421
+ return arity(length, function(...args) {
422
+ var f, j, len, results;
423
+ results = [];
424
+ for(j = 0, len = fx.length; j < len; j++){
425
+ f = fx[j];
426
+ results.push(f.apply(this, args));
427
+ }
428
+ return results;
429
+ });
430
+ }({});
431
+ };
432
+ proxy = curry(function(name, ax) {
433
+ return function(...bx) {
434
+ return this[name].apply(this, [
435
+ ...ax,
436
+ ...bx
437
+ ]);
438
+ };
427
439
  });
428
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9mdW5jdGlvbi5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUEsQ0FBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsTUFBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsT0FBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsTUFBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsUUFBQTtBQUFBLElBQUEsUUFBQTtBQUFBLElBQUEsU0FBQTtBQUFBLElBQUEsT0FBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsT0FBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsUUFBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsTUFBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsVUFBQTtBQUFBLElBQUEsR0FBQTtBQUFBLElBQUEsT0FBQTtBQUFBLElBQUEsS0FBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsSUFBQTtBQUFBLElBQUEsTUFBQSxHQUFBLEdBQUEsTUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQkFBQSxRQUFBLEdBQVcsVUFBQSxDQUFBLEVBQUE7U0FBTyxDO0FBQVAsQ0FBWDs7QUFFQSxlQUFBLElBQUEsR0FBTyxVQUFBLENBQUEsRUFBQTtTQUFPLFlBQUE7V0FBRyxDO0FBQUgsRztBQUZkLENBRUEsQzs7OztBQUlBLGdCQUFBLEtBQUEsR0FBUyxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7QUFDUCxVQUFBLENBQUE7QUFBQSxTQUFBLENBQUE7YUFFSSxVQUFBLEdBQUEsRUFBQSxFQUFBO2VBQVcsQ0FBQyxDQUFELEtBQUEsQ0FBQSxJQUFBLEVBQUEsRUFBQSxDO0FBQVgsTzs7QUFGSixTQUFBLENBQUE7YUFJSSxVQUFBLEVBQUEsRUFB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QUMsQ0FBRCxLQUFBLENBQUEsQ0FBQSxFQUFBLElBQUEsQztBQUE1QyxHQUFzQixDQUF0QixDO0FBQVAsQ0FBVDs7QUFFQSxlQUFBLElBQUEsR0FBTyxLQUFBLENBQU0sVUFBQSxJQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsRUFBQTtTQUFzQixNQUFNLENBQUEsSUFBQSxDQUFOLENBQUEsS0FBQSxDQUFBLE1BQUEsRUFBQSxFQUFBLEM7QUFBNUIsQ0FBQSxDQUFQOztBQUVBLFNBQUEsR0FBWSxVQUFBLENBQUEsRUFBQTtTQUFPLENBQUEsWUFBYSxPO0FBQXBCLENBQVo7O0FBRUEsZ0JBQUEsS0FBQSxHQUFRLFVBQUEsQ0FBQSxFQUFBO1NBQ04sS0FBQSxDQUFPLElBQUksQ0FBSixHQUFBLENBQVMsQ0FBQyxDQUFWLE1BQUEsRUFBUCxDQUFPLENBQVAsRUFBOEIsVUFBQSxHQUFBLEVBQUEsRUFBQTtBQUNoQyxRQUFBLENBQUEsRUFBQSxJQUFBO0FBQUksSUFBQSxJQUFBLEdBQU8sSUFBUDs7QUFDQSxRQUFJLFNBQUEsQ0FBVyxDQUFBLEdBQUssQ0FBQyxDQUFELEtBQUEsQ0FBQSxJQUFBLEVBQXBCLEVBQW9CLENBQWhCLENBQUosRUFBQTthQUNFLENBQUMsQ0FBRCxJQUFBLENBQU8sWUFBQTtlQUFHLEk7QUFEWixPQUNFLEM7QUFERixLQUFBLE1BQUE7YUFBQSxJOztBQUZGLEdBQUEsQztBQURNLENBQVI7O0FBUUEsZ0JBQUEsS0FBQSxHQUFRLEtBQUEsQ0FBTSxVQUFBLElBQUEsRUFBQSxFQUFBLEVBQUE7U0FDWixVQUFBLEdBQUEsRUFBQSxFQUFBO1dBQVcsS0FBQyxJQUFELEVBQUEsS0FBQSxDQUFBLElBQUEsRUFBaUIsQ0FBRSxHQUFGLEVBQUEsRUFBUyxHQUExQixFQUFpQixDQUFqQixDO0FBQVgsRztBQURNLENBQUEsQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImlkZW50aXR5ID0gKHgpIC0+IHhcblxud3JhcCA9ICh4KSAtPiAtPiB4XG5cbiMgQmFzZWQgb24gX2FyaXR5IGZyb20gUmFtYmRhOlxuIyBodHRwczovL2dpdGh1Yi5jb20vcmFtZGEvcmFtZGEvYmxvYi92MC4yNi4xL3NvdXJjZS9pbnRlcm5hbC9fYXJpdHkuanNcbmFyaXR5ICA9IChOLCBmKSAtPlxuICBzd2l0Y2ggTlxuICAgIHdoZW4gMFxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4XG4gICAgd2hlbiAxXG4gICAgICAoYTApIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAyXG4gICAgICAoYTAsIGExKSAgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDNcbiAgICAgIChhMCwgYTEsIGEyKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gNFxuICAgICAgKGEwLCBhMSwgYTIsIGEzKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gNVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDZcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gN1xuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gOFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICBlbHNlXG4gICAgICB0aHJvdyBuZXcgRXJyb3IgXCJGaXJzdCBhcmd1bWVudCB0byBhcml0eSBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCAxMCwgaW5jbHVzaXZlLlwiXG5cbnVuYXJ5ID0gKGYpIC0+IGFyaXR5IDEsIGZcblxuYmluYXJ5ID0gKGYpIC0+IGFyaXR5IDIsIGZcblxudGVybmFyeSA9IChmKSAtPiBhcml0eSAzLCBmXG5cbmZsaXAgPSAoZikgLT5cbiAgc3dpdGNoIGYubGVuZ3RoXG4gICAgd2hlbiAwXG4gICAgICBmXG4gICAgd2hlbiAxXG4gICAgICAoYTApIC0+IGYuY2FsbCBALCBhMFxuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuY2FsbCBALCBhMSwgYTBcbiAgICB3aGVuIDNcbiAgICAgIChhMCwgYTEsIGEyKSAtPiBmLmNhbGwgQCwgYTIsIGExLCBhMFxuICAgIHdoZW4gNFxuICAgICAgKGEwLCBhMSwgYTIsIGEzKSAtPiBmLmNhbGwgQCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuY2FsbCBALCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDZcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSAtPiBmLmNhbGwgQCwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gN1xuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KSAtPiBmLmNhbGwgQCwgYTYsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gOFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNykgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gOVxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiAxMFxuICAgICAgKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgsIGE5KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTksIGE4LCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICBlbHNlXG4gICAgICAoYXguLi4pIC0+IGYuYXBwbHkgQCwgYXgucmV2ZXJzZSgpXG5cbmN1cnJ5ID0gKGYpIC0+XG4gIGFyaXR5IGYubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgc2VsZiA9IEBcbiAgICBpZiBheC5sZW5ndGggPj0gZi5sZW5ndGhcbiAgICAgIGYuYXBwbHkgc2VsZiwgYXhcbiAgICBlbHNlXG4gICAgICBsZW5ndGggPSBmLmxlbmd0aCAtIGF4Lmxlbmd0aFxuICAgICAgaWYgbGVuZ3RoID09IDFcbiAgICAgICAgKHgpIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgeCBdXG4gICAgICBlbHNlXG4gICAgICAgIGN1cnJ5IGFyaXR5IGxlbmd0aCwgKGJ4Li4uKSAtPiBmLmFwcGx5IHNlbGYsIFsgYXguLi4sIGJ4Li4uIF1cblxuXyA9IHt9XG5cbnN1YnN0aXR1dGUgPSBjdXJyeSAoYXgsIGJ4KSAtPlxuICBpID0gMFxuICBmb3IgYSBpbiBheFxuICAgIGlmIGEgPT0gX1xuICAgICAgYnhbaSsrXVxuICAgIGVsc2VcbiAgICAgIGFcblxucGFydGlhbCA9IChmLCBheCkgLT5cbiAgbiA9IDBcbiAgZm9yIGEgaW4gYXggd2hlbiBhID09IF9cbiAgICBuKytcbiAgYXJpdHkgbiwgKGJ4Li4uKSAtPiBmIChzdWJzdGl0dXRlIGF4LCBieCkuLi5cblxuc3ByZWFkID0gKGYpIC0+IChheCkgLT4gZiBheC4uLlxuXG5zdGFjayA9IChmKSAtPiAoYXguLi4pIC0+IGYgYXhcblxuIyBJbnNwaXJlZCBieSBSYW1iZGE6IGh0dHBzOi8vcmFtZGFqcy5jb20vZG9jcy8jcGlwZVdpdGhcbnBpcGVXaXRoID0gY3VycnkgKGMsIGZ4KSAtPlxuICBneCA9ICgoYyBmKSBmb3IgZiBpbiBmeClcbiAgYXJpdHkgZnhbMF0ubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgZm9yIGYsIGkgaW4gZ3hcbiAgICAgIGF4ID0gWyBmIGF4Li4uIF1cbiAgICBheFswXVxuXG5waXBlID0gcGlwZVdpdGggaWRlbnRpdHlcblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxud2FpdCA9IChmKSAtPlxuICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgIFByb21pc2UuYWxsIGF4XG4gICAgICAudGhlbiAoYXgpIC0+IGYgYXguLi5cblxuZmxvdyA9IHBpcGVXaXRoIHdhaXRcblxuZmxvd1dpdGggPSBjdXJyeSAoYywgZngpIC0+IHBpcGVXaXRoIChwaXBlIFsgYywgd2FpdCBdKSwgZnhcblxudGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChhLCBieC4uLikgLT5cbiAgICBzZWxmID0gQFxuICAgIGlmIChrID0gKGYuYXBwbHkgc2VsZiwgWyBhLCBieC4uLiBdKSk/LnRoZW4/XG4gICAgICBrLnRoZW4gLT4gYVxuICAgIGVsc2VcbiAgICAgIGFcblxucnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYXguLi4sIGIpIC0+XG4gICAgc2VsZiA9IEBcbiAgICBpZiAoayA9IChmLmFwcGx5IHNlbGYsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGFwcGx5IGYsIGF4KVxuXG5tZW1vaXplID0gKGYpIC0+XG4gIGRvIChjYWNoZSA9IHt9KSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLCAoYXguLi4pIC0+XG4gICAgICBjYWNoZVsgSlNPTi5zdHJpbmdpZnkgYXggXSA/PSBhcHBseSBmLCBheFxuXG5hcHBseSA9IGN1cnJ5IChmLCBheCkgLT4gKGYgYXguLi4pXG5cbmJpbmQgPSBjdXJyeSAoZiwgeCkgLT4gZi5iaW5kIHhcblxuZGV0YWNoID0gKGYpIC0+IGFyaXR5IChmLmxlbmd0aCArIDEpLCBjdXJyeSAoeCwgYXJncy4uLikgLT4gZi5hcHBseSB4LCBhcmdzXG5cbnNlbmQgPSBjdXJyeSAobmFtZSwgYXgsIG9iamVjdCkgLT4gb2JqZWN0W25hbWVdLmFwcGx5IG9iamVjdCwgYXhcblxuaXNQcm9taXNlID0gKGspIC0+IGsgaW5zdGFuY2VvZiBQcm9taXNlXG5cbmNoYWluID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLikgLT5cbiAgICBzZWxmID0gQFxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBzZWxmLCBheCkpKVxuICAgICAgay50aGVuIC0+IHNlbGZcbiAgICBlbHNlXG4gICAgICBzZWxmXG5cbnByb3h5ID0gY3VycnkgKG5hbWUsIGF4KSAtPlxuICAoYnguLi4pIC0+IEBbbmFtZV0uYXBwbHkgQCwgWyBheC4uLiwgYnguLi4gXVxuXG5leHBvcnQge1xuICBpZGVudGl0eVxuICB3cmFwXG4gIGFyaXR5XG4gIHVuYXJ5XG4gIGJpbmFyeVxuICB0ZXJuYXJ5XG4gIGZsaXBcbiAgY3VycnlcbiAgX1xuICBzdWJzdGl0dXRlXG4gIHBhcnRpYWxcbiAgc3ByZWFkXG4gIHN0YWNrXG4gIHBpcGVXaXRoXG4gIHBpcGVcbiAgY29tcG9zZVxuICB3YWl0XG4gIGZsb3dcbiAgZmxvd1dpdGhcbiAgdGVlXG4gIHJ0ZWVcbiAgb25jZVxuICBtZW1vaXplXG4gIGFwcGx5XG4gIGJpbmRcbiAgZGV0YWNoXG4gIHNlbmRcbiAgY2hhaW5cbiAgcHJveHlcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
429
- //# sourceURL=src/function.coffee
440
+ const _default = {
441
+ identity,
442
+ wrap,
443
+ arity,
444
+ unary,
445
+ binary,
446
+ ternary,
447
+ flip,
448
+ curry,
449
+ _,
450
+ substitute,
451
+ partial,
452
+ spread,
453
+ stack,
454
+ pipe,
455
+ compose,
456
+ wait,
457
+ flow,
458
+ bpipe,
459
+ bcompose,
460
+ bflow,
461
+ tee,
462
+ rtee,
463
+ once,
464
+ memoize,
465
+ apply,
466
+ bind,
467
+ detach,
468
+ send,
469
+ chain,
470
+ map,
471
+ proxy
472
+ };
473
+
474
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvZnVuY3Rpb24uY29mZmVlIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG4jIEJhc2VkIG9uIF9hcml0eSBmcm9tIFJhbWJkYTpcbiMgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvdjAuMjYuMS9zb3VyY2UvaW50ZXJuYWwvX2FyaXR5LmpzXG5hcml0eSAgPSAoTiwgZikgLT5cbiAgc3dpdGNoIE5cbiAgICB3aGVuIDBcbiAgICAgIChheC4uLikgLT4gZi5hcHBseSBALCBheFxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA5XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDEwXG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTkpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgZWxzZVxuICAgICAgdGhyb3cgbmV3IEVycm9yIFwiRmlyc3QgYXJndW1lbnQgdG8gYXJpdHkgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAsIGluY2x1c2l2ZS5cIlxuXG51bmFyeSA9IChmKSAtPiBhcml0eSAxLCBmXG5cbmJpbmFyeSA9IChmKSAtPiBhcml0eSAyLCBmXG5cbnRlcm5hcnkgPSAoZikgLT4gYXJpdHkgMywgZlxuXG5mbGlwID0gKGYpIC0+XG4gIHN3aXRjaCBmLmxlbmd0aFxuICAgIHdoZW4gMFxuICAgICAgZlxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmNhbGwgQCwgYTBcbiAgICB3aGVuIDJcbiAgICAgIChhMCwgYTEpICAtPiBmLmNhbGwgQCwgYTEsIGEwXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5jYWxsIEAsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5jYWxsIEAsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA1XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0KSAtPiBmLmNhbGwgQCwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5jYWxsIEAsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5jYWxsIEAsIGE2LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTgsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE5LCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgZWxzZVxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4LnJldmVyc2UoKVxuXG5jdXJyeSA9IChmKSAtPlxuICBpZiBmLmxlbmd0aCA+IDFcbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgc2VsZiA9IEBcbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBmLmxlbmd0aFxuICAgICAgICBmLmFwcGx5IHNlbGYsIGF4XG4gICAgICBlbHNlXG4gICAgICAgIGxlbmd0aCA9IGYubGVuZ3RoIC0gYXgubGVuZ3RoXG4gICAgICAgIGlmIGxlbmd0aCA9PSAxXG4gICAgICAgICAgKHgpIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgeCBdXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBjdXJyeSBhcml0eSBsZW5ndGgsIChieC4uLikgLT4gZi5hcHBseSBzZWxmLCBbIGF4Li4uLCBieC4uLiBdXG4gIGVsc2UgZlxuXG5fID0ge31cblxuc3Vic3RpdHV0ZSA9IGN1cnJ5IChheCwgYngpIC0+XG4gIGkgPSAwXG4gIGZvciBhIGluIGF4XG4gICAgaWYgYSA9PSBfXG4gICAgICBieFtpKytdXG4gICAgZWxzZVxuICAgICAgYVxuXG5wYXJ0aWFsID0gKGYsIGF4KSAtPlxuICBuID0gMFxuICBmb3IgYSBpbiBheCB3aGVuIGEgPT0gX1xuICAgIG4rK1xuICBhcml0eSBuLCAoYnguLi4pIC0+IGYgKHN1YnN0aXR1dGUgYXgsIGJ4KS4uLlxuXG5zcHJlYWQgPSAoZikgLT4gKGF4KSAtPiBmIGF4Li4uXG5cbnN0YWNrID0gKGYpIC0+IChheC4uLikgLT4gZiBheFxuXG5waXBlID0gKFsgZiwgZ3guLi4gXSkgLT5cbiAgaWYgZ3gubGVuZ3RoID09IDBcbiAgICBmID8gaWRlbnRpdHlcbiAgZWxzZVxuICAgIGRvICh7IGcgfSA9IHt9KSAtPlxuICAgICAgZyA9IHBpcGUgZ3hcbiAgICAgIGFyaXR5ICggZi5sZW5ndGggKSwgKCBhcmdzLi4uICkgLT5cbiAgICAgICAgZG8gKHsgc2VsZiwgeCB9ID0geyBzZWxmOiBAIH0pIC0+XG4gICAgICAgICAgeCA9IGYuYXBwbHkgc2VsZiwgYXJnc1xuICAgICAgICAgIGlmIHg/LnRoZW4/XG4gICAgICAgICAgICB4LnRoZW4gKCBnLmJpbmQgc2VsZiApXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5jYWxsIHNlbGYsIHhcblxuZmxvdyA9IHBpcGVcblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxuYnBpcGUgPSBwaXBlXG5cbmJmbG93ID0gcGlwZVxuXG5iY29tcG9zZSA9IChmeCkgLT4gYnBpcGUgZngucmV2ZXJzZSgpXG5cbndhaXQgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICBQcm9taXNlLmFsbCBheFxuICAgICAgLnRoZW4gKGF4KSAtPiBmIGF4Li4uXG5cbnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYSwgYnguLi4pIC0+XG4gICAgaWYgKGsgPSAoZi5hcHBseSBALCBbIGEsIGJ4Li4uIF0pKT8udGhlbj9cbiAgICAgIGsudGhlbiAtPiBhXG4gICAgZWxzZVxuICAgICAgYVxuXG5ydGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLiwgYikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGYuYXBwbHkgQCwgYXgpXG5cbm1lbW9pemUgPSAoZikgLT5cbiAgZG8gKGNhY2hlID0ge30pIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIGNhY2hlWyBKU09OLnN0cmluZ2lmeSBheCBdID89IGYuYXBwbHkgQCwgYXhcblxuYXBwbHkgPSBjdXJyeSAoZiwgYXgpIC0+IGYuYXBwbHkgbnVsbCwgYXhcblxuYmluZCA9IGN1cnJ5IChmLCB4KSAtPiBmLmJpbmQgeFxuXG5kZXRhY2ggPSAoZikgLT5cbiAgY3VycnkgYXJpdHkgKGYubGVuZ3RoICsgMSksIFxuICAgICh4LCBhcmdzLi4uKSAtPiBmLmFwcGx5IHgsIGFyZ3Ncblxuc2VuZCA9IGN1cnJ5IChuYW1lLCBheCwgb2JqZWN0KSAtPiBvYmplY3RbbmFtZV0uYXBwbHkgb2JqZWN0LCBheFxuXG5pc1Byb21pc2UgPSAoaykgLT4gayBpbnN0YW5jZW9mIFByb21pc2VcblxuY2hhaW4gPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uKSAtPlxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBALCBheCkpKVxuICAgICAgay50aGVuID0+IEBcbiAgICBlbHNlXG4gICAgICBAXG5cbm1hcCA9ICggZnggKSAtPlxuICBkbyAoeyBsZW5ndGhzLCBsZW5ndGggfSA9IHt9KSAtPlxuICAgIGxlbmd0aHMgPSBmeC5tYXAgKCBmICkgLT4gZi5sZW5ndGhcbiAgICBsZW5ndGggPSBNYXRoLm1heCBsZW5ndGhzLi4uXG4gICAgYXJpdHkgbGVuZ3RoLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgKCBmLmFwcGx5IEAsIGFyZ3MgKSBmb3IgZiBpbiBmeFxuXG5wcm94eSA9IGN1cnJ5IChuYW1lLCBheCkgLT5cbiAgKGJ4Li4uKSAtPiBAW25hbWVdLmFwcGx5IEAsIFsgYXguLi4sIGJ4Li4uIF1cblxuZXhwb3J0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICBicGlwZVxuICBiY29tcG9zZVxuICBiZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWtNRSxDQVRGOzs7U0FBQTtlQXlCRTs7U0F6QkY7ZUFHRTs7WUFIRjtlQW1CRTs7SUFDQSxLQXBCRjs7O1VBQUE7ZUFLRTs7UUFMRjtlQTBCRTs7U0ExQkY7ZUFrQkU7O0lBV0EsS0E3QkY7OztJQWVFLE9BZkY7OztTQUFBO2VBUUU7O1dBMEJhOzs7OztVQWxDZjtlQTJCRTs7UUEzQkY7ZUFPRTs7UUFQRjtlQWlCRTs7WUFqQkY7ZUFDRTs7T0FERjtlQThC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