rambda 7.5.0 → 8.0.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ 8.0.0
2
+
3
+ - handle falsy values in merge methods - https://github.com/ramda/ramda/pull/3222
4
+
5
+ - `R.head`/`R.last` don't return `undefined` for non-empty arrays
6
+
7
+ - `R.type` supports dates in TS definition - `Rambda` already did support dates in JS.
8
+
9
+ - Improve typings of `R.endsWith/startsWith` with regard to `string` input. - [PR #622](https://github.com/selfrefactor/rambda/pull/622)
10
+
11
+ - Handle list as falsy value in `R.reduce` - [Ramda MR](https://github.com/ramda/ramda/pull/2997/files)
12
+
13
+ - `R.nop` is removed - it will be moved to `Rambdax` as `R.noop`
14
+
15
+ - `R.includes` is no longer using string literal in Typescript definitions
16
+
17
+ > Reason for breaking change - synchronize with Ramda `0.29.0` release:
18
+
19
+ - change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files)
20
+
21
+
1
22
  7.5.0
2
23
 
3
24
  - IMPORTANT: Remove `export` property in `package.json` in order to allow `Rambda` support for projects with `"type": "module"` in `package.json` - [Issue #667](https://github.com/selfrefactor/rambda/issues/657)
package/README.md CHANGED
@@ -61,12 +61,6 @@ R.add(1)('foo') // => will trigger warning in VSCode
61
61
  Ramda.add(1)('foo') // => will not trigger warning in VSCode
62
62
  ```
63
63
 
64
- ### Smaller size
65
-
66
- The size of a library affects not only the build bundle size but also the dev bundle size and build time. This is important advantage, expecially for big projects.
67
-
68
- <!-- ### Tree-shaking -->
69
-
70
64
  ### Dot notation for `R.path`, `R.paths`, `R.assocPath` and `R.lensPath`
71
65
 
72
66
  Standard usage of `R.path` is `R.path(['a', 'b'], {a: {b: 1} })`.
@@ -102,11 +96,12 @@ Closing the issue is usually accompanied by publishing a new patch version of `R
102
96
 
103
97
  <details>
104
98
  <summary>
105
- Click to see the full list of 76 Ramda methods not implemented in Rambda
99
+ Click to see the full list of 80 Ramda methods not implemented in Rambda
106
100
  </summary>
107
101
 
108
102
  - __
109
103
  - addIndex
104
+ - addIndexRight
110
105
  - ap
111
106
  - aperture
112
107
  - applyTo
@@ -121,6 +116,7 @@ Closing the issue is usually accompanied by publishing a new patch version of `R
121
116
  - descend
122
117
  - differenceWith
123
118
  - dissocPath
119
+ - dropRepeatsBy
124
120
  - empty
125
121
  - eqBy
126
122
  - forEachObjIndexed
@@ -134,6 +130,7 @@ Closing the issue is usually accompanied by publishing a new patch version of `R
134
130
  - invert
135
131
  - invertObj
136
132
  - invoker
133
+ - isNotNil
137
134
  - keysIn
138
135
  - lift
139
136
  - liftN
@@ -166,6 +163,7 @@ Closing the issue is usually accompanied by publishing a new patch version of `R
166
163
  - sequence
167
164
  - sortWith
168
165
  - splitWhenever
166
+ - swap
169
167
  - symmetricDifferenceWith
170
168
  - andThen
171
169
  - toPairsIn
@@ -239,7 +237,7 @@ There are methods which are benchmarked only with `Ramda` and `Rambda`(i.e. no `
239
237
 
240
238
  Note that some of these methods, are called with and without curring. This is done in order to give more detailed performance feedback.
241
239
 
242
- The benchmarks results are produced from latest versions of *Rambda*, *Lodash*(4.17.21) and *Ramda*(0.28.0).
240
+ The benchmarks results are produced from latest versions of *Rambda*, *Lodash*(4.17.21) and *Ramda*(0.29.0).
243
241
 
244
242
  </summary>
245
243
 
@@ -315,6 +313,8 @@ method | Rambda | Ramda | Lodash
315
313
 
316
314
  ## ❯ Used by
317
315
 
316
+ - [ESLint plugin Mocha](https://www.npmjs.com/package/eslint-plugin-mocha)
317
+
318
318
  - [WatermelonDB](https://github.com/Nozbe/WatermelonDB)
319
319
 
320
320
  - [Walmart Canada](https://www.walmart.ca) reported by [w-b-dev](https://github.com/w-b-dev)
@@ -17050,6 +17050,26 @@ describe('R.zipWith', () => {
17050
17050
 
17051
17051
  ## ❯ CHANGELOG
17052
17052
 
17053
+ 8.0.0
17054
+
17055
+ - handle falsy values in merge methods - https://github.com/ramda/ramda/pull/3222
17056
+
17057
+ - `R.head`/`R.last` don't return `undefined` for non-empty arrays
17058
+
17059
+ - `R.type` supports dates in TS definition - `Rambda` already did support dates in JS.
17060
+
17061
+ - Improve typings of `R.endsWith/startsWith` with regard to `string` input. - [PR #622](https://github.com/selfrefactor/rambda/pull/622)
17062
+
17063
+ - Handle list as falsy value in `R.reduce` - [Ramda MR](https://github.com/ramda/ramda/pull/2997/files)
17064
+
17065
+ - `R.nop` is removed - it will be moved to `Rambdax` as `R.noop`
17066
+
17067
+ - `R.includes` is no longer using string literal in Typescript definitions
17068
+
17069
+ > Reason for breaking change - synchronize with Ramda `0.29.0` release:
17070
+
17071
+ - change order of `R.propEq` - [Ramda MR](https://github.com/ramda/ramda/pull/2938/files)
17072
+
17053
17073
  7.5.0
17054
17074
 
17055
17075
  - IMPORTANT: Remove `export` property in `package.json` in order to allow `Rambda` support for projects with `"type": "module"` in `package.json` - [Issue #667](https://github.com/selfrefactor/rambda/issues/657)
package/dist/rambda.js CHANGED
@@ -324,6 +324,9 @@ class ReduceStopper {
324
324
  }
325
325
  }
326
326
  function reduceFn(reducer, acc, list) {
327
+ if (list == null) {
328
+ return acc;
329
+ }
327
330
  if (!isArray(list)) {
328
331
  throw new TypeError('reduce: list must be array or iterable');
329
332
  }
@@ -1109,11 +1112,7 @@ function createPath(path, delimiter = '.') {
1109
1112
  return typeof path === 'string' ? path.split(delimiter) : path;
1110
1113
  }
1111
1114
 
1112
- function path(pathInput, obj) {
1113
- if (arguments.length === 1) return _obj => path(pathInput, _obj);
1114
- if (obj === null || obj === undefined) {
1115
- return undefined;
1116
- }
1115
+ function pathFn(pathInput, obj) {
1117
1116
  let willReturn = obj;
1118
1117
  let counter = 0;
1119
1118
  const pathArrValue = createPath(pathInput);
@@ -1127,6 +1126,13 @@ function path(pathInput, obj) {
1127
1126
  }
1128
1127
  return willReturn;
1129
1128
  }
1129
+ function path(pathInput, obj) {
1130
+ if (arguments.length === 1) return _obj => path(pathInput, _obj);
1131
+ if (obj === null || obj === undefined) {
1132
+ return undefined;
1133
+ }
1134
+ return pathFn(pathInput, obj);
1135
+ }
1130
1136
 
1131
1137
  function hasPath(pathInput, obj) {
1132
1138
  if (arguments.length === 1) {
@@ -1404,7 +1410,9 @@ function mergeLeft(x, y) {
1404
1410
  return mergeRight(y, x);
1405
1411
  }
1406
1412
 
1407
- function mergeWithFn(mergeFn, a, b) {
1413
+ function mergeWithFn(mergeFn, aInput, bInput) {
1414
+ const a = aInput !== null && aInput !== void 0 ? aInput : {};
1415
+ const b = bInput !== null && bInput !== void 0 ? bInput : {};
1408
1416
  const willReturn = {};
1409
1417
  Object.keys(a).forEach(key => {
1410
1418
  if (b[key] === undefined) {
@@ -1457,6 +1465,7 @@ function _objectSpread2(target) {
1457
1465
  return target;
1458
1466
  }
1459
1467
  function _defineProperty(obj, key, value) {
1468
+ key = _toPropertyKey(key);
1460
1469
  if (key in obj) {
1461
1470
  Object.defineProperty(obj, key, {
1462
1471
  value: value,
@@ -1469,6 +1478,20 @@ function _defineProperty(obj, key, value) {
1469
1478
  }
1470
1479
  return obj;
1471
1480
  }
1481
+ function _toPrimitive(input, hint) {
1482
+ if (typeof input !== "object" || input === null) return input;
1483
+ var prim = input[Symbol.toPrimitive];
1484
+ if (prim !== undefined) {
1485
+ var res = prim.call(input, hint || "default");
1486
+ if (typeof res !== "object") return res;
1487
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1488
+ }
1489
+ return (hint === "string" ? String : Number)(input);
1490
+ }
1491
+ function _toPropertyKey(arg) {
1492
+ var key = _toPrimitive(arg, "string");
1493
+ return typeof key === "symbol" ? key : String(key);
1494
+ }
1472
1495
 
1473
1496
  function isIterable(input) {
1474
1497
  return Array.isArray(input) || type(input) === 'Object';
@@ -1536,8 +1559,6 @@ function none(predicate, list) {
1536
1559
  return true;
1537
1560
  }
1538
1561
 
1539
- function nop() {}
1540
-
1541
1562
  function not(input) {
1542
1563
  return !input;
1543
1564
  }
@@ -1731,7 +1752,7 @@ function prepend(x, input) {
1731
1752
 
1732
1753
  const product = reduce(multiply, 1);
1733
1754
 
1734
- function propEqFn(propToFind, valueToMatch, obj) {
1755
+ function propEqFn(valueToMatch, propToFind, obj) {
1735
1756
  if (!obj) return false;
1736
1757
  return equals(valueToMatch, prop(propToFind, obj));
1737
1758
  }
@@ -1893,20 +1914,20 @@ function splitWhen(predicate, input) {
1893
1914
  return [preFound, postFound];
1894
1915
  }
1895
1916
 
1896
- function startsWith(target, iterable) {
1897
- if (arguments.length === 1) return _iterable => startsWith(target, _iterable);
1917
+ function startsWith(question, iterable) {
1918
+ if (arguments.length === 1) return _iterable => startsWith(question, _iterable);
1898
1919
  if (typeof iterable === 'string') {
1899
- return iterable.startsWith(target);
1920
+ return iterable.startsWith(question);
1900
1921
  }
1901
- if (!isArray(target)) return false;
1922
+ if (!isArray(question)) return false;
1902
1923
  let correct = true;
1903
- const filtered = target.filter((x, index) => {
1924
+ const filtered = question.filter((x, index) => {
1904
1925
  if (!correct) return false;
1905
1926
  const result = equals(x, iterable[index]);
1906
1927
  if (!result) correct = false;
1907
1928
  return result;
1908
1929
  });
1909
- return filtered.length === target.length;
1930
+ return filtered.length === question.length;
1910
1931
  }
1911
1932
 
1912
1933
  function subtract(a, b) {
@@ -2318,7 +2339,6 @@ exports.move = move;
2318
2339
  exports.multiply = multiply;
2319
2340
  exports.negate = negate;
2320
2341
  exports.none = none;
2321
- exports.nop = nop;
2322
2342
  exports.not = not;
2323
2343
  exports.nth = nth;
2324
2344
  exports.objOf = objOf;
@@ -2335,6 +2355,7 @@ exports.partitionArray = partitionArray;
2335
2355
  exports.partitionObject = partitionObject;
2336
2356
  exports.path = path;
2337
2357
  exports.pathEq = pathEq;
2358
+ exports.pathFn = pathFn;
2338
2359
  exports.pathOr = pathOr;
2339
2360
  exports.paths = paths;
2340
2361
  exports.pick = pick;
@@ -1 +1 @@
1
- !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function a(n){return Array.prototype.slice.call(n)}function _(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function u(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?_(Object(t),!0).forEach(function(n){i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function l(n){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function B(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function C(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,e.key,e)}}function U(n,r,t){return r&&C(n.prototype,r),t&&C(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(n,r,t){return r in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i=[],o=!0,f=!1;try{for(t=t.call(n);!(o=(e=t.next()).done)&&(i.push(e.value),!r||i.length!==r);o=!0);}catch(n){f=!0,u=n}finally{try{o||null==t.return||t.return()}finally{if(f)throw u}}return i}}(n,r)||D(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||D(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function f(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(h(i),t)).length<u.length?f(u,n):u.apply(void 0,h(n))}}var L=f(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=a(t))[e]=r(n[e]),n)});function z(r){return function(n){return r}}var s=Array.isArray;function c(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===l(n[r])&&(t=Math.max(t,c(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function p(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}var g=f(function(n,r,t){return Object.assign({},t,i({},n,r))});var y=Number.isInteger||function(n){return n<<0===n};var M=f(function n(r,t,e){var u,i,r="string"==typeof r?r.split(".").map(function(n){return y(+(""+n))?+(""+n):n}):r;return 0===r.length?t:(u=r[0],1<r.length&&(i="object"===l(e)&&null!==e&&e.hasOwnProperty(u)?e[u]:y(r[1])?[]:{},t=n(Array.prototype.slice.call(r,1),t,i)),y(u)&&s(e)?((r=a(e))[u]=t,r):g(u,t,e))});function H(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return H(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?H(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}var $=f(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function v(n){var r,t=s(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===l(e)&&null!==e?e.getTime?new Date(e.getTime()):v(e):e}return t}var G=U(function n(r){B(this,n),this.value=r});function r(n,r,t){if(!s(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof G)return r.value;e++}return r}var d=f(r);function J(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};case 10:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)};default:throw Error("First argument to _arity must be a non-negative integer no greater than ten")}}function K(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Q(){if(0===arguments.length)throw Error("pipe requires at least one argument");return J(arguments[0].length,r(K,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function m(r,n){return 1===arguments.length?function(n){return m(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(h(r),h(n))}var V="Incorrect iterable input",X=Object.keys;function b(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function w(r,n){if(1===arguments.length)return function(n){return w(r,n)};for(var t=0,e=X(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var Y=w;function O(r,n){if(1===arguments.length)return function(n){return O(r,n)};if(n)return(s(n)?b:w)(r,n);throw Error(V)}function Z(r,n){return 1===arguments.length?function(n){return Z(r,n)}:r<n?n:r}function j(r,n){return 1===arguments.length?function(n){return j(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function E(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function nn(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)N(r[e],n)&&(u=e);return u}function A(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)N(r[e],n)&&(u=e);return u}function rn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function tn(n){var r=""+n.__proto__;return["Error","TypeError"].includes(r)?[r,n.message]:[]}function en(n){return n.toDateString?[!0,n.getTime()]:[!1]}function un(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function N(t,e){var n,u,i,r,o,f,c;return 1===arguments.length?function(n){return N(t,n)}:(n=E(t))===E(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Undefined","Null"].includes(n)||("Number"===n?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["String","Boolean"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||N(n,u[r])||(i=!1)}),i):(r=un(t),f=un(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=en(t),f=en(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=tn(t),f=tn(e),r[0]?!!f[0]&&r[0]===f[0]&&r[1]===f[1]:"Set"===n?(r=t).size===(f=e).size&&(r=rn(r.values()),o=rn(f.values()),0===r.filter(function(n){return-1===A(n,o)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(c=!0,f.forEach(function(n){var r;c&&(r=t[n])!==(n=e[n])&&!N(r,n)&&(c=!1)}),c))))))}function x(r,n){if(1===arguments.length)return function(n){return x(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!s(n)&&-1<A(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var on=function(){function n(){B(this,n),this.set=new Set,this.items={}}return U(n,[{key:"checkUniqueness",value:function(n){var r=E(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===A(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}]),n}();function fn(n){var r=new on,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function k(r,n){return 1===arguments.length?function(n){return k(r,n)}:n.slice(0<r?r:0)}function P(r,n){return 1===arguments.length?function(n){return P(r,n)}:n?n[r]:void 0}var cn=f(function(n,r,t){return N(P(n,r),P(n,t))});function an(t,n){return b(function(n,r){return"Function"===E(t[r])?t[r](n):n},n,!0)}function ln(e,n){return w(function(n,r){var t;return"Object"===E(n)?"Function"===(t=E(e[r]))?e[r](n):"Object"===t?hn(e[r],n):n:"Function"===E(e[r])?e[r](n):n},n)}function hn(r,n){if(1===arguments.length)return function(n){return hn(r,n)};var t=E(r),e=E(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?ln:an)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function sn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function pn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=r.length,i=[];e<u;)(t?n(r[e],e):n(r[e]))&&i.push(r[e]),e++;return i}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if(n)return s(n)?pn(r,n,!1):sn(r,n);throw Error("Incorrect iterable input")}function T(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:"."):n}function F(r,n){if(1===arguments.length)return function(n){return F(r,n)};if(null!=n){for(var t=n,e=0,u=T(r);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}}var gn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var yn=f(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function vn(n,r,t){for(var e=-1,u=n.length,i=((t=u<t?u:t)<0&&(t+=u),u=t<r?0:t-r>>>0,r>>>=0,Array(u));++e<u;)i[e]=n[e+r];return i}function dn(r,n){return 1===arguments.length?function(n){return dn(r,n)}:null!=n&&n.constructor===r||n instanceof r}function I(t,e){return function(n){return function(r){return n(t(r)).map(function(n){return e(n,r)})}}}function mn(r,n){var t;return 1===arguments.length?function(n){return mn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function bn(n,r,t){t=a(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var wn=f(bn);function On(n,r,t){return n(t)>n(r)?t:r}var jn=f(On);function En(n){return n.reduce(function(n,r){return n+r},0)}function An(n){return En(n)/n.length}function q(r,n){return 1===arguments.length?function(n){return q(r,n)}:Object.assign({},r||{},n||{})}function R(r,t){var e;return 1===arguments.length?function(n){return R(r,n)}:(e=v(r),Object.keys(t).forEach(function(n){"Object"===E(t[n])&&"Object"===E(r[n])?e[n]=R(r[n],t[n]):e[n]=t[n]}),e)}var Nn=f(function(r,t,e){var u={};return Object.keys(t).forEach(function(n){u[n]=void 0===e[n]?t[n]:r(t[n],e[n])}),Object.keys(e).forEach(function(n){void 0===u[n]&&(u[n]=void 0===t[n]?e[n]:r(t[n],e[n]))}),u});function xn(n,r,t){return n(t)<n(r)?t:r}var kn=f(xn);var Pn=f(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==E(e)||void 0===t[n]?t:s(t)?bn(n,r(t[n]),t):u(u({},t),{},i({},n,r(t[n])))});function Sn(n,r,t){n=T(n);return 1===n.length?u(u({},t),{},i({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=Tn(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:g(n[0],r,t)}var Tn=f(Sn);var Fn=f(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=a(t))[n]=t[r],e[r]=t[n],e)});function In(r,n){return 1===arguments.length?function(n){return In(r,n)}:r*n}function qn(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function Rn(r){return{x:r,map:function(n){return Rn(n(r))}}}var Wn=f(function(n,r,t){return n(function(n){return Rn(r(n))})(t).x});function _n(e){for(var n=arguments.length,u=Array(1<n?n-1:0),r=1;r<n;r++)u[r-1]=arguments[r];var i=e.length;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u.length+r.length<i?_n.apply(void 0,[e].concat([].concat(u,r))):e.apply(void 0,u.concat(r))}}function Bn(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=o(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function Cn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=[],u=[],i=-1;i++<r.length-1;)((t?n(r[i],i):n(r[i]))?e:u).push(r[i]);return[e,u]}var Un=f(function(n,r,t){return N(F(n,t),r)});var Dn=f(function(n,r,t){return j(n,F(r,t))});var Ln=d(In,1);var zn=f(function(n,r,t){return!!t&&N(r,P(n,t))});var Mn=f(function(n,r,t){return dn(n,t[r])});var Hn=f(function(n,r,t){return t?j(n,t[r]):n});var $n=f(function(n,r,t){return n(P(r,t))});function Gn(r,n){if(1===arguments.length)return function(n){return Gn(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var Jn=f(function(n,r,t){return t.replace(n,r)});var Kn=f(function(n,r,t){return Wn(n,z(r),t)});var Qn=f(function(n,r,t){return t.slice(n,r)});function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):vn(n,0,r)}function Vn(n){return["Promise","Function"].includes(E(n))}function Xn(r){return{x:r,map:function(n){return Xn(r)}}}var Yn=f(function(n,r,t){return n(t)?r(t):t});var Zn=f(function(t,n,e){return W((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=c,n._arity=J,n._indexOf=A,n._lastIndexOf=nn,n._pipe=K,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.adjust=L,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=z,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=a(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=c(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,p.apply(void 0,h(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,p.apply(void 0,h(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,p.apply(void 0,h(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,p.apply(void 0,h(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,p.apply(void 0,h(f).concat(r)))};if(s(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==l(i[t])&&!s(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,h(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===l(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,h(f))));return a}(n,r,e)},n.assoc=g,n.assocPath=M,n.bind=function r(e,u){return 1===arguments.length?function(n){return r(e,n)}:t(e.length,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.apply(u,r)})},n.both=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return t.apply(void 0,arguments)&&n.apply(void 0,arguments)}},n.chain=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[]).concat.apply(e,h(n.map(t)))},n.clamp=$,n.clone=v,n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return Q.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.concat=m,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(d(function(n,r){return Z(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,O(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:s(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.curry=f,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=j,n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:fn(t).filter(function(n){return!x(n,e)})},n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=k,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=s(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(l(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(l(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(s(n))return t=[],n.reduce(function(n,r){return N(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(s(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!s(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=N(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqProps=cn,n.equals=N,n.evolve=hn,n.evolveArray=an,n.evolveObject=ln,n.filter=S,n.filterArray=pn,n.filterObject=sn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)s(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(s(n))for(var e=0,u=n.length;e<u;)t(n[e]),e++;else for(var i=0,o=X(n),f=o.length;i<f;){var c=o[i];t(n[c],c,n),i++}return n}},n.fromPairs=function(n){var r={};return n.forEach(function(n){n=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(s(o))return n=a(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=function(n){return"string"==typeof n?n[0]||"":n[0]},n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:gn(t,n)},n.identity=function(n){return n},n.ifElse=yn,n.inc=function(n){return n+1},n.includes=x,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var f=u[o];i[F(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return A(r,n)}:A(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?vn(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return x(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=dn,n.isEmpty=function(n){var r=E(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return nn(r,n)}:nn(r,n)},n.length=function(n){return s(n)||"string"==typeof n?n.length:NaN},n.lens=I,n.lensIndex=function(n){return I(mn(n),wn(n))},n.lensPath=function(n){return I(F(n),M(n))},n.lensProp=function(n){return I(P(n),g(n))},n.map=O,n.mapArray=b,n.mapObjIndexed=Y,n.mapObject=w,n.match=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:null===(n=n.match(t))?[]:n},n.mathMod=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:y(t)&&y(n)&&1<=n?(t%n+n)%n:NaN},n.max=Z,n.maxBy=jn,n.maxByFn=On,n.mean=An,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,An(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=q,n.mergeAll=function(n){var r={};return O(function(n){r=q(r,n)},n),r},n.mergeDeepRight=R,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:q(n,t)},n.mergeRight=q,n.mergeWith=Nn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=kn,n.minByFn=xn,n.modify=Pn,n.modifyPath=Tn,n.modifyPathFn=Sn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=Fn,n.multiply=In,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.nop=function(){},n.not=function(n){return!n},n.nth=mn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:i({},t,n)},n.of=function(n){return[n]},n.omit=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){var e,u=T(t,","),i={};for(e in n)u.includes(e)||(i[e]=n[e]);return i}},n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?f(qn(n,r)):qn(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=Wn,n.partial=_n,n.partialObject=function(r,t){return function(n){return r(R(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(s(n)?Cn:Bn)(t,n)},n.partitionArray=Cn,n.partitionObject=Bn,n.path=F,n.pathEq=Un,n.pathOr=Dn,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return F(n,e)})},n.pick=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)e[i]in n&&(u[e[i]]=n[e[i]]),i++;return u}},n.pickAll=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=Q,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],O(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=Ln,n.prop=P,n.propEq=zn,n.propIs=Mn,n.propOr=Hn,n.propSatisfies=$n,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(s(t))return b(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=Gn,n.reduce=d,n.reduceFn=r,n.reduceStopper=function(n){return new G(n)},n.reject=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return!t(n)},n)},n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=Jn,n.reverse=function(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()},n.set=Kn,n.slice=Qn,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return s(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===E(u)?u():u,i=e||"Function"!==E(i)?i:i(),[W(e=e?u:i,n),k(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!s(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=N(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=En,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:m(S(function(n){return!x(n,e)},t),S(function(n){return!x(n,t)},e))},n.tail=function(n){return k(1,n)},n.take=W,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):vn(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return s(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!y(n)||n<0)throw new RangeError("n must be an integer");return O(t,Gn(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return s(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(Vn(e))return i=Vn(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=E,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=a(t),n.forEach(function(n){x(n,t)||e.push(n)}),e)},n.uniq=fn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new on,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(h(n),Array.isArray(r)?h(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:s(e[t])?b(function(n){return u(u({},e),{},i({},t,n))},e[t]):[e]},n.update=wn,n.updateFn=bn,n.values=function(n){return"Object"!==E(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(Xn)(n).x},n.when=Yn,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=S(function(n,r){return N(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:d(function(n,r){return-1<A(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:W(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=Zn});
1
+ !function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){"use strict";function a(n){return Array.prototype.slice.call(n)}function _(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function u(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?_(Object(t),!0).forEach(function(n){i(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):_(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function l(n){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function B(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function C(n,r){for(var t=0;t<r.length;t++){var e=r[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,L(e.key),e)}}function U(n,r,t){return r&&C(n.prototype,r),t&&C(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(n,r,t){return(r=L(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,f=[],c=!0,a=!1;try{if(i=(t=t.call(n)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(e=i.call(t)).done)&&(f.push(e.value),f.length!==r);c=!0);}catch(n){a=!0,u=n}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(a)throw u}}return f}}(n,r)||D(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||D(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t=Object.prototype.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function L(n){n=function(n,r){if("object"!=typeof n||null===n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:""+n}function f(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(h(i),t)).length<u.length?f(u,n):u.apply(void 0,h(n))}}var z=f(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=a(t))[e]=r(n[e]),n)});function M(r){return function(n){return r}}var s=Array.isArray;function c(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===l(n[r])&&(t=Math.max(t,c(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function p(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}var g=f(function(n,r,t){return Object.assign({},t,i({},n,r))});var y=Number.isInteger||function(n){return n<<0===n};var H=f(function n(r,t,e){var u,i,r="string"==typeof r?r.split(".").map(function(n){return y(+(""+n))?+(""+n):n}):r;return 0===r.length?t:(u=r[0],1<r.length&&(i="object"===l(e)&&null!==e&&e.hasOwnProperty(u)?e[u]:y(r[1])?[]:{},t=n(Array.prototype.slice.call(r,1),t,i)),y(u)&&s(e)?((r=a(e))[u]=t,r):g(u,t,e))});function $(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return $(r,function i(o,f,c){return function(){for(var n=0,r=0,t=f.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=f[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?$(o-u.length,i(o,u,c)):c.apply(this,u)}}(r,[],n))}var G=f(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function v(n){var r,t=s(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===l(e)&&null!==e?e.getTime?new Date(e.getTime()):v(e):e}return t}var J=U(function n(r){B(this,n),this.value=r});function r(n,r,t){if(null!=t){if(!s(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof J)return r.value;e++}}return r}var d=f(r);function K(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,f){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,f,c){return l.apply(this,arguments)};case 10:return function(n,r,t,e,u,i,o,f,c,a){return l.apply(this,arguments)};default:throw Error("First argument to _arity must be a non-negative integer no greater than ten")}}function Q(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function V(){if(0===arguments.length)throw Error("pipe requires at least one argument");return K(arguments[0].length,r(Q,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function m(r,n){return 1===arguments.length?function(n){return m(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(h(r),h(n))}var X="Incorrect iterable input",Y=Object.keys;function b(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function w(r,n){if(1===arguments.length)return function(n){return w(r,n)};for(var t=0,e=Y(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var Z=w;function j(r,n){if(1===arguments.length)return function(n){return j(r,n)};if(n)return(s(n)?b:w)(r,n);throw Error(X)}function nn(r,n){return 1===arguments.length?function(n){return nn(r,n)}:r<n?n:r}function O(r,n){return 1===arguments.length?function(n){return O(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function E(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function rn(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)N(r[e],n)&&(u=e);return u}function A(n,r){if(!s(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=E(n);if(!["Object","Array","NaN","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)N(r[e],n)&&(u=e);return u}function tn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function en(n){var r=""+n.__proto__;return["Error","TypeError"].includes(r)?[r,n.message]:[]}function un(n){return n.toDateString?[!0,n.getTime()]:[!1]}function on(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function N(t,e){var n,u,i,r,o,f,c;return 1===arguments.length?function(n){return N(t,n)}:(n=E(t))===E(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Undefined","Null"].includes(n)||("Number"===n?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["String","Boolean"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||N(n,u[r])||(i=!1)}),i):(r=on(t),f=on(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=un(t),f=un(e),r[0]?!!f[0]&&r[1]===f[1]:!f[0]&&(r=en(t),f=en(e),r[0]?!!f[0]&&r[0]===f[0]&&r[1]===f[1]:"Set"===n?(r=t).size===(f=e).size&&(r=tn(r.values()),o=tn(f.values()),0===r.filter(function(n){return-1===A(n,o)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(c=!0,f.forEach(function(n){var r;c&&(r=t[n])!==(n=e[n])&&!N(r,n)&&(c=!1)}),c))))))}function x(r,n){if(1===arguments.length)return function(n){return x(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!s(n)&&-1<A(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var fn=function(){function n(){B(this,n),this.set=new Set,this.items={}}return U(n,[{key:"checkUniqueness",value:function(n){var r=E(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===A(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}]),n}();function cn(n){var r=new fn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function P(r,n){return 1===arguments.length?function(n){return P(r,n)}:n.slice(0<r?r:0)}function k(r,n){return 1===arguments.length?function(n){return k(r,n)}:n?n[r]:void 0}var an=f(function(n,r,t){return N(k(n,r),k(n,t))});function ln(t,n){return b(function(n,r){return"Function"===E(t[r])?t[r](n):n},n,!0)}function hn(e,n){return w(function(n,r){var t;return"Object"===E(n)?"Function"===(t=E(e[r]))?e[r](n):"Object"===t?sn(e[r],n):n:"Function"===E(e[r])?e[r](n):n},n)}function sn(r,n){if(1===arguments.length)return function(n){return sn(r,n)};var t=E(r),e=E(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?hn:ln)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function pn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function gn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=r.length,i=[];e<u;)(t?n(r[e],e):n(r[e]))&&i.push(r[e]),e++;return i}function S(r,n){if(1===arguments.length)return function(n){return S(r,n)};if(n)return s(n)?gn(r,n,!1):pn(r,n);throw Error("Incorrect iterable input")}function T(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:"."):n}function yn(n,r){for(var t=r,e=0,u=T(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function F(r,n){return 1===arguments.length?function(n){return F(r,n)}:null!=n?yn(r,n):void 0}var vn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var dn=f(function(n,r,t){return function(){return(!0===("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function mn(n,r,t){for(var e=-1,u=n.length,i=((t=u<t?u:t)<0&&(t+=u),u=t<r?0:t-r>>>0,r>>>=0,Array(u));++e<u;)i[e]=n[e+r];return i}function bn(r,n){return 1===arguments.length?function(n){return bn(r,n)}:null!=n&&n.constructor===r||n instanceof r}function I(t,e){return function(n){return function(r){return n(t(r)).map(function(n){return e(n,r)})}}}function wn(r,n){var t;return 1===arguments.length?function(n){return wn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function jn(n,r,t){t=a(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var On=f(jn);function En(n,r,t){return n(t)>n(r)?t:r}var An=f(En);function Nn(n){return n.reduce(function(n,r){return n+r},0)}function xn(n){return Nn(n)/n.length}function q(r,n){return 1===arguments.length?function(n){return q(r,n)}:Object.assign({},r||{},n||{})}function R(r,t){var e;return 1===arguments.length?function(n){return R(r,n)}:(e=v(r),Object.keys(t).forEach(function(n){"Object"===E(t[n])&&"Object"===E(r[n])?e[n]=R(r[n],t[n]):e[n]=t[n]}),e)}var Pn=f(function(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i});function kn(n,r,t){return n(t)<n(r)?t:r}var Sn=f(kn);var Tn=f(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==E(e)||void 0===t[n]?t:s(t)?jn(n,r(t[n]),t):u(u({},t),{},i({},n,r(t[n])))});function Fn(n,r,t){n=T(n);return 1===n.length?u(u({},t),{},i({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=In(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:g(n[0],r,t)}var In=f(Fn);var qn=f(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=a(t))[n]=t[r],e[r]=t[n],e)});function Rn(r,n){return 1===arguments.length?function(n){return Rn(r,n)}:r*n}function Wn(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}function _n(r){return{x:r,map:function(n){return _n(n(r))}}}var Bn=f(function(n,r,t){return n(function(n){return _n(r(n))})(t).x});function Cn(e){for(var n=arguments.length,u=Array(1<n?n-1:0),r=1;r<n;r++)u[r-1]=arguments[r];var i=e.length;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u.length+r.length<i?Cn.apply(void 0,[e].concat([].concat(u,r))):e.apply(void 0,u.concat(r))}}function Un(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=o(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function Dn(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=[],u=[],i=-1;i++<r.length-1;)((t?n(r[i],i):n(r[i]))?e:u).push(r[i]);return[e,u]}var Ln=f(function(n,r,t){return N(F(n,t),r)});var zn=f(function(n,r,t){return O(n,F(r,t))});var Mn=d(Rn,1);var Hn=f(function(n,r,t){return!!t&&N(n,k(r,t))});var $n=f(function(n,r,t){return bn(n,t[r])});var Gn=f(function(n,r,t){return t?O(n,t[r]):n});var Jn=f(function(n,r,t){return n(k(r,t))});function Kn(r,n){if(1===arguments.length)return function(n){return Kn(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}var Qn=f(function(n,r,t){return t.replace(n,r)});var Vn=f(function(n,r,t){return Bn(n,M(r),t)});var Xn=f(function(n,r,t){return t.slice(n,r)});function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):mn(n,0,r)}function Yn(n){return["Promise","Function"].includes(E(n))}function Zn(r){return{x:r,map:function(n){return Zn(r)}}}var nr=f(function(n,r,t){return n(t)?r(t):t});var rr=f(function(t,n,e){return W((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=c,n._arity=K,n._indexOf=A,n._lastIndexOf=rn,n._pipe=Q,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.adjust=z,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=M,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=a(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=c(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,f){var n=o-f.length;if(1==n)return function(n){return u(i,o,p.apply(void 0,h(f).concat([n])))};if(2==n)return function(n,r){return u(i,o,p.apply(void 0,h(f).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,p.apply(void 0,h(f).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,p.apply(void 0,h(f).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,p.apply(void 0,h(f).concat(r)))};if(s(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==l(i[t])&&!s(i[t])||(r[t]=u(i[t],o,f)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,h(f)));return r}var c,a={};for(c in i)0!=i.hasOwnProperty(c)&&"constructor"!==c&&("object"===l(i[c])?a[c]=u(i[c],o,f):"function"==typeof i[c]&&(a[c]=i[c].apply(i,h(f))));return a}(n,r,e)},n.assoc=g,n.assocPath=H,n.bind=function r(e,u){return 1===arguments.length?function(n){return r(e,n)}:t(e.length,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.apply(u,r)})},n.both=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return t.apply(void 0,arguments)&&n.apply(void 0,arguments)}},n.chain=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[]).concat.apply(e,h(n.map(t)))},n.clamp=G,n.clone=v,n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return V.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.concat=m,n.cond=function(n){return function(t){var e,u=!1;return n.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r(t)&&(u=!0,e=n(t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(d(function(n,r){return nn(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,j(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:s(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.curry=f,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=O,n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:cn(t).filter(function(n){return!x(n,e)})},n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=P,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=s(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(l(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(l(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(s(n))return t=[],n.reduce(function(n,r){return N(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(s(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!s(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=N(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqProps=an,n.equals=N,n.evolve=sn,n.evolveArray=ln,n.evolveObject=hn,n.filter=S,n.filterArray=gn,n.filterObject=pn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)s(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(s(n))for(var e=0,u=n.length;e<u;)t(n[e]),e++;else for(var i=0,o=Y(n),f=o.length;i<f;){var c=o[i];t(n[c],c,n),i++}return n}},n.fromPairs=function(n){var r={};return n.forEach(function(n){n=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,f,c;if(s(o))return n=a(o),1===o.length?[n]:(f=[],c=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===c.length,t=t===o.length-1,e?(u&&c.push(n),c.push(r),t&&f.push(c)):u?(f.push([n]),t&&f.push([r])):(f.push(c),t&&f.push([r]),c=[])),r},void 0),f);throw new TypeError("list.reduce is not a function")},n.has=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!n&&n.hasOwnProperty(t)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=function(n){return"string"==typeof n?n[0]||"":n[0]},n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:vn(t,n)},n.identity=function(n){return n},n.ifElse=dn,n.inc=function(n){return n+1},n.includes=x,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var f=u[o];i[F(e,f)]=f}return i}for(var c={},a=0;a<n.length;a++){var l=n[a];c[t(l)]=l}return c},n.indexOf=function(r,n){return 1===arguments.length?function(n){return A(r,n)}:A(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?mn(n,0,-1):[]},n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return x(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=bn,n.isEmpty=function(n){var r=E(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))},n.isNil=function(n){return null==n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return rn(r,n)}:rn(r,n)},n.length=function(n){return s(n)||"string"==typeof n?n.length:NaN},n.lens=I,n.lensIndex=function(n){return I(wn(n),On(n))},n.lensPath=function(n){return I(F(n),H(n))},n.lensProp=function(n){return I(k(n),g(n))},n.map=j,n.mapArray=b,n.mapObjIndexed=Z,n.mapObject=w,n.match=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:null===(n=n.match(t))?[]:n},n.mathMod=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:y(t)&&y(n)&&1<=n?(t%n+n)%n:NaN},n.max=nn,n.maxBy=An,n.maxByFn=En,n.mean=xn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,xn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=q,n.mergeAll=function(n){var r={};return j(function(n){r=q(r,n)},n),r},n.mergeDeepRight=R,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:q(n,t)},n.mergeRight=q,n.mergeWith=Pn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Sn,n.minByFn=kn,n.modify=Tn,n.modifyPath=In,n.modifyPathFn=Fn,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=qn,n.multiply=Rn,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.not=function(n){return!n},n.nth=wn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:i({},t,n)},n.of=function(n){return[n]},n.omit=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){var e,u=T(t,","),i={};for(e in n)u.includes(e)||(i[e]=n[e]);return i}},n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?f(Wn(n,r)):Wn(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=Bn,n.partial=Cn,n.partialObject=function(r,t){return function(n){return r(R(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(s(n)?Dn:Un)(t,n)},n.partitionArray=Dn,n.partitionObject=Un,n.path=F,n.pathEq=Ln,n.pathFn=yn,n.pathOr=zn,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return F(n,e)})},n.pick=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)e[i]in n&&(u[e[i]]=n[e[i]]),i++;return u}},n.pickAll=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=T(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pipe=V,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],j(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=Mn,n.prop=k,n.propEq=Hn,n.propIs=$n,n.propOr=Gn,n.propSatisfies=Jn,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(s(t))return b(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=Kn,n.reduce=d,n.reduceFn=r,n.reduceStopper=function(n){return new J(n)},n.reject=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:S(function(n){return!t(n)},n)},n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=Qn,n.reverse=function(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()},n.set=Vn,n.slice=Xn,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:a(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return s(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===E(u)?u():u,i=e||"Function"!==E(i)?i:i(),[W(e=e?u:i,n),P(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!s(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=N(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Nn,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:m(S(function(n){return!x(n,e)},t),S(function(n){return!x(n,t)},e))},n.tail=function(n){return P(1,n)},n.take=W,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):mn(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return s(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=s(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!y(n)||n<0)throw new RangeError("n must be an integer");return j(t,Kn(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return s(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(Yn(e))return i=Yn(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=E,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=a(t),n.forEach(function(n){x(n,t)||e.push(n)}),e)},n.uniq=cn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new fn,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:function(n){return t(n)?n:e(n)}},n.unnest=function(n){return n.reduce(function(n,r){return[].concat(h(n),Array.isArray(r)?h(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:s(e[t])?b(function(n){return u(u({},e),{},i({},t,n))},e[t]):[e]},n.update=On,n.updateFn=jn,n.values=function(n){return"Object"!==E(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(Zn)(n).x},n.when=nr,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){var n;return 1===arguments.length?function(n){return r(t,n)}:(n=S(function(n,r){return N(n,e[r])},t),Object.keys(n).length===Object.keys(t).length)},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:d(function(n,r){return-1<A(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:W(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=rr});
package/immutable.d.ts CHANGED
@@ -1,6 +1,23 @@
1
- export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer";
1
+ export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer" | "Date"
2
+
3
+
4
+ type LastArrayElement<ValueType extends readonly unknown[]> =
5
+ ValueType extends readonly [infer ElementType]
6
+ ? ElementType
7
+ : ValueType extends readonly [infer _, ...infer Tail]
8
+ ? LastArrayElement<Tail>
9
+ : ValueType extends ReadonlyArray<infer ElementType>
10
+ ? ElementType
11
+ : never;
12
+ type FirstArrayElement<ValueType extends readonly unknown[]> =
13
+ ValueType extends readonly [infer ElementType]
14
+ ? ElementType
15
+ : ValueType extends readonly [...infer Head, infer _]
16
+ ? FirstArrayElement<Head>
17
+ : ValueType extends ReadonlyArray<infer ElementType>
18
+ ? ElementType
19
+ : never;
2
20
 
3
- // used in R.reduce to stop the loop
4
21
  export function reduceStopper<T>(input: T) : T
5
22
  export type IndexedIterator<T, U> = (x: T, i: number) => U;
6
23
  export type Iterator<T, U> = (x: T) => U;
@@ -39,8 +56,7 @@ type Pred = (...x: readonly any[]) => boolean;
39
56
  export interface Dictionary<T> {readonly [index: string]: T}
40
57
  type Partial<T> = { readonly [P in keyof T]?: T[P]};
41
58
 
42
- type Evolvable<E extends Evolver> = { readonly [P in keyof E]?: Evolved<E[P]>;
43
- };
59
+ type Evolvable<E extends Evolver> = { readonly[P in keyof E]?: Evolved<E[P]>};
44
60
 
45
61
  type Evolver<T extends Evolvable<any> = any> = { readonly [key in keyof Partial<T>]: ((value: T[key]) => T[key]) | (T[key] extends Evolvable<any> ? Evolver<T[key]> : never);
46
62
  };
@@ -79,6 +95,19 @@ interface AssocPartialOne<K extends keyof any> {
79
95
  type AnyFunction = (...args: readonly any[]) => unknown;
80
96
  type AnyConstructor = new (...args: readonly any[]) => unknown;
81
97
 
98
+ type RegExpReplacerFn =
99
+ | ((m: string, offset: number, s: string, groups?: Record<string, string>) => string)
100
+ | ((m: string, p1: string, offset: number, s: string, groups?: Record<string, string>) => string)
101
+ | ((m: string, p1: string, p2: string, offset: number, s: string, groups?: Record<string, string>) => string)
102
+ | ((m: string, p1: string, p2: string, p3: string, offset: number, s: string, groups?: Record<string, string>) => string)
103
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, offset: number, s: string, groups?: Record<string, string>) => string)
104
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, offset: number, s: string, groups?: Record<string, string>) => string)
105
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, offset: number, s: string, groups?: Record<string, string>) => string)
106
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, offset: number, s: string, groups?: Record<string, string>) => string)
107
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, offset: number, s: string, groups?: Record<string, string>) => string)
108
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, p9: string, offset: number, s: string, groups?: Record<string, string>) => string)
109
+ type RegExpReplacer = string | RegExpReplacerFn
110
+
82
111
  // RAMBDAX INTERFACES
83
112
  // ============================================
84
113
  type Func<T> = (input: any) => T;
package/index.d.ts CHANGED
@@ -1,6 +1,23 @@
1
- export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer";
1
+ export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error" | "Map" | "WeakMap" | "Generator" | "GeneratorFunction" | "BigInt" | "ArrayBuffer" | "Date"
2
+
3
+
4
+ type LastArrayElement<ValueType extends readonly unknown[]> =
5
+ ValueType extends readonly [infer ElementType]
6
+ ? ElementType
7
+ : ValueType extends readonly [infer _, ...infer Tail]
8
+ ? LastArrayElement<Tail>
9
+ : ValueType extends ReadonlyArray<infer ElementType>
10
+ ? ElementType
11
+ : never;
12
+ type FirstArrayElement<ValueType extends readonly unknown[]> =
13
+ ValueType extends readonly [infer ElementType]
14
+ ? ElementType
15
+ : ValueType extends readonly [...infer Head, infer _]
16
+ ? FirstArrayElement<Head>
17
+ : ValueType extends ReadonlyArray<infer ElementType>
18
+ ? ElementType
19
+ : never;
2
20
 
3
- // used in R.reduce to stop the loop
4
21
  export function reduceStopper<T>(input: T) : T
5
22
  export type IndexedIterator<T, U> = (x: T, i: number) => U;
6
23
  export type Iterator<T, U> = (x: T) => U;
@@ -39,8 +56,7 @@ type Pred = (...x: any[]) => boolean;
39
56
  export interface Dictionary<T> {[index: string]: T}
40
57
  type Partial<T> = { [P in keyof T]?: T[P]};
41
58
 
42
- type Evolvable<E extends Evolver> = { [P in keyof E]?: Evolved<E[P]>;
43
- };
59
+ type Evolvable<E extends Evolver> = {[P in keyof E]?: Evolved<E[P]>};
44
60
 
45
61
  type Evolver<T extends Evolvable<any> = any> = { [key in keyof Partial<T>]: ((value: T[key]) => T[key]) | (T[key] extends Evolvable<any> ? Evolver<T[key]> : never);
46
62
  };
@@ -79,6 +95,19 @@ interface AssocPartialOne<K extends keyof any> {
79
95
  type AnyFunction = (...args: any[]) => unknown;
80
96
  type AnyConstructor = new (...args: any[]) => unknown;
81
97
 
98
+ type RegExpReplacerFn =
99
+ | ((m: string, offset: number, s: string, groups?: Record<string, string>) => string)
100
+ | ((m: string, p1: string, offset: number, s: string, groups?: Record<string, string>) => string)
101
+ | ((m: string, p1: string, p2: string, offset: number, s: string, groups?: Record<string, string>) => string)
102
+ | ((m: string, p1: string, p2: string, p3: string, offset: number, s: string, groups?: Record<string, string>) => string)
103
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, offset: number, s: string, groups?: Record<string, string>) => string)
104
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, offset: number, s: string, groups?: Record<string, string>) => string)
105
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, offset: number, s: string, groups?: Record<string, string>) => string)
106
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, offset: number, s: string, groups?: Record<string, string>) => string)
107
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, offset: number, s: string, groups?: Record<string, string>) => string)
108
+ | ((m: string, p1: string, p2: string, p3: string, p4: string, p5: string, p6: string, p7: string, p8: string, p9: string, offset: number, s: string, groups?: Record<string, string>) => string)
109
+ type RegExpReplacer = string | RegExpReplacerFn
110
+
82
111
  // RAMBDAX INTERFACES
83
112
  // ============================================
84
113
  type Func<T> = (input: any) => T;
package/package.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
2
  "name": "rambda",
3
- "version": "7.5.0",
3
+ "version": "8.0.0",
4
4
  "scripts": {
5
5
  "publishx": "node files/publish",
6
- "populatedocs": "cd ../rambda-scripts && yarn populate:docs",
7
- "populatedocs:x": "cd ../rambda-scripts && yarn populate:docs:rambdax",
8
6
  "populatereadme": "cd ../rambda-scripts && yarn populate:readme",
9
7
  "populatereadme:x": "cd ../rambda-scripts && yarn populate:readme:rambdax",
10
- "out": "yarn populatedocs && yarn populatereadme && yarn immutable && yarn build",
8
+ "out": "yarn populatereadme && yarn immutable && yarn build",
11
9
  "pull": "cd ../rambda-scripts && git pull",
12
10
  "outx": "yarn pull && yarn out",
13
- "x": "yarn populatedocs:x && yarn populatereadme:x && yarn immutable:x",
11
+ "x": "yarn populatereadme:x && yarn immutable:x",
14
12
  "github": "cd ../rambda-scripts && yarn github",
15
13
  "fix-docsify": "cd ../rambda-scripts && yarn fix-docsify:rambda",
16
14
  "immutable": "cd ../rambda-scripts && yarn immutable:rambda",
@@ -26,48 +24,44 @@
26
24
  "docs": "npx docsify-cli init ./docs && yarn fix-docsify",
27
25
  "new": "cd ../rambda-scripts && yarn new",
28
26
  "run:ramda:test": "cd ../rambda-scripts && yarn run:ramda:test",
29
- "consume-typings:clone": "cd .. && git clone --depth 1 https://github.com/selfrefactor/rambda-scripts.git rambda-scripts-clone",
30
- "consume-typings:execute": "cd ../rambda-scripts-clone/scripts/consume-typings && yarn start",
31
- "consume-typings": "yarn consume-typings:clone && yarn consume-typings:execute",
32
- "test:consume-typings": "jest source/_consumeTypings.test.js",
33
27
  "test:typings": "dtslint --localTs ./node_modules/typescript/lib --expectOnly ./source",
34
28
  "test:all": "jest source/*.spec.js -u --bail=false",
35
29
  "test": "jest -o -u --watch",
36
30
  "test:ci": "jest source/*.spec.js --coverage --no-cache -w 1",
37
- "build:step": "yarn populatedocs && yarn populatereadme && yarn build:main",
31
+ "build:step": "yarn populatereadme && yarn build:main",
38
32
  "benchmark:all": "yarn build:step && cd ../rambda-scripts && yarn benchmark:all",
39
33
  "benchmark:check": "yarn build:step && METHOD=compose yarn benchmark:check:apply",
40
34
  "benchmark:check:apply": "cd ../rambda-scripts && yarn check-benchmark",
41
35
  "benchmark": "cd ../rambda-scripts && RAMBDA_RUN_ALL=ON RAMBDA_RUN_INDEXES=ON yarn benchmark",
42
36
  "d:rambda-scripts": "cd ../rambda-scripts && run d",
43
- "d": "yarn out && yarn lint && run d && yarn d:rambda-scripts"
37
+ "d": "yarn out && yarn lint && yarn d:rambda-scripts && run d"
44
38
  },
45
39
  "dependencies": {},
46
40
  "devDependencies": {
47
- "@babel/core": "7.20.2",
48
- "@babel/plugin-proposal-object-rest-spread": "7.20.2",
49
- "@babel/preset-env": "7.20.2",
50
- "@rollup/plugin-babel": "6.0.2",
51
- "@rollup/plugin-commonjs": "23.0.2",
52
- "@rollup/plugin-node-resolve": "15.0.1",
53
- "@rollup/plugin-replace": "5.0.1",
54
- "@types/jest": "29.2.2",
55
- "@types/ramda": "0.28.23",
41
+ "@babel/core": "7.21.8",
42
+ "@babel/plugin-proposal-object-rest-spread": "7.20.7",
43
+ "@babel/preset-env": "7.21.5",
44
+ "@rollup/plugin-babel": "6.0.3",
45
+ "@rollup/plugin-commonjs": "25.0.0",
46
+ "@rollup/plugin-node-resolve": "15.0.2",
47
+ "@rollup/plugin-replace": "5.0.2",
48
+ "@types/jest": "29.5.1",
56
49
  "combinate": "1.1.11",
57
50
  "cross-env": "7.0.3",
58
51
  "dtslint": "4.2.1",
59
- "helpers-fn": "1.6.0",
52
+ "helpers-fn": "1.8.1",
60
53
  "is-ci": "3.0.1",
61
- "jest": "29.2.2",
62
- "jest-extended": "3.1.0",
54
+ "jest": "29.5.0",
55
+ "jest-extended": "3.2.4",
63
56
  "lodash": "4.17.21",
64
- "rambdax": "8.1.0",
65
- "ramda": "0.28.0",
66
- "rollup": "3.2.5",
57
+ "rambdax": "9.1.1",
58
+ "ramda": "0.29.0",
59
+ "rollup": "3.22.0",
67
60
  "rollup-plugin-cleanup": "3.2.1",
68
61
  "rollup-plugin-sourcemaps": "0.6.3",
69
62
  "rollup-plugin-uglify": "6.0.4",
70
- "typescript": "4.8.4"
63
+ "types-ramda": "0.29.2",
64
+ "typescript": "5.0.4"
71
65
  },
72
66
  "jest": {
73
67
  "testEnvironment": "node",
@@ -81,18 +75,6 @@
81
75
  "!benchmarks"
82
76
  ]
83
77
  },
84
- "files": [
85
- "dist",
86
- "src",
87
- "esm",
88
- "mjs",
89
- "README.md",
90
- "CHANGELOG.md",
91
- "index.d.ts",
92
- "immutable.d.ts",
93
- "rambda.js",
94
- "immutable.js"
95
- ],
96
78
  "repository": {
97
79
  "type": "git",
98
80
  "url": "git+https://github.com/selfrefactor/rambda.git"
@@ -100,11 +82,6 @@
100
82
  "license": "MIT",
101
83
  "author": "self_refactor",
102
84
  "description": "Lightweight and faster alternative to Ramda with included TS definitions",
103
- "sideEffects": false,
104
- "main": "./dist/rambda.js",
105
- "umd": "./dist/rambda.umd.js",
106
- "module": "./rambda.js",
107
- "types": "./index.d.ts",
108
85
  "keywords": [
109
86
  "ramda",
110
87
  "fp",
@@ -112,5 +89,20 @@
112
89
  "utility",
113
90
  "lodash"
114
91
  ],
115
- "homepage": "https://github.com/selfrefactor/rambda#readme"
92
+ "homepage": "https://github.com/selfrefactor/rambda#readme",
93
+ "files": [
94
+ "dist",
95
+ "src",
96
+ "README.md",
97
+ "CHANGELOG.md",
98
+ "index.d.ts",
99
+ "immutable.d.ts",
100
+ "rambda.js",
101
+ "immutable.js"
102
+ ],
103
+ "sideEffects": false,
104
+ "main": "./dist/rambda.js",
105
+ "umd": "./dist/rambda.umd.js",
106
+ "module": "./rambda.js",
107
+ "types": "./index.d.ts"
116
108
  }
package/rambda.js CHANGED
@@ -1,4 +1,6 @@
1
1
  /// <reference types="./index.d.ts" />
2
+ export * from './src/F.js'
3
+ export * from './src/T.js'
2
4
  export * from './src/add.js'
3
5
  export * from './src/adjust.js'
4
6
  export * from './src/all.js'
@@ -42,7 +44,6 @@ export * from './src/endsWith.js'
42
44
  export * from './src/eqProps.js'
43
45
  export * from './src/equals.js'
44
46
  export * from './src/evolve.js'
45
- export * from './src/F.js'
46
47
  export * from './src/filter.js'
47
48
  export * from './src/find.js'
48
49
  export * from './src/findIndex.js'
@@ -102,7 +103,6 @@ export * from './src/move.js'
102
103
  export * from './src/multiply.js'
103
104
  export * from './src/negate.js'
104
105
  export * from './src/none.js'
105
- export * from './src/nop.js'
106
106
  export * from './src/not.js'
107
107
  export * from './src/nth.js'
108
108
  export * from './src/objOf.js'
@@ -129,8 +129,8 @@ export * from './src/prop.js'
129
129
  export * from './src/propEq.js'
130
130
  export * from './src/propIs.js'
131
131
  export * from './src/propOr.js'
132
- export * from './src/props.js'
133
132
  export * from './src/propSatisfies.js'
133
+ export * from './src/props.js'
134
134
  export * from './src/range.js'
135
135
  export * from './src/reduce.js'
136
136
  export * from './src/reject.js'
@@ -149,7 +149,6 @@ export * from './src/startsWith.js'
149
149
  export * from './src/subtract.js'
150
150
  export * from './src/sum.js'
151
151
  export * from './src/symmetricDifference.js'
152
- export * from './src/T.js'
153
152
  export * from './src/tail.js'
154
153
  export * from './src/take.js'
155
154
  export * from './src/takeLast.js'
package/src/isPromise.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type } from './type.js'
2
2
 
3
3
  export function isPromise(x){
4
- return 'Promise' === type(x)
4
+ return type(x) === 'Promise'
5
5
  }
package/src/mergeWith.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { curry } from './curry.js'
2
2
 
3
3
  function mergeWithFn(
4
- mergeFn, a, b
4
+ mergeFn, aInput, bInput
5
5
  ){
6
+ const a = aInput ?? {}
7
+ const b = bInput ?? {}
6
8
  const willReturn = {}
7
9
 
8
10
  Object.keys(a).forEach(key => {
package/src/path.js CHANGED
@@ -1,11 +1,6 @@
1
1
  import { createPath } from './_internals/createPath.js'
2
2
 
3
- export function path(pathInput, obj){
4
- if (arguments.length === 1) return _obj => path(pathInput, _obj)
5
-
6
- if (obj === null || obj === undefined){
7
- return undefined
8
- }
3
+ export function pathFn(pathInput, obj){
9
4
  let willReturn = obj
10
5
  let counter = 0
11
6
 
@@ -23,3 +18,13 @@ export function path(pathInput, obj){
23
18
 
24
19
  return willReturn
25
20
  }
21
+
22
+ export function path(pathInput, obj){
23
+ if (arguments.length === 1) return _obj => path(pathInput, _obj)
24
+
25
+ if (obj === null || obj === undefined){
26
+ return undefined
27
+ }
28
+
29
+ return pathFn(pathInput, obj)
30
+ }
package/src/propEq.js CHANGED
@@ -3,7 +3,7 @@ import { equals } from './equals.js'
3
3
  import { prop } from './prop.js'
4
4
 
5
5
  function propEqFn(
6
- propToFind, valueToMatch, obj
6
+ valueToMatch, propToFind, obj
7
7
  ){
8
8
  if (!obj) return false
9
9
 
package/src/reduce.js CHANGED
@@ -10,6 +10,9 @@ class ReduceStopper{
10
10
  export function reduceFn(
11
11
  reducer, acc, list
12
12
  ){
13
+ if (list == null){
14
+ return acc
15
+ }
13
16
  if (!isArray(list)){
14
17
  throw new TypeError('reduce: list must be array or iterable')
15
18
  }
package/src/reverse.js CHANGED
@@ -1,7 +1,6 @@
1
- export function reverse(listOrString){
2
- if (typeof listOrString === 'string'){
3
- return listOrString.split('').reverse()
4
- .join('')
1
+ export function reverse(listOrString) {
2
+ if (typeof listOrString === 'string') {
3
+ return listOrString.split('').reverse().join('')
5
4
  }
6
5
 
7
6
  const clone = listOrString.slice()
package/src/set.js CHANGED
@@ -1,13 +1,9 @@
1
- import { always } from './always.js'
2
- import { curry } from './curry.js'
3
- import { over } from './over.js'
1
+ import {always} from './always.js'
2
+ import {curry} from './curry.js'
3
+ import {over} from './over.js'
4
4
 
5
- function setFn(
6
- lens, replacer, x
7
- ){
8
- return over(
9
- lens, always(replacer), x
10
- )
5
+ function setFn(lens, replacer, x) {
6
+ return over(lens, always(replacer), x)
11
7
  }
12
8
 
13
9
  export const set = curry(setFn)
package/src/startsWith.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { isArray } from './_internals/isArray.js'
2
2
  import { equals } from './equals.js'
3
3
 
4
- export function startsWith(target, iterable){
4
+ export function startsWith(question, iterable){
5
5
  if (arguments.length === 1)
6
- return _iterable => startsWith(target, _iterable)
6
+ return _iterable => startsWith(question, _iterable)
7
7
 
8
8
  if (typeof iterable === 'string'){
9
- return iterable.startsWith(target)
9
+ return iterable.startsWith(question)
10
10
  }
11
- if (!isArray(target)) return false
11
+ if (!isArray(question)) return false
12
12
 
13
13
  let correct = true
14
- const filtered = target.filter((x, index) => {
14
+ const filtered = question.filter((x, index) => {
15
15
  if (!correct) return false
16
16
  const result = equals(x, iterable[ index ])
17
17
  if (!result) correct = false
@@ -19,5 +19,5 @@ export function startsWith(target, iterable){
19
19
  return result
20
20
  })
21
21
 
22
- return filtered.length === target.length
22
+ return filtered.length === question.length
23
23
  }
package/src/nop.js DELETED
@@ -1 +0,0 @@
1
- export function nop(){}