rubico 2.10.0 → 2.12.1

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.
Files changed (362) hide show
  1. package/README.md +16 -20
  2. package/Transducer.js +37 -58
  3. package/__.js +3 -3
  4. package/_internal/FilteringAsyncIterator.js +74 -23
  5. package/always.js +4 -4
  6. package/and.js +34 -26
  7. package/assign.js +2 -2
  8. package/compose.js +1 -0
  9. package/curry.js +48 -28
  10. package/dist/Transducer.es.js +1 -1
  11. package/dist/Transducer.es.min.js +1 -1
  12. package/dist/Transducer.js +1 -1
  13. package/dist/Transducer.min.js +1 -1
  14. package/dist/Transducer.mjs +1 -1
  15. package/dist/__.es.js +1 -1
  16. package/dist/__.es.min.js +1 -1
  17. package/dist/__.js +1 -1
  18. package/dist/__.min.js +1 -1
  19. package/dist/__.mjs +1 -1
  20. package/dist/all.es.js +1 -1
  21. package/dist/all.es.min.js +1 -1
  22. package/dist/all.js +1 -1
  23. package/dist/all.min.js +1 -1
  24. package/dist/all.mjs +1 -1
  25. package/dist/always.es.js +1 -1
  26. package/dist/always.es.min.js +1 -1
  27. package/dist/always.js +1 -1
  28. package/dist/always.min.js +1 -1
  29. package/dist/always.mjs +1 -1
  30. package/dist/and.es.js +1 -1
  31. package/dist/and.es.min.js +1 -1
  32. package/dist/and.js +1 -1
  33. package/dist/and.min.js +1 -1
  34. package/dist/and.mjs +1 -1
  35. package/dist/assign.es.js +1 -1
  36. package/dist/assign.es.min.js +1 -1
  37. package/dist/assign.js +1 -1
  38. package/dist/assign.min.js +1 -1
  39. package/dist/assign.mjs +1 -1
  40. package/dist/compose.es.js +1 -1
  41. package/dist/compose.es.min.js +1 -1
  42. package/dist/compose.js +1 -1
  43. package/dist/compose.min.js +1 -1
  44. package/dist/compose.mjs +1 -1
  45. package/dist/curry.es.js +1 -1
  46. package/dist/curry.es.min.js +1 -1
  47. package/dist/curry.js +1 -1
  48. package/dist/curry.min.js +1 -1
  49. package/dist/curry.mjs +1 -1
  50. package/dist/eq.es.js +1 -1
  51. package/dist/eq.es.min.js +1 -1
  52. package/dist/eq.js +1 -1
  53. package/dist/eq.min.js +1 -1
  54. package/dist/eq.mjs +1 -1
  55. package/dist/every.es.js +1 -1
  56. package/dist/every.es.min.js +1 -1
  57. package/dist/every.js +1 -1
  58. package/dist/every.min.js +1 -1
  59. package/dist/every.mjs +1 -1
  60. package/dist/filter.es.js +113 -19
  61. package/dist/filter.es.min.js +2 -2
  62. package/dist/filter.js +113 -19
  63. package/dist/filter.min.js +2 -2
  64. package/dist/filter.mjs +113 -19
  65. package/dist/flatMap.es.js +1 -1
  66. package/dist/flatMap.es.min.js +1 -1
  67. package/dist/flatMap.js +1 -1
  68. package/dist/flatMap.min.js +1 -1
  69. package/dist/flatMap.mjs +1 -1
  70. package/dist/forEach.es.js +1 -1
  71. package/dist/forEach.es.min.js +1 -1
  72. package/dist/forEach.js +1 -1
  73. package/dist/forEach.min.js +1 -1
  74. package/dist/forEach.mjs +1 -1
  75. package/dist/get.es.js +1 -1
  76. package/dist/get.es.min.js +1 -1
  77. package/dist/get.js +1 -1
  78. package/dist/get.min.js +1 -1
  79. package/dist/get.mjs +1 -1
  80. package/dist/gt.es.js +1 -1
  81. package/dist/gt.es.min.js +1 -1
  82. package/dist/gt.js +1 -1
  83. package/dist/gt.min.js +1 -1
  84. package/dist/gt.mjs +1 -1
  85. package/dist/gte.es.js +1 -1
  86. package/dist/gte.es.min.js +1 -1
  87. package/dist/gte.js +1 -1
  88. package/dist/gte.min.js +1 -1
  89. package/dist/gte.mjs +1 -1
  90. package/dist/lt.es.js +1 -1
  91. package/dist/lt.es.min.js +1 -1
  92. package/dist/lt.js +1 -1
  93. package/dist/lt.min.js +1 -1
  94. package/dist/lt.mjs +1 -1
  95. package/dist/lte.es.js +1 -1
  96. package/dist/lte.es.min.js +1 -1
  97. package/dist/lte.js +1 -1
  98. package/dist/lte.min.js +1 -1
  99. package/dist/lte.mjs +1 -1
  100. package/dist/map.es.js +1 -1
  101. package/dist/map.es.min.js +1 -1
  102. package/dist/map.js +1 -1
  103. package/dist/map.min.js +1 -1
  104. package/dist/map.mjs +1 -1
  105. package/dist/not.es.js +1 -1
  106. package/dist/not.es.min.js +1 -1
  107. package/dist/not.js +1 -1
  108. package/dist/not.min.js +1 -1
  109. package/dist/not.mjs +1 -1
  110. package/dist/omit.es.js +1 -1
  111. package/dist/omit.es.min.js +1 -1
  112. package/dist/omit.js +1 -1
  113. package/dist/omit.min.js +1 -1
  114. package/dist/omit.mjs +1 -1
  115. package/dist/or.es.js +1 -1
  116. package/dist/or.es.min.js +1 -1
  117. package/dist/or.js +1 -1
  118. package/dist/or.min.js +1 -1
  119. package/dist/or.mjs +1 -1
  120. package/dist/pick.es.js +1 -1
  121. package/dist/pick.es.min.js +1 -1
  122. package/dist/pick.js +1 -1
  123. package/dist/pick.min.js +1 -1
  124. package/dist/pick.mjs +1 -1
  125. package/dist/pipe.es.js +1 -1
  126. package/dist/pipe.es.min.js +1 -1
  127. package/dist/pipe.js +1 -1
  128. package/dist/pipe.min.js +1 -1
  129. package/dist/pipe.mjs +1 -1
  130. package/dist/reduce.es.js +1 -1
  131. package/dist/reduce.es.min.js +1 -1
  132. package/dist/reduce.js +1 -1
  133. package/dist/reduce.min.js +1 -1
  134. package/dist/reduce.mjs +1 -1
  135. package/dist/rubico.es.js +57 -19
  136. package/dist/rubico.es.min.js +2 -2
  137. package/dist/rubico.global.js +57 -19
  138. package/dist/rubico.global.min.js +2 -2
  139. package/dist/rubico.js +57 -19
  140. package/dist/rubico.min.js +2 -2
  141. package/dist/rubico.mjs +57 -19
  142. package/dist/set.es.js +1 -1
  143. package/dist/set.es.min.js +1 -1
  144. package/dist/set.js +1 -1
  145. package/dist/set.min.js +1 -1
  146. package/dist/set.mjs +1 -1
  147. package/dist/some.es.js +1 -1
  148. package/dist/some.es.min.js +1 -1
  149. package/dist/some.js +1 -1
  150. package/dist/some.min.js +1 -1
  151. package/dist/some.mjs +1 -1
  152. package/dist/switchCase.es.js +1 -1
  153. package/dist/switchCase.es.min.js +1 -1
  154. package/dist/switchCase.js +1 -1
  155. package/dist/switchCase.min.js +1 -1
  156. package/dist/switchCase.mjs +1 -1
  157. package/dist/tap.es.js +1 -1
  158. package/dist/tap.es.min.js +1 -1
  159. package/dist/tap.js +1 -1
  160. package/dist/tap.min.js +1 -1
  161. package/dist/tap.mjs +1 -1
  162. package/dist/thunkify.es.js +1 -1
  163. package/dist/thunkify.es.min.js +1 -1
  164. package/dist/thunkify.js +1 -1
  165. package/dist/thunkify.min.js +1 -1
  166. package/dist/thunkify.mjs +1 -1
  167. package/dist/transform.es.js +1 -1
  168. package/dist/transform.es.min.js +1 -1
  169. package/dist/transform.js +1 -1
  170. package/dist/transform.min.js +1 -1
  171. package/dist/transform.mjs +1 -1
  172. package/dist/tryCatch.es.js +1 -1
  173. package/dist/tryCatch.es.min.js +1 -1
  174. package/dist/tryCatch.js +1 -1
  175. package/dist/tryCatch.min.js +1 -1
  176. package/dist/tryCatch.mjs +1 -1
  177. package/dist/x/append.es.js +1 -1
  178. package/dist/x/append.es.min.js +1 -1
  179. package/dist/x/append.js +1 -1
  180. package/dist/x/append.min.js +1 -1
  181. package/dist/x/append.mjs +1 -1
  182. package/dist/x/callProp.es.js +1 -1
  183. package/dist/x/callProp.es.min.js +1 -1
  184. package/dist/x/callProp.js +1 -1
  185. package/dist/x/callProp.min.js +1 -1
  186. package/dist/x/callProp.mjs +1 -1
  187. package/dist/x/defaultsDeep.es.js +1 -1
  188. package/dist/x/defaultsDeep.es.min.js +1 -1
  189. package/dist/x/defaultsDeep.js +1 -1
  190. package/dist/x/defaultsDeep.min.js +1 -1
  191. package/dist/x/defaultsDeep.mjs +1 -1
  192. package/dist/x/differenceWith.es.js +1 -1
  193. package/dist/x/differenceWith.es.min.js +1 -1
  194. package/dist/x/differenceWith.js +1 -1
  195. package/dist/x/differenceWith.min.js +1 -1
  196. package/dist/x/differenceWith.mjs +1 -1
  197. package/dist/x/filterOut.es.js +113 -19
  198. package/dist/x/filterOut.es.min.js +2 -2
  199. package/dist/x/filterOut.js +113 -19
  200. package/dist/x/filterOut.min.js +2 -2
  201. package/dist/x/filterOut.mjs +113 -19
  202. package/dist/x/find.es.js +1 -1
  203. package/dist/x/find.es.min.js +1 -1
  204. package/dist/x/find.js +1 -1
  205. package/dist/x/find.min.js +1 -1
  206. package/dist/x/find.mjs +1 -1
  207. package/dist/x/findIndex.es.js +1 -1
  208. package/dist/x/findIndex.es.min.js +1 -1
  209. package/dist/x/findIndex.js +1 -1
  210. package/dist/x/findIndex.min.js +1 -1
  211. package/dist/x/findIndex.mjs +1 -1
  212. package/dist/x/first.es.js +1 -1
  213. package/dist/x/first.es.min.js +1 -1
  214. package/dist/x/first.js +1 -1
  215. package/dist/x/first.min.js +1 -1
  216. package/dist/x/first.mjs +1 -1
  217. package/dist/x/flatten.es.js +1 -1
  218. package/dist/x/flatten.es.min.js +1 -1
  219. package/dist/x/flatten.js +1 -1
  220. package/dist/x/flatten.min.js +1 -1
  221. package/dist/x/flatten.mjs +1 -1
  222. package/dist/x/groupBy.es.js +1 -1
  223. package/dist/x/groupBy.es.min.js +1 -1
  224. package/dist/x/groupBy.js +1 -1
  225. package/dist/x/groupBy.min.js +1 -1
  226. package/dist/x/groupBy.mjs +1 -1
  227. package/dist/x/has.es.js +1 -1
  228. package/dist/x/has.es.min.js +1 -1
  229. package/dist/x/has.js +1 -1
  230. package/dist/x/has.min.js +1 -1
  231. package/dist/x/has.mjs +1 -1
  232. package/dist/x/identity.es.js +1 -1
  233. package/dist/x/identity.es.min.js +1 -1
  234. package/dist/x/identity.js +1 -1
  235. package/dist/x/identity.min.js +1 -1
  236. package/dist/x/identity.mjs +1 -1
  237. package/dist/x/includes.es.js +1 -1
  238. package/dist/x/includes.es.min.js +1 -1
  239. package/dist/x/includes.js +1 -1
  240. package/dist/x/includes.min.js +1 -1
  241. package/dist/x/includes.mjs +1 -1
  242. package/dist/x/isDeepEqual.es.js +1 -1
  243. package/dist/x/isDeepEqual.es.min.js +1 -1
  244. package/dist/x/isDeepEqual.js +1 -1
  245. package/dist/x/isDeepEqual.min.js +1 -1
  246. package/dist/x/isDeepEqual.mjs +1 -1
  247. package/dist/x/isEmpty.es.js +1 -1
  248. package/dist/x/isEmpty.es.min.js +1 -1
  249. package/dist/x/isEmpty.js +1 -1
  250. package/dist/x/isEmpty.min.js +1 -1
  251. package/dist/x/isEmpty.mjs +1 -1
  252. package/dist/x/isEqual.es.js +1 -1
  253. package/dist/x/isEqual.es.min.js +1 -1
  254. package/dist/x/isEqual.js +1 -1
  255. package/dist/x/isEqual.min.js +1 -1
  256. package/dist/x/isEqual.mjs +1 -1
  257. package/dist/x/isFunction.es.js +1 -1
  258. package/dist/x/isFunction.es.min.js +1 -1
  259. package/dist/x/isFunction.js +1 -1
  260. package/dist/x/isFunction.min.js +1 -1
  261. package/dist/x/isFunction.mjs +1 -1
  262. package/dist/x/isIn.es.js +1 -1
  263. package/dist/x/isIn.es.min.js +1 -1
  264. package/dist/x/isIn.js +1 -1
  265. package/dist/x/isIn.min.js +1 -1
  266. package/dist/x/isIn.mjs +1 -1
  267. package/dist/x/isObject.es.js +1 -1
  268. package/dist/x/isObject.es.min.js +1 -1
  269. package/dist/x/isObject.js +1 -1
  270. package/dist/x/isObject.min.js +1 -1
  271. package/dist/x/isObject.mjs +1 -1
  272. package/dist/x/isString.es.js +1 -1
  273. package/dist/x/isString.es.min.js +1 -1
  274. package/dist/x/isString.js +1 -1
  275. package/dist/x/isString.min.js +1 -1
  276. package/dist/x/isString.mjs +1 -1
  277. package/dist/x/keys.es.js +1 -1
  278. package/dist/x/keys.es.min.js +1 -1
  279. package/dist/x/keys.js +1 -1
  280. package/dist/x/keys.min.js +1 -1
  281. package/dist/x/keys.mjs +1 -1
  282. package/dist/x/last.es.js +1 -1
  283. package/dist/x/last.es.min.js +1 -1
  284. package/dist/x/last.js +1 -1
  285. package/dist/x/last.min.js +1 -1
  286. package/dist/x/last.mjs +1 -1
  287. package/dist/x/maxBy.es.js +1 -1
  288. package/dist/x/maxBy.es.min.js +1 -1
  289. package/dist/x/maxBy.js +1 -1
  290. package/dist/x/maxBy.min.js +1 -1
  291. package/dist/x/maxBy.mjs +1 -1
  292. package/dist/x/noop.es.js +1 -1
  293. package/dist/x/noop.es.min.js +1 -1
  294. package/dist/x/noop.js +1 -1
  295. package/dist/x/noop.min.js +1 -1
  296. package/dist/x/noop.mjs +1 -1
  297. package/dist/x/pluck.es.js +1 -1
  298. package/dist/x/pluck.es.min.js +1 -1
  299. package/dist/x/pluck.js +1 -1
  300. package/dist/x/pluck.min.js +1 -1
  301. package/dist/x/pluck.mjs +1 -1
  302. package/dist/x/prepend.es.js +1 -1
  303. package/dist/x/prepend.es.min.js +1 -1
  304. package/dist/x/prepend.js +1 -1
  305. package/dist/x/prepend.min.js +1 -1
  306. package/dist/x/prepend.mjs +1 -1
  307. package/dist/x/size.es.js +1 -1
  308. package/dist/x/size.es.min.js +1 -1
  309. package/dist/x/size.js +1 -1
  310. package/dist/x/size.min.js +1 -1
  311. package/dist/x/size.mjs +1 -1
  312. package/dist/x/trace.es.js +1 -1
  313. package/dist/x/trace.es.min.js +1 -1
  314. package/dist/x/trace.js +1 -1
  315. package/dist/x/trace.min.js +1 -1
  316. package/dist/x/trace.mjs +1 -1
  317. package/dist/x/unionWith.es.js +1 -1
  318. package/dist/x/unionWith.es.min.js +1 -1
  319. package/dist/x/unionWith.js +1 -1
  320. package/dist/x/unionWith.min.js +1 -1
  321. package/dist/x/unionWith.mjs +1 -1
  322. package/dist/x/uniq.es.js +1 -1
  323. package/dist/x/uniq.es.min.js +1 -1
  324. package/dist/x/uniq.js +1 -1
  325. package/dist/x/uniq.min.js +1 -1
  326. package/dist/x/uniq.mjs +1 -1
  327. package/dist/x/unless.es.js +1 -1
  328. package/dist/x/unless.es.min.js +1 -1
  329. package/dist/x/unless.js +1 -1
  330. package/dist/x/unless.min.js +1 -1
  331. package/dist/x/unless.mjs +1 -1
  332. package/dist/x/values.es.js +1 -1
  333. package/dist/x/values.es.min.js +1 -1
  334. package/dist/x/values.js +1 -1
  335. package/dist/x/values.min.js +1 -1
  336. package/dist/x/values.mjs +1 -1
  337. package/dist/x/when.es.js +1 -1
  338. package/dist/x/when.es.min.js +1 -1
  339. package/dist/x/when.js +1 -1
  340. package/dist/x/when.min.js +1 -1
  341. package/dist/x/when.mjs +1 -1
  342. package/eq.js +29 -30
  343. package/es.js +57 -19
  344. package/every.js +14 -20
  345. package/filter.js +48 -86
  346. package/flatMap.js +13 -13
  347. package/forEach.js +8 -8
  348. package/get.js +3 -3
  349. package/gt.js +18 -25
  350. package/gte.js +22 -29
  351. package/index.js +57 -19
  352. package/lt.js +33 -31
  353. package/lte.js +24 -31
  354. package/map.js +37 -41
  355. package/not.js +12 -17
  356. package/or.js +34 -26
  357. package/package.json +1 -1
  358. package/reduce.js +60 -67
  359. package/some.js +11 -34
  360. package/switchCase.js +3 -3
  361. package/thunkify.js +42 -12
  362. package/transform.js +57 -56
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Rubico v2.10.0
2
+ * Rubico v2.12.1
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
6
6
  * Rubico may be freely distributed under the CFOSS license.
7
7
  */
