rubico 2.8.6 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +1 -1
  2. package/_internal/FlatMappingAsyncIterator.js +41 -30
  3. package/_internal/LinkedList.js +54 -0
  4. package/_internal/LinkedList.test.js +34 -0
  5. package/_internal/MappingAsyncIterator.js +65 -15
  6. package/_internal/SerialMappingAsyncIterator.js +79 -0
  7. package/_internal/iteratorFind.js +0 -2
  8. package/_internal/iteratorForEachSeries.js +1 -1
  9. package/_internal/objectFlatten.js +4 -1
  10. package/all.js +7 -8
  11. package/and.js +1 -1
  12. package/assign.js +1 -1
  13. package/compose.js +1 -1
  14. package/curry.js +1 -1
  15. package/dist/Transducer.es.js +1 -1
  16. package/dist/Transducer.es.min.js +1 -1
  17. package/dist/Transducer.js +1 -1
  18. package/dist/Transducer.min.js +1 -1
  19. package/dist/Transducer.mjs +1 -1
  20. package/dist/__.es.js +1 -1
  21. package/dist/__.es.min.js +1 -1
  22. package/dist/__.js +1 -1
  23. package/dist/__.min.js +1 -1
  24. package/dist/__.mjs +1 -1
  25. package/dist/all.es.js +1 -1
  26. package/dist/all.es.min.js +1 -1
  27. package/dist/all.js +1 -1
  28. package/dist/all.min.js +1 -1
  29. package/dist/all.mjs +1 -1
  30. package/dist/always.es.js +1 -1
  31. package/dist/always.es.min.js +1 -1
  32. package/dist/always.js +1 -1
  33. package/dist/always.min.js +1 -1
  34. package/dist/always.mjs +1 -1
  35. package/dist/and.es.js +1 -1
  36. package/dist/and.es.min.js +1 -1
  37. package/dist/and.js +1 -1
  38. package/dist/and.min.js +1 -1
  39. package/dist/and.mjs +1 -1
  40. package/dist/assign.es.js +1 -1
  41. package/dist/assign.es.min.js +1 -1
  42. package/dist/assign.js +1 -1
  43. package/dist/assign.min.js +1 -1
  44. package/dist/assign.mjs +1 -1
  45. package/dist/compose.es.js +1 -1
  46. package/dist/compose.es.min.js +1 -1
  47. package/dist/compose.js +1 -1
  48. package/dist/compose.min.js +1 -1
  49. package/dist/compose.mjs +1 -1
  50. package/dist/curry.es.js +1 -1
  51. package/dist/curry.es.min.js +1 -1
  52. package/dist/curry.js +1 -1
  53. package/dist/curry.min.js +1 -1
  54. package/dist/curry.mjs +1 -1
  55. package/dist/eq.es.js +1 -1
  56. package/dist/eq.es.min.js +1 -1
  57. package/dist/eq.js +1 -1
  58. package/dist/eq.min.js +1 -1
  59. package/dist/eq.mjs +1 -1
  60. package/dist/every.es.js +1 -1
  61. package/dist/every.es.min.js +1 -1
  62. package/dist/every.js +1 -1
  63. package/dist/every.min.js +1 -1
  64. package/dist/every.mjs +1 -1
  65. package/dist/filter.es.js +4 -4
  66. package/dist/filter.es.min.js +2 -2
  67. package/dist/filter.js +4 -4
  68. package/dist/filter.min.js +2 -2
  69. package/dist/filter.mjs +4 -4
  70. package/dist/flatMap.es.js +44 -28
  71. package/dist/flatMap.es.min.js +2 -2
  72. package/dist/flatMap.js +44 -28
  73. package/dist/flatMap.min.js +2 -2
  74. package/dist/flatMap.mjs +44 -28
  75. package/dist/forEach.es.js +6 -6
  76. package/dist/forEach.es.min.js +2 -2
  77. package/dist/forEach.js +6 -6
  78. package/dist/forEach.min.js +2 -2
  79. package/dist/forEach.mjs +6 -6
  80. package/dist/get.es.js +1 -1
  81. package/dist/get.es.min.js +1 -1
  82. package/dist/get.js +1 -1
  83. package/dist/get.min.js +1 -1
  84. package/dist/get.mjs +1 -1
  85. package/dist/gt.es.js +1 -1
  86. package/dist/gt.es.min.js +1 -1
  87. package/dist/gt.js +1 -1
  88. package/dist/gt.min.js +1 -1
  89. package/dist/gt.mjs +1 -1
  90. package/dist/gte.es.js +1 -1
  91. package/dist/gte.es.min.js +1 -1
  92. package/dist/gte.js +1 -1
  93. package/dist/gte.min.js +1 -1
  94. package/dist/gte.mjs +1 -1
  95. package/dist/lt.es.js +1 -1
  96. package/dist/lt.es.min.js +1 -1
  97. package/dist/lt.js +1 -1
  98. package/dist/lt.min.js +1 -1
  99. package/dist/lt.mjs +1 -1
  100. package/dist/lte.es.js +1 -1
  101. package/dist/lte.es.min.js +1 -1
  102. package/dist/lte.js +1 -1
  103. package/dist/lte.min.js +1 -1
  104. package/dist/lte.mjs +1 -1
  105. package/dist/map.es.js +187 -39
  106. package/dist/map.es.min.js +2 -2
  107. package/dist/map.js +187 -39
  108. package/dist/map.min.js +2 -2
  109. package/dist/map.mjs +187 -39
  110. package/dist/not.es.js +1 -1
  111. package/dist/not.es.min.js +1 -1
  112. package/dist/not.js +1 -1
  113. package/dist/not.min.js +1 -1
  114. package/dist/not.mjs +1 -1
  115. package/dist/omit.es.js +1 -1
  116. package/dist/omit.es.min.js +1 -1
  117. package/dist/omit.js +1 -1
  118. package/dist/omit.min.js +1 -1
  119. package/dist/omit.mjs +1 -1
  120. package/dist/or.es.js +1 -1
  121. package/dist/or.es.min.js +1 -1
  122. package/dist/or.js +1 -1
  123. package/dist/or.min.js +1 -1
  124. package/dist/or.mjs +1 -1
  125. package/dist/pick.es.js +1 -1
  126. package/dist/pick.es.min.js +1 -1
  127. package/dist/pick.js +1 -1
  128. package/dist/pick.min.js +1 -1
  129. package/dist/pick.mjs +1 -1
  130. package/dist/pipe.es.js +1 -1
  131. package/dist/pipe.es.min.js +1 -1
  132. package/dist/pipe.js +1 -1
  133. package/dist/pipe.min.js +1 -1
  134. package/dist/pipe.mjs +1 -1
  135. package/dist/reduce.es.js +1 -1
  136. package/dist/reduce.es.min.js +1 -1
  137. package/dist/reduce.js +1 -1
  138. package/dist/reduce.min.js +1 -1
  139. package/dist/reduce.mjs +1 -1
  140. package/dist/rubico.es.js +233 -78
  141. package/dist/rubico.es.min.js +2 -2
  142. package/dist/rubico.global.js +233 -78
  143. package/dist/rubico.global.min.js +2 -2
  144. package/dist/rubico.js +233 -78
  145. package/dist/rubico.min.js +2 -2
  146. package/dist/rubico.mjs +233 -78
  147. package/dist/set.es.js +1 -1
  148. package/dist/set.es.min.js +1 -1
  149. package/dist/set.js +1 -1
  150. package/dist/set.min.js +1 -1
  151. package/dist/set.mjs +1 -1
  152. package/dist/some.es.js +1 -1
  153. package/dist/some.es.min.js +1 -1
  154. package/dist/some.js +1 -1
  155. package/dist/some.min.js +1 -1
  156. package/dist/some.mjs +1 -1
  157. package/dist/switchCase.es.js +1 -1
  158. package/dist/switchCase.es.min.js +1 -1
  159. package/dist/switchCase.js +1 -1
  160. package/dist/switchCase.min.js +1 -1
  161. package/dist/switchCase.mjs +1 -1
  162. package/dist/tap.es.js +1 -1
  163. package/dist/tap.es.min.js +1 -1
  164. package/dist/tap.js +1 -1
  165. package/dist/tap.min.js +1 -1
  166. package/dist/tap.mjs +1 -1
  167. package/dist/thunkify.es.js +1 -1
  168. package/dist/thunkify.es.min.js +1 -1
  169. package/dist/thunkify.js +1 -1
  170. package/dist/thunkify.min.js +1 -1
  171. package/dist/thunkify.mjs +1 -1
  172. package/dist/transform.es.js +1 -1
  173. package/dist/transform.es.min.js +1 -1
  174. package/dist/transform.js +1 -1
  175. package/dist/transform.min.js +1 -1
  176. package/dist/transform.mjs +1 -1
  177. package/dist/tryCatch.es.js +1 -1
  178. package/dist/tryCatch.es.min.js +1 -1
  179. package/dist/tryCatch.js +1 -1
  180. package/dist/tryCatch.min.js +1 -1
  181. package/dist/tryCatch.mjs +1 -1
  182. package/dist/x/append.es.js +1 -1
  183. package/dist/x/append.es.min.js +1 -1
  184. package/dist/x/append.js +1 -1
  185. package/dist/x/append.min.js +1 -1
  186. package/dist/x/append.mjs +1 -1
  187. package/dist/x/callProp.es.js +1 -1
  188. package/dist/x/callProp.es.min.js +1 -1
  189. package/dist/x/callProp.js +1 -1
  190. package/dist/x/callProp.min.js +1 -1
  191. package/dist/x/callProp.mjs +1 -1
  192. package/dist/x/defaultsDeep.es.js +1 -1
  193. package/dist/x/defaultsDeep.es.min.js +1 -1
  194. package/dist/x/defaultsDeep.js +1 -1
  195. package/dist/x/defaultsDeep.min.js +1 -1
  196. package/dist/x/defaultsDeep.mjs +1 -1
  197. package/dist/x/differenceWith.es.js +1 -1
  198. package/dist/x/differenceWith.es.min.js +1 -1
  199. package/dist/x/differenceWith.js +1 -1
  200. package/dist/x/differenceWith.min.js +1 -1
  201. package/dist/x/differenceWith.mjs +1 -1
  202. package/dist/x/filterOut.es.js +4 -4
  203. package/dist/x/filterOut.es.min.js +2 -2
  204. package/dist/x/filterOut.js +4 -4
  205. package/dist/x/filterOut.min.js +2 -2
  206. package/dist/x/filterOut.mjs +4 -4
  207. package/dist/x/find.es.js +1 -3
  208. package/dist/x/find.es.min.js +1 -1
  209. package/dist/x/find.js +1 -3
  210. package/dist/x/find.min.js +1 -1
  211. package/dist/x/find.mjs +1 -3
  212. package/dist/x/findIndex.es.js +1 -1
  213. package/dist/x/findIndex.es.min.js +1 -1
  214. package/dist/x/findIndex.js +1 -1
  215. package/dist/x/findIndex.min.js +1 -1
  216. package/dist/x/findIndex.mjs +1 -1
  217. package/dist/x/first.es.js +1 -1
  218. package/dist/x/first.es.min.js +1 -1
  219. package/dist/x/first.js +1 -1
  220. package/dist/x/first.min.js +1 -1
  221. package/dist/x/first.mjs +1 -1
  222. package/dist/x/flatten.es.js +44 -28
  223. package/dist/x/flatten.es.min.js +2 -2
  224. package/dist/x/flatten.js +44 -28
  225. package/dist/x/flatten.min.js +2 -2
  226. package/dist/x/flatten.mjs +44 -28
  227. package/dist/x/groupBy.es.js +1 -1
  228. package/dist/x/groupBy.es.min.js +1 -1
  229. package/dist/x/groupBy.js +1 -1
  230. package/dist/x/groupBy.min.js +1 -1
  231. package/dist/x/groupBy.mjs +1 -1
  232. package/dist/x/has.es.js +1 -1
  233. package/dist/x/has.es.min.js +1 -1
  234. package/dist/x/has.js +1 -1
  235. package/dist/x/has.min.js +1 -1
  236. package/dist/x/has.mjs +1 -1
  237. package/dist/x/identity.es.js +1 -1
  238. package/dist/x/identity.es.min.js +1 -1
  239. package/dist/x/identity.js +1 -1
  240. package/dist/x/identity.min.js +1 -1
  241. package/dist/x/identity.mjs +1 -1
  242. package/dist/x/includes.es.js +1 -1
  243. package/dist/x/includes.es.min.js +1 -1
  244. package/dist/x/includes.js +1 -1
  245. package/dist/x/includes.min.js +1 -1
  246. package/dist/x/includes.mjs +1 -1
  247. package/dist/x/isDeepEqual.es.js +1 -1
  248. package/dist/x/isDeepEqual.es.min.js +1 -1
  249. package/dist/x/isDeepEqual.js +1 -1
  250. package/dist/x/isDeepEqual.min.js +1 -1
  251. package/dist/x/isDeepEqual.mjs +1 -1
  252. package/dist/x/isEmpty.es.js +1 -1
  253. package/dist/x/isEmpty.es.min.js +1 -1
  254. package/dist/x/isEmpty.js +1 -1
  255. package/dist/x/isEmpty.min.js +1 -1
  256. package/dist/x/isEmpty.mjs +1 -1
  257. package/dist/x/isEqual.es.js +1 -1
  258. package/dist/x/isEqual.es.min.js +1 -1
  259. package/dist/x/isEqual.js +1 -1
  260. package/dist/x/isEqual.min.js +1 -1
  261. package/dist/x/isEqual.mjs +1 -1
  262. package/dist/x/isFunction.es.js +1 -1
  263. package/dist/x/isFunction.es.min.js +1 -1
  264. package/dist/x/isFunction.js +1 -1
  265. package/dist/x/isFunction.min.js +1 -1
  266. package/dist/x/isFunction.mjs +1 -1
  267. package/dist/x/isIn.es.js +1 -1
  268. package/dist/x/isIn.es.min.js +1 -1
  269. package/dist/x/isIn.js +1 -1
  270. package/dist/x/isIn.min.js +1 -1
  271. package/dist/x/isIn.mjs +1 -1
  272. package/dist/x/isObject.es.js +1 -1
  273. package/dist/x/isObject.es.min.js +1 -1
  274. package/dist/x/isObject.js +1 -1
  275. package/dist/x/isObject.min.js +1 -1
  276. package/dist/x/isObject.mjs +1 -1
  277. package/dist/x/isString.es.js +1 -1
  278. package/dist/x/isString.es.min.js +1 -1
  279. package/dist/x/isString.js +1 -1
  280. package/dist/x/isString.min.js +1 -1
  281. package/dist/x/isString.mjs +1 -1
  282. package/dist/x/keys.es.js +1 -1
  283. package/dist/x/keys.es.min.js +1 -1
  284. package/dist/x/keys.js +1 -1
  285. package/dist/x/keys.min.js +1 -1
  286. package/dist/x/keys.mjs +1 -1
  287. package/dist/x/last.es.js +1 -1
  288. package/dist/x/last.es.min.js +1 -1
  289. package/dist/x/last.js +1 -1
  290. package/dist/x/last.min.js +1 -1
  291. package/dist/x/last.mjs +1 -1
  292. package/dist/x/maxBy.es.js +1 -1
  293. package/dist/x/maxBy.es.min.js +1 -1
  294. package/dist/x/maxBy.js +1 -1
  295. package/dist/x/maxBy.min.js +1 -1
  296. package/dist/x/maxBy.mjs +1 -1
  297. package/dist/x/noop.es.js +1 -1
  298. package/dist/x/noop.es.min.js +1 -1
  299. package/dist/x/noop.js +1 -1
  300. package/dist/x/noop.min.js +1 -1
  301. package/dist/x/noop.mjs +1 -1
  302. package/dist/x/pluck.es.js +187 -39
  303. package/dist/x/pluck.es.min.js +2 -2
  304. package/dist/x/pluck.js +187 -39
  305. package/dist/x/pluck.min.js +2 -2
  306. package/dist/x/pluck.mjs +187 -39
  307. package/dist/x/prepend.es.js +1 -1
  308. package/dist/x/prepend.es.min.js +1 -1
  309. package/dist/x/prepend.js +1 -1
  310. package/dist/x/prepend.min.js +1 -1
  311. package/dist/x/prepend.mjs +1 -1
  312. package/dist/x/size.es.js +1 -1
  313. package/dist/x/size.es.min.js +1 -1
  314. package/dist/x/size.js +1 -1
  315. package/dist/x/size.min.js +1 -1
  316. package/dist/x/size.mjs +1 -1
  317. package/dist/x/trace.es.js +1 -1
  318. package/dist/x/trace.es.min.js +1 -1
  319. package/dist/x/trace.js +1 -1
  320. package/dist/x/trace.min.js +1 -1
  321. package/dist/x/trace.mjs +1 -1
  322. package/dist/x/unionWith.es.js +1 -1
  323. package/dist/x/unionWith.es.min.js +1 -1
  324. package/dist/x/unionWith.js +1 -1
  325. package/dist/x/unionWith.min.js +1 -1
  326. package/dist/x/unionWith.mjs +1 -1
  327. package/dist/x/uniq.es.js +1 -1
  328. package/dist/x/uniq.es.min.js +1 -1
  329. package/dist/x/uniq.js +1 -1
  330. package/dist/x/uniq.min.js +1 -1
  331. package/dist/x/uniq.mjs +1 -1
  332. package/dist/x/unless.es.js +1 -1
  333. package/dist/x/unless.es.min.js +1 -1
  334. package/dist/x/unless.js +1 -1
  335. package/dist/x/unless.min.js +1 -1
  336. package/dist/x/unless.mjs +1 -1
  337. package/dist/x/values.es.js +1 -1
  338. package/dist/x/values.es.min.js +1 -1
  339. package/dist/x/values.js +1 -1
  340. package/dist/x/values.min.js +1 -1
  341. package/dist/x/values.mjs +1 -1
  342. package/dist/x/when.es.js +1 -1
  343. package/dist/x/when.es.min.js +1 -1
  344. package/dist/x/when.js +1 -1
  345. package/dist/x/when.min.js +1 -1
  346. package/dist/x/when.mjs +1 -1
  347. package/eq.js +2 -2
  348. package/es.js +233 -78
  349. package/every.js +2 -2
  350. package/filter.js +4 -4
  351. package/flatMap.js +61 -54
  352. package/forEach.js +33 -56
  353. package/get.js +5 -3
  354. package/gt.js +2 -2
  355. package/gte.js +2 -2
  356. package/index.js +233 -78
  357. package/lt.js +2 -2
  358. package/lte.js +2 -2
  359. package/map.js +115 -151
  360. package/monad/README.md +1 -1
  361. package/not.js +1 -1
  362. package/omit.js +22 -19
  363. package/or.js +1 -1
  364. package/package.json +1 -1
  365. package/pick.js +14 -11
  366. package/pipe.js +1 -1
  367. package/reduce.js +1 -1
  368. package/set.js +17 -18
  369. package/some.js +2 -2
  370. package/switchCase.js +12 -4
  371. package/tap.js +6 -4
  372. package/transform.js +1 -1
  373. package/tryCatch.js +1 -1
  374. package/x/defaultsDeep.js +1 -1
  375. package/x/defaultsDeep.test.js +1 -1
  376. package/_internal/NextIteration.js +0 -12
  377. package/_internal/generatorFunctionFilter.js +0 -28
  378. package/_internal/iterationMap.js +0 -27
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -607,26 +607,167 @@ const MappingIterator = (iterator, mapper) => ({
607
607
  },
608
608
  })