8
- const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;){const e=r[t];if(isPromise(e))return!0}return!1}for(const e in r){const t=r[e];if(isPromise(t))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,e)=>function(...t){const n=r(...t);return isPromise(n)?n.then(e):e(n)},funcApply=(r,e)=>r(...e),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},pipe=function(...r){if("function"==typeof r[0])return r.reduce(funcConcat);const e=r.pop().reduce(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},compose=function(...r){if("function"==typeof r[0])return r.reduceRight(funcConcat);const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},always=r=>function(){return r},thunkifyArgs=(r,e)=>function(){return r(...e)},thunkConditional=(r,e,t)=>r?e():t(),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},curryArgs2ResolveArgs0=(r,e,t)=>function(...t){return r(t,e)},curryArgs2ResolveArgs1=(r,e,t)=>function(...t){return r(e,t)},curryArgs2=function(r,e,t){return e==__?curryArgs2ResolveArgs0(r,t):curryArgs2ResolveArgs1(r,e)},curryArgs3ResolveArgs0=(r,e,t)=>function(...n){return r(n,e,t)},curryArgs3ResolveArgs1=(r,e,t)=>function(...n){return r(e,n,t)},curryArgs3ResolveArgs2=(r,e,t)=>function(...n){return r(e,t,n)},curryArgs3=function(r,e,t,n){return e==__?curryArgs3ResolveArgs0(r,t,n):t==__?curryArgs3ResolveArgs1(r,e,n):curryArgs3ResolveArgs2(r,e,t)},_tap=function(r,e){const t=r[0],n=e(...r);return isPromise(n)?n.then(always(t)):t},tap=function(...r){const e=r.pop();return 0==r.length?curryArgs2(_tap,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,e)):_tap(r,e)},_tapIf=function(r,e,t){const n=r(...t);if(isPromise(n))return n.then(curry3(thunkConditional,__,thunkifyArgs(tap(e),t),always(t[0])));if(n){const r=e(...t);if(isPromise(r))return r.then(always(t[0]))}return t[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const e=r.length,t=r[e-1],n=r[e-2],o=r.slice(0,-2);return areAnyValuesPromises(o)?promiseAll(o).then(curry3(_tapIf,n,t,__)):_tapIf(n,t,r)};const areAllValuesNonfunctions=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;)if("function"==typeof r[t])return!1;return!0}for(const e in r)if("function"==typeof r[e])return!1;return!0},promiseObjectAllExecutor=r=>function(e){const t={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){t[r]=o,n-=1,0==n&&e(t)})(o))):t[o]=s}0==n&&e(t)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),functionArrayAll=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=r[o],i="function"==typeof t?t(...e):t;isPromise(i)&&(s=!0),n[o]=i}return s?promiseAll(n):n},curry4ResolveArg0=(r,e,t,n)=>function(o){return r(o,e,t,n)},curry4ResolveArg1=(r,e,t,n)=>function(o){return r(e,o,t,n)},curry4ResolveArg2=(r,e,t,n)=>function(o){return r(e,t,o,n)},curry4ResolveArg3=(r,e,t,n)=>function(o){return r(e,t,n,o)},curry4=function(r,e,t,n,o){return e==__?curry4ResolveArg0(r,t,n,o):t==__?curry4ResolveArg1(r,e,n,o):n==__?curry4ResolveArg2(r,e,t,o):curry4ResolveArg3(r,e,t,n)},objectSet=function(r,e,t){return r[e]=t,r},asyncFunctionArrayAllSeries=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=r[n](...e);t[n]=isPromise(o)?await o:o}return t},functionArrayAllSeries=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=r[o](...e);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(asyncFunctionArrayAllSeries,r,e,__,o)));n[o]=t}return n},functionObjectAll=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i="function"==typeof s?s(...e):s;isPromise(i)?n.push(i.then(curry3(objectSet,t,o,__))):t[o]=i}return 0==n.length?t:promiseAll(n).then(always(t))},_allValues=function(r){return isArray(r)?areAnyValuesPromises(r)?promiseAll(r):r:areAnyValuesPromises(r)?promiseObjectAll(r):r},all=function(...r){if(1==r.length){const e=r[0];return isPromise(e)?e.then(_allValues):areAllValuesNonfunctions(e)?_allValues(e):isArray(e)?curryArgs2(functionArrayAll,e,__):curryArgs2(functionObjectAll,e,__)}const e=r[r.length-1],t=r.slice(0,-1);return areAnyValuesPromises(t)?isArray(e)?promiseAll(t).then(curry2(functionArrayAll,e,__)):promiseAll(t).then(curry2(functionObjectAll,e,__)):isArray(e)?functionArrayAll(e,t):functionObjectAll(e,t)};all.series=function(...r){const e=r.pop();return 0==r.length?curryArgs2(functionArrayAllSeries,e,__):areAnyValuesPromises(r)?promiseAll(r).then(curry2(functionArrayAllSeries,e,__)):functionArrayAllSeries(e,r)};const objectAssign=Object.assign,_assign=function(r,e){const t=functionObjectAll(e,[r]);return isPromise(t)?t.then(curry3(objectAssign,{},r,__)):{...r,...t}},assign=function(r,e){return null==e?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,e)):_assign(r,e)},catcherApply=function(r,e,t){return r(e,...t)},_tryCatch=function(r,e,t){try{const n=r(...t);return isPromise(n)?n.catch(curry3(catcherApply,e,__,t)):n}catch(r){return e(r,...t)}},tryCatch=function(...r){if(r.length>2){const e=r.pop(),t=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,t,e,__)):_tryCatch(t,e,r)}const e=r[0],t=r[1];return function(...r){return _tryCatch(e,t,r)}},thunkify3=(r,e,t,n)=>function(){return r(e,t,n)},arrayConditional=function(r,e,t){const n=r.length-1;for(;(t+=2)<n;){const n=r[t],o=r[t+1],s="function"==typeof n?n(...e):n;if(isPromise(s))return s.then(curry3(thunkConditional,__,"function"==typeof o?thunkifyArgs(o,e):always(o),thunkify3(arrayConditional,r,e,t)));if(s)return"function"==typeof o?o(...e):o}if(t==r.length)return;const o=r[n];return"function"==typeof o?o(...e):o},thunkify2=(r,e,t)=>function(){return r(e,t)},nonfunctionsConditional=function(r,e){const t=r.length,n=t-1;for(;(e+=2)<n;){const t=r[e],n=r[e+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(n),thunkify2(nonfunctionsConditional,r,e)));if(t)return n}if(e!=t)return r[e]},switchCase=(...r)=>{const e=r.pop();return areAllValuesNonfunctions(e)?nonfunctionsConditional(e,-2):0==r.length?curryArgs3(arrayConditional,e,__,-2):areAnyValuesPromises(r)?promiseAll(r).then(curry3(arrayConditional,e,__,-2)):arrayConditional(e,r,-2)},symbolIterator=Symbol.iterator,MappingIterator=(r,e)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const t=r.next();return t.done?t:{value:e(t.value),done:!1}}}),promiseRace=Promise.race.bind(Promise);class LinkedList{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const r=this.first;if(null!=r)return r.next?this.first=r.next:this.first=null,this.length-=1,r.value}append(r){const e={value:r};null==this.first&&(this.first=e),null==this.last||(this.last.next=e),this.last=e,this.length+=1}}const symbolAsyncIterator=Symbol.asyncIterator,arrayPush=function(r,e){return r.push(e),r},sleep=r=>new Promise((e=>{setTimeout(e,r)})),MappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}await sleep(10)}if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}return{value:void 0,done:!0}}}},SerialMappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;let r=e(o);isPromise(r)&&(r=await r),t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0)return{value:t.popFirst(),done:!1};await sleep(10)}return t.length>0?{value:t.popFirst(),done:!1}:{value:void 0,done:!0}}}},isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},arrayMap=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&(s=!0),n[o]=t}return s?promiseAll(n):n},callPropUnary=(r,e,t)=>r[e](t),stringMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},setMap=function(r,e){const t=new Set,n=[];for(const o of r){const s=e(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,t,"add",__))):t.add(s)}return 0==n.length?t:promiseAll(n).then(always(t))},callPropBinary=(r,e,t,n)=>r[e](t,n),mapMap=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,t,"set",o,__))):t.set(o,i)}return 0==n.length?t:promiseAll(n).then(always(t))},objectMap=function(r,e){const t={};let n=!1;for(const o in r){const s=e(r[o],o,r);isPromise(s)&&(n=!0),t[o]=s}return n?promiseObjectAll(t):t},arrayMapSeriesAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=e(r[n],n);t[n]=isPromise(o)?await o:o}return t},arrayMapSeries=function(r,e){const t=r.length,n=Array(t);let o=-1;for(;++o<t;){const t=e(r[o],o);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,e,__,o)));n[o]=t}return n},stringMapSeries=function(r,e){const t=arrayMapSeries(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify4=(r,e,t,n,o)=>function(){return r(e,t,n,o)},_objectMapSeriesAsync=async function(r,e,t,n){for(const o in r){if(o in n)continue;let s=e(r[o]);isPromise(s)&&(s=await s),t[o]=s}return t},objectMapSeries=function(r,e){const t={},n={};for(const o in r){n[o]=!0;const s=e(r[o],o,r);if(isPromise(s))return s.then(funcConcat(curry3(objectSet,t,o,__),thunkify4(_objectMapSeriesAsync,r,e,t,n)));t[o]=s}return t},setAdd=function(r,e){return r.add(e),r},_setMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value);isPromise(o)&&(o=await o),t.add(o),n=r.next()}return t},setMapSeries=function(r,e){const t=new Set,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=e(o.value);if(isPromise(r))return r.then(funcConcat(curry2(setAdd,t,__),thunkify3(_setMapSeriesAsync,n,e,t)));t.add(r),o=n.next()}return t},mapSet=function(r,e,t){return r.set(e,t)},_mapMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value[1]);isPromise(o)&&(o=await o),t.set(n.value[0],o),n=r.next()}return t},mapMapSeries=function(r,e){const t=new Map,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=o.value[0],s=e(o.value[1]);if(isPromise(s))return s.then(funcConcat(curry3(mapSet,t,r,__),thunkify3(_mapMapSeriesAsync,n,e,t)));t.set(r,s),o=n.next()}return t},tapSync=r=>function(...e){return r(...e),e[0]},arrayMapPoolAsync=async function(r,e,t,n,o,s){const i=r.length;for(;++o<i;){s.size>=t&&await promiseRace(s);const i=e(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,e,t){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,t,e,o,s,i)}o[s]=n}return o},stringMapPool=function(r,e,t){const n=arrayMapPool(r,e,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},_setMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=n(i.value,i.value,r);if(isPromise(c)){const r=c.then((e=>{s.delete(r),o.add(e)}));s.add(r)}else o.add(c);i=e.next()}return s.size>0&&await promiseAll(s),o},setMapPool=function(r,e,t){const n=new Set,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=t(s.value,s.value,r);if(isPromise(i)){const s=new Set,c=i.then((r=>{s.delete(c),n.add(r)}));return s.add(c),_setMapPoolAsync(r,o,e,t,n,s)}n.add(i),s=o.next()}return n},_mapMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=i.value[0],u=n(i.value[1],c,r);if(isPromise(u)){o.set(c,u);const r=u.then((e=>{s.delete(r),o.set(c,e)}));s.add(r)}else o.set(c,u);i=e.next()}return s.size>0&&await promiseAll(s),o},mapMapPool=function(r,e,t){const n=new Map,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=s.value[0],c=t(s.value[1],i,r);if(isPromise(c)){const s=new Set;n.set(i,c);const u=c.then((r=>{s.delete(u),n.set(i,r)}));return s.add(u),_mapMapPoolAsync(r,o,e,t,n,s)}n.set(i,c),s=o.next()}return n},_objectMapPoolAsync=async function(r,e,t,n,o,s){for(const i in r){if(i in o)continue;s.size>=e&&await promiseRace(s);const c=t(r[i],i,r);if(isPromise(c)){n[i]=c;const r=c.then((e=>{s.delete(r),n[i]=e}));s.add(r)}else n[i]=c}return s.size>0&&await promiseAll(s),n},objectMapPool=function(r,e,t){const n={},o={};for(const s in r){o[s]=!0;const i=t(r[s],s,r);if(isPromise(i)){const c=new Set;n[s]=i;const u=i.then((r=>{c.delete(u),n[s]=r}));return c.add(u),_objectMapPoolAsync(r,e,t,n,o,c)}n[s]=i}return n},funcApply2=(r,e,t)=>r.apply(e,t),_curryArity=(r,e,t,n)=>function(...o){const s=n.length,i=o.length,c=[];let u=-1,a=-1,l=0;for(;(u+=1)<s;){const s=n[u];if(s==__&&(a+=1)<i){const r=o[a];r==__&&(l+=1),c.push(r)}else c.push(s);if(c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}for(;(a+=1)<i;){const n=o[a];if(n==__&&(l+=1),c.push(n),c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}return areAnyValuesPromises(c)?promiseAll(c).then(curry4(curryArity,r,e,t,__)):curryArity(r,e,t,c)},curryArity=function(r,e,t,n){const o=n.length;if(o<r)return _curryArity(r,e,t,n);let s=-1;for(;(s+=1)<o;){if(n[s]==__)return _curryArity(r,e,t,n)}return e.apply(t,n)},spread2=r=>function([e,t]){return r(e,t)},objectMapEntries=function(r,e){const t={},n=[];for(const o in r){const s=e([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,this,[t])))):t[s[0]]=s[1]}return 0==n.length?t:promiseAll(n).then(always(t))},mapMapEntriesForEachCallback=(r,e,t)=>function(n,o){const s=r([o,n]);isPromise(s)?t.push(s.then(spread2(curryArity(3,mapSet,this,[e])))):e.set(s[0],s[1])},mapMapEntries=function(r,e){const t=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(e,t,n)),0==n.length?t:promiseAll(n).then(always(t))},_map=function(r,e){return isArray(r)?arrayMap(r,e):null==r?r:"function"==typeof r.then?r.then(e):"string"==typeof r||r.constructor==String?stringMap(r,e):r.constructor==Set?setMap(r,e):r.constructor==Map?mapMap(r,e):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.map?r.map(e):r.constructor==Object?objectMap(r,e):e(r)},map=function(r,e){return null==e?curry2(_map,__,r):isPromise(r)?r.then(curry2(_map,__,e)):_map(r,e)},_mapEntries=(r,e)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,e);if(r.constructor==Map)return mapMapEntries(r,e);throw new TypeError("value is not an Object or Map")};map.entries=function(r,e){return null==e?curry2(_mapEntries,__,r):isPromise(r)?r.then(curry2(_mapEntries,__,e)):_mapEntries(r,e)};const _mapSeries=function(r,e){if(isArray(r))return arrayMapSeries(r,e);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return stringMapSeries(r,e);if(r.constructor==Set)return setMapSeries(r,e);if(r.constructor==Map)return mapMapSeries(r,e);if("function"==typeof r[symbolIterator])return MappingIterator(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return SerialMappingAsyncIterator(r[symbolAsyncIterator](),e);if("function"==typeof r.map)return r.map(e);if(r.constructor==Object)return objectMapSeries(r,e);throw new TypeError(`invalid functor ${r}`)};map.series=function(r,e){return null==e?curry2(_mapSeries,__,r):isPromise(r)?r.then(curry2(_mapSeries,__,e)):_mapSeries(r,e)};const _mapPool=function(r,e,t){if(isArray(r))return arrayMapPool(r,e,t);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return stringMapPool(r,e,t);if(r.constructor==Set)return setMapPool(r,e,t);if(r.constructor==Map)return mapMapPool(r,e,t);if(r.constructor==Object)return objectMapPool(r,e,t);throw new TypeError(`invalid functor ${r}`)};map.pool=function(r,e,t){return null==t?curry3(_mapPool,__,r,e):isPromise(r)?r.then(curry3(_mapPool,__,e,t)):_mapPool(r,e,t)};const FilteringIterator=(r,e)=>({[symbolIterator](){return this},next(){let t=r.next();for(;!t.done;){const{value:n}=t;if(e(n))return{value:n,done:!1};t=r.next()}return t}}),FilteringAsyncIterator=(r,e)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:t,done:n}=await r.next();if(n)this.isAsyncIteratorDone=!0;else{const r=e(t);if(isPromise(r)?await r:r)return{value:t,done:!1}}}return{value:void 0,done:!0}}}),arrayExtendMap=function(r,e,t,n){const o=e.length;let s=r.length-1;for(;++n<o;)r[++s]=t(e[n],n,r);return r},arrayFilterByConditions=function(r,e,t,n){const o=r.length;let s=-1;for(;++t<o;)n[++s]&&e.push(r[t]);return e},arrayFilter=function(r,e){const t=r.length,n=[];let o=-1,s=-1;for(;++o<t;){const t=r[o],i=e(t,o,r);if(isPromise(i))return promiseAll(arrayExtendMap([i],r,e,o)).then(curry4(arrayFilterByConditions,r,n,o-1,__));i&&(n[++s]=t)}return n},stringFilter=function(r,e){const t=arrayFilter(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify1=(r,e)=>function(){return r(e)},noop=function(){},setFilter=function(r,e){const t=new Set,n=t.add.bind(t),o=[];for(const s of r){const i=e(s,s,r);isPromise(i)?o.push(i.then(curry3(thunkConditional,__,thunkify1(n,s),noop))):i&&t.add(s)}return 0==o.length?t:promiseAll(o).then(always(t))},mapFilter=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry3(thunkConditional,__,thunkify4(callPropBinary,t,"set",o,s),noop))):i&&t.set(o,s)}return 0==n.length?t:promiseAll(n).then(always(t))},objectSetIf=function(r,e,t,n){n&&(r[e]=t)},objectFilter=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(objectSetIf,t,o,r[o],__))):i&&(t[o]=s)}return 0==n.length?t:promiseAll(n).then(always(t))},_filter=function(r,e){return isArray(r)?arrayFilter(r,e):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,e):r.constructor==Set?setFilter(r,e):r.constructor==Map?mapFilter(r,e):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.filter?r.filter(e):r.constructor==Object?objectFilter(r,e):r},filter=function(r,e){return"function"==typeof r?curry2(_filter,__,r):isPromise(r)?r.then(curry2(_filter,__,e)):_filter(r,e)},objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,t){let n=r.next();if(n.done)return t;for(;!n.done;)t=e(t,n.value),isPromise(t)&&(t=await t),n=r.next();return t},iteratorReduce=function(r,e,t){let n=r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=r.next());!n.done;){if(t=e(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,r,e,__));n=r.next()}return t},asyncIteratorReduce=async function(r,e,t){let n=await r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await r.next());!n.done;)t=await e(t,n.value),n=await r.next();return t},arrayReduceAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;)t=e(t,r[n],n,r),isPromise(t)&&(t=await t);return t},arrayReduce=function(r,e,t){const n=r.length;let o=-1;for(void 0===t&&(t=r[++o]);++o<n;)if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry4(arrayReduceAsync,r,e,__,o));return t},curry5ResolveArg0=(r,e,t,n,o)=>function(s){return r(s,e,t,n,o)},curry5ResolveArg1=(r,e,t,n,o)=>function(s){return r(e,s,t,n,o)},curry5ResolveArg2=(r,e,t,n,o)=>function(s){return r(e,t,s,n,o)},curry5ResolveArg3=(r,e,t,n,o)=>function(s){return r(e,t,n,s,o)},curry5ResolveArg4=(r,e,t,n,o)=>function(s){return r(e,t,n,o,s)},curry5=function(r,e,t,n,o,s){return e==__?curry5ResolveArg0(r,t,n,o,s):t==__?curry5ResolveArg1(r,e,n,o,s):n==__?curry5ResolveArg2(r,e,t,o,s):o==__?curry5ResolveArg3(r,e,t,n,s):curry5ResolveArg4(r,e,t,n,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,t,n,o){const s=n.length;for(;++o<s;){const s=n[o];t=e(t,r[s],s,r),isPromise(t)&&(t=await t)}return t},objectReduce=function(r,e,t){const n=objectKeys(r),o=n.length;let s=-1;for(void 0===t&&(t=r[n[++s]]);++s<o;){const o=n[s];if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry5(objectReduceAsync,r,e,__,n,s))}return t},mapReduceAsync=async function(r,e,t,n){for(const[o,s]of n)t=e(t,s,o,r),isPromise(t)&&(t=await t);return t},mapReduce=function(r,e,t){const n=r.entries();if(void 0===t){const r=n.next();if(r.done)return t;t=r.value[1]}for(const[o,s]of n)if(t=e(t,s,o,r),isPromise(t))return t.then(curry4(mapReduceAsync,r,e,__,n));return t},reducerConcat=(r,e)=>function(t,n){const o=r(t,n);return isPromise(o)?o.then(curry2(e,__,n)):e(o,n)},genericReduce=function(r,e,t){return isArray(r)?arrayReduce(r,e,t):null==r?void 0===t?curry2(e,r,__):e(t,r):r.constructor==Map?mapReduce(r,e,t):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,t):"function"==typeof r.reduce?r.reduce(e,t):"function"==typeof r.chain?r.chain(curry2(e,t,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,t,__)):r.constructor==Object?objectReduce(r,e,t):void 0===t?curry2(e,r,__):e(t,r)},_reduce=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)}return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)},reduce=function(...r){return"function"==typeof r[0]?curry3(_reduce,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_reduce,__,r[1],r[2])):_reduce(r[0],r[1],r[2])},isBinary=ArrayBuffer.isView,add=(r,e)=>r+e,_arrayExtend=function(r,e){const t=r.length,n=e.length;let o=-1;for(;++o<n;)r[t+o]=e[o];return r},arrayExtend=function(r,e){return isArray(e)||isBinary(e)?_arrayExtend(r,e):(r.push(e),r)},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(r,e){const t=r.length,n=globalThisHasBuffer&&r.constructor==Buffer?bufferAlloc(t+e.length):new r.constructor(t+e.length);return n.set(r),n.set(e,t),n},binaryExtend=function(r,e){return isArray(e)||isBinary(e)?_binaryExtend(r,e):_binaryExtend(r,[e])},isNodeReadStream=r=>null!=r&&"function"==typeof r.pipe,__streamWrite=r=>function(e,t,n){return r.write(e,t,n),r},_streamExtendExecutor=(r,e)=>function(t,n){e.on("data",__streamWrite(r)),e.on("end",thunkify1(t,r)),e.on("error",n)},_streamExtend=(r,e)=>new Promise(_streamExtendExecutor(r,e)),streamExtend=function(r,e){return isNodeReadStream(e)?_streamExtend(r,e):(r.write(e),r)},setExtend=function(r,e){if(null!=e&&e.constructor==Set){for(const t of e)r.add(t);return r}return r.add(e)},callConcat=function(r,e){return r.concat(e)},identityTransform=function(r,e,t){const n=genericReduce(r,e(noop),null);return isPromise(n)?n.then(always(t)):t},genericTransform=function(r,e,t){if(isArray(t))return genericReduce(r,e(arrayExtend),t);if(isBinary(t)){const n=genericReduce(r,e(arrayExtend),[]);return isPromise(n)?n.then(curry2(binaryExtend,t,__)):binaryExtend(t,n)}if(null==t)return identityTransform(r,e,t);const n=t.constructor;if("string"==typeof t||n==String){const n=genericReduce(r,e(arrayExtend),[t]);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")}return"function"==typeof t.concat?genericReduce(r,e(callConcat),t):"function"==typeof t.write?genericReduce(r,e(streamExtend),t):n==Set?genericReduce(r,e(setExtend),t):n==Object?genericReduce(r,e(objectAssign),t):identityTransform(r,e,t)},_transform=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,n)}return isPromise(t)?t.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,t)},transform=function(...r){return"function"==typeof r[0]?curry3(_transform,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_transform,__,r[1],r[2])):_transform(r[0],r[1],r[2])},FlatMappingIterator=function(r,e){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const r=t[n];return n+=1,{value:r,done:!1}}const o=r.next();if(o.done)return o;const s=genericReduce(e(o.value),arrayPush,[]);return s.length>1&&(t=s,n=1),{value:s[0],done:!1}}}},FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;let o=!1,s=!1;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const o of r){const r=e(o);if(isPromise(r)){const e=r.then(curry3(genericReduce,__,arrayPush,t)).then((()=>n.delete(e)));n.add(e)}else{const e=genericReduce(r,arrayPush,t);if(isPromise(e)){const r=e.then((()=>n.delete(r)));n.add(r)}}}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s||n.size>0;){if(t.length>0)return{value:t.shift(),done:!1};n.size>0?await promiseRace(n):await sleep(10)}return t.length>0?{value:t.shift(),done:!1}:{value:void 0,done:!0}}}},getArg1=(r,e)=>e,identity=r=>r,funcConcatSync=(r,e)=>function(...t){return e(r(...t))},asyncIteratorForEach=async function(r,e){const t=[];for await(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},arrayFlatten=function(r){const e=r.length,t=[],n=[];let o=-1;for(;++o<e;){const e=r[o];if(isArray(e)){const r=e.length;let t=-1;for(;++t<r;)n.push(e[t])}else if(null==e)n.push(e);else if("function"==typeof e.then)t.push(e.then(curry2(arrayPush,n,__)));else if("function"==typeof e[symbolIterator])for(const r of e)n.push(r);else if("function"==typeof e[symbolAsyncIterator])t.push(asyncIteratorForEach(e[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof e.chain){const r=e.chain(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.flatMap){const r=e.flatMap(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.reduce){const r=e.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(r)&&t.push(r)}else if(e.constructor==Object)for(const r in e)n.push(e[r]);else n.push(e)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},objectFlatten=function(r){const e=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const s in r){const i=r[s];if(null!=i)if("function"==typeof i[symbolIterator])for(const r of i)objectAssign(t,r);else if("function"==typeof i[symbolAsyncIterator])e.push(asyncIteratorForEach(i[symbolAsyncIterator](),n));else if("function"==typeof i.chain){const r=i.chain(identity);isPromise(r)?e.push(r.then(n)):objectAssign(t,r)}else if("function"==typeof i.flatMap){const r=i.flatMap(identity);isPromise(r)?e.push(r.then(n)):n(r)}else if("function"==typeof i.reduce){const r=i.reduce(o,null);isPromise(r)&&e.push(r)}else objectAssign(t,i)}return 0==e.length?t:promiseAll(e).then((()=>t))},objectFlatMap=function(r,e){const t=objectMap(r,e);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},setFlatten=function(r){r.size;const e=[],t=new Set,n=(r,e)=>t.add(e),o=curry3(callPropUnary,t,"add",__);for(const s of r)if(isArray(s)){const r=s.length;let e=-1;for(;++e<r;)t.add(s[e])}else if(null==s)t.add(s);else if("function"==typeof s[symbolIterator])for(const r of s)t.add(r);else if("function"==typeof s[symbolAsyncIterator])e.push(asyncIteratorForEach(s[symbolAsyncIterator](),o));else if("function"==typeof s.chain){const r=s.chain(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.flatMap){const r=s.flatMap(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.reduce){const r=s.reduce(n,null);isPromise(r)&&e.push(r)}else if(s.constructor==Object)for(const r in s)t.add(s[r]);else t.add(s);return 0==e.length?t:promiseAll(e).then((()=>t))},setFlatMap=function(r,e){const t=setMap(r,e);return isPromise(t)?t.then(setFlatten):setFlatten(t)},arrayJoin=(r,e)=>r.join(e),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},_flatMap=function(r,e){if(isArray(r))return arrayFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)},flatMap=(r,e)=>"function"==typeof r?curry2(_flatMap,__,r):isPromise(r)?r.then(curry2(_flatMap,__,e)):_flatMap(r,e),arrayForEach=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,e){const t=[];for(const n in r){const o=e(r[n],n,r);isPromise(o)&&t.push(o)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,e){const t=[];for(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},_arrayForEachSeriesAsync=async function(r,e,t){const n=r.length;for(;++t<n;){const n=e(r[t]);isPromise(n)&&await n}return r},arrayForEachSeries=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n],n,r);if(isPromise(t))return t.then(thunkify3(_arrayForEachSeriesAsync,r,e,n))}return r},_objectForEachSeriesAsync=async function(r,e,t){for(const n in r){if(n in t)continue;const o=e(r[n]);isPromise(o)&&await o}return r},objectForEachSeries=function(r,e){const t={};for(const n in r){t[n]=!0;const o=e(r[n],n,r);if(isPromise(o))return o.then(thunkify3(_objectForEachSeriesAsync,r,e,t))}return r},_iteratorForEachSeriesAsync=async function(r,e){let t=r.next();for(;!t.done;){const n=e(t.value);isPromise(n)&&await n,t=r.next()}return r},iteratorForEachSeries=function(r,e){let t=r.next();for(;!t.done;){const n=e(t.value);if(isPromise(n))return n.then(thunkify2(_iteratorForEachSeriesAsync,r,e));t=r.next()}return r},asyncIteratorForEachSeries=async function(r,e){for await(const t of r){const r=e(t);isPromise(r)&&await r}return r},_forEach=function(r,e){return isArray(r)?arrayForEach(r,e):null==r?r:"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):"function"==typeof r.forEach?(r.forEach(e),r):r.constructor==Object?objectForEach(r,e):r},forEach=function(r,e){return"function"==typeof r?curry2(_forEach,__,r):isPromise(r)?r.then(curry2(_forEach,__,e)):_forEach(r,e)},_forEachSeries=function(r,e){if(isArray(r))return arrayForEachSeries(r,e);if(null==r)throw new TypeError(`invalid collection ${r}`);if("function"==typeof r[symbolIterator])return iteratorForEachSeries(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return asyncIteratorForEachSeries(r[symbolAsyncIterator](),e);if(r.constructor==Object)return objectForEachSeries(r,e);throw new TypeError(`invalid collection ${r}`)};forEach.series=function(r,e){return"function"==typeof r?curry2(_forEachSeries,__,r):isPromise(r)?r.then(curry2(_forEachSeries,__,e)):_forEachSeries(r,e)};const SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},asyncArraySome=async function(r,e,t,n){const o=r.length;for(;++t<o;){const o=e(r[t]);if(isPromise(o))n.add(SelfReferencingPromise(o));else if(o)return!0}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},arraySome=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n]);if(isPromise(t))return asyncArraySome(r,e,n,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},asyncIteratorSome=async function(r,e,t,n=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(s)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},iteratorSome=function(r,e){for(const t of r){const n=e(t);if(isPromise(n))return asyncIteratorSome(r,e,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},reducerAnySync=r=>function(e,t){return!!e||r(t)},reducerSome=r=>function(e,t){return!0===e?e:isPromise(e)?e.then(curry2(reducerAnySync(r),__,t)):!!e||r(t)},_some=function(r,e){return isArray(r)?arraySome(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorSome(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorSome(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerSome(e),!1):r.constructor==Object?arraySome(objectValues(r),e):e(r)},some=function(r,e){return"function"==typeof r?curry2(_some,__,r):isPromise(r)?r.then(curry2(_some,__,e)):_some(r,e)},arrayEvery=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);if(isPromise(t))n.push(t);else if(!t)return!1}return 0==n.length||promiseAll(n).then(curry3(callPropUnary,__,"every",Boolean))},iteratorEvery=function(r,e){const t=[];for(const n of r){const r=e(n);if(isPromise(r))t.push(r);else if(!r)return!1}return 0==t.length||promiseAll(t).then(curry3(callPropUnary,__,"every",Boolean))},asyncIteratorEvery=async function(r,e,t,n=20){let o=await r.next();for(;!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(!s)return!1;o=await r.next()}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}return!0},reducerAllSync=(r,e,t)=>!!e&&r(t),reducerEvery=r=>function(e,t){return!1!==e&&(isPromise(e)?e.then(curry3(reducerAllSync,r,__,t)):!!e&&r(t))},_every=function(r,e){return isArray(r)?arrayEvery(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorEvery(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorEvery(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerEvery(e),!0):r.constructor==Object?arrayEvery(objectValues(r),e):e(r)},every=function(r,e){return"function"==typeof r?curry2(_every,__,r):isPromise(r)?r.then(curry2(_every,__,e)):_every(r,e)},areAllValuesTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkify2(areAllValuesTruthy,r,e),always(!1)));if(!t)return!1}return!0},asyncArePredicatesAllTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),!n)return!1}return!0},areAllPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,r,e,n),always(!1)));if(!t)return!1}return!0},and=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAllValuesTruthy(e,-1):0==r.length?curryArgs2(areAllPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAllPredicatesTruthy,__,e)):areAllPredicatesTruthy(r,e)},areAnyNonfunctionsTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,e)));if(t)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),n)return!0}return!1},areAnyPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,e,n)));if(t)return!0}return!1},or=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAnyNonfunctionsTruthy(e,-1):0==r.length?curryArgs2(areAnyPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,e)):areAnyPredicatesTruthy(r,e)},negate=r=>!r,_not=function(r,e){const t=e(...r);return isPromise(t)?t.then(negate):!t},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?curryArgs2(_not,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):isPromise(e)?e.then(negate):!e},curryArgs4ResolveArgs0=(r,e,t,n)=>function(...o){return r(o,e,t,n)},curryArgs4ResolveArgs1=(r,e,t,n)=>function(...o){return r(e,o,t,n)},curryArgs4ResolveArgs2=(r,e,t,n)=>function(...o){return r(e,t,o,n)},curryArgs4ResolveArgs3=(r,e,t,n)=>function(...o){return r(e,t,n,o)},curryArgs4=function(r,e,t,n,o){return e==__?curryArgs4ResolveArgs0(r,t,n,o):t==__?curryArgs4ResolveArgs1(r,e,n,o):n==__?curryArgs4ResolveArgs2(r,e,t,o):curryArgs4ResolveArgs3(r,e,t,n)},leftResolverRightResolverCompare=function(r,e,t,n){const o=t(...r),s=n(...r);return isPromise(o)||isPromise(s)?promiseAll([o,s]).then(spread2(e)):e(o,s)},leftResolverRightValueCompare=function(r,e,t,n){const o=t(...r);return isPromise(o)||isPromise(n)?promiseAll([o,n]).then(spread2(e)):e(o,n)},leftValueRightResolverCompare=function(r,e,t,n){const o=n(...r);return isPromise(t)||isPromise(o)?promiseAll([t,o]).then(spread2(e)):e(t,o)},ComparisonOperator=r=>function(...e){const t=e.pop(),n=e.pop(),o="function"==typeof n,s="function"==typeof t;return o&&s?0==e.length?curryArgs4(leftResolverRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightResolverCompare,__,r,n,t)):leftResolverRightResolverCompare(e,r,n,t):o?0==e.length?curryArgs4(leftResolverRightValueCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightValueCompare,__,r,n,t)):leftResolverRightValueCompare(e,r,n,t):s?0==e.length?curryArgs4(leftValueRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftValueRightResolverCompare,__,r,n,t)):leftValueRightResolverCompare(e,r,n,t):isPromise(n)||isPromise(t)?promiseAll([n,t]).then(spread2(r)):r(n,t)},equals=function(r,e){return r==e},eq=ComparisonOperator(equals),greaterThan=(r,e)=>r>e,gt=ComparisonOperator(greaterThan),lessThan=(r,e)=>r<e,lt=ComparisonOperator(lessThan),greaterThanOrEqual=(r,e)=>r>=e,gte=ComparisonOperator(greaterThanOrEqual),lessThanOrEqual=(r,e)=>r<=e,lte=ComparisonOperator(lessThanOrEqual),memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;return s},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,e):isPromise(r)||isPromise(t)?promiseAll([r,e,t]).then(curry2(funcApply,_get,__)):_get(r,e,t)},setByPath=function(r,e,t){if(!isObject(r))return r;const n=propertyPathToArray(t),o=n.length,s=o-1,i={...r};let c=i,u=-1;for(;++u<o;){const r=n[u];if(u==s)c[r]=e;else{const e=c[r],t=isArray(e)?e.slice():{...e};c[r]=t,c=t}}return i},_set=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(setByPath,r,__,e)):setByPath(r,n,e)}return isPromise(t)?t.then(curry3(setByPath,r,__,e)):setByPath(r,t,e)},set=function(r,e,t){return null==t?curry3(_set,__,r,e):isPromise(r)?r.then(curry3(_set,__,e,t)):_set(r,e,t)},_pick=function(r,e){if(null==r)return r;const t=e.length;let n={},o=-1;for(;++o<t;){const t=e[o],s=getByPath(r,t);null!=s&&(n=setByPath(n,s,t))}return n},pick=function(r,e){return null==e?curry2(_pick,__,r):isPromise(r)?r.then(curry2(_pick,__,e)):_pick(r,e)},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),n=t.length-1;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;const i=t[o];null!=s&&i in s&&delete s[i]},objectCopyDeep=function(r){const e={};for(const t in r){const n=r[t];isArray(n)?e[t]=arrayCopyDeep(n):null!=n&&n.constructor==Object?e[t]=objectCopyDeep(n):e[t]=n}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let n=-1;for(;++n<e;){const e=r[n];isArray(e)?t[n]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[n]=objectCopyDeep(e):t[n]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},_omit=function(r,e){const t=e.length,n=copyDeep(r);let o=-1;for(;++o<t;)deleteByPath(n,e[o]);return n},omit=function(r,e){return null==e?curry2(_omit,__,r):isPromise(r)?r.then(curry2(_omit,__,e)):_omit(r,e)};function _thunkifyArgs(r,e,t){return function(){return r.apply(e,t)}}const thunkify=function(r,...e){return areAnyValuesPromises(e)?promiseAll(e).then(curry3(_thunkifyArgs,r,this,__)):_thunkifyArgs(r,this,e)};thunkify.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry3(_thunkifyArgs,r,e,__)):_thunkifyArgs(r,e,t)};const curry=(r,...e)=>areAnyValuesPromises(e)?promiseAll(e).then(curry4(curryArity,r.length,r,this,__)):curryArity(r.length,r,this,e);curry.arity=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r,e,this,__)):curryArity(r,e,this,t)},curry.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r.length,r,e,__)):curryArity(r.length,r,e,t)};const rubico={pipe:pipe,compose:compose,tap:tap,forEach:forEach,switchCase:switchCase,tryCatch:tryCatch,all:all,assign:assign,get:get,set:set,pick:pick,omit:omit,map:map,filter:filter,flatMap:flatMap,reduce:reduce,transform:transform,and:and,or:or,not:not,some:some,every:every,eq:eq,gt:gt,lt:lt,gte:gte,lte:lte,thunkify:thunkify,always:always,curry:curry,__:__};export{pipe,compose,tap,forEach,switchCase,tryCatch,all,assign,get,set,pick,omit,map,filter,reduce,transform,flatMap,and,or,not,some,every,eq,gt,lt,gte,lte,thunkify,always,curry,__};export default rubico;
8
+ const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;){const e=r[t];if(isPromise(e))return!0}return!1}for(const e in r){const t=r[e];if(isPromise(t))return!0}return!1},promiseAll=Promise.all.bind(Promise),funcConcat=(r,e)=>function(...t){const n=r(...t);return isPromise(n)?n.then(e):e(n)},funcApply=(r,e)=>r(...e),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},pipe=function(...r){if("function"==typeof r[0])return r.reduce(funcConcat);const e=r.pop().reduce(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},compose=function(...r){if("function"==typeof r[0])return r.reduceRight(funcConcat);const e=r.pop().reduceRight(funcConcat);return 0==r.length?e:areAnyValuesPromises(r)?promiseAll(r).then(curry2(funcApply,e,__)):e(...r)},always=r=>function(){return r},thunkifyArgs=(r,e)=>function(){return r(...e)},thunkConditional=(r,e,t)=>r?e():t(),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},curryArgs2ResolveArgs0=(r,e,t)=>function(...t){return r(t,e)},curryArgs2ResolveArgs1=(r,e,t)=>function(...t){return r(e,t)},curryArgs2=function(r,e,t){return e==__?curryArgs2ResolveArgs0(r,t):curryArgs2ResolveArgs1(r,e)},curryArgs3ResolveArgs0=(r,e,t)=>function(...n){return r(n,e,t)},curryArgs3ResolveArgs1=(r,e,t)=>function(...n){return r(e,n,t)},curryArgs3ResolveArgs2=(r,e,t)=>function(...n){return r(e,t,n)},curryArgs3=function(r,e,t,n){return e==__?curryArgs3ResolveArgs0(r,t,n):t==__?curryArgs3ResolveArgs1(r,e,n):curryArgs3ResolveArgs2(r,e,t)},_tap=function(r,e){const t=r[0],n=e(...r);return isPromise(n)?n.then(always(t)):t},tap=function(...r){const e=r.pop();return 0==r.length?curryArgs2(_tap,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,e)):_tap(r,e)},_tapIf=function(r,e,t){const n=r(...t);if(isPromise(n))return n.then(curry3(thunkConditional,__,thunkifyArgs(tap(e),t),always(t[0])));if(n){const r=e(...t);if(isPromise(r))return r.then(always(t[0]))}return t[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const e=r.length,t=r[e-1],n=r[e-2],o=r.slice(0,-2);return areAnyValuesPromises(o)?promiseAll(o).then(curry3(_tapIf,n,t,__)):_tapIf(n,t,r)};const areAllValuesNonfunctions=function(r){if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;)if("function"==typeof r[t])return!1;return!0}for(const e in r)if("function"==typeof r[e])return!1;return!0},promiseObjectAllExecutor=r=>function(e){const t={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){t[r]=o,n-=1,0==n&&e(t)})(o))):t[o]=s}0==n&&e(t)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),functionArrayAll=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=r[o],i="function"==typeof t?t(...e):t;isPromise(i)&&(s=!0),n[o]=i}return s?promiseAll(n):n},curry4ResolveArg0=(r,e,t,n)=>function(o){return r(o,e,t,n)},curry4ResolveArg1=(r,e,t,n)=>function(o){return r(e,o,t,n)},curry4ResolveArg2=(r,e,t,n)=>function(o){return r(e,t,o,n)},curry4ResolveArg3=(r,e,t,n)=>function(o){return r(e,t,n,o)},curry4=function(r,e,t,n,o){return e==__?curry4ResolveArg0(r,t,n,o):t==__?curry4ResolveArg1(r,e,n,o):n==__?curry4ResolveArg2(r,e,t,o):curry4ResolveArg3(r,e,t,n)},objectSet=function(r,e,t){return r[e]=t,r},asyncFunctionArrayAllSeries=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=r[n](...e);t[n]=isPromise(o)?await o:o}return t},functionArrayAllSeries=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=r[o](...e);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(asyncFunctionArrayAllSeries,r,e,__,o)));n[o]=t}return n},functionObjectAll=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i="function"==typeof s?s(...e):s;isPromise(i)?n.push(i.then(curry3(objectSet,t,o,__))):t[o]=i}return 0==n.length?t:promiseAll(n).then(always(t))},_allValues=function(r){return isArray(r)?areAnyValuesPromises(r)?promiseAll(r):r:areAnyValuesPromises(r)?promiseObjectAll(r):r},all=function(...r){if(1==r.length){const e=r[0];return isPromise(e)?e.then(_allValues):areAllValuesNonfunctions(e)?_allValues(e):isArray(e)?curryArgs2(functionArrayAll,e,__):curryArgs2(functionObjectAll,e,__)}const e=r[r.length-1],t=r.slice(0,-1);return areAnyValuesPromises(t)?isArray(e)?promiseAll(t).then(curry2(functionArrayAll,e,__)):promiseAll(t).then(curry2(functionObjectAll,e,__)):isArray(e)?functionArrayAll(e,t):functionObjectAll(e,t)};all.series=function(...r){const e=r.pop();return 0==r.length?curryArgs2(functionArrayAllSeries,e,__):areAnyValuesPromises(r)?promiseAll(r).then(curry2(functionArrayAllSeries,e,__)):functionArrayAllSeries(e,r)};const objectAssign=Object.assign,_assign=function(r,e){const t=functionObjectAll(e,[r]);return isPromise(t)?t.then(curry3(objectAssign,{},r,__)):{...r,...t}},assign=function(r,e){return null==e?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,e)):_assign(r,e)},catcherApply=function(r,e,t){return r(e,...t)},_tryCatch=function(r,e,t){try{const n=r(...t);return isPromise(n)?n.catch(curry3(catcherApply,e,__,t)):n}catch(r){return e(r,...t)}},tryCatch=function(...r){if(r.length>2){const e=r.pop(),t=r.pop();return areAnyValuesPromises(r)?promiseAll(r).then(curry3(_tryCatch,t,e,__)):_tryCatch(t,e,r)}const e=r[0],t=r[1];return function(...r){return _tryCatch(e,t,r)}},thunkify3=(r,e,t,n)=>function(){return r(e,t,n)},arrayConditional=function(r,e,t){const n=r.length-1;for(;(t+=2)<n;){const n=r[t],o=r[t+1],s="function"==typeof n?n(...e):n;if(isPromise(s))return s.then(curry3(thunkConditional,__,"function"==typeof o?thunkifyArgs(o,e):always(o),thunkify3(arrayConditional,r,e,t)));if(s)return"function"==typeof o?o(...e):o}if(t==r.length)return;const o=r[n];return"function"==typeof o?o(...e):o},thunkify2=(r,e,t)=>function(){return r(e,t)},nonfunctionsConditional=function(r,e){const t=r.length,n=t-1;for(;(e+=2)<n;){const t=r[e],n=r[e+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(n),thunkify2(nonfunctionsConditional,r,e)));if(t)return n}if(e!=t)return r[e]},switchCase=(...r)=>{const e=r.pop();return areAllValuesNonfunctions(e)?nonfunctionsConditional(e,-2):0==r.length?curryArgs3(arrayConditional,e,__,-2):areAnyValuesPromises(r)?promiseAll(r).then(curry3(arrayConditional,e,__,-2)):arrayConditional(e,r,-2)},symbolIterator=Symbol.iterator,MappingIterator=(r,e)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const t=r.next();return t.done?t:{value:e(t.value),done:!1}}}),promiseRace=Promise.race.bind(Promise);class LinkedList{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const r=this.first;if(null!=r)return r.next?this.first=r.next:this.first=null,this.length-=1,r.value}append(r){const e={value:r};null==this.first&&(this.first=e),null==this.last||(this.last.next=e),this.last=e,this.length+=1}}const symbolAsyncIterator=Symbol.asyncIterator,arrayPush=function(r,e){return r.push(e),r},sleep=r=>new Promise((e=>{setTimeout(e,r)})),MappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}await sleep(10)}if(t.length>0){let r=t.popFirst();return isPromise(r)&&(r=await r),{value:r,done:!1}}return{value:void 0,done:!0}}}},SerialMappingAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;let r=e(o);isPromise(r)&&(r=await r),t.append(r)}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;){if(t.length>0)return{value:t.popFirst(),done:!1};await sleep(10)}return t.length>0?{value:t.popFirst(),done:!1}:{value:void 0,done:!0}}}},isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},arrayMap=function(r,e){const t=r.length,n=Array(t);let o=-1,s=!1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&(s=!0),n[o]=t}return s?promiseAll(n):n},callPropUnary=(r,e,t)=>r[e](t),stringMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},setMap=function(r,e){const t=new Set,n=[];for(const o of r){const s=e(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,t,"add",__))):t.add(s)}return 0==n.length?t:promiseAll(n).then(always(t))},callPropBinary=(r,e,t,n)=>r[e](t,n),mapMap=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,t,"set",o,__))):t.set(o,i)}return 0==n.length?t:promiseAll(n).then(always(t))},objectMap=function(r,e){const t={};let n=!1;for(const o in r){const s=e(r[o],o,r);isPromise(s)&&(n=!0),t[o]=s}return n?promiseObjectAll(t):t},arrayMapSeriesAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;){const o=e(r[n],n);t[n]=isPromise(o)?await o:o}return t},arrayMapSeries=function(r,e){const t=r.length,n=Array(t);let o=-1;for(;++o<t;){const t=e(r[o],o);if(isPromise(t))return t.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,e,__,o)));n[o]=t}return n},stringMapSeries=function(r,e){const t=arrayMapSeries(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify4=(r,e,t,n,o)=>function(){return r(e,t,n,o)},_objectMapSeriesAsync=async function(r,e,t,n){for(const o in r){if(o in n)continue;let s=e(r[o]);isPromise(s)&&(s=await s),t[o]=s}return t},objectMapSeries=function(r,e){const t={},n={};for(const o in r){n[o]=!0;const s=e(r[o],o,r);if(isPromise(s))return s.then(funcConcat(curry3(objectSet,t,o,__),thunkify4(_objectMapSeriesAsync,r,e,t,n)));t[o]=s}return t},setAdd=function(r,e){return r.add(e),r},_setMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value);isPromise(o)&&(o=await o),t.add(o),n=r.next()}return t},setMapSeries=function(r,e){const t=new Set,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=e(o.value);if(isPromise(r))return r.then(funcConcat(curry2(setAdd,t,__),thunkify3(_setMapSeriesAsync,n,e,t)));t.add(r),o=n.next()}return t},mapSet=function(r,e,t){return r.set(e,t)},_mapMapSeriesAsync=async function(r,e,t){let n=r.next();for(;!n.done;){let o=e(n.value[1]);isPromise(o)&&(o=await o),t.set(n.value[0],o),n=r.next()}return t},mapMapSeries=function(r,e){const t=new Map,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=o.value[0],s=e(o.value[1]);if(isPromise(s))return s.then(funcConcat(curry3(mapSet,t,r,__),thunkify3(_mapMapSeriesAsync,n,e,t)));t.set(r,s),o=n.next()}return t},tapSync=r=>function(...e){return r(...e),e[0]},arrayMapPoolAsync=async function(r,e,t,n,o,s){const i=r.length;for(;++o<i;){s.size>=t&&await promiseRace(s);const i=e(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,e,t){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,t,e,o,s,i)}o[s]=n}return o},stringMapPool=function(r,e,t){const n=arrayMapPool(r,e,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},_setMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=n(i.value,i.value,r);if(isPromise(c)){const r=c.then((e=>{s.delete(r),o.add(e)}));s.add(r)}else o.add(c);i=e.next()}return s.size>0&&await promiseAll(s),o},setMapPool=function(r,e,t){const n=new Set,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=t(s.value,s.value,r);if(isPromise(i)){const s=new Set,c=i.then((r=>{s.delete(c),n.add(r)}));return s.add(c),_setMapPoolAsync(r,o,e,t,n,s)}n.add(i),s=o.next()}return n},_mapMapPoolAsync=async function(r,e,t,n,o,s){let i=e.next();for(;!i.done;){s.size>=t&&await promiseRace(s);const c=i.value[0],u=n(i.value[1],c,r);if(isPromise(u)){o.set(c,u);const r=u.then((e=>{s.delete(r),o.set(c,e)}));s.add(r)}else o.set(c,u);i=e.next()}return s.size>0&&await promiseAll(s),o},mapMapPool=function(r,e,t){const n=new Map,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=s.value[0],c=t(s.value[1],i,r);if(isPromise(c)){const s=new Set;n.set(i,c);const u=c.then((r=>{s.delete(u),n.set(i,r)}));return s.add(u),_mapMapPoolAsync(r,o,e,t,n,s)}n.set(i,c),s=o.next()}return n},_objectMapPoolAsync=async function(r,e,t,n,o,s){for(const i in r){if(i in o)continue;s.size>=e&&await promiseRace(s);const c=t(r[i],i,r);if(isPromise(c)){n[i]=c;const r=c.then((e=>{s.delete(r),n[i]=e}));s.add(r)}else n[i]=c}return s.size>0&&await promiseAll(s),n},objectMapPool=function(r,e,t){const n={},o={};for(const s in r){o[s]=!0;const i=t(r[s],s,r);if(isPromise(i)){const c=new Set;n[s]=i;const u=i.then((r=>{c.delete(u),n[s]=r}));return c.add(u),_objectMapPoolAsync(r,e,t,n,o,c)}n[s]=i}return n},funcApply2=(r,e,t)=>r.apply(e,t),_curryArity=(r,e,t,n)=>function(...o){const s=n.length,i=o.length,c=[];let u=-1,a=-1,l=0;for(;(u+=1)<s;){const s=n[u];if(s==__&&(a+=1)<i){const r=o[a];r==__&&(l+=1),c.push(r)}else c.push(s);if(c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}for(;(a+=1)<i;){const n=o[a];if(n==__&&(l+=1),c.push(n),c.length==r)return areAnyValuesPromises(c)?0==l?promiseAll(c).then(curry3(funcApply2,e,t,__)):promiseAll(c).then(curry4(curryArity,r,e,t,__)):0==l?e.apply(t,c):curryArity(r,e,t,c)}return areAnyValuesPromises(c)?promiseAll(c).then(curry4(curryArity,r,e,t,__)):curryArity(r,e,t,c)},curryArity=function(r,e,t,n){const o=n.length;if(o<r)return _curryArity(r,e,t,n);let s=-1;for(;(s+=1)<o;){if(n[s]==__)return _curryArity(r,e,t,n)}return e.apply(t,n)},spread2=r=>function([e,t]){return r(e,t)},objectMapEntries=function(r,e){const t={},n=[];for(const o in r){const s=e([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,this,[t])))):t[s[0]]=s[1]}return 0==n.length?t:promiseAll(n).then(always(t))},mapMapEntriesForEachCallback=(r,e,t)=>function(n,o){const s=r([o,n]);isPromise(s)?t.push(s.then(spread2(curryArity(3,mapSet,this,[e])))):e.set(s[0],s[1])},mapMapEntries=function(r,e){const t=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(e,t,n)),0==n.length?t:promiseAll(n).then(always(t))},_map=function(r,e){return isArray(r)?arrayMap(r,e):null==r?r:"function"==typeof r.then?r.then(e):"string"==typeof r||r.constructor==String?stringMap(r,e):r.constructor==Set?setMap(r,e):r.constructor==Map?mapMap(r,e):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.map?r.map(e):r.constructor==Object?objectMap(r,e):e(r)},map=function(r,e){return null==e?curry2(_map,__,r):isPromise(r)?r.then(curry2(_map,__,e)):_map(r,e)},_mapEntries=(r,e)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,e);if(r.constructor==Map)return mapMapEntries(r,e);throw new TypeError("value is not an Object or Map")};map.entries=function(r,e){return null==e?curry2(_mapEntries,__,r):isPromise(r)?r.then(curry2(_mapEntries,__,e)):_mapEntries(r,e)};const _mapSeries=function(r,e){if(isArray(r))return arrayMapSeries(r,e);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return stringMapSeries(r,e);if(r.constructor==Set)return setMapSeries(r,e);if(r.constructor==Map)return mapMapSeries(r,e);if("function"==typeof r[symbolIterator])return MappingIterator(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return SerialMappingAsyncIterator(r[symbolAsyncIterator](),e);if("function"==typeof r.map)return r.map(e);if(r.constructor==Object)return objectMapSeries(r,e);throw new TypeError(`invalid functor ${r}`)};map.series=function(r,e){return null==e?curry2(_mapSeries,__,r):isPromise(r)?r.then(curry2(_mapSeries,__,e)):_mapSeries(r,e)};const _mapPool=function(r,e,t){if(isArray(r))return arrayMapPool(r,e,t);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return stringMapPool(r,e,t);if(r.constructor==Set)return setMapPool(r,e,t);if(r.constructor==Map)return mapMapPool(r,e,t);if(r.constructor==Object)return objectMapPool(r,e,t);throw new TypeError(`invalid functor ${r}`)};map.pool=function(r,e,t){return null==t?curry3(_mapPool,__,r,e):isPromise(r)?r.then(curry3(_mapPool,__,e,t)):_mapPool(r,e,t)};const FilteringIterator=(r,e)=>({[symbolIterator](){return this},next(){let t=r.next();for(;!t.done;){const{value:n}=t;if(e(n))return{value:n,done:!1};t=r.next()}return t}}),FilteringAsyncIterator=(r,e)=>{const t=new LinkedList;let n=-1,o=!1,s=!1;return{[symbolAsyncIterator](){return this},async _consumeAsyncIterator(){for await(const o of r){n+=1;const r=e(o);t.append([r,o])}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s;)if(t.length>0){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,done:!1}}else await sleep(10);for(;t.length>0;){let[r,e]=t.popFirst();if(isPromise(r)&&(r=await r),r)return{value:e,done:!1}}return{value:void 0,done:!0}}}},arrayExtendMap=function(r,e,t,n){const o=e.length;let s=r.length-1;for(;++n<o;)r[++s]=t(e[n],n,r);return r},arrayFilterByConditions=function(r,e,t,n){const o=r.length;let s=-1;for(;++t<o;)n[++s]&&e.push(r[t]);return e},arrayFilter=function(r,e){const t=r.length,n=[];let o=-1,s=-1;for(;++o<t;){const t=r[o],i=e(t,o,r);if(isPromise(i))return promiseAll(arrayExtendMap([i],r,e,o)).then(curry4(arrayFilterByConditions,r,n,o-1,__));i&&(n[++s]=t)}return n},stringFilter=function(r,e){const t=arrayFilter(r,e);return isPromise(t)?t.then(curry3(callPropUnary,__,"join","")):t.join("")},thunkify1=(r,e)=>function(){return r(e)},noop=function(){},setFilter=function(r,e){const t=new Set,n=t.add.bind(t),o=[];for(const s of r){const i=e(s,s,r);isPromise(i)?o.push(i.then(curry3(thunkConditional,__,thunkify1(n,s),noop))):i&&t.add(s)}return 0==o.length?t:promiseAll(o).then(always(t))},mapFilter=function(r,e){const t=new Map,n=[];for(const[o,s]of r){const i=e(s,o,r);isPromise(i)?n.push(i.then(curry3(thunkConditional,__,thunkify4(callPropBinary,t,"set",o,s),noop))):i&&t.set(o,s)}return 0==n.length?t:promiseAll(n).then(always(t))},objectSetIf=function(r,e,t,n){n&&(r[e]=t)},objectFilter=function(r,e){const t={},n=[];for(const o in r){const s=r[o],i=e(s,o,r);isPromise(i)?n.push(i.then(curry4(objectSetIf,t,o,r[o],__))):i&&(t[o]=s)}return 0==n.length?t:promiseAll(n).then(always(t))},_filter=function(r,e){return isArray(r)?arrayFilter(r,e):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,e):r.constructor==Set?setFilter(r,e):r.constructor==Map?mapFilter(r,e):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),e):"function"==typeof r.filter?r.filter(e):r.constructor==Object?objectFilter(r,e):r},filter=function(r,e){return"function"==typeof r?curry2(_filter,__,r):isPromise(r)?r.then(curry2(_filter,__,e)):_filter(r,e)},objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,iteratorReduceAsync=async function(r,e,t){let n=r.next();if(n.done)return t;for(;!n.done;)t=e(t,n.value),isPromise(t)&&(t=await t),n=r.next();return t},iteratorReduce=function(r,e,t){let n=r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=r.next());!n.done;){if(t=e(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,r,e,__));n=r.next()}return t},asyncIteratorReduce=async function(r,e,t){let n=await r.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await r.next());!n.done;)t=await e(t,n.value),n=await r.next();return t},arrayReduceAsync=async function(r,e,t,n){const o=r.length;for(;++n<o;)t=e(t,r[n],n,r),isPromise(t)&&(t=await t);return t},arrayReduce=function(r,e,t){const n=r.length;let o=-1;for(void 0===t&&(t=r[++o]);++o<n;)if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry4(arrayReduceAsync,r,e,__,o));return t},curry5ResolveArg0=(r,e,t,n,o)=>function(s){return r(s,e,t,n,o)},curry5ResolveArg1=(r,e,t,n,o)=>function(s){return r(e,s,t,n,o)},curry5ResolveArg2=(r,e,t,n,o)=>function(s){return r(e,t,s,n,o)},curry5ResolveArg3=(r,e,t,n,o)=>function(s){return r(e,t,n,s,o)},curry5ResolveArg4=(r,e,t,n,o)=>function(s){return r(e,t,n,o,s)},curry5=function(r,e,t,n,o,s){return e==__?curry5ResolveArg0(r,t,n,o,s):t==__?curry5ResolveArg1(r,e,n,o,s):n==__?curry5ResolveArg2(r,e,t,o,s):o==__?curry5ResolveArg3(r,e,t,n,s):curry5ResolveArg4(r,e,t,n,o)},objectKeys=Object.keys,objectReduceAsync=async function(r,e,t,n,o){const s=n.length;for(;++o<s;){const s=n[o];t=e(t,r[s],s,r),isPromise(t)&&(t=await t)}return t},objectReduce=function(r,e,t){const n=objectKeys(r),o=n.length;let s=-1;for(void 0===t&&(t=r[n[++s]]);++s<o;){const o=n[s];if(t=e(t,r[o],o,r),isPromise(t))return t.then(curry5(objectReduceAsync,r,e,__,n,s))}return t},mapReduceAsync=async function(r,e,t,n){for(const[o,s]of n)t=e(t,s,o,r),isPromise(t)&&(t=await t);return t},mapReduce=function(r,e,t){const n=r.entries();if(void 0===t){const r=n.next();if(r.done)return t;t=r.value[1]}for(const[o,s]of n)if(t=e(t,s,o,r),isPromise(t))return t.then(curry4(mapReduceAsync,r,e,__,n));return t},reducerConcat=(r,e)=>function(t,n){const o=r(t,n);return isPromise(o)?o.then(curry2(e,__,n)):e(o,n)},genericReduce=function(r,e,t){return isArray(r)?arrayReduce(r,e,t):null==r?void 0===t?curry2(e,r,__):e(t,r):r.constructor==Map?mapReduce(r,e,t):"function"==typeof r[symbolIterator]?iteratorReduce(r[symbolIterator](),e,t):"function"==typeof r[symbolAsyncIterator]?asyncIteratorReduce(r[symbolAsyncIterator](),e,t):"function"==typeof r.reduce?r.reduce(e,t):"function"==typeof r.chain?r.chain(curry2(e,t,__)):"function"==typeof r.flatMap?r.flatMap(curry2(e,t,__)):r.constructor==Object?objectReduce(r,e,t):void 0===t?curry2(e,r,__):e(t,r)},_reduce=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,n)}return isPromise(t)?t.then(curry3(genericReduce,r,e,__)):genericReduce(r,e,t)},reduce=function(...r){return"function"==typeof r[0]?curry3(_reduce,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_reduce,__,r[1],r[2])):_reduce(r[0],r[1],r[2])},isBinary=ArrayBuffer.isView,add=(r,e)=>r+e,_arrayExtend=function(r,e){const t=r.length,n=e.length;let o=-1;for(;++o<n;)r[t+o]=e[o];return r},arrayExtend=function(r,e){return isArray(e)||isBinary(e)?_arrayExtend(r,e):(r.push(e),r)},globalThisHasBuffer="function"==typeof Buffer,bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(r,e){const t=r.length,n=globalThisHasBuffer&&r.constructor==Buffer?bufferAlloc(t+e.length):new r.constructor(t+e.length);return n.set(r),n.set(e,t),n},binaryExtend=function(r,e){return isArray(e)||isBinary(e)?_binaryExtend(r,e):_binaryExtend(r,[e])},isNodeReadStream=r=>null!=r&&"function"==typeof r.pipe,__streamWrite=r=>function(e,t,n){return r.write(e,t,n),r},_streamExtendExecutor=(r,e)=>function(t,n){e.on("data",__streamWrite(r)),e.on("end",thunkify1(t,r)),e.on("error",n)},_streamExtend=(r,e)=>new Promise(_streamExtendExecutor(r,e)),streamExtend=function(r,e){return isNodeReadStream(e)?_streamExtend(r,e):(r.write(e),r)},setExtend=function(r,e){if(null!=e&&e.constructor==Set){for(const t of e)r.add(t);return r}return r.add(e)},callConcat=function(r,e){return r.concat(e)},identityTransform=function(r,e,t){const n=genericReduce(r,e(noop),null);return isPromise(n)?n.then(always(t)):t},genericTransform=function(r,e,t){if(isArray(t))return genericReduce(r,e(arrayExtend),t);if(isBinary(t)){const n=genericReduce(r,e(arrayExtend),[]);return isPromise(n)?n.then(curry2(binaryExtend,t,__)):binaryExtend(t,n)}if(null==t)return identityTransform(r,e,t);const n=t.constructor;if("string"==typeof t||n==String){const n=genericReduce(r,e(arrayExtend),[t]);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")}return"function"==typeof t.concat?genericReduce(r,e(callConcat),t):"function"==typeof t.write?genericReduce(r,e(streamExtend),t):n==Set?genericReduce(r,e(setExtend),t):n==Object?genericReduce(r,e(objectAssign),t):identityTransform(r,e,t)},_transform=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,n)}return isPromise(t)?t.then(curry3(genericTransform,r,e,__)):genericTransform(r,e,t)},transform=function(...r){return"function"==typeof r[0]?curry3(_transform,__,r[0],r[1]):isPromise(r[0])?r[0].then(curry3(_transform,__,r[1],r[2])):_transform(r[0],r[1],r[2])},FlatMappingIterator=function(r,e){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const r=t[n];return n+=1,{value:r,done:!1}}const o=r.next();if(o.done)return o;const s=genericReduce(e(o.value),arrayPush,[]);return s.length>1&&(t=s,n=1),{value:s[0],done:!1}}}},FlatMappingAsyncIterator=function(r,e){const t=[],n=new Set;let o=!1,s=!1;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const o of r){const r=e(o);if(isPromise(r)){const e=r.then(curry3(genericReduce,__,arrayPush,t)).then((()=>n.delete(e)));n.add(e)}else{const e=genericReduce(r,arrayPush,t);if(isPromise(e)){const r=e.then((()=>n.delete(r)));n.add(r)}}}s=!0},async next(){for(o||(this._consumeAsyncIterator(),o=!0);!s||n.size>0;){if(t.length>0)return{value:t.shift(),done:!1};n.size>0?await promiseRace(n):await sleep(10)}return t.length>0?{value:t.shift(),done:!1}:{value:void 0,done:!0}}}},getArg1=(r,e)=>e,identity=r=>r,funcConcatSync=(r,e)=>function(...t){return e(r(...t))},asyncIteratorForEach=async function(r,e){const t=[];for await(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},arrayFlatten=function(r){const e=r.length,t=[],n=[];let o=-1;for(;++o<e;){const e=r[o];if(isArray(e)){const r=e.length;let t=-1;for(;++t<r;)n.push(e[t])}else if(null==e)n.push(e);else if("function"==typeof e.then)t.push(e.then(curry2(arrayPush,n,__)));else if("function"==typeof e[symbolIterator])for(const r of e)n.push(r);else if("function"==typeof e[symbolAsyncIterator])t.push(asyncIteratorForEach(e[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof e.chain){const r=e.chain(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.flatMap){const r=e.flatMap(identity);isPromise(r)?t.push(r.then(curry2(arrayPush,n,__))):n.push(r)}else if("function"==typeof e.reduce){const r=e.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(r)&&t.push(r)}else if(e.constructor==Object)for(const r in e)n.push(e[r]);else n.push(e)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},objectFlatten=function(r){const e=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const s in r){const i=r[s];if(null!=i)if("function"==typeof i[symbolIterator])for(const r of i)objectAssign(t,r);else if("function"==typeof i[symbolAsyncIterator])e.push(asyncIteratorForEach(i[symbolAsyncIterator](),n));else if("function"==typeof i.chain){const r=i.chain(identity);isPromise(r)?e.push(r.then(n)):objectAssign(t,r)}else if("function"==typeof i.flatMap){const r=i.flatMap(identity);isPromise(r)?e.push(r.then(n)):n(r)}else if("function"==typeof i.reduce){const r=i.reduce(o,null);isPromise(r)&&e.push(r)}else objectAssign(t,i)}return 0==e.length?t:promiseAll(e).then((()=>t))},objectFlatMap=function(r,e){const t=objectMap(r,e);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},setFlatten=function(r){r.size;const e=[],t=new Set,n=(r,e)=>t.add(e),o=curry3(callPropUnary,t,"add",__);for(const s of r)if(isArray(s)){const r=s.length;let e=-1;for(;++e<r;)t.add(s[e])}else if(null==s)t.add(s);else if("function"==typeof s[symbolIterator])for(const r of s)t.add(r);else if("function"==typeof s[symbolAsyncIterator])e.push(asyncIteratorForEach(s[symbolAsyncIterator](),o));else if("function"==typeof s.chain){const r=s.chain(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.flatMap){const r=s.flatMap(identity);isPromise(r)?e.push(r.then(o)):t.add(r)}else if("function"==typeof s.reduce){const r=s.reduce(n,null);isPromise(r)&&e.push(r)}else if(s.constructor==Object)for(const r in s)t.add(s[r]);else t.add(s);return 0==e.length?t:promiseAll(e).then((()=>t))},setFlatMap=function(r,e){const t=setMap(r,e);return isPromise(t)?t.then(setFlatten):setFlatten(t)},arrayJoin=(r,e)=>r.join(e),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(r,e){const t=arrayMap(r,e);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},_flatMap=function(r,e){if(isArray(r))return arrayFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)},flatMap=(r,e)=>"function"==typeof r?curry2(_flatMap,__,r):isPromise(r)?r.then(curry2(_flatMap,__,e)):_flatMap(r,e),arrayForEach=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o],o,r);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,e){const t=[];for(const n in r){const o=e(r[n],n,r);isPromise(o)&&t.push(o)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,e){const t=[];for(const n of r){const r=e(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},_arrayForEachSeriesAsync=async function(r,e,t){const n=r.length;for(;++t<n;){const n=e(r[t]);isPromise(n)&&await n}return r},arrayForEachSeries=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n],n,r);if(isPromise(t))return t.then(thunkify3(_arrayForEachSeriesAsync,r,e,n))}return r},_objectForEachSeriesAsync=async function(r,e,t){for(const n in r){if(n in t)continue;const o=e(r[n]);isPromise(o)&&await o}return r},objectForEachSeries=function(r,e){const t={};for(const n in r){t[n]=!0;const o=e(r[n],n,r);if(isPromise(o))return o.then(thunkify3(_objectForEachSeriesAsync,r,e,t))}return r},_iteratorForEachSeriesAsync=async function(r,e){let t=r.next();for(;!t.done;){const n=e(t.value);isPromise(n)&&await n,t=r.next()}return r},iteratorForEachSeries=function(r,e){let t=r.next();for(;!t.done;){const n=e(t.value);if(isPromise(n))return n.then(thunkify2(_iteratorForEachSeriesAsync,r,e));t=r.next()}return r},asyncIteratorForEachSeries=async function(r,e){for await(const t of r){const r=e(t);isPromise(r)&&await r}return r},_forEach=function(r,e){return isArray(r)?arrayForEach(r,e):null==r?r:"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),e):"function"==typeof r.forEach?(r.forEach(e),r):r.constructor==Object?objectForEach(r,e):r},forEach=function(r,e){return"function"==typeof r?curry2(_forEach,__,r):isPromise(r)?r.then(curry2(_forEach,__,e)):_forEach(r,e)},_forEachSeries=function(r,e){if(isArray(r))return arrayForEachSeries(r,e);if(null==r)throw new TypeError(`invalid collection ${r}`);if("function"==typeof r[symbolIterator])return iteratorForEachSeries(r[symbolIterator](),e);if("function"==typeof r[symbolAsyncIterator])return asyncIteratorForEachSeries(r[symbolAsyncIterator](),e);if(r.constructor==Object)return objectForEachSeries(r,e);throw new TypeError(`invalid collection ${r}`)};forEach.series=function(r,e){return"function"==typeof r?curry2(_forEachSeries,__,r):isPromise(r)?r.then(curry2(_forEachSeries,__,e)):_forEachSeries(r,e)};const SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},asyncArraySome=async function(r,e,t,n){const o=r.length;for(;++t<o;){const o=e(r[t]);if(isPromise(o))n.add(SelfReferencingPromise(o));else if(o)return!0}for(;n.size>0;){const[r,e]=await promiseRace(n);if(n.delete(e),r)return!0}return!1},arraySome=function(r,e){const t=r.length;let n=-1;for(;++n<t;){const t=e(r[n]);if(isPromise(t))return asyncArraySome(r,e,n,new Set([SelfReferencingPromise(t)]));if(t)return!0}return!1},asyncIteratorSome=async function(r,e,t,n=20){let o=r.next();for(isPromise(o)&&(o=await o);!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(s)return!0;o=r.next(),isPromise(o)&&(o=await o)}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},iteratorSome=function(r,e){for(const t of r){const n=e(t);if(isPromise(n))return asyncIteratorSome(r,e,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},reducerAnySync=r=>function(e,t){return!!e||r(t)},reducerSome=r=>function(e,t){return!0===e?e:isPromise(e)?e.then(curry2(reducerAnySync(r),__,t)):!!e||r(t)},_some=function(r,e){return isArray(r)?arraySome(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorSome(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorSome(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerSome(e),!1):r.constructor==Object?arraySome(objectValues(r),e):e(r)},some=function(r,e){return"function"==typeof r?curry2(_some,__,r):isPromise(r)?r.then(curry2(_some,__,e)):_some(r,e)},arrayEvery=function(r,e){const t=r.length,n=[];let o=-1;for(;++o<t;){const t=e(r[o]);if(isPromise(t))n.push(t);else if(!t)return!1}return 0==n.length||promiseAll(n).then(curry3(callPropUnary,__,"every",Boolean))},iteratorEvery=function(r,e){const t=[];for(const n of r){const r=e(n);if(isPromise(r))t.push(r);else if(!r)return!1}return 0==t.length||promiseAll(t).then(curry3(callPropUnary,__,"every",Boolean))},asyncIteratorEvery=async function(r,e,t,n=20){let o=await r.next();for(;!o.done;){if(t.size>=n){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}const s=e(o.value);if(isPromise(s))t.add(SelfReferencingPromise(s));else if(!s)return!1;o=await r.next()}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),!r)return!1}return!0},reducerAllSync=(r,e,t)=>!!e&&r(t),reducerEvery=r=>function(e,t){return!1!==e&&(isPromise(e)?e.then(curry3(reducerAllSync,r,__,t)):!!e&&r(t))},_every=function(r,e){return isArray(r)?arrayEvery(r,e):null==r?e(r):"function"==typeof r[symbolIterator]?iteratorEvery(r[symbolIterator](),e):"function"==typeof r[symbolAsyncIterator]?asyncIteratorEvery(r[symbolAsyncIterator](),e,new Set):"function"==typeof r.reduce?r.reduce(reducerEvery(e),!0):r.constructor==Object?arrayEvery(objectValues(r),e):e(r)},every=function(r,e){return"function"==typeof r?curry2(_every,__,r):isPromise(r)?r.then(curry2(_every,__,e)):_every(r,e)},areAllValuesTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkify2(areAllValuesTruthy,r,e),always(!1)));if(!t)return!1}return!0},asyncArePredicatesAllTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),!n)return!1}return!0},areAllPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,r,e,n),always(!1)));if(!t)return!1}return!0},and=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAllValuesTruthy(e,-1):0==r.length?curryArgs2(areAllPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAllPredicatesTruthy,__,e)):areAllPredicatesTruthy(r,e)},areAnyNonfunctionsTruthy=function(r,e){const t=r.length;for(;++e<t;){const t=r[e];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify2(areAnyNonfunctionsTruthy,r,e)));if(t)return!0}return!1},asyncAreAnyPredicatesTruthy=async function(r,e,t){const n=e.length;for(;++t<n;){let n=e[t];if("function"==typeof n&&(n=n(...r)),isPromise(n)&&(n=await n),n)return!0}return!1},areAnyPredicatesTruthy=function(r,e){const t=e.length;let n=-1;for(;++n<t;){let t=e[n];if("function"==typeof t&&(t=t(...r)),isPromise(t))return t.then(curry3(thunkConditional,__,always(!0),thunkify3(asyncAreAnyPredicatesTruthy,r,e,n)));if(t)return!0}return!1},or=function(...r){const e=r.pop();return areAllValuesNonfunctions(e)?areAnyNonfunctionsTruthy(e,-1):0==r.length?curryArgs2(areAnyPredicatesTruthy,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAnyPredicatesTruthy,__,e)):areAnyPredicatesTruthy(r,e)},negate=r=>!r,_not=function(r,e){const t=e(...r);return isPromise(t)?t.then(negate):!t},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?curryArgs2(_not,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):isPromise(e)?e.then(negate):!e},curryArgs4ResolveArgs0=(r,e,t,n)=>function(...o){return r(o,e,t,n)},curryArgs4ResolveArgs1=(r,e,t,n)=>function(...o){return r(e,o,t,n)},curryArgs4ResolveArgs2=(r,e,t,n)=>function(...o){return r(e,t,o,n)},curryArgs4ResolveArgs3=(r,e,t,n)=>function(...o){return r(e,t,n,o)},curryArgs4=function(r,e,t,n,o){return e==__?curryArgs4ResolveArgs0(r,t,n,o):t==__?curryArgs4ResolveArgs1(r,e,n,o):n==__?curryArgs4ResolveArgs2(r,e,t,o):curryArgs4ResolveArgs3(r,e,t,n)},leftResolverRightResolverCompare=function(r,e,t,n){const o=t(...r),s=n(...r);return isPromise(o)||isPromise(s)?promiseAll([o,s]).then(spread2(e)):e(o,s)},leftResolverRightValueCompare=function(r,e,t,n){const o=t(...r);return isPromise(o)||isPromise(n)?promiseAll([o,n]).then(spread2(e)):e(o,n)},leftValueRightResolverCompare=function(r,e,t,n){const o=n(...r);return isPromise(t)||isPromise(o)?promiseAll([t,o]).then(spread2(e)):e(t,o)},ComparisonOperator=r=>function(...e){const t=e.pop(),n=e.pop(),o="function"==typeof n,s="function"==typeof t;return o&&s?0==e.length?curryArgs4(leftResolverRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightResolverCompare,__,r,n,t)):leftResolverRightResolverCompare(e,r,n,t):o?0==e.length?curryArgs4(leftResolverRightValueCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftResolverRightValueCompare,__,r,n,t)):leftResolverRightValueCompare(e,r,n,t):s?0==e.length?curryArgs4(leftValueRightResolverCompare,__,r,n,t):areAnyValuesPromises(e)?promiseAll(e).then(curry4(leftValueRightResolverCompare,__,r,n,t)):leftValueRightResolverCompare(e,r,n,t):isPromise(n)||isPromise(t)?promiseAll([n,t]).then(spread2(r)):r(n,t)},equals=function(r,e){return r==e},eq=ComparisonOperator(equals),greaterThan=(r,e)=>r>e,gt=ComparisonOperator(greaterThan),lessThan=(r,e)=>r<e,lt=ComparisonOperator(lessThan),greaterThanOrEqual=(r,e)=>r>=e,gte=ComparisonOperator(greaterThanOrEqual),lessThanOrEqual=(r,e)=>r<=e,lte=ComparisonOperator(lessThanOrEqual),memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;return s},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,e):isPromise(r)||isPromise(t)?promiseAll([r,e,t]).then(curry2(funcApply,_get,__)):_get(r,e,t)},setByPath=function(r,e,t){if(!isObject(r))return r;const n=propertyPathToArray(t),o=n.length,s=o-1,i={...r};let c=i,u=-1;for(;++u<o;){const r=n[u];if(u==s)c[r]=e;else{const e=c[r],t=isArray(e)?e.slice():{...e};c[r]=t,c=t}}return i},_set=function(r,e,t){if("function"==typeof t){const n=t(r);return isPromise(n)?n.then(curry3(setByPath,r,__,e)):setByPath(r,n,e)}return isPromise(t)?t.then(curry3(setByPath,r,__,e)):setByPath(r,t,e)},set=function(r,e,t){return null==t?curry3(_set,__,r,e):isPromise(r)?r.then(curry3(_set,__,e,t)):_set(r,e,t)},_pick=function(r,e){if(null==r)return r;const t=e.length;let n={},o=-1;for(;++o<t;){const t=e[o],s=getByPath(r,t);null!=s&&(n=setByPath(n,s,t))}return n},pick=function(r,e){return null==e?curry2(_pick,__,r):isPromise(r)?r.then(curry2(_pick,__,e)):_pick(r,e)},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),n=t.length-1;let o=-1,s=r;for(;++o<n;)if(s=s[t[o]],null==s)return;const i=t[o];null!=s&&i in s&&delete s[i]},objectCopyDeep=function(r){const e={};for(const t in r){const n=r[t];isArray(n)?e[t]=arrayCopyDeep(n):null!=n&&n.constructor==Object?e[t]=objectCopyDeep(n):e[t]=n}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let n=-1;for(;++n<e;){const e=r[n];isArray(e)?t[n]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[n]=objectCopyDeep(e):t[n]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},_omit=function(r,e){const t=e.length,n=copyDeep(r);let o=-1;for(;++o<t;)deleteByPath(n,e[o]);return n},omit=function(r,e){return null==e?curry2(_omit,__,r):isPromise(r)?r.then(curry2(_omit,__,e)):_omit(r,e)};function _thunkifyArgs(r,e,t){return function(){return r.apply(e,t)}}const thunkify=function(r,...e){return areAnyValuesPromises(e)?promiseAll(e).then(curry3(_thunkifyArgs,r,this,__)):_thunkifyArgs(r,this,e)};thunkify.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry3(_thunkifyArgs,r,e,__)):_thunkifyArgs(r,e,t)};const curry=(r,...e)=>areAnyValuesPromises(e)?promiseAll(e).then(curry4(curryArity,r.length,r,this,__)):curryArity(r.length,r,this,e);curry.arity=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r,e,this,__)):curryArity(r,e,this,t)},curry.call=function(r,e,...t){return areAnyValuesPromises(t)?promiseAll(t).then(curry4(curryArity,r.length,r,e,__)):curryArity(r.length,r,e,t)};const rubico={pipe:pipe,compose:compose,tap:tap,forEach:forEach,switchCase:switchCase,tryCatch:tryCatch,all:all,assign:assign,get:get,set:set,pick:pick,omit:omit,map:map,filter:filter,flatMap:flatMap,reduce:reduce,transform:transform,and:and,or:or,not:not,some:some,every:every,eq:eq,gt:gt,lt:lt,gte:gte,lte:lte,thunkify:thunkify,always:always,curry:curry,__:__};export{pipe,compose,tap,forEach,switchCase,tryCatch,all,assign,get,set,pick,omit,map,filter,reduce,transform,flatMap,and,or,not,some,every,eq,gt,lt,gte,lte,thunkify,always,curry,__};export default rubico;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.10.0
2
+ * Rubico v2.12.1
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1480,26 +1480,64 @@ const FilteringIterator = (iterator, predicate) => ({
1480
1480
  },
1481
1481
  })