609
609
 
610
- const NextIteration = value => ({ value, done: false })
610
+ const promiseRace = Promise.race.bind(Promise)
611
611
 
612
- const symbolAsyncIterator = Symbol.asyncIterator
612
+ class LinkedList {
613
+ constructor() {
614
+ this.first = null
615
+ this.last = null
616
+ this.length = 0
617
+ }
613
618
 
614
- const MappingAsyncIterator = (asyncIterator, mapper) => ({
615
- [symbolAsyncIterator]() {
616
- return this
617
- },
618
- async next() {
619
- const iteration = await asyncIterator.next()
620
- if (iteration.done) {
621
- return iteration
619
+ // popFirst() -> firstValue any
620
+ popFirst() {
621
+ const first = this.first
622
+
623
+ if (first == null) {
624
+ return undefined
625
+ }
626
+
627
+ if (first.next) {
628
+ this.first = first.next
629
+ } else {
630
+ this.first = null
631
+ }
632
+
633
+ this.length -= 1
634
+
635
+ return first.value
636
+ }
637
+
638
+ // append(value any) -> undefined
639
+ append(value) {
640
+ const node = { value }
641
+ if (this.first == null) {
642
+ this.first = node
643
+ }
644
+
645
+ if (this.last == null) {
646
+ this.last = node
647
+ } else {
648
+ this.last.next = node
649
+ this.last = node
622
650
  }
623
- const mapped = mapper(iteration.value)
624
- return isPromise(mapped)
625
- ? mapped.then(NextIteration)
626
- : { value: mapped, done: false }
651
+
652
+ this.length += 1
627
653
  }
654
+
655
+ }
656
+
657
+ const symbolAsyncIterator = Symbol.asyncIterator
658
+
659
+ const arrayPush = function (array, value) {
660
+ array.push(value)
661
+ return array
662
+ }
663
+
664
+ const sleep = time => new Promise(resolve => {
665
+ setTimeout(resolve, time)
628
666
  })
629
667
 
668
+ const MappingAsyncIterator = (asyncIterator, mapper) => {
669
+ const buffer = new LinkedList()
670
+
671
+ let index = -1
672
+ let consumingAsyncIterator = false
673
+ let isAsyncIteratorDone = false
674
+
675
+ return {
676
+ [symbolAsyncIterator]() {
677
+ return this
678
+ },
679
+
680
+ // _consumeAsyncIterator() -> Promise<>
681
+ async _consumeAsyncIterator() {
682
+ for await (const item of asyncIterator) {
683
+ index += 1
684
+ const mappedItem = mapper(item)
685
+ buffer.append(mappedItem)
686
+ }
687
+ isAsyncIteratorDone = true
688
+ },
689
+
690
+
691
+ async next() {
692
+ if (!consumingAsyncIterator) {
693
+ this._consumeAsyncIterator()
694
+ consumingAsyncIterator = true
695
+ }
696
+
697
+ while (!isAsyncIteratorDone) {
698
+ if (buffer.length > 0) {
699
+ let value = buffer.popFirst()
700
+ if (isPromise(value)) {
701
+ value = await value
702
+ }
703
+ return { value, done: false }
704
+ }
705
+ await sleep(10)
706
+ }
707
+
708
+ if (buffer.length > 0) {
709
+ let value = buffer.popFirst()
710
+ if (isPromise(value)) {
711
+ value = await value
712
+ }
713
+ return { value, done: false }
714
+ }
715
+
716
+ return { value: undefined, done: true }
717
+ },
718
+
719
+ }
720
+ }
721
+
722
+ const SerialMappingAsyncIterator = (asyncIterator, mapper) => {
723
+ const buffer = new LinkedList()
724
+
725
+ let index = -1
726
+ let consumingAsyncIterator = false
727
+ let isAsyncIteratorDone = false
728
+
729
+ return {
730
+ [symbolAsyncIterator]() {
731
+ return this
732
+ },
733
+
734
+ // _consumeAsyncIterator() -> Promise<>
735
+ async _consumeAsyncIterator() {
736
+ for await (const item of asyncIterator) {
737
+ index += 1
738
+ let mappedItem = mapper(item)
739
+ if (isPromise(mappedItem)) {
740
+ mappedItem = await mappedItem
741
+ }
742
+ buffer.append(mappedItem)
743
+ }
744
+ isAsyncIteratorDone = true
745
+ },
746
+
747
+
748
+ async next() {
749
+ if (!consumingAsyncIterator) {
750
+ this._consumeAsyncIterator()
751
+ consumingAsyncIterator = true
752
+ }
753
+
754
+ while (!isAsyncIteratorDone) {
755
+ if (buffer.length > 0) {
756
+ return { value: buffer.popFirst(), done: false }
757
+ }
758
+ await sleep(10)
759
+ }
760
+
761
+ if (buffer.length > 0) {
762
+ return { value: buffer.popFirst(), done: false }
763
+ }
764
+
765
+ return { value: undefined, done: true }
766
+ },
767
+
768
+ }
769
+ }
770
+
630
771
  const isObject = value => {
631
772
  if (value == null) {
632
773
  return false
@@ -872,8 +1013,6 @@ const tapSync = func => function tapping(...args) {
872
1013
  return args[0]
873
1014
  }
874
1015
 
875
- const promiseRace = Promise.race.bind(Promise)
876
-
877
1016
  const arrayMapPoolAsync = async function (
878
1017
  array, f, concurrencyLimit, result, index, promises,
879
1018
  ) {
@@ -1196,9 +1335,6 @@ const _map = function (value, f) {
1196
1335
  if (typeof value.then == 'function') {
1197
1336
  return value.then(f)
1198
1337
  }
1199
- if (typeof value.map == 'function') {
1200
- return value.map(f)
1201
- }
1202
1338
  if (typeof value == 'string' || value.constructor == String) {
1203
1339
  return stringMap(value, f)
1204
1340
  }
@@ -1214,6 +1350,9 @@ const _map = function (value, f) {
1214
1350
  if (typeof value[symbolAsyncIterator] == 'function') {
1215
1351
  return MappingAsyncIterator(value[symbolAsyncIterator](), f)
1216
1352
  }
1353
+ if (typeof value.map == 'function') {
1354
+ return value.map(f)
1355
+ }
1217
1356
  if (value.constructor == Object) {
1218
1357
  return objectMap(value, f)
1219
1358
  }
@@ -1252,27 +1391,36 @@ map.entries = function mapEntries(arg0, arg1) {
1252
1391
  : _mapEntries(arg0, arg1)
1253
1392
  }
1254
1393
 
1255
- const _mapSeries = function (collection, f) {
1256
- if (isArray(collection)) {
1257
- return arrayMapSeries(collection, f)
1394
+ const _mapSeries = function (functor, f) {
1395
+ if (isArray(functor)) {
1396
+ return arrayMapSeries(functor, f)
1258
1397
  }
1259
- if (collection == null) {
1260
- throw new TypeError(`invalid collection ${collection}`)
1398
+ if (functor == null) {
1399
+ throw new TypeError(`invalid functor ${functor}`)
1261
1400
  }
1262
1401
 
1263
- if (typeof collection == 'string' || collection.constructor == String) {
1264
- return stringMapSeries(collection, f)
1402
+ if (typeof functor == 'string' || functor.constructor == String) {
1403
+ return stringMapSeries(functor, f)
1265
1404
  }
1266
- if (collection.constructor == Set) {
1267
- return setMapSeries(collection, f)
1405
+ if (functor.constructor == Set) {
1406
+ return setMapSeries(functor, f)
1268
1407
  }
1269
- if (collection.constructor == Map) {
1270
- return mapMapSeries(collection, f)
1408
+ if (functor.constructor == Map) {
1409
+ return mapMapSeries(functor, f)
1271
1410
  }
1272
- if (collection.constructor == Object) {
1273
- return objectMapSeries(collection, f)
1411
+ if (typeof functor[symbolIterator] == 'function') {
1412
+ return MappingIterator(functor[symbolIterator](), f)
1274
1413
  }
1275
- throw new TypeError(`invalid collection ${collection}`)
1414
+ if (typeof functor[symbolAsyncIterator] == 'function') {
1415
+ return SerialMappingAsyncIterator(functor[symbolAsyncIterator](), f)
1416
+ }
1417
+ if (typeof functor.map == 'function') {
1418
+ return functor.map(f)
1419
+ }
1420
+ if (functor.constructor == Object) {
1421
+ return objectMapSeries(functor, f)
1422
+ }
1423
+ throw new TypeError(`invalid functor ${functor}`)
1276
1424
  }
1277
1425
 
1278
1426
  map.series = function mapSeries(arg0, arg1) {
@@ -1489,15 +1637,15 @@ const _filter = function (value, predicate) {
1489
1637
  if (value.constructor == Map) {
1490
1638
  return mapFilter(value, predicate)
1491
1639
  }
1492
- if (typeof value.filter == 'function') {
1493
- return value.filter(predicate)
1494
- }
1495
1640
  if (typeof value[symbolIterator] == 'function') {
1496
1641
  return FilteringIterator(value[symbolIterator](), predicate)
1497
1642
  }
1498
1643
  if (typeof value[symbolAsyncIterator] == 'function') {
1499
1644
  return FilteringAsyncIterator(value[symbolAsyncIterator](), predicate)
1500
1645
  }
1646
+ if (typeof value.filter == 'function') {
1647
+ return value.filter(predicate)
1648
+ }
1501
1649
  if (value.constructor == Object) {
1502
1650
  return objectFilter(value, predicate)
1503
1651
  }
@@ -1944,11 +2092,6 @@ const transform = function (...args) {
1944
2092
  return _transform(args[0], args[1], args[2])
1945
2093
  }
1946
2094
 
1947
- const arrayPush = function (array, value) {
1948
- array.push(value)
1949
- return array
1950
- }
1951
-
1952
2095
  const FlatMappingIterator = function (iterator, flatMapper) {
1953
2096
  let buffer = [],
1954
2097
  bufferIndex = 0
@@ -1983,13 +2126,12 @@ const FlatMappingIterator = function (iterator, flatMapper) {
1983
2126
  }
1984
2127
  }
1985
2128
 
1986
- const sleep = time => new Promise(resolve => {
1987
- setTimeout(resolve, time)
1988
- })
1989
-
1990
2129
  const FlatMappingAsyncIterator = function (asyncIterator, flatMapper) {
1991
- const buffer = [],
1992
- promises = new Set()
2130
+ const buffer = []
2131
+ const promises = new Set()
2132
+
2133
+ let consumingAsyncIterator = false
2134
+ let isAsyncIteratorDone = false
1993
2135
 
1994
2136
  return {
1995
2137
  isAsyncIteratorDone: false,
@@ -2000,38 +2142,48 @@ const FlatMappingAsyncIterator = function (asyncIterator, flatMapper) {
2000
2142
  return '[object FlatMappingAsyncIterator]'
2001
2143
  },
2002
2144
 
2003
-
2004
- async next() {
2005
- while (
2006
- !this.isAsyncIteratorDone || buffer.length > 0 || promises.size > 0
2007
- ) {
2008
- if (!this.isAsyncIteratorDone) {
2009
- const { value, done } = await asyncIterator.next()
2010
- if (done) {
2011
- this.isAsyncIteratorDone = done
2012
- } else {
2013
- const monad = flatMapper(value)
2014
- if (isPromise(monad)) {
2015
- const bufferLoading =
2016
- monad.then(curry3(genericReduce, __, arrayPush, buffer))
2017
- const promise = bufferLoading.then(() => promises.delete(promise))
2018
- promises.add(promise)
2019
- } else {
2020
- const bufferLoading = genericReduce(monad, arrayPush, buffer)
2021
- if (isPromise(bufferLoading)) {
2022
- const promise = bufferLoading.then(() => promises.delete(promise))
2023
- promises.add(promise)
2024
- }
2025
- }
2145
+ // _consumeAsyncIterator() -> Promise<>
2146
+ async _consumeAsyncIterator() {
2147
+ for await (const item of asyncIterator) {
2148
+ const monad = flatMapper(item)
2149
+ if (isPromise(monad)) {
2150
+ const bufferLoading =
2151
+ monad.then(curry3(genericReduce, __, arrayPush, buffer))
2152
+ const promise = bufferLoading.then(() => promises.delete(promise))
2153
+ promises.add(promise)
2154
+ } else {
2155
+ const bufferLoading = genericReduce(monad, arrayPush, buffer)
2156
+ if (isPromise(bufferLoading)) {
2157
+ const promise = bufferLoading.then(() => promises.delete(promise))
2158
+ promises.add(promise)
2026
2159
  }
2027
2160
  }
2161
+ }
2162
+ isAsyncIteratorDone = true
2163
+ },
2164
+
2165
+
2166
+ async next() {
2167
+ if (!consumingAsyncIterator) {
2168
+ this._consumeAsyncIterator()
2169
+ consumingAsyncIterator = true
2170
+ }
2171
+
2172
+ while (!isAsyncIteratorDone || promises.size > 0) {
2028
2173
  if (buffer.length > 0) {
2029
2174
  return { value: buffer.shift(), done: false }
2030
2175
  }
2031
2176
  if (promises.size > 0) {
2032
- await promiseRace([sleep(1000), ...promises])
2177
+ await promiseRace(promises)
2178
+ } else {
2179
+ await sleep(10)
2033
2180
  }
2034
2181
  }
2182
+
2183
+ if (buffer.length > 0) {
2184
+ return { value: buffer.shift(), done: false }
2185
+ }
2186
+
2035
2187
  return { value: undefined, done: true }
2036
2188
  },
2037
2189
  }
@@ -2127,9 +2279,12 @@ const objectFlatten = function (object) {
2127
2279
 
2128
2280
  for (const key in object) {
2129
2281
  const element = object[key]
2282
+
2130
2283
  if (element == null) {
2131
2284
  continue
2132
- } else if (typeof element[symbolIterator] == 'function') {
2285
+ }
2286
+
2287
+ if (typeof element[symbolIterator] == 'function') {
2133
2288
  for (const monadElement of element) {
2134
2289
  objectAssign(result, monadElement)
2135
2290
  }
@@ -2390,7 +2545,7 @@ const _iteratorForEachSeriesAsync = async function (iterator, callback) {
2390
2545
 
2391
2546
  const iteratorForEachSeries = function (iterator, callback) {
2392
2547
  let iteration = iterator.next()
2393
- while (!iterator.done) {
2548
+ while (!iteration.done) {
2394
2549
  const operation = callback(iteration.value)
2395
2550
  if (isPromise(operation)) {
2396
2551
  return operation
@@ -2420,16 +2575,16 @@ const _forEach = function (collection, callback) {
2420
2575
  if (collection == null) {
2421
2576
  return collection
2422
2577
  }
2423
- if (typeof collection.forEach == 'function') {
2424
- collection.forEach(callback)
2425
- return collection
2426
- }
2427
2578
  if (typeof collection[symbolIterator] == 'function') {
2428
2579
  return iteratorForEach(collection[symbolIterator](), callback)
2429
2580
  }
2430
2581
  if (typeof collection[symbolAsyncIterator] == 'function') {
2431
2582
  return asyncIteratorForEach(collection[symbolAsyncIterator](), callback)
2432
2583
  }
2584
+ if (typeof collection.forEach == 'function') {
2585
+ collection.forEach(callback)
2586
+ return collection
2587
+ }
2433
2588
  if (collection.constructor == Object) {
2434
2589
  return objectForEach(collection, callback)
2435
2590
  }
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
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"),f=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)},i=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(i(o)):o},y=function(...n){const t=n.pop();return 0==n.length?a(d,c,t):e(n)?o(n).then(f(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),i(o[0])));if(r){const n=e(...o);if(t(n))return n.then(i(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],f=n.slice(0,-2);return e(f)?o(f).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,f=!1;for(;++c<r;){const o=n[c],r="function"==typeof o?o(...e):o;t(r)&&(f=!0),u[c]=r}return f?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 f=-1;for(;++f<o;){const o=n[f](...e);if(t(o))return o.then(r(h(b,u,f,c),j(S,n,e,c,f)));u[f]=o}return u},O=function(n,e){const r={},u=[];for(const o in n){const f=n[o],i="function"==typeof f?f(...e):f;t(i)?u.push(i.then(h(b,r,o,c))):r[o]=i}return 0==u.length?r:o(u).then(i(r))},m=function(t){return n(t)?e(t)?o(t):t:e(t)?v(t):t},z=function(...r){if(1==r.length){const e=r[0];return t(e)?e.then(m):w(e)?m(e):n(e)?a(x,e,c):a(O,e,c)}const u=r[r.length-1],i=r.slice(0,-1);return e(i)?n(u)?o(i).then(f(x,u,c)):o(i).then(f(O,u,c)):n(u)?x(u,i):O(u,i)};z.series=function(...n){const t=n.pop();return 0==n.length?a(M,t,c):e(n)?o(n).then(f(M,t,c)):M(t,n)};const A=Object.assign,E=function(n,e){const o=O(e,[n]);return t(o)?o.then(h(A,{},n,c)):{...n,...o}},T=function(n,t,e){return n(t,...e)},I=function(n,e,o){try{const r=n(...o);return t(r)?r.catch(h(T,e,c,o)):r}catch(n){return e(n,...o)}},D=(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],f="function"==typeof r?r(...e):r;if(t(f))return f.then(h(l,c,"function"==typeof u?s(u,e):i(u),D(P,n,e,o)));if(f)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)},$=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,i(r),B($,n,e)));if(o)return r}if(e!=o)return n[e]},k=Symbol.iterator,C=(n,t)=>({toString:()=>"[object MappingIterator]",[k](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),R=n=>({value:n,done:!1}),_=Symbol.asyncIterator,q=(n,e)=>({[_](){return this},async next(){const o=await n.next();if(o.done)return o;const r=e(o.value);return t(r)?r.then(R):{value:r,done:!1}}}),F=function(n,e){const r=n.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const o=e(n[c],c,n);t(o)&&(f=!0),u[c]=o}return f?o(u):u},V=(n,t,e)=>n[t](e),G=function(n,e){const r=new Set,u=[];for(const o of n){const f=e(o,o,n);t(f)?u.push(f.then(h(V,r,"add",c))):r.add(f)}return 0==u.length?r:o(u).then(i(r))},H=(n,t,e,o)=>n[t](e,o),J=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},K=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},L=function(n,e){const o=n.length,u=Array(o);let f=-1;for(;++f<o;){const o=e(n[f],f);if(t(o))return o.then(r(h(b,u,f,c),j(K,n,e,c,f)));u[f]=o}return u},N=(n,t,e,o,r)=>function(){return n(t,e,o,r)},Q=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},U=function(n,t){return n.add(t),n},W=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},X=function(n,t,e){return n.set(t,e)},Y=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},Z=n=>function(...t){return n(...t),t[0]},nn=Promise.race.bind(Promise),tn=async function(n,e,r,u,c,f){const i=n.length;for(;++c<i;){f.size>=r&&await nn(f);const o=e(n[c]);if(t(o)){const n=o.then(Z((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=o}return o(u)},en=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,f=r.then(Z((()=>t.delete(f))));return t.add(f),u[c]=f,tn(n,o,e,u,c,t)}u[c]=r}return u},on=async function(n,e,r,u,c,f){let i=e.next();for(;!i.done;){f.size>=r&&await nn(f);const o=u(i.value,i.value,n);if(t(o)){const n=o.then((t=>{f.delete(n),c.add(t)}));f.add(n)}else c.add(o);i=e.next()}return f.size>0&&await o(f),c},rn=async function(n,e,r,u,c,f){let i=e.next();for(;!i.done;){f.size>=r&&await nn(f);const o=i.value[0],s=u(i.value[1],o,n);if(t(s)){c.set(o,s);const n=s.then((t=>{f.delete(n),c.set(o,t)}));f.add(n)}else c.set(o,s);i=e.next()}return f.size>0&&await o(f),c},un=async function(n,e,r,u,c,f){for(const o in n){if(o in c)continue;f.size>=e&&await nn(f);const i=r(n[o],o,n);if(t(i)){u[o]=i;const n=i.then((t=>{f.delete(n),u[o]=t}));f.add(n)}else u[o]=i}return f.size>0&&await o(f),u},cn=(n,t,e)=>n.apply(t,e),fn=(n,t,r,u)=>function(...f){const i=u.length,s=f.length,l=[];let a=-1,p=-1,d=0;for(;(a+=1)<i;){const i=u[a];if(i==c&&(p+=1)<s){const n=f[p];n==c&&(d+=1),l.push(n)}else l.push(i);if(l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}for(;(p+=1)<s;){const u=f[p];if(u==c&&(d+=1),l.push(u),l.length==n)return e(l)?0==d?o(l).then(h(cn,t,r,c)):o(l).then(j(sn,n,t,r,c)):0==d?t.apply(r,l):sn(n,t,r,l)}return e(l)?o(l).then(j(sn,n,t,r,c)):sn(n,t,r,l)},sn=function(n,t,e,o){const r=o.length;if(r<n)return fn(n,t,e,o);let u=-1;for(;(u+=1)<r;){if(o[u]==c)return fn(n,t,e,o)}return t.apply(e,o)},ln=n=>function([t,e]){return n(t,e)},hn=(n,e,o)=>function(r,u){const c=n([u,r]);t(c)?o.push(c.then(ln(sn(3,X,this,[e])))):e.set(c[0],c[1])},an=function(e,r){return n(e)?F(e,r):null==e?e:"function"==typeof e.then?e.then(r):"function"==typeof e.map?e.map(r):"string"==typeof e||e.constructor==String?function(n,e){const o=F(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,r):e.constructor==Set?G(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,f]of n){const i=e(f,o,n);t(i)?u.push(i.then(j(H,r,"set",o,c))):r.set(o,i)}return 0==u.length?r:o(u).then(i(r))}(e,r):"function"==typeof e[k]?C(e[k](),r):"function"==typeof e[_]?q(e[_](),r):e.constructor==Object?J(e,r):r(e)},pn=function(n,e){return null==e?f(an,c,n):t(n)?n.then(f(an,c,e)):an(n,e)},dn=(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(ln(sn(3,b,this,[r])))):r[c[0]]=c[1]}return 0==u.length?r:o(u).then(i(r))}(n,e);if(n.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(hn(t,e,r)),0==r.length?e:o(r).then(i(e))}(n,e);throw new TypeError("value is not an Object or Map")};pn.entries=function(n,e){return null==e?f(dn,c,n):t(n)?n.then(f(dn,c,e)):dn(n,e)};const yn=function(e,o){if(n(e))return L(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(n,e){const o=L(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,o);if(e.constructor==Set)return function(n,e){const o=new Set,u=n[k]();let i=u.next();for(;!i.done;){const n=e(i.value);if(t(n))return n.then(r(f(U,o,c),D(W,u,e,o)));o.add(n),i=u.next()}return o}(e,o);if(e.constructor==Map)return function(n,e){const o=new Map,u=n[k]();let f=u.next();for(;!f.done;){const n=f.value[0],i=e(f.value[1]);if(t(i))return i.then(r(h(X,o,n,c),D(Y,u,e,o)));o.set(n,i),f=u.next()}return o}(e,o);if(e.constructor==Object)return function(n,e){const o={},u={};for(const f in n){u[f]=!0;const i=e(n[f],f,n);if(t(i))return i.then(r(h(b,o,f,c),N(Q,n,e,o,u)));o[f]=i}return o}(e,o);throw new TypeError(`invalid collection ${e}`)};pn.series=function(n,e){return null==e?f(yn,c,n):t(n)?n.then(f(yn,c,e)):yn(n,e)};const gn=function(e,o,r){if(n(e))return en(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=en(n,e,o);return t(r)?r.then(h(V,c,"join","")):r.join("")}(e,o,r);if(e.constructor==Set)return function(n,e,o){const r=new Set,u=n[k]();let c=u.next();for(;!c.done;){const f=o(c.value,c.value,n);if(t(f)){const t=new Set,c=f.then((n=>{t.delete(c),r.add(n)}));return t.add(c),on(n,u,e,o,r,t)}r.add(f),c=u.next()}return r}(e,o,r);if(e.constructor==Map)return function(n,e,o){const r=new Map,u=n[k]();let c=u.next();for(;!c.done;){const f=c.value[0],i=o(c.value[1],f,n);if(t(i)){const t=new Set;r.set(f,i);const c=i.then((n=>{t.delete(c),r.set(f,n)}));return t.add(c),rn(n,u,e,o,r,t)}r.set(f,i),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 f=o(n[c],c,n);if(t(f)){const t=new Set;r[c]=f;const i=f.then((n=>{t.delete(i),r[c]=n}));return t.add(i),un(n,e,o,r,u,t)}r[c]=f}return r}(e,o,r);throw new TypeError(`invalid functor ${e}`)};pn.pool=function(n,e,o){return null==o?h(gn,c,n,e):t(n)?n.then(h(gn,c,e,o)):gn(n,e,o)};const wn=(n,t)=>({[k](){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}}),vn=(n,e)=>({isAsyncIteratorDone:!1,[_](){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}}}),xn=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},jn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},bn=function(n,e){const r=n.length,u=[];let f=-1,i=-1;for(;++f<r;){const r=n[f],s=e(r,f,n);if(t(s))return o(xn([s],n,e,f)).then(j(jn,n,u,f-1,c));s&&(u[++i]=r)}return u},Sn=(n,t)=>function(){return n(t)},Mn=function(){},On=function(n,t,e,o){o&&(n[t]=e)},mn=function(e,r){return n(e)?bn(e,r):null==e?e:"string"==typeof e||e.constructor==String?function(n,e){const o=bn(n,e);return t(o)?o.then(h(V,c,"join","")):o.join("")}(e,r):e.constructor==Set?function(n,e){const r=new Set,u=r.add.bind(r),f=[];for(const o of n){const i=e(o,o,n);t(i)?f.push(i.then(h(l,c,Sn(u,o),Mn))):i&&r.add(o)}return 0==f.length?r:o(f).then(i(r))}(e,r):e.constructor==Map?function(n,e){const r=new Map,u=[];for(const[o,f]of n){const i=e(f,o,n);t(i)?u.push(i.then(h(l,c,N(H,r,"set",o,f),Mn))):i&&r.set(o,f)}return 0==u.length?r:o(u).then(i(r))}(e,r):"function"==typeof e.filter?e.filter(r):"function"==typeof e[k]?wn(e[k](),r):"function"==typeof e[_]?vn(e[_](),r):e.constructor==Object?function(n,e){const r={},u=[];for(const o in n){const f=n[o],i=e(f,o,n);t(i)?u.push(i.then(j(On,r,o,n[o],c))):i&&(r[o]=f)}return 0==u.length?r:o(u).then(i(r))}(e,r):e},zn=Object.values,An=(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}),En=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},Tn=Object.keys,In=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},Dn=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},Pn=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(En,n,e,c,u));return o}(e,o,r):null==e?void 0===r?f(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,f]of r)if(o=e(o,f,u,n),t(o))return o.then(j(Dn,n,e,c,r));return o}(e,o,r):"function"==typeof e[k]?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(An,n,e,c));r=n.next()}return o}(e[k](),o,r):"function"==typeof e[_]?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[_](),o,r):"function"==typeof e.reduce?e.reduce(o,r):"function"==typeof e.chain?e.chain(f(o,r,c)):"function"==typeof e.flatMap?e.flatMap(f(o,r,c)):e.constructor==Object?function(n,e,o){const r=Tn(n),u=r.length;let f=-1;for(void 0===o&&(o=n[r[++f]]);++f<u;){const u=r[f];if(o=e(o,n[u],u,n),t(o))return o.then((i=In,l=e,h=c,a=r,p=f,(s=n)==c?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==c?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==c?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==c?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(e,o,r):void 0===r?f(o,e,c):o(r,e)},Bn=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Pn,n,e,c)):Pn(n,e,r)}return t(o)?o.then(h(Pn,n,e,c)):Pn(n,e,o)},$n=ArrayBuffer.isView,kn=function(t,e){return n(e)||$n(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)},Cn="function"==typeof Buffer,Rn=Cn?Buffer.alloc:Mn,_n=function(n,t){const e=n.length,o=Cn&&n.constructor==Buffer?Rn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},qn=function(t,e){return n(e)||$n(e)?_n(t,e):_n(t,[e])},Fn=(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",Sn(e,n)),t.on("error",o)})(n,t)),Vn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Fn(n,t):(n.write(t),n);var e},Gn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Hn=function(n,t){return n.concat(t)},Jn=function(n,e,o){const r=Pn(n,e(Mn),null);return t(r)?r.then(i(o)):o},Kn=function(e,o,r){if(n(r))return Pn(e,o(kn),r);if($n(r)){const n=Pn(e,o(kn),[]);return t(n)?n.then(f(qn,r,c)):qn(r,n)}if(null==r)return Jn(e,o,r);const u=r.constructor;if("string"==typeof r||u==String){const n=Pn(e,o(kn),[r]);return t(n)?n.then(h(V,c,"join","")):n.join("")}return"function"==typeof r.concat?Pn(e,o(Hn),r):"function"==typeof r.write?Pn(e,o(Vn),r):u==Set?Pn(e,o(Gn),r):u==Object?Pn(e,o(A),r):Jn(e,o,r)},Ln=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Kn,n,e,c)):Kn(n,e,r)}return t(o)?o.then(h(Kn,n,e,c)):Kn(n,e,o)},Nn=function(n,t){return n.push(t),n},Qn=n=>new Promise((t=>{setTimeout(t,n)})),Un=(n,t)=>t,Wn=n=>n,Xn=(n,t)=>function(...e){return t(n(...e))},Yn=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(i(n))},Zn=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(f(Nn,s,c)));else if("function"==typeof o[k])for(const n of o)s.push(n);else if("function"==typeof o[_])u.push(Yn(o[_](),f(Nn,s,c)));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);t(n)?u.push(n.then(f(Nn,s,c))):s.push(n)}else if("function"==typeof o.reduce){const n=o.reduce(Xn(Un,f(Nn,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(i(s))},nt=function(n){const e=[],r={},u=f(A,r,c),i=Xn(Un,u);for(const o in n){const c=n[o];if(null!=c)if("function"==typeof c[k])for(const n of c)A(r,n);else if("function"==typeof c[_])e.push(Yn(c[_](),u));else if("function"==typeof c.chain){const n=c.chain(Wn);t(n)?e.push(n.then(u)):A(r,n)}else if("function"==typeof c.flatMap){const n=c.flatMap(Wn);t(n)?e.push(n.then(u)):u(n)}else if("function"==typeof c.reduce){const n=c.reduce(i,null);t(n)&&e.push(n)}else A(r,c)}return 0==e.length?r:o(e).then((()=>r))},tt=function(e){e.size;const r=[],u=new Set,f=(n,t)=>u.add(t),i=h(V,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[k])for(const n of o)u.add(n);else if("function"==typeof o[_])r.push(Yn(o[_](),i));else if("function"==typeof o.chain){const n=o.chain(Wn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.flatMap){const n=o.flatMap(Wn);t(n)?r.push(n.then(i)):u.add(n)}else if("function"==typeof o.reduce){const n=o.reduce(f,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))},et=r(Zn,f(((n,t)=>n.join(t)),c,"")),ot=function(e,o){if(n(e))return function(n,e){const o=F(n,e);return t(o)?o.then(Zn):Zn(o)}(e,o);if(null==e)return o(e);if("function"==typeof e.then)return e.then(o);if("function"==typeof e.next)return k in e?function(n,t){let e=[],o=0;return{[k](){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=Pn(t(r.value),Nn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(e,o):function(n,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[_](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:u,done:f}=await n.next();if(f)this.isAsyncIteratorDone=f;else{const n=e(u);if(t(n)){const t=n.then(h(Pn,c,Nn,o)).then((()=>r.delete(t)));r.add(t)}else{const e=Pn(n,Nn,o);if(t(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await nn([Qn(1e3),...r])}return{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=J(n,e);return t(o)?o.then(nt):nt(o)}(e,o):r==Set?function(n,e){const o=G(n,e);return t(o)?o.then(tt):tt(o)}(e,o):"string"==typeof e||r==String?function(n,e){const o=F(n,e);return t(o)?o.then(et):et(o)}(e,o):o(e)},rt=async function(n,e,o){const r=n.length;for(;++o<r;){const r=e(n[o]);t(r)&&await r}return n},ut=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},ct=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(i(n))}(e,r):null==e?e:"function"==typeof e.forEach?(e.forEach(r),e):"function"==typeof e[k]?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(i(n))}(e[k](),r):"function"==typeof e[_]?Yn(e[_](),r):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(i(n))}(e,r):e},it=function(n,e){return"function"==typeof n?f(ft,c,n):t(n)?n.then(f(ft,c,e)):ft(n,e)},st=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(D(rt,n,e,r))}return n}(e,o);if(null==e)throw new TypeError(`invalid collection ${e}`);if("function"==typeof e[k])return function(n,e){let o=n.next();for(;!n.done;){const r=e(o.value);if(t(r))return r.then(B(ct,n,e));o=n.next()}return n}(e[k](),o);if("function"==typeof e[_])return async function(n,e){for await(const o of n){const n=e(o);t(n)&&await n}return n}(e[_](),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(D(ut,n,e,o))}return n}(e,o);throw new TypeError(`invalid collection ${e}`)};it.series=function(n,e){return"function"==typeof n?f(st,c,n):t(n)?n.then(f(st,c,e)):st(n,e)};const lt=function(n){const t=n.then((n=>[n,t]));return t},ht=async function(n,e,o,r){const u=n.length;for(;++o<u;){const u=e(n[o]);if(t(u))r.add(lt(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await nn(r);if(r.delete(t),n)return!0}return!1},at=function(n,e){const o=n.length;let r=-1;for(;++r<o;){const o=e(n[r]);if(t(o))return ht(n,e,r,new Set([lt(o)]));if(o)return!0}return!1},pt=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 nn(o);if(o.delete(t),n)return!0}const c=e(u.value);if(t(c))o.add(lt(c));else if(c)return!0;u=n.next(),t(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await nn(o);if(o.delete(t),n)return!0}return!1},dt=function(e,o){return n(e)?at(e,o):null==e?o(e):"function"==typeof e[k]?function(n,e){for(const o of n){const r=e(o);if(t(r))return pt(n,e,new Set([lt(r)]));if(r)return!0}return!1}(e[k](),o):"function"==typeof e[_]?pt(e[_](),o,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!0===e?e:t(e)?e.then(f((n=>function(t,e){return!!t||n(e)})(n),c,o)):!!e||n(o)})(o),!1):e.constructor==Object?at(zn(e),o):o(e)},yt=function(n,e){const r=n.length,u=[];let f=-1;for(;++f<r;){const o=e(n[f]);if(t(o))u.push(o);else if(!o)return!1}return 0==u.length||o(u).then(h(V,c,"every",Boolean))},gt=(n,t,e)=>!!t&&n(e),wt=function(e,r){return n(e)?yt(e,r):null==e?r(e):"function"==typeof e[k]?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(V,c,"every",Boolean))}(e[k](),r):"function"==typeof e[_]?async function(n,e,o,r=20){let u=await n.next();for(;!u.done;){if(o.size>=r){const[n,t]=await nn(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(t(c))o.add(lt(c));else if(!c)return!1;u=await n.next()}for(;o.size>0;){const[n,t]=await nn(o);if(o.delete(t),!n)return!1}return!0}(e[_](),r,new Set):"function"==typeof e.reduce?e.reduce((n=>function(e,o){return!1!==e&&(t(e)?e.then(h(gt,n,c,o)):!!e&&n(o))})(r),!0):e.constructor==Object?yt(zn(e),r):r(e)},vt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,B(vt,n,e),i(!1)));if(!o)return!1}return!0},xt=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},jt=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,D(xt,n,e,r),i(!1)));if(!o)return!1}return!0},bt=function(n,e){const o=n.length;for(;++e<o;){const o=n[e];if(t(o))return o.then(h(l,c,i(!0),B(bt,n,e)));if(o)return!0}return!1},St=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,i(!0),D(St,n,e,r)));if(o)return!0}return!1},Ot=n=>!n,mt=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)},At=function(n,e,r,u){const c=r(...n),f=u(...n);return t(c)||t(f)?o([c,f]).then(ln(e)):e(c,f)},Et=function(n,e,r,u){const c=r(...n);return t(c)||t(u)?o([c,u]).then(ln(e)):e(c,u)},Tt=function(n,e,r,u){const c=u(...n);return t(r)||t(c)?o([r,c]).then(ln(e)):e(r,c)},It=n=>function(...r){const u=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof u;return i&&s?0==r.length?zt(At,c,n,f,u):e(r)?o(r).then(j(At,c,n,f,u)):At(r,n,f,u):i?0==r.length?zt(Et,c,n,f,u):e(r)?o(r).then(j(Et,c,n,f,u)):Et(r,n,f,u):s?0==r.length?zt(Tt,c,n,f,u):e(r)?o(r).then(j(Tt,c,n,f,u)):Tt(r,n,f,u):t(f)||t(u)?o([f,u]).then(ln(n)):n(f,u)},Dt=It((function(n,t){return n==t})),Pt=It(((n,t)=>n>t)),Bt=It(((n,t)=>n<t)),$t=It(((n,t)=>n>=t)),kt=It(((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),_t=t=>n(t)?t:"string"==typeof t?Rt(t):[t],qt=function(n,t){const e=_t(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Ft=function(n,t,e){const o=null==n?void 0:qt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Vt=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=_t(o),u=r.length,c=u-1,f={...t};let i=f,s=-1;for(;++s<u;){const t=r[s];if(s==c)i[t]=e;else{const e=i[t],o=n(e)?e.slice():{...e};i[t]=o,i=o}}return f},Gt=function(n,e,o){if("function"==typeof o){const r=o(n);return t(r)?r.then(h(Vt,n,c,e)):Vt(n,r,e)}return t(o)?o.then(h(Vt,n,c,e)):Vt(n,o,e)},Ht=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=Vt(o,u,e))}return o},Jt=function(n,t){if(null==n)return;const e=_t(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]},Kt=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=Lt(r):null!=r&&r.constructor==Object?e[o]=Kt(r):e[o]=r}return e},Lt=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=Lt(e):null!=e&&e.constructor==Object?o[r]=Kt(e):o[r]=e}return o},Nt=function(t,e){const o=e.length,r=n(u=t)?Lt(u):null==u?u:u.constructor==Object?Kt(u):u;var u;let c=-1;for(;++c<o;)Jt(r,e[c]);return r};function Qt(n,t,e){return function(){return n.apply(t,e)}}const Ut=function(n,...t){return e(t)?o(t).then(h(Qt,n,this,c)):Qt(n,this,t)};Ut.call=function(n,t,...r){return e(r)?o(r).then(h(Qt,n,t,c)):Qt(n,t,r)};const Wt=(n,...t)=>e(t)?o(t).then(j(sn,n.length,n,this,c)):sn(n.length,n,this,t);Wt.arity=function(n,t,...r){return e(r)?o(r).then(j(sn,n,t,this,c)):sn(n,t,this,r)},Wt.call=function(n,t,...r){return e(r)?o(r).then(j(sn,n.length,n,t,c)):sn(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(f(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(f(u,t,c)):t(...n)},tap:y,forEach:it,switchCase:(...n)=>{const t=n.pop();return w(t)?$(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(I,r,t,c)):I(r,t,n)}const t=n[0],r=n[1];return function(...n){return I(t,r,n)}},all:z,assign:function(n,e){return null==e?f(E,c,n):t(n)?n.then(f(E,c,e)):E(n,e)},get:function(e,r,i){return"string"==typeof e||"number"==typeof e||n(e)?h(Ft,c,e,r):t(e)||t(i)?o([e,r,i]).then(f(u,Ft,c)):Ft(e,r,i)},set:function(n,e,o){return null==o?h(Gt,c,n,e):t(n)?n.then(h(Gt,c,e,o)):Gt(n,e,o)},pick:function(n,e){return null==e?f(Ht,c,n):t(n)?n.then(f(Ht,c,e)):Ht(n,e)},omit:function(n,e){return null==e?f(Nt,c,n):t(n)?n.then(f(Nt,c,e)):Nt(n,e)},map:pn,filter:function(n,e){return"function"==typeof n?f(mn,c,n):t(n)?n.then(f(mn,c,e)):mn(n,e)},flatMap:(n,e)=>"function"==typeof n?f(ot,c,n):t(n)?n.then(f(ot,c,e)):ot(n,e),reduce:function(...n){return"function"==typeof n[0]?h(Bn,c,n[0],n[1]):t(n[0])?n[0].then(h(Bn,c,n[1],n[2])):Bn(n[0],n[1],n[2])},transform:function(...n){return"function"==typeof n[0]?h(Ln,c,n[0],n[1]):t(n[0])?n[0].then(h(Ln,c,n[1],n[2])):Ln(n[0],n[1],n[2])},and:function(...n){const t=n.pop();return w(t)?vt(t,-1):0==n.length?a(jt,c,t):e(n)?o(n).then(f(jt,c,t)):jt(n,t)},or:function(...n){const t=n.pop();return w(t)?bt(t,-1):0==n.length?a(Mt,c,t):e(n)?o(n).then(f(Mt,c,t)):Mt(n,t)},not:function(...n){const r=n.pop();return"function"==typeof r?0==n.length?a(mt,c,r):e(n)?o(n).then(f(mt,c,r)):mt(n,r):t(r)?r.then(Ot):!r},some:function(n,e){return"function"==typeof n?f(dt,c,n):t(n)?n.then(f(dt,c,e)):dt(n,e)},every:function(n,e){return"function"==typeof n?f(wt,c,n):t(n)?n.then(f(wt,c,e)):wt(n,e)},eq:Dt,gt:Pt,lt:Bt,gte:$t,lte:kt,thunkify:Ut,always:i,curry:Wt,__: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,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}}());