1482
1482
 
1483
- const FilteringAsyncIterator = (asyncIterator, predicate) => ({
1484
- isAsyncIteratorDone: false,
1485
- [symbolAsyncIterator]() {
1486
- return this
1487
- },
1488
- async next() {
1489
- while (!this.isAsyncIteratorDone) {
1490
- const { value, done } = await asyncIterator.next()
1491
- if (done) {
1492
- this.isAsyncIteratorDone = true
1493
- } else {
1494
- const predication = predicate(value)
1495
- if (isPromise(predication) ? await predication : predication) {
1496
- return { value, done: false }
1483
+ const FilteringAsyncIterator = (asyncIterator, predicate) => {
1484
+ const buffer = new LinkedList()
1485
+
1486
+ let index = -1
1487
+ let consumingAsyncIterator = false
1488
+ let isAsyncIteratorDone = false
1489
+
1490
+ return {
1491
+ [symbolAsyncIterator]() {
1492
+ return this
1493
+ },
1494
+
1495
+ // _consumeAsyncIterator() -> Promise<>
1496
+ async _consumeAsyncIterator() {
1497
+ for await (const item of asyncIterator) {
1498
+ index += 1
1499
+ const booleanResult = predicate(item)
1500
+ buffer.append([booleanResult, item])
1501
+ }
1502
+ isAsyncIteratorDone = true
1503
+ },
1504
+
1505
+
1506
+ async next() {
1507
+ if (!consumingAsyncIterator) {
1508
+ this._consumeAsyncIterator()
1509
+ consumingAsyncIterator = true
1510
+ }
1511
+
1512
+ while (!isAsyncIteratorDone) {
1513
+ if (buffer.length > 0) {
1514
+ let [booleanResult, item] = buffer.popFirst()
1515
+ if (isPromise(booleanResult)) {
1516
+ booleanResult = await booleanResult
1517
+ }
1518
+ if (booleanResult) {
1519
+ return { value: item, done: false }
1520
+ }
1521
+ continue
1497
1522
  }
1523
+ await sleep(10)
1498
1524
  }
1499
- }
1500
- return { value: undefined, done: true }
1501
- },
1502
- })
1525
+
1526
+ while (buffer.length > 0) {
1527
+ let [booleanResult, item] = buffer.popFirst()
1528
+ if (isPromise(booleanResult)) {
1529
+ booleanResult = await booleanResult
1530
+ }
1531
+ if (booleanResult) {
1532
+ return { value: item, done: false }
1533
+ }
1534
+ }
1535
+
1536
+ return { value: undefined, done: true }
1537
+ },
1538
+
1539
+ }
1540
+ }
1503
1541
 
1504
1542
  const arrayExtendMap = function (
1505
1543
  array, values, valuesMapper, valuesIndex,
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Rubico v2.10.0
2
+ * Rubico v2.12.1
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
6
6
  * Rubico may be freely distributed under the CFOSS license.
7
7
  */
8
8
 
9
- !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,e=function(e){if(n(e)){const n=e.length;let o=-1;for(;++o<n;){const n=e[o];if(t(n))return!0}return!1}for(const n in e){const o=e[n];if(t(o))return!0}return!1},o=Promise.all.bind(Promise),r=(n,e)=>function(...o){const r=n(...o);return t(r)?r.then(e):e(r)},u=(n,t)=>n(...t),c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},s=(n,t)=>function(){return n(...t)},l=(n,t,e)=>n?t():e(),h=function(n,t,e,o){return t==c?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},a=function(n,t,e){return t==c?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},p=function(n,t,e,o){return t==c?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(...o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(...o){return n(t,e,o)})(n,t,e)},d=function(n,e){const o=n[0],r=e(...n);return t(r)?r.then(f(o)):o},y=function(...n){const t=n.pop();return 0==n.length?a(d,c,t):e(n)?o(n).then(i(d,c,t)):d(n,t)},g=function(n,e,o){const r=n(...o);if(t(r))return r.then(h(l,c,s(y(e),o),f(o[0])));if(r){const n=e(...o);if(t(n))return n.then(f(o[0]))}return o[0]};y.if=function(...n){if(2==n.length)return p(g,n[0],n[1],c);const t=n.length,r=n[t-1],u=n[t-2],i=n.slice(0,-2);return e(i)?o(i).then(h(g,u,r,c)):g(u,r,n)};const w=function(t){if(n(t)){const n=t.length;let e=-1;for(;++e<n;)if("function"==typeof t[e])return!1;return!0}for(const n in t)if("function"==typeof t[n])return!1;return!0},v=n=>new Promise((n=>function(e){const o={};let r=0;for(const u in n){const c=n[u];t(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(n)),x=function(n,e){const r=n.length,u=Array(r);let c=-1,i=!1;for(;++c<r;){const o=n[c],r="function"==typeof o?o(...e):o;t(r)&&(i=!0),u[c]=r}return i?o(u):u},j=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},b=function(n,t,e){return n[t]=e,n},S=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=n[r](...e);o[r]=t(u)?await u:u}return o},m=function(n,e){const o=n.length,u=[];let i=-1;for(;++i<o;){const o=n[i](...e);if(t(o))return o.then(r(h(b,u,i,c),j(S,n,e,c,i)));u[i]=o}return u},M=function(n,e){const r={},u=[];for(const o in n){const i=n[o],f="function"==typeof i?i(...e):i;t(f)?u.push(f.then(h(b,r,o,c))):r[o]=f}return 0==u.length?r:o(u).then(f(r))},O=function(t){return n(t)?e(t)?o(t):t:e(t)?v(t):t},A=function(...r){if(1==r.length){const e=r[0];return t(e)?e.then(O):w(e)?O(e):n(e)?a(x,e,c):a(M,e,c)}const u=r[r.length-1],f=r.slice(0,-1);return e(f)?n(u)?o(f).then(i(x,u,c)):o(f).then(i(M,u,c)):n(u)?x(u,f):M(u,f)};A.series=function(...n){const t=n.pop();return 0==n.length?a(m,t,c):e(n)?o(n).then(i(m,t,c)):m(t,n)};const z=Object.assign,I=function(n,e){const o=M(e,[n]);return t(o)?o.then(h(z,{},n,c)):{...n,...o}},E=function(n,t,e){return n(t,...e)},T=function(n,e,o){try{const r=n(...o);return t(r)?r.catch(h(E,e,c,o)):r}catch(n){return e(n,...o)}},_=(n,t,e,o)=>function(){return n(t,e,o)},P=function(n,e,o){const r=n.length-1;for(;(o+=2)<r;){const r=n[o],u=n[o+1],i="function"==typeof r?r(...e):r;if(t(i))return i.then(h(l,c,"function"==typeof u?s(u,e):f(u),_(P,n,e,o)));if(i)return"function"==typeof u?u(...e):u}if(o==n.length)return;const u=n[r];return"function"==typeof u?u(...e):u},B=(n,t,e)=>function(){return n(t,e)},F=function(n,e){const o=n.length,r=o-1;for(;(e+=2)<r;){const o=n[e],r=n[e+1];if(t(o))return o.then(h(l,c,f(r),B(F,n,e)));if(o)return r}if(e!=o)return n[e]},$=Symbol.iterator,D=(n,t)=>({toString:()=>"[object MappingIterator]",[$](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),k=Promise.race.bind(Promise);class C{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const n=this.first;if(null!=n)return n.next?this.first=n.next:this.first=null,this.length-=1,n.value}append(n){const t={value:n};null==this.first&&(this.first=t),null==this.last||(this.last.next=t),this.last=t,this.length+=1}}const R=Symbol.asyncIterator,q=function(n,t){return n.push(t),n},V=n=>new Promise((t=>{setTimeout(t,n)})),G=(n,e)=>{const o=new C;let r=-1,u=!1,c=!1;return{[R](){return this},async _consumeAsyncIterator(){for await(const t of n){r+=1;const n=e(t);o.append(n)}c=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!c;){if(o.length>0){let n=o.popFirst();return t(n)&&(n=await n),{value:n,done:!1}}await V(10)}if(o.length>0){let n=o.popFirst();return t(n)&&(n=await n),{value:n,done:!1}}return{value:void 0,done:!0}}}},H=(n,e)=>{const o=new C;let r=-1,u=!1,c=!1;return{[R](){return this},async _consumeAsyncIterator(){for await(const u of n){r+=1;let n=e(u);t(n)&&(n=await n),o.append(n)}c=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!c;){if(o.length>0)return{value:o.popFirst(),done:!1};await V(10)}return o.length>0?{value:o.popFirst(),done:!1}:{value:void 0,done:!0}}}},J=function(n,e){const r=n.length,u=Array(r);let c=-1,i=!1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&(i=!0),u[c]=o}return i?o(u):u},K=(n,t,e)=>n[t](e),L=function(n,e){const r=new Set,u=[];for(const o of n){const i=e(o,o,n);t(i)?u.push(i.then(h(K,r,"add",c))):r.add(i)}return 0==u.length?r:o(u).then(f(r))},N=(n,t,e,o)=>n[t](e,o),Q=function(n,e){const o={};let r=!1;for(const u in n){const c=e(n[u],u,n);t(c)&&(r=!0),o[u]=c}return r?v(o):o},U=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=e(n[r],r);o[r]=t(u)?await u:u}return o},W=function(n,e){const o=n.length,u=Array(o);let i=-1;for(;++i<o;){const o=e(n[i],i);if(t(o))return o.then(r(h(b,u,i,c),j(U,n,e,c,i)));u[i]=o}return u},X=(n,t,e,o,r)=>function(){return n(t,e,o,r)},Y=async function(n,e,o,r){for(const u in n){if(u in r)continue;let c=e(n[u]);t(c)&&(c=await c),o[u]=c}return o},Z=function(n,t){return n.add(t),n},nn=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value);t(u)&&(u=await u),o.add(u),r=n.next()}return o},tn=function(n,t,e){return n.set(t,e)},en=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value[1]);t(u)&&(u=await u),o.set(r.value[0],u),r=n.next()}return o},on=n=>function(...t){return n(...t),t[0]},rn=async function(n,e,r,u,c,i){const f=n.length;for(;++c<f;){i.size>=r&&await k(i);const o=e(n[c]);if(t(o)){const n=o.then(on((()=>i.delete(n))));i.add(n),u[c]=n}else u[c]=o}return o(u)},un=function(n,e,o){const r=n.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(n[c]);if(t(r)){const t=new Set,i=r.then(on((()=>t.delete(i))));return t.add(i),u[c]=i,rn(n,o,e,u,c,t)}u[c]=r}return u},cn=async function(n,e,r,u,c,i){let f=e.next();for(;!f.done;){i.size>=r&&await k(i);const o=u(f.value,f.value,n);if(t(o)){const n=o.then((t=>{i.delete(n),c.add(t)}));i.add(n)}else c.add(o);f=e.next()}return i.size>0&&await o(i),c},fn=async function(n,e,r,u,c,i){let f=e.next();for(;!f.done;){i.size>=r&&await k(i);const o=f.value[0],s=u(f.value[1],o,n);if(t(s)){c.set(o,s);const n=s.then((t=>{i.delete(n),c.set(o,t)}));i.add(n)}else c.set(o,s);f=e.next()}return i.size>0&&await o(i),c},sn=async function(n,e,r,u,c,i){for(const o in n){if(o in c)continue;i.size>=e&&await k(i);const f=r(n[o],o,n);if(t(f)){u[o]=f;const n=f.then((t=>{i.delete(n),u[o]=t}));i.add(n)}else u[o]=f}return i.size>0&&await o(i),u},ln=(n,t,e)=>n.apply(t,e),hn=(n,t,r,u)=>function(...i){const f=u.length,s=i.length,l=[];let a=-1,p=-1,d=0;for(;(a+=1)<f;){const f=u[a];if(f==c&&(p+=1)<s){const n=i[p];n==c&&(d+=1),l.push(n)}else l.push(f);if(l.length==n)return e(l)?0==d?o(l).then(h(ln,t,r,c)):o(l).then(j(an,n,t,r,c)):0==d?t.apply(r,l):an(n,t,r,l)}for(;(p+=1)<s;){const u=i[p];if(u==c&&(d+=1),l.push(u),l.length==n)return e(l)?0==d?o(l).then(h(ln,t,r,c)):o(l).then(j(an,n,t,r,c)):0==d?t.apply(r,l):an(n,t,r,l)}return e(l)?o(l).then(j(an,n,t,r,c)):an(n,t,r,l)},an=function(n,t,e,o){const r=o.length;if(r<n)return hn(n,t,e,o);let u=-1;for(;(u+=1)<r;){if(o[u]==c)return hn(n,t,e,o)}return t.apply(e,o)},pn=n=>function([t,e]){return n(t,e)},dn=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(pn(an(3,tn,this,[e])))):e.set(c[0],c[1])},yn=function(e,r){return n(e)?J(e,r):null==e?e:"function"==typeof e.then?e.then(r):"string"==typeof e||e.constructor==String?function(n,e){const o=J(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,r):e.constructor==Set?L(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,i]of n){const f=e(i,o,n);t(f)?u.push(f.then(j(N,r,"set",o,c))):r.set(o,f)}return 0==u.length?r:o(u).then(f(r))}(e,r):"function"==typeof e[$]?D(e[$](),r):"function"==typeof e[R]?G(e[R](),r):"function"==typeof e.map?e.map(r):e.constructor==Object?Q(e,r):r(e)},gn=function(n,e){return null==e?i(yn,c,n):t(n)?n.then(i(yn,c,e)):yn(n,e)},wn=(n,e)=>{if(null==n)throw new TypeError("value is not an Object or Map");if(n.constructor==Object)return function(n,e){const r={},u=[];for(const o in n){const c=e([o,n[o]]);t(c)?u.push(c.then(pn(an(3,b,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(f(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(dn(t,e,r)),0==r.length?e:o(r).then(f(e))}(n,e);throw new TypeError("value is not an Object or Map")};gn.entries=function(n,e){return null==e?i(wn,c,n):t(n)?n.then(i(wn,c,e)):wn(n,e)};const vn=function(e,o){if(n(e))return W(e,o);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e){const o=W(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,o);if(e.constructor==Set)return function(n,e){const o=new Set,u=n[$]();let f=u.next();for(;!f.done;){const n=e(f.value);if(t(n))return n.then(r(i(Z,o,c),_(nn,u,e,o)));o.add(n),f=u.next()}return o}(e,o);if(e.constructor==Map)return function(n,e){const o=new Map,u=n[$]();let i=u.next();for(;!i.done;){const n=i.value[0],f=e(i.value[1]);if(t(f))return f.then(r(h(tn,o,n,c),_(en,u,e,o)));o.set(n,f),i=u.next()}return o}(e,o);if("function"==typeof e[$])return D(e[$](),o);if("function"==typeof e[R])return H(e[R](),o);if("function"==typeof e.map)return e.map(o);if(e.constructor==Object)return function(n,e){const o={},u={};for(const i in n){u[i]=!0;const f=e(n[i],i,n);if(t(f))return f.then(r(h(b,o,i,c),X(Y,n,e,o,u)));o[i]=f}return o}(e,o);throw new TypeError(`invalid functor ${e}`)};gn.series=function(n,e){return null==e?i(vn,c,n):t(n)?n.then(i(vn,c,e)):vn(n,e)};const xn=function(e,o,r){if(n(e))return un(e,o,r);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e,o){const r=un(n,e,o);return t(r)?r.then(h(K,c,"join","")):r.join("")}(e,o,r);if(e.constructor==Set)return function(n,e,o){const r=new Set,u=n[$]();let c=u.next();for(;!c.done;){const i=o(c.value,c.value,n);if(t(i)){const t=new Set,c=i.then((n=>{t.delete(c),r.add(n)}));return t.add(c),cn(n,u,e,o,r,t)}r.add(i),c=u.next()}return r}(e,o,r);if(e.constructor==Map)return function(n,e,o){const r=new Map,u=n[$]();let c=u.next();for(;!c.done;){const i=c.value[0],f=o(c.value[1],i,n);if(t(f)){const t=new Set;r.set(i,f);const c=f.then((n=>{t.delete(c),r.set(i,n)}));return t.add(c),fn(n,u,e,o,r,t)}r.set(i,f),c=u.next()}return r}(e,o,r);if(e.constructor==Object)return function(n,e,o){const r={},u={};for(const c in n){u[c]=!0;const i=o(n[c],c,n);if(t(i)){const t=new Set;r[c]=i;const f=i.then((n=>{t.delete(f),r[c]=n}));return t.add(f),sn(n,e,o,r,u,t)}r[c]=i}return r}(e,o,r);throw new TypeError(`invalid functor ${e}`)};gn.pool=function(n,e,o){return null==o?h(xn,c,n,e):t(n)?n.then(h(xn,c,e,o)):xn(n,e,o)};const jn=(n,t)=>({[$](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),bn=(n,e)=>({isAsyncIteratorDone:!1,[R](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await n.next();if(r)this.isAsyncIteratorDone=!0;else{const n=e(o);if(t(n)?await n:n)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),Sn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},mn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},Mn=function(n,e){const r=n.length,u=[];let i=-1,f=-1;for(;++i<r;){const r=n[i],s=e(r,i,n);if(t(s))return o(Sn([s],n,e,i)).then(j(mn,n,u,i-1,c));s&&(u[++f]=r)}return u},On=(n,t)=>function(){return n(t)},An=function(){},zn=function(n,t,e,o){o&&(n[t]=e)},In=function(e,r){return n(e)?Mn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=Mn(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,r):e.constructor==Set?function(n,e){const r=new Set,u=r.add.bind(r),i=[];for(const o of n){const f=e(o,o,n);t(f)?i.push(f.then(h(l,c,On(u,o),An))):f&&r.add(o)}return 0==i.length?r:o(i).then(f(r))}(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,i]of n){const f=e(i,o,n);t(f)?u.push(f.then(h(l,c,X(N,r,"set",o,i),An))):f&&r.set(o,i)}return 0==u.length?r:o(u).then(f(r))}(e,r):"function"==typeof e[$]?jn(e[$](),r):"function"==typeof e[R]?bn(e[R](),r):"function"==typeof e.filter?e.filter(r):e.constructor==Object?function(n,e){const r={},u=[];for(const o in n){const i=n[o],f=e(i,o,n);t(f)?u.push(f.then(j(zn,r,o,n[o],c))):f&&(r[o]=i)}return 0==u.length?r:o(u).then(f(r))}(e,r):e},En=Object.values,Tn=(Object.prototype.toString,async function(n,e,o){let r=n.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),t(o)&&(o=await o),r=n.next();return o}),_n=async function(n,e,o,r){const u=n.length;for(;++r<u;)o=e(o,n[r],r,n),t(o)&&(o=await o);return o},Pn=Object.keys,Bn=async function(n,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,n[c],c,n),t(o)&&(o=await o)}return o},Fn=async function(n,e,o,r){for(const[u,c]of r)o=e(o,c,u,n),t(o)&&(o=await o);return o},$n=function(e,o,r){return n(e)?function(n,e,o){const r=n.length;let u=-1;for(void 0===o&&(o=n[++u]);++u<r;)if(o=e(o,n[u],u,n),t(o))return o.then(j(_n,n,e,c,u));return o}(e,o,r):null==e?void 0===r?i(o,e,c):o(r,e):e.constructor==Map?function(n,e,o){const r=n.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[u,i]of r)if(o=e(o,i,u,n),t(o))return o.then(j(Fn,n,e,c,r));return o}(e,o,r):"function"==typeof e[$]?function(n,e,o){let r=n.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=n.next());!r.done;){if(o=e(o,r.value),t(o))return o.then(h(Tn,n,e,c));r=n.next()}return o}(e[$](),o,r):"function"==typeof e[R]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(e[R](),o,r):"function"==typeof e.reduce?e.reduce(o,r):"function"==typeof e.chain?e.chain(i(o,r,c)):"function"==typeof e.flatMap?e.flatMap(i(o,r,c)):e.constructor==Object?function(n,e,o){const r=Pn(n),u=r.length;let i=-1;for(void 0===o&&(o=n[r[++i]]);++i<u;){const u=r[i];if(o=e(o,n[u],u,n),t(o))return o.then((f=Bn,l=e,h=c,a=r,p=i,(s=n)==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(f,l,h,a,p):l==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(f,s,h,a,p):h==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(f,s,l,a,p):a==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(f,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(f,s,l,h,a)))}var f,s,l,h,a,p;return o}(e,o,r):void 0===r?i(o,e,c):o(r,e)},Dn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h($n,n,e,c)):$n(n,e,r)}return t(o)?o.then(h($n,n,e,c)):$n(n,e,o)},kn=ArrayBuffer.isView,Cn=function(t,e){return n(e)||kn(e)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(t,e):(t.push(e),t)},Rn="function"==typeof Buffer,qn=Rn?Buffer.alloc:An,Vn=function(n,t){const e=n.length,o=Rn&&n.constructor==Buffer?qn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Gn=function(t,e){return n(e)||kn(e)?Vn(t,e):Vn(t,[e])},Hn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",On(e,n)),t.on("error",o)})(n,t)),Jn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Hn(n,t):(n.write(t),n);var e},Kn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Ln=function(n,t){return n.concat(t)},Nn=function(n,e,o){const r=$n(n,e(An),null);return t(r)?r.then(f(o)):o},Qn=function(e,o,r){if(n(r))return $n(e,o(Cn),r);if(kn(r)){const n=$n(e,o(Cn),[]);return t(n)?n.then(i(Gn,r,c)):Gn(r,n)}if(null==r)return Nn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=$n(e,o(Cn),[r]);return t(n)?n.then(h(K,c,"join","")):n.join("")}return"function"==typeof r.concat?$n(e,o(Ln),r):"function"==typeof r.write?$n(e,o(Jn),r):u==Set?$n(e,o(Kn),r):u==Object?$n(e,o(z),r):Nn(e,o,r)},Un=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Qn,n,e,c)):Qn(n,e,r)}return t(o)?o.then(h(Qn,n,e,c)):Qn(n,e,o)},Wn=(n,t)=>t,Xn=n=>n,Yn=(n,t)=>function(...e){return t(n(...e))},Zn=async function(n,e){const r=[];for await(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(f(n))},nt=function(e){const r=e.length,u=[],s=[];let l=-1;for(;++l<r;){const o=e[l];if(n(o)){const n=o.length;let t=-1;for(;++t<n;)s.push(o[t])}else if(null==o)s.push(o);else if("function"==typeof o.then)u.push(o.then(i(q,s,c)));else if("function"==typeof o[$])for(const n of o)s.push(n);else if("function"==typeof o[R])u.push(Zn(o[R](),i(q,s,c)));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?u.push(n.then(i(q,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?u.push(n.then(i(q,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Yn(Wn,i(q,s,c)),null);t(n)&&u.push(n)}else if(o.constructor==Object)for(const n in o)s.push(o[n]);else s.push(o)}return 0==u.length?s:o(u).then(f(s))},tt=function(n){const e=[],r={},u=i(z,r,c),f=Yn(Wn,u);for(const o in n){const c=n[o];if(null!=c)if("function"==typeof c[$])for(const n of c)z(r,n);else if("function"==typeof c[R])e.push(Zn(c[R](),u));else if("function"==typeof c.chain){const n=c.chain(Xn);t(n)?e.push(n.then(u)):z(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Xn);t(n)?e.push(n.then(u)):u(n)}else if("function"==typeof c.reduce){const n=c.reduce(f,null);t(n)&&e.push(n)}else z(r,c)}return 0==e.length?r:o(e).then((()=>r))},et=function(e){e.size;const r=[],u=new Set,i=(n,t)=>u.add(t),f=h(K,u,"add",c);for(const o of e)if(n(o)){const n=o.length;let t=-1;for(;++t<n;)u.add(o[t])}else if(null==o)u.add(o);else if("function"==typeof o[$])for(const n of o)u.add(n);else if("function"==typeof o[R])r.push(Zn(o[R](),f));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?r.push(n.then(f)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?r.push(n.then(f)):u.add(n)}else if("function"==typeof o.reduce){const n=o.reduce(i,null);t(n)&&r.push(n)}else if(o.constructor==Object)for(const n in o)u.add(o[n]);else u.add(o);return 0==r.length?u:o(r).then((()=>u))},ot=r(nt,i(((n,t)=>n.join(t)),c,"")),rt=function(e,o){if(n(e))return function(n,e){const o=J(n,e);return t(o)?o.then(nt):nt(o)}(e,o);if(null==e)return o(e);if("function"==typeof e.then)return e.then(o);if("function"==typeof e.next)return $ in e?function(n,t){let e=[],o=0;return{[$](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=$n(t(r.value),q,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(e,o):function(n,e){const o=[],r=new Set;let u=!1,i=!1;return{isAsyncIteratorDone:!1,[R](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const u of n){const n=e(u);if(t(n)){const t=n.then(h($n,c,q,o)).then((()=>r.delete(t)));r.add(t)}else{const e=$n(n,q,o);if(t(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}i=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!i||r.size>0;){if(o.length>0)return{value:o.shift(),done:!1};r.size>0?await k(r):await V(10)}return o.length>0?{value:o.shift(),done:!1}:{value:void 0,done:!0}}}}(e,o);if("function"==typeof e.chain)return e.chain(o);if("function"==typeof e.flatMap)return e.flatMap(o);const r=e.constructor;return r==Object?function(n,e){const o=Q(n,e);return t(o)?o.then(tt):tt(o)}(e,o):r==Set?function(n,e){const o=L(n,e);return t(o)?o.then(et):et(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=J(n,e);return t(o)?o.then(ot):ot(o)}(e,o):o(e)},ut=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ct=async function(n,e,o){for(const r in n){if(r in o)continue;const u=e(n[r]);t(u)&&await u}return n},it=async function(n,e){let o=n.next();for(;!o.done;){const r=e(o.value);t(r)&&await r,o=n.next()}return n},ft=function(e,r){return n(e)?function(n,e){const r=n.length,u=[];let c=-1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&u.push(o)}return 0==u.length?n:o(u).then(f(n))}(e,r):null==e?e:"function"==typeof e[$]?function(n,e){const r=[];for(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(f(n))}(e[$](),r):"function"==typeof e[R]?Zn(e[R](),r):"function"==typeof e.forEach?(e.forEach(r),e):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(f(n))}(e,r):e},st=function(n,e){return"function"==typeof n?i(ft,c,n):t(n)?n.then(i(ft,c,e)):ft(n,e)},lt=function(e,o){if(n(e))return function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r],r,n);if(t(o))return o.then(_(ut,n,e,r))}return n}(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("function"==typeof e[$])return function(n,e){let o=n.next();for(;!o.done;){const r=e(o.value);if(t(r))return r.then(B(it,n,e));o=n.next()}return n}(e[$](),o);if("function"==typeof e[R])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[R](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(_(ct,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};st.series=function(n,e){return"function"==typeof n?i(lt,c,n):t(n)?n.then(i(lt,c,e)):lt(n,e)};const ht=function(n){const t=n.then((n=>[n,t]));return t},at=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(ht(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await k(r);if(r.delete(t),n)return!0}return!1},pt=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return at(n,e,r,new Set([ht(o)]));if(o)return!0}return!1},dt=async function(n,e,o,r=20){let u=n.next();for(t(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await k(o);if(o.delete(t),n)return!0}const c=e(u.value);if(t(c))o.add(ht(c));else if(c)return!0;u=n.next(),t(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await k(o);if(o.delete(t),n)return!0}return!1},yt=function(e,o){return n(e)?pt(e,o):null==e?o(e):"function"==typeof e[$]?function(n,e){for(const o of n){const r=e(o);if(t(r))return dt(n,e,new Set([ht(r)]));if(r)return!0}return!1}(e[$](),o):"function"==typeof e[R]?dt(e[R](),o,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!0===e?e:t(e)?e.then(i((n=>function(t,e){return!!t||n(e)})(n),c,o)):!!e||n(o)})(o),!1):e.constructor==Object?pt(En(e),o):o(e)},gt=function(n,e){const r=n.length,u=[];let i=-1;for(;++i<r;){const o=e(n[i]);if(t(o))u.push(o);else if(!o)return!1}return 0==u.length||o(u).then(h(K,c,"every",Boolean))},wt=(n,t,e)=>!!t&&n(e),vt=function(e,r){return n(e)?gt(e,r):null==e?r(e):"function"==typeof e[$]?function(n,e){const r=[];for(const o of n){const n=e(o);if(t(n))r.push(n);else if(!n)return!1}return 0==r.length||o(r).then(h(K,c,"every",Boolean))}(e[$](),r):"function"==typeof e[R]?async function(n,e,o,r=20){let u=await n.next();for(;!u.done;){if(o.size>=r){const[n,t]=await k(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(t(c))o.add(ht(c));else if(!c)return!1;u=await n.next()}for(;o.size>0;){const[n,t]=await k(o);if(o.delete(t),!n)return!1}return!0}(e[R](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(wt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?gt(En(e),r):r(e)},xt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(xt,n,e),f(!1)));if(!o)return!1}return!0},jt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),!r)return!1}return!0},bt=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,_(jt,n,e,r),f(!1)));if(!o)return!1}return!0},St=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,f(!0),B(St,n,e)));if(o)return!0}return!1},mt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),r)return!0}return!1},Mt=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,f(!0),_(mt,n,e,r)));if(o)return!0}return!1},Ot=n=>!n,At=function(n,e){const o=e(...n);return t(o)?o.then(Ot):!o},zt=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},It=function(n,e,r,u){const c=r(...n),i=u(...n);return t(c)||t(i)?o([c,i]).then(pn(e)):e(c,i)},Et=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(pn(e)):e(c,u)},Tt=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(pn(e)):e(r,c)},_t=n=>function(...r){const u=r.pop(),i=r.pop(),f="function"==typeof i,s="function"==typeof u;return f&&s?0==r.length?zt(It,c,n,i,u):e(r)?o(r).then(j(It,c,n,i,u)):It(r,n,i,u):f?0==r.length?zt(Et,c,n,i,u):e(r)?o(r).then(j(Et,c,n,i,u)):Et(r,n,i,u):s?0==r.length?zt(Tt,c,n,i,u):e(r)?o(r).then(j(Tt,c,n,i,u)):Tt(r,n,i,u):t(i)||t(u)?o([i,u]).then(pn(n)):n(i,u)},Pt=_t((function(n,t){return n==t})),Bt=_t(((n,t)=>n>t)),Ft=_t(((n,t)=>n<t)),$t=_t(((n,t)=>n>=t)),Dt=_t(((n,t)=>n<=t)),kt=/[.|[|\]]+/,Ct=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(kt):e?n.slice(1).split(kt):o?n.slice(0,t).split(kt):n.split(kt)}),500),Rt=t=>n(t)?t:"string"==typeof t?Ct(t):[t],qt=function(n,t){const e=Rt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Vt=function(n,t,e){const o=null==n?void 0:qt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Gt=function(t,e,o){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(t))return t;const r=Rt(o),u=r.length,c=u-1,i={...t};let f=i,s=-1;for(;++s<u;){const t=r[s];if(s==c)f[t]=e;else{const e=f[t],o=n(e)?e.slice():{...e};f[t]=o,f=o}}return i},Ht=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Gt,n,c,e)):Gt(n,r,e)}return t(o)?o.then(h(Gt,n,c,e)):Gt(n,o,e)},Jt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=qt(n,e);null!=u&&(o=Gt(o,u,e))}return o},Kt=function(n,t){if(null==n)return;const e=Rt(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Lt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Nt(r):null!=r&&r.constructor==Object?e[o]=Lt(r):e[o]=r}return e},Nt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Nt(e):null!=e&&e.constructor==Object?o[r]=Lt(e):o[r]=e}return o},Qt=function(t,e){const o=e.length,r=n(u=t)?Nt(u):null==u?u:u.constructor==Object?Lt(u):u;var u;let c=-1;for(;++c<o;)Kt(r,e[c]);return r};function Ut(n,t,e){return function(){return n.apply(t,e)}}const Wt=function(n,...t){return e(t)?o(t).then(h(Ut,n,this,c)):Ut(n,this,t)};Wt.call=function(n,t,...r){return e(r)?o(r).then(h(Ut,n,t,c)):Ut(n,t,r)};const Xt=(n,...t)=>e(t)?o(t).then(j(an,n.length,n,this,c)):an(n.length,n,this,t);Xt.arity=function(n,t,...r){return e(r)?o(r).then(j(an,n,t,this,c)):an(n,t,this,r)},Xt.call=function(n,t,...r){return e(r)?o(r).then(j(an,n.length,n,t,c)):an(n.length,n,t,r)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);const t=n.pop().reduce(r);return 0==n.length?t:e(n)?o(n).then(i(u,t,c)):t(...n)},compose:function(...n){if("function"==typeof n[0])return n.reduceRight(r);const t=n.pop().reduceRight(r);return 0==n.length?t:e(n)?o(n).then(i(u,t,c)):t(...n)},tap:y,forEach:st,switchCase:(...n)=>{const t=n.pop();return w(t)?F(t,-2):0==n.length?p(P,t,c,-2):e(n)?o(n).then(h(P,t,c,-2)):P(t,n,-2)},tryCatch:function(...n){if(n.length>2){const t=n.pop(),r=n.pop();return e(n)?o(n).then(h(T,r,t,c)):T(r,t,n)}const t=n[0],r=n[1];return function(...n){return T(t,r,n)}},all:A,assign:function(n,e){return null==e?i(I,c,n):t(n)?n.then(i(I,c,e)):I(n,e)},get:function(e,r,f){return"string"==typeof e||"number"==typeof e||n(e)?h(Vt,c,e,r):t(e)||t(f)?o([e,r,f]).then(i(u,Vt,c)):Vt(e,r,f)},set:function(n,e,o){return null==o?h(Ht,c,n,e):t(n)?n.then(h(Ht,c,e,o)):Ht(n,e,o)},pick:function(n,e){return null==e?i(Jt,c,n):t(n)?n.then(i(Jt,c,e)):Jt(n,e)},omit:function(n,e){return null==e?i(Qt,c,n):t(n)?n.then(i(Qt,c,e)):Qt(n,e)},map:gn,filter:function(n,e){return"function"==typeof n?i(In,c,n):t(n)?n.then(i(In,c,e)):In(n,e)},flatMap:(n,e)=>"function"==typeof n?i(rt,c,n):t(n)?n.then(i(rt,c,e)):rt(n,e),reduce:function(...n){return"function"==typeof n[0]?h(Dn,c,n[0],n[1]):t(n[0])?n[0].then(h(Dn,c,n[1],n[2])):Dn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Un,c,n[0],n[1]):t(n[0])?n[0].then(h(Un,c,n[1],n[2])):Un(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?xt(t,-1):0==n.length?a(bt,c,t):e(n)?o(n).then(i(bt,c,t)):bt(n,t)},or:function(...n){const t=n.pop();return w(t)?St(t,-1):0==n.length?a(Mt,c,t):e(n)?o(n).then(i(Mt,c,t)):Mt(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(At,c,r):e(n)?o(n).then(i(At,c,r)):At(n,r):t(r)?r.then(Ot):!r},some:function(n,e){return"function"==typeof n?i(yt,c,n):t(n)?n.then(i(yt,c,e)):yt(n,e)},every:function(n,e){return"function"==typeof n?i(vt,c,n):t(n)?n.then(i(vt,c,e)):vt(n,e)},eq:Pt,gt:Bt,lt:Ft,gte:$t,lte:Dt,thunkify:Wt,always:f,curry:Xt,__:c}}());
9
+ !function(n,t){for(const e in t)n[e]=t[e]}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,e=function(e){if(n(e)){const n=e.length;let o=-1;for(;++o<n;){const n=e[o];if(t(n))return!0}return!1}for(const n in e){const o=e[n];if(t(o))return!0}return!1},o=Promise.all.bind(Promise),r=(n,e)=>function(...o){const r=n(...o);return t(r)?r.then(e):e(r)},u=(n,t)=>n(...t),c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},s=(n,t)=>function(){return n(...t)},l=(n,t,e)=>n?t():e(),h=function(n,t,e,o){return t==c?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},a=function(n,t,e){return t==c?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},p=function(n,t,e,o){return t==c?((n,t,e)=>function(...o){return n(o,t,e)})(n,e,o):e==c?((n,t,e)=>function(...o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(...o){return n(t,e,o)})(n,t,e)},d=function(n,e){const o=n[0],r=e(...n);return t(r)?r.then(f(o)):o},y=function(...n){const t=n.pop();return 0==n.length?a(d,c,t):e(n)?o(n).then(i(d,c,t)):d(n,t)},g=function(n,e,o){const r=n(...o);if(t(r))return r.then(h(l,c,s(y(e),o),f(o[0])));if(r){const n=e(...o);if(t(n))return n.then(f(o[0]))}return o[0]};y.if=function(...n){if(2==n.length)return p(g,n[0],n[1],c);const t=n.length,r=n[t-1],u=n[t-2],i=n.slice(0,-2);return e(i)?o(i).then(h(g,u,r,c)):g(u,r,n)};const w=function(t){if(n(t)){const n=t.length;let e=-1;for(;++e<n;)if("function"==typeof t[e])return!1;return!0}for(const n in t)if("function"==typeof t[n])return!1;return!0},v=n=>new Promise((n=>function(e){const o={};let r=0;for(const u in n){const c=n[u];t(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(n)),x=function(n,e){const r=n.length,u=Array(r);let c=-1,i=!1;for(;++c<r;){const o=n[c],r="function"==typeof o?o(...e):o;t(r)&&(i=!0),u[c]=r}return i?o(u):u},j=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},b=function(n,t,e){return n[t]=e,n},S=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=n[r](...e);o[r]=t(u)?await u:u}return o},m=function(n,e){const o=n.length,u=[];let i=-1;for(;++i<o;){const o=n[i](...e);if(t(o))return o.then(r(h(b,u,i,c),j(S,n,e,c,i)));u[i]=o}return u},M=function(n,e){const r={},u=[];for(const o in n){const i=n[o],f="function"==typeof i?i(...e):i;t(f)?u.push(f.then(h(b,r,o,c))):r[o]=f}return 0==u.length?r:o(u).then(f(r))},O=function(t){return n(t)?e(t)?o(t):t:e(t)?v(t):t},A=function(...r){if(1==r.length){const e=r[0];return t(e)?e.then(O):w(e)?O(e):n(e)?a(x,e,c):a(M,e,c)}const u=r[r.length-1],f=r.slice(0,-1);return e(f)?n(u)?o(f).then(i(x,u,c)):o(f).then(i(M,u,c)):n(u)?x(u,f):M(u,f)};A.series=function(...n){const t=n.pop();return 0==n.length?a(m,t,c):e(n)?o(n).then(i(m,t,c)):m(t,n)};const z=Object.assign,E=function(n,e){const o=M(e,[n]);return t(o)?o.then(h(z,{},n,c)):{...n,...o}},I=function(n,t,e){return n(t,...e)},T=function(n,e,o){try{const r=n(...o);return t(r)?r.catch(h(I,e,c,o)):r}catch(n){return e(n,...o)}},_=(n,t,e,o)=>function(){return n(t,e,o)},F=function(n,e,o){const r=n.length-1;for(;(o+=2)<r;){const r=n[o],u=n[o+1],i="function"==typeof r?r(...e):r;if(t(i))return i.then(h(l,c,"function"==typeof u?s(u,e):f(u),_(F,n,e,o)));if(i)return"function"==typeof u?u(...e):u}if(o==n.length)return;const u=n[r];return"function"==typeof u?u(...e):u},P=(n,t,e)=>function(){return n(t,e)},B=function(n,e){const o=n.length,r=o-1;for(;(e+=2)<r;){const o=n[e],r=n[e+1];if(t(o))return o.then(h(l,c,f(r),P(B,n,e)));if(o)return r}if(e!=o)return n[e]},$=Symbol.iterator,k=(n,t)=>({toString:()=>"[object MappingIterator]",[$](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),C=Promise.race.bind(Promise);class R{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const n=this.first;if(null!=n)return n.next?this.first=n.next:this.first=null,this.length-=1,n.value}append(n){const t={value:n};null==this.first&&(this.first=t),null==this.last||(this.last.next=t),this.last=t,this.length+=1}}const q=Symbol.asyncIterator,D=function(n,t){return n.push(t),n},V=n=>new Promise((t=>{setTimeout(t,n)})),G=(n,e)=>{const o=new R;let r=-1,u=!1,c=!1;return{[q](){return this},async _consumeAsyncIterator(){for await(const t of n){r+=1;const n=e(t);o.append(n)}c=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!c;){if(o.length>0){let n=o.popFirst();return t(n)&&(n=await n),{value:n,done:!1}}await V(10)}if(o.length>0){let n=o.popFirst();return t(n)&&(n=await n),{value:n,done:!1}}return{value:void 0,done:!0}}}},H=(n,e)=>{const o=new R;let r=-1,u=!1,c=!1;return{[q](){return this},async _consumeAsyncIterator(){for await(const u of n){r+=1;let n=e(u);t(n)&&(n=await n),o.append(n)}c=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!c;){if(o.length>0)return{value:o.popFirst(),done:!1};await V(10)}return o.length>0?{value:o.popFirst(),done:!1}:{value:void 0,done:!0}}}},J=function(n,e){const r=n.length,u=Array(r);let c=-1,i=!1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&(i=!0),u[c]=o}return i?o(u):u},K=(n,t,e)=>n[t](e),L=function(n,e){const r=new Set,u=[];for(const o of n){const i=e(o,o,n);t(i)?u.push(i.then(h(K,r,"add",c))):r.add(i)}return 0==u.length?r:o(u).then(f(r))},N=(n,t,e,o)=>n[t](e,o),Q=function(n,e){const o={};let r=!1;for(const u in n){const c=e(n[u],u,n);t(c)&&(r=!0),o[u]=c}return r?v(o):o},U=async function(n,e,o,r){const u=n.length;for(;++r<u;){const u=e(n[r],r);o[r]=t(u)?await u:u}return o},W=function(n,e){const o=n.length,u=Array(o);let i=-1;for(;++i<o;){const o=e(n[i],i);if(t(o))return o.then(r(h(b,u,i,c),j(U,n,e,c,i)));u[i]=o}return u},X=(n,t,e,o,r)=>function(){return n(t,e,o,r)},Y=async function(n,e,o,r){for(const u in n){if(u in r)continue;let c=e(n[u]);t(c)&&(c=await c),o[u]=c}return o},Z=function(n,t){return n.add(t),n},nn=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value);t(u)&&(u=await u),o.add(u),r=n.next()}return o},tn=function(n,t,e){return n.set(t,e)},en=async function(n,e,o){let r=n.next();for(;!r.done;){let u=e(r.value[1]);t(u)&&(u=await u),o.set(r.value[0],u),r=n.next()}return o},on=n=>function(...t){return n(...t),t[0]},rn=async function(n,e,r,u,c,i){const f=n.length;for(;++c<f;){i.size>=r&&await C(i);const o=e(n[c]);if(t(o)){const n=o.then(on((()=>i.delete(n))));i.add(n),u[c]=n}else u[c]=o}return o(u)},un=function(n,e,o){const r=n.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(n[c]);if(t(r)){const t=new Set,i=r.then(on((()=>t.delete(i))));return t.add(i),u[c]=i,rn(n,o,e,u,c,t)}u[c]=r}return u},cn=async function(n,e,r,u,c,i){let f=e.next();for(;!f.done;){i.size>=r&&await C(i);const o=u(f.value,f.value,n);if(t(o)){const n=o.then((t=>{i.delete(n),c.add(t)}));i.add(n)}else c.add(o);f=e.next()}return i.size>0&&await o(i),c},fn=async function(n,e,r,u,c,i){let f=e.next();for(;!f.done;){i.size>=r&&await C(i);const o=f.value[0],s=u(f.value[1],o,n);if(t(s)){c.set(o,s);const n=s.then((t=>{i.delete(n),c.set(o,t)}));i.add(n)}else c.set(o,s);f=e.next()}return i.size>0&&await o(i),c},sn=async function(n,e,r,u,c,i){for(const o in n){if(o in c)continue;i.size>=e&&await C(i);const f=r(n[o],o,n);if(t(f)){u[o]=f;const n=f.then((t=>{i.delete(n),u[o]=t}));i.add(n)}else u[o]=f}return i.size>0&&await o(i),u},ln=(n,t,e)=>n.apply(t,e),hn=(n,t,r,u)=>function(...i){const f=u.length,s=i.length,l=[];let a=-1,p=-1,d=0;for(;(a+=1)<f;){const f=u[a];if(f==c&&(p+=1)<s){const n=i[p];n==c&&(d+=1),l.push(n)}else l.push(f);if(l.length==n)return e(l)?0==d?o(l).then(h(ln,t,r,c)):o(l).then(j(an,n,t,r,c)):0==d?t.apply(r,l):an(n,t,r,l)}for(;(p+=1)<s;){const u=i[p];if(u==c&&(d+=1),l.push(u),l.length==n)return e(l)?0==d?o(l).then(h(ln,t,r,c)):o(l).then(j(an,n,t,r,c)):0==d?t.apply(r,l):an(n,t,r,l)}return e(l)?o(l).then(j(an,n,t,r,c)):an(n,t,r,l)},an=function(n,t,e,o){const r=o.length;if(r<n)return hn(n,t,e,o);let u=-1;for(;(u+=1)<r;){if(o[u]==c)return hn(n,t,e,o)}return t.apply(e,o)},pn=n=>function([t,e]){return n(t,e)},dn=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(pn(an(3,tn,this,[e])))):e.set(c[0],c[1])},yn=function(e,r){return n(e)?J(e,r):null==e?e:"function"==typeof e.then?e.then(r):"string"==typeof e||e.constructor==String?function(n,e){const o=J(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,r):e.constructor==Set?L(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,i]of n){const f=e(i,o,n);t(f)?u.push(f.then(j(N,r,"set",o,c))):r.set(o,f)}return 0==u.length?r:o(u).then(f(r))}(e,r):"function"==typeof e[$]?k(e[$](),r):"function"==typeof e[q]?G(e[q](),r):"function"==typeof e.map?e.map(r):e.constructor==Object?Q(e,r):r(e)},gn=function(n,e){return null==e?i(yn,c,n):t(n)?n.then(i(yn,c,e)):yn(n,e)},wn=(n,e)=>{if(null==n)throw new TypeError("value is not an Object or Map");if(n.constructor==Object)return function(n,e){const r={},u=[];for(const o in n){const c=e([o,n[o]]);t(c)?u.push(c.then(pn(an(3,b,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(f(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(dn(t,e,r)),0==r.length?e:o(r).then(f(e))}(n,e);throw new TypeError("value is not an Object or Map")};gn.entries=function(n,e){return null==e?i(wn,c,n):t(n)?n.then(i(wn,c,e)):wn(n,e)};const vn=function(e,o){if(n(e))return W(e,o);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e){const o=W(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,o);if(e.constructor==Set)return function(n,e){const o=new Set,u=n[$]();let f=u.next();for(;!f.done;){const n=e(f.value);if(t(n))return n.then(r(i(Z,o,c),_(nn,u,e,o)));o.add(n),f=u.next()}return o}(e,o);if(e.constructor==Map)return function(n,e){const o=new Map,u=n[$]();let i=u.next();for(;!i.done;){const n=i.value[0],f=e(i.value[1]);if(t(f))return f.then(r(h(tn,o,n,c),_(en,u,e,o)));o.set(n,f),i=u.next()}return o}(e,o);if("function"==typeof e[$])return k(e[$](),o);if("function"==typeof e[q])return H(e[q](),o);if("function"==typeof e.map)return e.map(o);if(e.constructor==Object)return function(n,e){const o={},u={};for(const i in n){u[i]=!0;const f=e(n[i],i,n);if(t(f))return f.then(r(h(b,o,i,c),X(Y,n,e,o,u)));o[i]=f}return o}(e,o);throw new TypeError(`invalid functor ${e}`)};gn.series=function(n,e){return null==e?i(vn,c,n):t(n)?n.then(i(vn,c,e)):vn(n,e)};const xn=function(e,o,r){if(n(e))return un(e,o,r);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e,o){const r=un(n,e,o);return t(r)?r.then(h(K,c,"join","")):r.join("")}(e,o,r);if(e.constructor==Set)return function(n,e,o){const r=new Set,u=n[$]();let c=u.next();for(;!c.done;){const i=o(c.value,c.value,n);if(t(i)){const t=new Set,c=i.then((n=>{t.delete(c),r.add(n)}));return t.add(c),cn(n,u,e,o,r,t)}r.add(i),c=u.next()}return r}(e,o,r);if(e.constructor==Map)return function(n,e,o){const r=new Map,u=n[$]();let c=u.next();for(;!c.done;){const i=c.value[0],f=o(c.value[1],i,n);if(t(f)){const t=new Set;r.set(i,f);const c=f.then((n=>{t.delete(c),r.set(i,n)}));return t.add(c),fn(n,u,e,o,r,t)}r.set(i,f),c=u.next()}return r}(e,o,r);if(e.constructor==Object)return function(n,e,o){const r={},u={};for(const c in n){u[c]=!0;const i=o(n[c],c,n);if(t(i)){const t=new Set;r[c]=i;const f=i.then((n=>{t.delete(f),r[c]=n}));return t.add(f),sn(n,e,o,r,u,t)}r[c]=i}return r}(e,o,r);throw new TypeError(`invalid functor ${e}`)};gn.pool=function(n,e,o){return null==o?h(xn,c,n,e):t(n)?n.then(h(xn,c,e,o)):xn(n,e,o)};const jn=(n,t)=>({[$](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),bn=(n,e)=>{const o=new R;let r=-1,u=!1,c=!1;return{[q](){return this},async _consumeAsyncIterator(){for await(const t of n){r+=1;const n=e(t);o.append([n,t])}c=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!c;)if(o.length>0){let[n,e]=o.popFirst();if(t(n)&&(n=await n),n)return{value:e,done:!1}}else await V(10);for(;o.length>0;){let[n,e]=o.popFirst();if(t(n)&&(n=await n),n)return{value:e,done:!1}}return{value:void 0,done:!0}}}},Sn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},mn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},Mn=function(n,e){const r=n.length,u=[];let i=-1,f=-1;for(;++i<r;){const r=n[i],s=e(r,i,n);if(t(s))return o(Sn([s],n,e,i)).then(j(mn,n,u,i-1,c));s&&(u[++f]=r)}return u},On=(n,t)=>function(){return n(t)},An=function(){},zn=function(n,t,e,o){o&&(n[t]=e)},En=function(e,r){return n(e)?Mn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=Mn(n,e);return t(o)?o.then(h(K,c,"join","")):o.join("")}(e,r):e.constructor==Set?function(n,e){const r=new Set,u=r.add.bind(r),i=[];for(const o of n){const f=e(o,o,n);t(f)?i.push(f.then(h(l,c,On(u,o),An))):f&&r.add(o)}return 0==i.length?r:o(i).then(f(r))}(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,i]of n){const f=e(i,o,n);t(f)?u.push(f.then(h(l,c,X(N,r,"set",o,i),An))):f&&r.set(o,i)}return 0==u.length?r:o(u).then(f(r))}(e,r):"function"==typeof e[$]?jn(e[$](),r):"function"==typeof e[q]?bn(e[q](),r):"function"==typeof e.filter?e.filter(r):e.constructor==Object?function(n,e){const r={},u=[];for(const o in n){const i=n[o],f=e(i,o,n);t(f)?u.push(f.then(j(zn,r,o,n[o],c))):f&&(r[o]=i)}return 0==u.length?r:o(u).then(f(r))}(e,r):e},In=Object.values,Tn=(Object.prototype.toString,async function(n,e,o){let r=n.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),t(o)&&(o=await o),r=n.next();return o}),_n=async function(n,e,o,r){const u=n.length;for(;++r<u;)o=e(o,n[r],r,n),t(o)&&(o=await o);return o},Fn=Object.keys,Pn=async function(n,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,n[c],c,n),t(o)&&(o=await o)}return o},Bn=async function(n,e,o,r){for(const[u,c]of r)o=e(o,c,u,n),t(o)&&(o=await o);return o},$n=function(e,o,r){return n(e)?function(n,e,o){const r=n.length;let u=-1;for(void 0===o&&(o=n[++u]);++u<r;)if(o=e(o,n[u],u,n),t(o))return o.then(j(_n,n,e,c,u));return o}(e,o,r):null==e?void 0===r?i(o,e,c):o(r,e):e.constructor==Map?function(n,e,o){const r=n.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[u,i]of r)if(o=e(o,i,u,n),t(o))return o.then(j(Bn,n,e,c,r));return o}(e,o,r):"function"==typeof e[$]?function(n,e,o){let r=n.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=n.next());!r.done;){if(o=e(o,r.value),t(o))return o.then(h(Tn,n,e,c));r=n.next()}return o}(e[$](),o,r):"function"==typeof e[q]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(e[q](),o,r):"function"==typeof e.reduce?e.reduce(o,r):"function"==typeof e.chain?e.chain(i(o,r,c)):"function"==typeof e.flatMap?e.flatMap(i(o,r,c)):e.constructor==Object?function(n,e,o){const r=Fn(n),u=r.length;let i=-1;for(void 0===o&&(o=n[r[++i]]);++i<u;){const u=r[i];if(o=e(o,n[u],u,n),t(o))return o.then((f=Pn,l=e,h=c,a=r,p=i,(s=n)==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(f,l,h,a,p):l==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(f,s,h,a,p):h==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(f,s,l,a,p):a==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(f,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(f,s,l,h,a)))}var f,s,l,h,a,p;return o}(e,o,r):void 0===r?i(o,e,c):o(r,e)},kn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h($n,n,e,c)):$n(n,e,r)}return t(o)?o.then(h($n,n,e,c)):$n(n,e,o)},Cn=ArrayBuffer.isView,Rn=function(t,e){return n(e)||Cn(e)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(t,e):(t.push(e),t)},qn="function"==typeof Buffer,Dn=qn?Buffer.alloc:An,Vn=function(n,t){const e=n.length,o=qn&&n.constructor==Buffer?Dn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Gn=function(t,e){return n(e)||Cn(e)?Vn(t,e):Vn(t,[e])},Hn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",On(e,n)),t.on("error",o)})(n,t)),Jn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Hn(n,t):(n.write(t),n);var e},Kn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Ln=function(n,t){return n.concat(t)},Nn=function(n,e,o){const r=$n(n,e(An),null);return t(r)?r.then(f(o)):o},Qn=function(e,o,r){if(n(r))return $n(e,o(Rn),r);if(Cn(r)){const n=$n(e,o(Rn),[]);return t(n)?n.then(i(Gn,r,c)):Gn(r,n)}if(null==r)return Nn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=$n(e,o(Rn),[r]);return t(n)?n.then(h(K,c,"join","")):n.join("")}return"function"==typeof r.concat?$n(e,o(Ln),r):"function"==typeof r.write?$n(e,o(Jn),r):u==Set?$n(e,o(Kn),r):u==Object?$n(e,o(z),r):Nn(e,o,r)},Un=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Qn,n,e,c)):Qn(n,e,r)}return t(o)?o.then(h(Qn,n,e,c)):Qn(n,e,o)},Wn=(n,t)=>t,Xn=n=>n,Yn=(n,t)=>function(...e){return t(n(...e))},Zn=async function(n,e){const r=[];for await(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(f(n))},nt=function(e){const r=e.length,u=[],s=[];let l=-1;for(;++l<r;){const o=e[l];if(n(o)){const n=o.length;let t=-1;for(;++t<n;)s.push(o[t])}else if(null==o)s.push(o);else if("function"==typeof o.then)u.push(o.then(i(D,s,c)));else if("function"==typeof o[$])for(const n of o)s.push(n);else if("function"==typeof o[q])u.push(Zn(o[q](),i(D,s,c)));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?u.push(n.then(i(D,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?u.push(n.then(i(D,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Yn(Wn,i(D,s,c)),null);t(n)&&u.push(n)}else if(o.constructor==Object)for(const n in o)s.push(o[n]);else s.push(o)}return 0==u.length?s:o(u).then(f(s))},tt=function(n){const e=[],r={},u=i(z,r,c),f=Yn(Wn,u);for(const o in n){const c=n[o];if(null!=c)if("function"==typeof c[$])for(const n of c)z(r,n);else if("function"==typeof c[q])e.push(Zn(c[q](),u));else if("function"==typeof c.chain){const n=c.chain(Xn);t(n)?e.push(n.then(u)):z(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Xn);t(n)?e.push(n.then(u)):u(n)}else if("function"==typeof c.reduce){const n=c.reduce(f,null);t(n)&&e.push(n)}else z(r,c)}return 0==e.length?r:o(e).then((()=>r))},et=function(e){e.size;const r=[],u=new Set,i=(n,t)=>u.add(t),f=h(K,u,"add",c);for(const o of e)if(n(o)){const n=o.length;let t=-1;for(;++t<n;)u.add(o[t])}else if(null==o)u.add(o);else if("function"==typeof o[$])for(const n of o)u.add(n);else if("function"==typeof o[q])r.push(Zn(o[q](),f));else if("function"==typeof o.chain){const n=o.chain(Xn);t(n)?r.push(n.then(f)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Xn);t(n)?r.push(n.then(f)):u.add(n)}else if("function"==typeof o.reduce){const n=o.reduce(i,null);t(n)&&r.push(n)}else if(o.constructor==Object)for(const n in o)u.add(o[n]);else u.add(o);return 0==r.length?u:o(r).then((()=>u))},ot=r(nt,i(((n,t)=>n.join(t)),c,"")),rt=function(e,o){if(n(e))return function(n,e){const o=J(n,e);return t(o)?o.then(nt):nt(o)}(e,o);if(null==e)return o(e);if("function"==typeof e.then)return e.then(o);if("function"==typeof e.next)return $ in e?function(n,t){let e=[],o=0;return{[$](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=$n(t(r.value),D,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(e,o):function(n,e){const o=[],r=new Set;let u=!1,i=!1;return{isAsyncIteratorDone:!1,[q](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async _consumeAsyncIterator(){for await(const u of n){const n=e(u);if(t(n)){const t=n.then(h($n,c,D,o)).then((()=>r.delete(t)));r.add(t)}else{const e=$n(n,D,o);if(t(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}i=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!i||r.size>0;){if(o.length>0)return{value:o.shift(),done:!1};r.size>0?await C(r):await V(10)}return o.length>0?{value:o.shift(),done:!1}:{value:void 0,done:!0}}}}(e,o);if("function"==typeof e.chain)return e.chain(o);if("function"==typeof e.flatMap)return e.flatMap(o);const r=e.constructor;return r==Object?function(n,e){const o=Q(n,e);return t(o)?o.then(tt):tt(o)}(e,o):r==Set?function(n,e){const o=L(n,e);return t(o)?o.then(et):et(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=J(n,e);return t(o)?o.then(ot):ot(o)}(e,o):o(e)},ut=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ct=async function(n,e,o){for(const r in n){if(r in o)continue;const u=e(n[r]);t(u)&&await u}return n},it=async function(n,e){let o=n.next();for(;!o.done;){const r=e(o.value);t(r)&&await r,o=n.next()}return n},ft=function(e,r){return n(e)?function(n,e){const r=n.length,u=[];let c=-1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&u.push(o)}return 0==u.length?n:o(u).then(f(n))}(e,r):null==e?e:"function"==typeof e[$]?function(n,e){const r=[];for(const o of n){const n=e(o);t(n)&&r.push(n)}return 0==r.length?n:o(r).then(f(n))}(e[$](),r):"function"==typeof e[q]?Zn(e[q](),r):"function"==typeof e.forEach?(e.forEach(r),e):e.constructor==Object?function(n,e){const r=[];for(const o in n){const u=e(n[o],o,n);t(u)&&r.push(u)}return 0==r.length?n:o(r).then(f(n))}(e,r):e},st=function(n,e){return"function"==typeof n?i(ft,c,n):t(n)?n.then(i(ft,c,e)):ft(n,e)},lt=function(e,o){if(n(e))return function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r],r,n);if(t(o))return o.then(_(ut,n,e,r))}return n}(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("function"==typeof e[$])return function(n,e){let o=n.next();for(;!o.done;){const r=e(o.value);if(t(r))return r.then(P(it,n,e));o=n.next()}return n}(e[$](),o);if("function"==typeof e[q])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[q](),o);if(e.constructor==Object)return function(n,e){const o={};for(const r in n){o[r]=!0;const u=e(n[r],r,n);if(t(u))return u.then(_(ct,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};st.series=function(n,e){return"function"==typeof n?i(lt,c,n):t(n)?n.then(i(lt,c,e)):lt(n,e)};const ht=function(n){const t=n.then((n=>[n,t]));return t},at=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(ht(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await C(r);if(r.delete(t),n)return!0}return!1},pt=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return at(n,e,r,new Set([ht(o)]));if(o)return!0}return!1},dt=async function(n,e,o,r=20){let u=n.next();for(t(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await C(o);if(o.delete(t),n)return!0}const c=e(u.value);if(t(c))o.add(ht(c));else if(c)return!0;u=n.next(),t(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await C(o);if(o.delete(t),n)return!0}return!1},yt=function(e,o){return n(e)?pt(e,o):null==e?o(e):"function"==typeof e[$]?function(n,e){for(const o of n){const r=e(o);if(t(r))return dt(n,e,new Set([ht(r)]));if(r)return!0}return!1}(e[$](),o):"function"==typeof e[q]?dt(e[q](),o,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!0===e?e:t(e)?e.then(i((n=>function(t,e){return!!t||n(e)})(n),c,o)):!!e||n(o)})(o),!1):e.constructor==Object?pt(In(e),o):o(e)},gt=function(n,e){const r=n.length,u=[];let i=-1;for(;++i<r;){const o=e(n[i]);if(t(o))u.push(o);else if(!o)return!1}return 0==u.length||o(u).then(h(K,c,"every",Boolean))},wt=(n,t,e)=>!!t&&n(e),vt=function(e,r){return n(e)?gt(e,r):null==e?r(e):"function"==typeof e[$]?function(n,e){const r=[];for(const o of n){const n=e(o);if(t(n))r.push(n);else if(!n)return!1}return 0==r.length||o(r).then(h(K,c,"every",Boolean))}(e[$](),r):"function"==typeof e[q]?async function(n,e,o,r=20){let u=await n.next();for(;!u.done;){if(o.size>=r){const[n,t]=await C(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(t(c))o.add(ht(c));else if(!c)return!1;u=await n.next()}for(;o.size>0;){const[n,t]=await C(o);if(o.delete(t),!n)return!1}return!0}(e[q](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(wt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?gt(In(e),r):r(e)},xt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,P(xt,n,e),f(!1)));if(!o)return!1}return!0},jt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),!r)return!1}return!0},bt=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,_(jt,n,e,r),f(!1)));if(!o)return!1}return!0},St=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,f(!0),P(St,n,e)));if(o)return!0}return!1},mt=async function(n,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...n)),t(r)&&(r=await r),r)return!0}return!1},Mt=function(n,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...n)),t(o))return o.then(h(l,c,f(!0),_(mt,n,e,r)));if(o)return!0}return!1},Ot=n=>!n,At=function(n,e){const o=e(...n);return t(o)?o.then(Ot):!o},zt=function(n,t,e,o,r){return t==c?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==c?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==c?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},Et=function(n,e,r,u){const c=r(...n),i=u(...n);return t(c)||t(i)?o([c,i]).then(pn(e)):e(c,i)},It=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(pn(e)):e(c,u)},Tt=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(pn(e)):e(r,c)},_t=n=>function(...r){const u=r.pop(),i=r.pop(),f="function"==typeof i,s="function"==typeof u;return f&&s?0==r.length?zt(Et,c,n,i,u):e(r)?o(r).then(j(Et,c,n,i,u)):Et(r,n,i,u):f?0==r.length?zt(It,c,n,i,u):e(r)?o(r).then(j(It,c,n,i,u)):It(r,n,i,u):s?0==r.length?zt(Tt,c,n,i,u):e(r)?o(r).then(j(Tt,c,n,i,u)):Tt(r,n,i,u):t(i)||t(u)?o([i,u]).then(pn(n)):n(i,u)},Ft=_t((function(n,t){return n==t})),Pt=_t(((n,t)=>n>t)),Bt=_t(((n,t)=>n<t)),$t=_t(((n,t)=>n>=t)),kt=_t(((n,t)=>n<=t)),Ct=/[.|[|\]]+/,Rt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(Ct):e?n.slice(1).split(Ct):o?n.slice(0,t).split(Ct):n.split(Ct)}),500),qt=t=>n(t)?t:"string"==typeof t?Rt(t):[t],Dt=function(n,t){const e=qt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Vt=function(n,t,e){const o=null==n?void 0:Dt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Gt=function(t,e,o){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(t))return t;const r=qt(o),u=r.length,c=u-1,i={...t};let f=i,s=-1;for(;++s<u;){const t=r[s];if(s==c)f[t]=e;else{const e=f[t],o=n(e)?e.slice():{...e};f[t]=o,f=o}}return i},Ht=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Gt,n,c,e)):Gt(n,r,e)}return t(o)?o.then(h(Gt,n,c,e)):Gt(n,o,e)},Jt=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Dt(n,e);null!=u&&(o=Gt(o,u,e))}return o},Kt=function(n,t){if(null==n)return;const e=qt(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Lt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Nt(r):null!=r&&r.constructor==Object?e[o]=Lt(r):e[o]=r}return e},Nt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Nt(e):null!=e&&e.constructor==Object?o[r]=Lt(e):o[r]=e}return o},Qt=function(t,e){const o=e.length,r=n(u=t)?Nt(u):null==u?u:u.constructor==Object?Lt(u):u;var u;let c=-1;for(;++c<o;)Kt(r,e[c]);return r};function Ut(n,t,e){return function(){return n.apply(t,e)}}const Wt=function(n,...t){return e(t)?o(t).then(h(Ut,n,this,c)):Ut(n,this,t)};Wt.call=function(n,t,...r){return e(r)?o(r).then(h(Ut,n,t,c)):Ut(n,t,r)};const Xt=(n,...t)=>e(t)?o(t).then(j(an,n.length,n,this,c)):an(n.length,n,this,t);Xt.arity=function(n,t,...r){return e(r)?o(r).then(j(an,n,t,this,c)):an(n,t,this,r)},Xt.call=function(n,t,...r){return e(r)?o(r).then(j(an,n.length,n,t,c)):an(n.length,n,t,r)};return{pipe:function(...n){if("function"==typeof n[0])return n.reduce(r);const t=n.pop().reduce(r);return 0==n.length?t:e(n)?o(n).then(i(u,t,c)):t(...n)},compose:function(...n){if("function"==typeof n[0])return n.reduceRight(r);const t=n.pop().reduceRight(r);return 0==n.length?t:e(n)?o(n).then(i(u,t,c)):t(...n)},tap:y,forEach:st,switchCase:(...n)=>{const t=n.pop();return w(t)?B(t,-2):0==n.length?p(F,t,c,-2):e(n)?o(n).then(h(F,t,c,-2)):F(t,n,-2)},tryCatch:function(...n){if(n.length>2){const t=n.pop(),r=n.pop();return e(n)?o(n).then(h(T,r,t,c)):T(r,t,n)}const t=n[0],r=n[1];return function(...n){return T(t,r,n)}},all:A,assign:function(n,e){return null==e?i(E,c,n):t(n)?n.then(i(E,c,e)):E(n,e)},get:function(e,r,f){return"string"==typeof e||"number"==typeof e||n(e)?h(Vt,c,e,r):t(e)||t(f)?o([e,r,f]).then(i(u,Vt,c)):Vt(e,r,f)},set:function(n,e,o){return null==o?h(Ht,c,n,e):t(n)?n.then(h(Ht,c,e,o)):Ht(n,e,o)},pick:function(n,e){return null==e?i(Jt,c,n):t(n)?n.then(i(Jt,c,e)):Jt(n,e)},omit:function(n,e){return null==e?i(Qt,c,n):t(n)?n.then(i(Qt,c,e)):Qt(n,e)},map:gn,filter:function(n,e){return"function"==typeof n?i(En,c,n):t(n)?n.then(i(En,c,e)):En(n,e)},flatMap:(n,e)=>"function"==typeof n?i(rt,c,n):t(n)?n.then(i(rt,c,e)):rt(n,e),reduce:function(...n){return"function"==typeof n[0]?h(kn,c,n[0],n[1]):t(n[0])?n[0].then(h(kn,c,n[1],n[2])):kn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Un,c,n[0],n[1]):t(n[0])?n[0].then(h(Un,c,n[1],n[2])):Un(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?xt(t,-1):0==n.length?a(bt,c,t):e(n)?o(n).then(i(bt,c,t)):bt(n,t)},or:function(...n){const t=n.pop();return w(t)?St(t,-1):0==n.length?a(Mt,c,t):e(n)?o(n).then(i(Mt,c,t)):Mt(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(At,c,r):e(n)?o(n).then(i(At,c,r)):At(n,r):t(r)?r.then(Ot):!r},some:function(n,e){return"function"==typeof n?i(yt,c,n):t(n)?n.then(i(yt,c,e)):yt(n,e)},every:function(n,e){return"function"==typeof n?i(vt,c,n):t(n)?n.then(i(vt,c,e)):vt(n,e)},eq:Ft,gt:Pt,lt:Bt,gte:$t,lte:kt,thunkify:Wt,always:f,curry:Xt,__:c}}());
package/dist/rubico.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.10.0
2
+ * Rubico v2.12.1
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1480,26 +1480,64 @@ const FilteringIterator = (iterator, predicate) => ({
1480
1480
  },
1481
1481
  })
1482
1482
 
1483
- const FilteringAsyncIterator = (asyncIterator, predicate) => ({
1484
- isAsyncIteratorDone: false,
1485
- [symbolAsyncIterator]() {
1486
- return this
1487
- },
1488
- async next() {
1489
- while (!this.isAsyncIteratorDone) {
1490
- const { value, done } = await asyncIterator.next()
1491
- if (done) {
1492
- this.isAsyncIteratorDone = true
1493
- } else {
1494
- const predication = predicate(value)
1495
- if (isPromise(predication) ? await predication : predication) {
1496
- return { value, done: false }
1483
+ const FilteringAsyncIterator = (asyncIterator, predicate) => {
1484
+ const buffer = new LinkedList()
1485
+
1486
+ let index = -1
1487
+ let consumingAsyncIterator = false
1488
+ let isAsyncIteratorDone = false
1489
+
1490
+ return {
1491
+ [symbolAsyncIterator]() {
1492
+ return this
1493
+ },
1494
+
1495
+ // _consumeAsyncIterator() -> Promise<>
1496
+ async _consumeAsyncIterator() {
1497
+ for await (const item of asyncIterator) {
1498
+ index += 1
1499
+ const booleanResult = predicate(item)
1500
+ buffer.append([booleanResult, item])
1501
+ }
1502
+ isAsyncIteratorDone = true
1503
+ },
1504
+
1505
+
1506
+ async next() {
1507
+ if (!consumingAsyncIterator) {
1508
+ this._consumeAsyncIterator()
1509
+ consumingAsyncIterator = true
1510
+ }
1511
+
1512
+ while (!isAsyncIteratorDone) {
1513
+ if (buffer.length > 0) {
1514
+ let [booleanResult, item] = buffer.popFirst()
1515
+ if (isPromise(booleanResult)) {
1516
+ booleanResult = await booleanResult
1517
+ }
1518
+ if (booleanResult) {
1519
+ return { value: item, done: false }
1520
+ }
1521
+ continue
1497
1522
  }
1523
+ await sleep(10)
1498
1524
  }
1499
- }
1500
- return { value: undefined, done: true }
1501
- },
1502
- })
1525
+
1526
+ while (buffer.length > 0) {
1527
+ let [booleanResult, item] = buffer.popFirst()
1528
+ if (isPromise(booleanResult)) {
1529
+ booleanResult = await booleanResult
1530
+ }
1531
+ if (booleanResult) {
1532
+ return { value: item, done: false }
1533
+ }
1534
+ }
1535
+
1536
+ return { value: undefined, done: true }
1537
+ },
1538
+
1539
+ }
1540
+ }
1503
1541
 
1504
1542
  const arrayExtendMap = function (
1505
1543
  array, values, valuesMapper, valuesIndex,