@dashkite/joy 0.3.16 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,430 +1,491 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.uniqueBy = exports.tap = exports.start = exports.select = exports.resolve = exports.reject = exports.reduce = exports.project = exports.partition = exports.map = exports.join = exports.includes = exports.find = exports.events = exports.each = exports.collect = exports.Queue = void 0;
7
-
8
- var _generic = require("./generic.js");
9
-
10
- var _function = require("./function.js");
11
-
12
- var _predicate = require("./predicate.js");
13
-
14
- var _type = require("./type.js");
15
-
16
- var _object = require("./object.js");
17
-
18
- var Queue, _includes, collect, each, events, find, fold, includes, isAny, join, map, partition, project, reduce, reject, resolve, select, start, tap, uniqueBy;
19
-
20
- exports.uniqueBy = uniqueBy;
21
- exports.tap = tap;
22
- exports.start = start;
23
- exports.select = select;
24
- exports.resolve = resolve;
25
- exports.reject = reject;
26
- exports.reduce = reduce;
27
- exports.project = project;
28
- exports.partition = partition;
29
- exports.map = map;
30
- exports.join = join;
31
- exports.includes = includes;
32
- exports.find = find;
33
- exports.events = events;
34
- exports.each = each;
35
- exports.collect = collect;
36
- exports.Queue = Queue;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ Queue: function() {
13
+ return Queue;
14
+ },
15
+ collect: function() {
16
+ return collect;
17
+ },
18
+ each: function() {
19
+ return each;
20
+ },
21
+ events: function() {
22
+ return events;
23
+ },
24
+ find: function() {
25
+ return find;
26
+ },
27
+ includes: function() {
28
+ return includes;
29
+ },
30
+ join: function() {
31
+ return join;
32
+ },
33
+ map: function() {
34
+ return map;
35
+ },
36
+ partition: function() {
37
+ return partition;
38
+ },
39
+ project: function() {
40
+ return project;
41
+ },
42
+ reduce: function() {
43
+ return reduce;
44
+ },
45
+ reject: function() {
46
+ return reject;
47
+ },
48
+ resolve: function() {
49
+ return resolve;
50
+ },
51
+ select: function() {
52
+ return select;
53
+ },
54
+ start: function() {
55
+ return start;
56
+ },
57
+ tap: function() {
58
+ return tap;
59
+ },
60
+ uniqueBy: function() {
61
+ return uniqueBy;
62
+ },
63
+ zip: function() {
64
+ return zip;
65
+ }
66
+ });
67
+ const _generic = require("./generic");
68
+ const _function = require("./function");
69
+ const _predicate = require("./predicate");
70
+ const _type = require("./type");
71
+ const _object = require("./object");
72
+ const _value = require("./value");
73
+ var Queue, _includes, collect, each, events, find, fold, includes, isAny, join, map, partition, project, reduce, reject, resolve, select, start, tap, uniqueBy, zip;
37
74
  isAny = (0, _function.wrap)(true);
38
75
  _includes = (0, _generic.generic)({
39
- name: "includes"
40
- });
41
- (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isReagent, async function (a, ax) {
42
- var _a;
43
-
44
- for await (_a of ax) {
45
- if (Object.is(a, _a)) {
46
- return true;
76
+ name: "includes"
77
+ });
78
+ (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isReagent, async function(a, ax) {
79
+ var _a;
80
+ for await (_a of ax){
81
+ if (Object.is(a, _a)) {
82
+ return true;
83
+ }
47
84
  }
48
- }
49
-
50
- return false;
51
- });
52
- (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isIterable, function (a, ax) {
53
- var _a;
54
-
55
- for (_a of ax) {
56
- if (Object.is(a, _a)) {
57
- return true;
85
+ return false;
86
+ });
87
+ (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isIterable, function(a, ax) {
88
+ var _a;
89
+ for (_a of ax){
90
+ if (Object.is(a, _a)) {
91
+ return true;
92
+ }
58
93
  }
59
- }
60
-
61
- return false;
62
- });
63
- (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isArray, function (a, ax) {
64
- return ax.includes(a);
65
- });
66
- exports.includes = includes = (0, _function.curry)((0, _function.binary)(_includes));
67
-
68
- exports.uniqueBy = uniqueBy = function (f, ax) {
69
- var a, bx;
70
- bx = [];
71
-
72
- for (a of ax) {
73
- if (bx.find(function (b) {
74
- return f(a, b);
75
- }) == null) {
76
- bx.push(a);
94
+ return false;
95
+ });
96
+ (0, _generic.generic)(_includes, (0, _function.wrap)(true), _type.isArray, function(a, ax) {
97
+ return ax.includes(a);
98
+ });
99
+ includes = (0, _function.curry)((0, _function.binary)(_includes));
100
+ uniqueBy = function(f, ax) {
101
+ var a, bx;
102
+ bx = [];
103
+ for (a of ax){
104
+ if (bx.find(function(b) {
105
+ return f(a, b);
106
+ }) == null) {
107
+ bx.push(a);
108
+ }
77
109
  }
78
- }
79
-
80
- return bx;
110
+ return bx;
81
111
  };
82
-
83
- exports.map = map = (0, _generic.generic)({
84
- name: "map"
85
- });
86
- (0, _generic.generic)(map, _type.isFunction, _type.isIterable, function* (f, i) {
87
- var results, x;
88
- results = [];
89
-
90
- for (x of i) {
91
- results.push(yield f(x));
92
- }
93
-
94
- return results;
95
- });
96
- (0, _generic.generic)(map, _type.isFunction, _type.isReagent, async function* (f, r) {
97
- var results, x;
98
- results = [];
99
-
100
- for await (x of r) {
101
- results.push(yield f(x));
102
- }
103
-
104
- return results;
105
- });
106
- (0, _generic.generic)(map, _type.isFunction, _type.isArray, function (f, ax) {
107
- return ax.map(function (x) {
108
- return f(x);
109
- });
110
- });
111
- exports.map = map = (0, _function.curry)((0, _function.binary)(map));
112
- exports.project = project = (0, _function.curry)(function (p, i) {
113
- return map((0, _object.get)(p), i);
114
- });
115
- exports.find = find = (0, _generic.generic)({
116
- name: "find"
117
- });
118
- (0, _generic.generic)(find, _type.isFunction, _type.isIterable, async function (f, i) {
119
- var x;
120
-
121
- for (x of i) {
122
- if ((await f(x)) === true) {
123
- return x;
112
+ map = (0, _generic.generic)({
113
+ name: "map"
114
+ });
115
+ (0, _generic.generic)(map, _type.isFunction, _type.isIterable, function*(f, i) {
116
+ var results, x;
117
+ results = [];
118
+ for (x of i){
119
+ results.push((yield f(x)));
124
120
  }
125
- }
126
-
127
- return void 0;
121
+ return results;
128
122
  });
129
- (0, _generic.generic)(find, _type.isFunction, _type.isReagent, async function (f, r) {
130
- var x;
131
-
132
- for await (x of r) {
133
- if ((await f(x)) === true) {
134
- return x;
123
+ (0, _generic.generic)(map, _type.isFunction, _type.isReagent, async function*(f, r) {
124
+ var results, x;
125
+ results = [];
126
+ for await (x of r){
127
+ results.push((yield f(x)));
135
128
  }
136
- }
137
-
138
- return void 0;
139
- });
140
- (0, _generic.generic)(find, _type.isFunction, _type.isArray, function (f, ax) {
141
- return ax.find(function (x) {
142
- return f(x);
143
- });
144
- });
145
- exports.find = find = (0, _function.curry)((0, _function.binary)(find));
146
- exports.tap = tap = (0, _generic.generic)({
147
- name: "tap"
129
+ return results;
148
130
  });
149
- (0, _generic.generic)(tap, _type.isFunction, _type.isIterable, function* (f, i) {
150
- var results, x;
151
- results = [];
152
-
153
- for (x of i) {
154
- results.push(yield (0, _function.tee)(f)(x));
155
- }
156
-
157
- return results;
131
+ (0, _generic.generic)(map, _type.isFunction, _type.isArray, function(f, ax) {
132
+ return ax.map(function(x) {
133
+ return f(x);
134
+ });
158
135
  });
159
- (0, _generic.generic)(tap, _type.isFunction, _type.isReagent, async function* (f, r) {
160
- var results, x;
161
- results = [];
162
-
163
- for await (x of r) {
164
- results.push(yield (0, _function.tee)(f)(x));
165
- }
166
-
167
- return results;
136
+ map = (0, _function.curry)((0, _function.binary)(map));
137
+ project = (0, _function.curry)(function(p, i) {
138
+ return map((0, _object.get)(p), i);
168
139
  });
169
- exports.tap = tap = (0, _function.curry)((0, _function.binary)(tap));
170
- exports.select = select = (0, _generic.generic)({
171
- name: "select"
140
+ find = (0, _generic.generic)({
141
+ name: "find"
172
142
  });
173
- (0, _generic.generic)(select, _type.isFunction, _type.isIterable, function* (f, i) {
174
- var results, x;
175
- results = [];
176
-
177
- for (x of i) {
178
- if (f(x)) {
179
- results.push(yield x);
143
+ (0, _generic.generic)(find, _type.isFunction, _type.isIterable, async function(f, i) {
144
+ var x;
145
+ for (x of i){
146
+ if (await f(x) === true) {
147
+ return x;
148
+ }
180
149
  }
181
- }
182
-
183
- return results;
184
- });
185
- (0, _generic.generic)(select, _type.isFunction, _type.isReagent, async function* (f, r) {
186
- var results, x;
187
- results = [];
188
-
189
- for await (x of r) {
190
- if (f(x)) {
191
- results.push(yield x);
150
+ return void 0;
151
+ });
152
+ (0, _generic.generic)(find, _type.isFunction, _type.isReagent, async function(f, r) {
153
+ var x;
154
+ for await (x of r){
155
+ if (await f(x) === true) {
156
+ return x;
157
+ }
192
158
  }
193
- }
194
-
195
- return results;
196
- });
197
- (0, _generic.generic)(select, _type.isFunction, _type.isArray, function (f, ax) {
198
- return ax.filter(f);
199
- });
200
- exports.select = select = (0, _function.curry)((0, _function.binary)(select));
201
- exports.reject = reject = (0, _function.curry)(function (f, i) {
202
- return select((0, _predicate.negate)(f), i);
203
- });
204
- exports.resolve = resolve = (0, _function.curry)(async function* (filter, producer) {
205
- var ref, results, x;
206
- ref = filter(producer);
207
- results = [];
208
-
209
- for await (x of ref) {
210
- results.push(yield await x);
211
- }
212
-
213
- return results;
159
+ return void 0;
214
160
  });
215
- exports.collect = collect = (0, _generic.generic)({
216
- name: "start"
161
+ (0, _generic.generic)(find, _type.isFunction, _type.isArray, function(f, ax) {
162
+ return ax.find(function(x) {
163
+ return f(x);
164
+ });
217
165
  });
218
- (0, _generic.generic)(collect, _type.isIterable, function (i) {
219
- return Array.from(i);
166
+ find = (0, _function.curry)((0, _function.binary)(find));
167
+ tap = (0, _generic.generic)({
168
+ name: "tap"
220
169
  });
221
- (0, _generic.generic)(collect, _type.isReagent, async function (r) {
222
- var results, x;
223
- results = [];
224
-
225
- for await (x of r) {
226
- results.push(x);
227
- }
228
-
229
- return results;
170
+ (0, _generic.generic)(tap, _type.isFunction, _type.isIterable, function*(f, i) {
171
+ var results, x;
172
+ results = [];
173
+ for (x of i){
174
+ results.push((yield (0, _function.tee)(f)(x)));
175
+ }
176
+ return results;
230
177
  });
231
- exports.start = start = (0, _generic.generic)({
232
- name: "start"
178
+ (0, _generic.generic)(tap, _type.isFunction, _type.isReagent, async function*(f, r) {
179
+ var results, x;
180
+ results = [];
181
+ for await (x of r){
182
+ results.push((yield (0, _function.tee)(f)(x)));
183
+ }
184
+ return results;
185
+ });
186
+ tap = (0, _function.curry)((0, _function.binary)(tap));
187
+ select = (0, _generic.generic)({
188
+ name: "select"
189
+ });
190
+ (0, _generic.generic)(select, _type.isFunction, _type.isIterable, function*(f, i) {
191
+ var results, x;
192
+ results = [];
193
+ for (x of i){
194
+ if (f(x)) {
195
+ results.push((yield x));
196
+ }
197
+ }
198
+ return results;
199
+ });
200
+ (0, _generic.generic)(select, _type.isFunction, _type.isReagent, async function*(f, r) {
201
+ var results, x;
202
+ results = [];
203
+ for await (x of r){
204
+ if (f(x)) {
205
+ results.push((yield x));
206
+ }
207
+ }
208
+ return results;
209
+ });
210
+ (0, _generic.generic)(select, _type.isFunction, _type.isArray, function(f, ax) {
211
+ return ax.filter(f);
212
+ });
213
+ select = (0, _function.curry)((0, _function.binary)(select));
214
+ reject = (0, _function.curry)(function(f, i) {
215
+ return select((0, _predicate.negate)(f), i);
216
+ });
217
+ zip = (0, _generic.generic)({
218
+ name: "zip"
219
+ });
220
+ (0, _generic.generic)(zip, _type.isIterable, _type.isIterable, function*(i, j) {
221
+ var p, q, results;
222
+ i = i[Symbol.iterator]();
223
+ j = j[Symbol.iterator]();
224
+ p = i.next();
225
+ q = j.next();
226
+ results = [];
227
+ while(!(p.done && q.done)){
228
+ yield [
229
+ p.value,
230
+ q.value
231
+ ];
232
+ p = i.next();
233
+ results.push(q = j.next());
234
+ }
235
+ return results;
236
+ });
237
+ (0, _generic.generic)(zip, _type.isIterable, _type.isReagent, async function*(i, j) {
238
+ var p, q, results;
239
+ i = i[Symbol.iterator]();
240
+ j = j[Symbol.asyncIterator]();
241
+ p = i.next();
242
+ q = await j.next();
243
+ results = [];
244
+ while(!(p.done && q.done)){
245
+ yield [
246
+ p.value,
247
+ q.value
248
+ ];
249
+ p = i.next();
250
+ results.push(q = await j.next());
251
+ }
252
+ return results;
253
+ });
254
+ (0, _generic.generic)(zip, _type.isReagent, _type.isIterable, async function*(i, j) {
255
+ var p, q, results;
256
+ i = i[Symbol.asyncIterator]();
257
+ j = j[Symbol.iterator]();
258
+ p = await i.next();
259
+ q = j.next();
260
+ results = [];
261
+ while(!(p.done && q.done)){
262
+ yield [
263
+ p.value,
264
+ q.value
265
+ ];
266
+ p = await i.next();
267
+ results.push(q = j.next());
268
+ }
269
+ return results;
270
+ });
271
+ (0, _generic.generic)(zip, _type.isReagent, _type.isReagent, async function*(i, j) {
272
+ var p, q, results;
273
+ i = i[Symbol.asyncIterator]();
274
+ j = j[Symbol.asyncIterator]();
275
+ p = await i.next();
276
+ q = await j.next();
277
+ results = [];
278
+ while(!(p.done && q.done)){
279
+ yield [
280
+ p.value,
281
+ q.value
282
+ ];
283
+ p = await i.next();
284
+ results.push(q = await j.next());
285
+ }
286
+ return results;
287
+ });
288
+ zip = (0, _function.curry)((0, _function.binary)(zip));
289
+ resolve = (0, _function.curry)(async function*(filter, producer) {
290
+ var ref, results, x;
291
+ ref = filter(producer);
292
+ results = [];
293
+ for await (x of ref){
294
+ results.push((yield await x));
295
+ }
296
+ return results;
233
297
  });
234
- (0, _generic.generic)(start, _type.isIterable, function (i) {
235
- var x;
236
-
237
- for (x of i) {
238
- void 0;
239
- }
240
-
241
- return void 0;
298
+ collect = (0, _generic.generic)({
299
+ name: "start"
242
300
  });
243
- (0, _generic.generic)(start, _type.isReagent, async function (r) {
244
- var x;
245
-
246
- for await (x of r) {
247
- void 0;
248
- }
249
-
250
- return void 0;
301
+ (0, _generic.generic)(collect, _type.isIterable, function(i) {
302
+ return Array.from(i);
251
303
  });
252
- exports.each = each = (0, _generic.generic)({
253
- name: "each"
304
+ (0, _generic.generic)(collect, _type.isReagent, async function(r) {
305
+ var results, x;
306
+ results = [];
307
+ for await (x of r){
308
+ results.push(x);
309
+ }
310
+ return results;
254
311
  });
255
- (0, _generic.generic)(each, _type.isFunction, _type.isIterable, function (f, i) {
256
- var x;
257
-
258
- for (x of i) {
259
- f(x);
260
- }
261
-
262
- return void 0;
312
+ start = (0, _generic.generic)({
313
+ name: "start"
263
314
  });
264
- (0, _generic.generic)(each, _type.isFunction, _type.isReagent, async function (f, r) {
265
- var x;
266
-
267
- for await (x of r) {
268
- f(x);
269
- }
270
-
271
- return void 0;
315
+ (0, _generic.generic)(start, _type.isIterable, function(i) {
316
+ var x;
317
+ for (x of i){
318
+ void 0;
319
+ }
320
+ return void 0;
272
321
  });
273
- (0, _generic.generic)(each, _type.isFunction, _type.isArray, function (f, ax) {
274
- return ax.forEach(f);
322
+ (0, _generic.generic)(start, _type.isReagent, async function(r) {
323
+ var x;
324
+ for await (x of r){
325
+ void 0;
326
+ }
327
+ return void 0;
275
328
  });
276
- exports.each = each = (0, _function.curry)((0, _function.binary)(each));
277
- exports.reduce = reduce = (0, _generic.generic)({
278
- name: "fold/reduce"
329
+ each = (0, _generic.generic)({
330
+ name: "each"
279
331
  });
280
- (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isIterable, function (f, k, i) {
281
- var x;
282
-
283
- for (x of i) {
284
- k = f(k, x);
285
- }
286
-
287
- return k;
332
+ (0, _generic.generic)(each, _type.isFunction, _type.isIterable, function(f, i) {
333
+ var x;
334
+ for (x of i){
335
+ f(x);
336
+ }
337
+ return void 0;
288
338
  });
289
- (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isReagent, async function (f, k, r) {
290
- var x;
291
-
292
- for await (x of r) {
293
- k = f(k, x);
294
- }
295
-
296
- return k;
339
+ (0, _generic.generic)(each, _type.isFunction, _type.isReagent, async function(f, r) {
340
+ var x;
341
+ for await (x of r){
342
+ f(x);
343
+ }
344
+ return void 0;
297
345
  });
298
- (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isArray, function (f, k, ax) {
299
- return ax.reduce(f, k);
346
+ (0, _generic.generic)(each, _type.isFunction, _type.isArray, function(f, ax) {
347
+ return ax.forEach(f);
300
348
  });
301
- exports.reduce = reduce = fold = (0, _function.curry)((0, _function.ternary)(reduce));
302
- exports.join = join = (0, _generic.generic)({
303
- name: "join"
349
+ each = (0, _function.curry)((0, _function.binary)(each));
350
+ reduce = (0, _generic.generic)({
351
+ name: "fold/reduce"
304
352
  });
305
- (0, _generic.generic)(join, _type.isFunction, _type.isIterable, function (f, i) {
306
- var n, r, x;
307
- n = 0;
308
-
309
- for (x of i) {
310
- r = n++ > 0 ? f(r, x) : x;
311
- }
312
-
313
- return r;
353
+ (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isIterable, function(f, k, i) {
354
+ var x;
355
+ for (x of i){
356
+ k = f(k, x);
357
+ }
358
+ return k;
314
359
  });
315
- (0, _generic.generic)(join, _type.isFunction, _type.isReagent, async function (f, i) {
316
- var n, r, x;
317
- n = 0;
318
-
319
- for await (x of i) {
320
- r = n++ > 0 ? f(r, x) : x;
321
- }
322
-
323
- return r;
360
+ (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isReagent, async function(f, k, r) {
361
+ var x;
362
+ for await (x of r){
363
+ k = f(k, x);
364
+ }
365
+ return k;
324
366
  });
325
- (0, _generic.generic)(join, _type.isString, _type.isIterable, function (a, i) {
326
- return join(a, collect(i));
367
+ (0, _generic.generic)(reduce, _type.isFunction, isAny, _type.isArray, function(f, k, ax) {
368
+ return ax.reduce(f, k);
327
369
  });
328
- (0, _generic.generic)(join, _type.isString, _type.isReagent, async function (a, i) {
329
- return join(a, await collect(i));
370
+ reduce = fold = (0, _function.curry)((0, _function.ternary)(reduce));
371
+ join = (0, _generic.generic)({
372
+ name: "join"
330
373
  });
331
- (0, _generic.generic)(join, _type.isString, _type.isArray, function (a, ax) {
332
- return ax.join(a);
374
+ (0, _generic.generic)(join, _type.isFunction, _type.isIterable, function(f, i) {
375
+ var n, r, x;
376
+ n = 0;
377
+ for (x of i){
378
+ r = n++ > 0 ? f(r, x) : x;
379
+ }
380
+ return r;
333
381
  });
334
- exports.join = join = (0, _function.curry)((0, _function.binary)(join));
335
- exports.partition = partition = (0, _generic.generic)({
336
- name: "partition"
382
+ (0, _generic.generic)(join, _type.isFunction, _type.isReagent, async function(f, i) {
383
+ var n, r, x;
384
+ n = 0;
385
+ for await (x of i){
386
+ r = n++ > 0 ? f(r, x) : x;
387
+ }
388
+ return r;
389
+ });
390
+ (0, _generic.generic)(join, _type.isString, _type.isIterable, function(a, i) {
391
+ return join(a, collect(i));
392
+ });
393
+ (0, _generic.generic)(join, _type.isString, _type.isReagent, async function(a, i) {
394
+ return join(a, await collect(i));
395
+ });
396
+ (0, _generic.generic)(join, _type.isString, _type.isArray, function(a, ax) {
397
+ return ax.join(a);
398
+ });
399
+ join = (0, _function.curry)((0, _function.binary)(join));
400
+ partition = (0, _generic.generic)({
401
+ name: "partition"
402
+ });
403
+ (0, _generic.generic)(partition, _type.isNumber, _type.isIterable, function*(n, i) {
404
+ var batch, x;
405
+ batch = [];
406
+ for (x of i){
407
+ batch.push(x);
408
+ if (batch.length === n) {
409
+ yield batch;
410
+ batch = [];
411
+ }
412
+ }
413
+ if (batch.length > 0) {
414
+ return yield batch;
415
+ }
337
416
  });
338
- (0, _generic.generic)(partition, _type.isNumber, _type.isIterable, function* (n, i) {
339
- var batch, x;
340
- batch = [];
341
-
342
- for (x of i) {
343
- batch.push(x);
344
-
345
- if (batch.length === n) {
346
- yield batch;
347
- batch = [];
417
+ (0, _generic.generic)(partition, _type.isNumber, _type.isReagent, async function*(n, r) {
418
+ var batch, x;
419
+ batch = [];
420
+ for await (x of r){
421
+ batch.push(x);
422
+ if (batch.length === n) {
423
+ yield batch;
424
+ batch = [];
425
+ }
426
+ }
427
+ if (batch.length > 0) {
428
+ return yield batch;
348
429
  }
349
- }
350
-
351
- if (batch.length > 0) {
352
- return yield batch;
353
- }
354
430
  });
355
- (0, _generic.generic)(partition, _type.isNumber, _type.isReagent, async function* (n, r) {
356
- var batch, x;
357
- batch = [];
358
-
359
- for await (x of r) {
360
- batch.push(x);
361
-
362
- if (batch.length === n) {
363
- yield batch;
364
- batch = [];
431
+ Queue = class Queue {
432
+ static make() {
433
+ return new Queue();
365
434
  }
366
- }
367
-
368
- if (batch.length > 0) {
369
- return yield batch;
370
- }
371
- });
372
- exports.Queue = Queue = class Queue {
373
- static create() {
374
- return new Queue();
375
- }
376
-
377
- constructor() {
378
- this.q = [];
379
- this.p = [];
380
- }
381
-
382
- enqueue(value) {
383
- if (this.p.length > 0) {
384
- return (0, _function.apply)(this.p.shift(), [value]);
385
- } else {
386
- return this.q.push(value);
435
+ static create() {
436
+ return new Queue();
387
437
  }
388
- }
389
-
390
- dequeue() {
391
- if (this.q.length > 0) {
392
- return this.q.shift();
393
- } else {
394
- return new Promise(resolve => {
395
- return this.p.push(resolve);
396
- });
438
+ constructor(){
439
+ this.p = [];
440
+ this.q = [];
441
+ }
442
+ enqueue(value) {
443
+ if (this.p.length > 0) {
444
+ (0, _function.apply)(this.p.shift(), [
445
+ value
446
+ ]);
447
+ } else {
448
+ this.q.push(value);
449
+ }
450
+ return this;
451
+ }
452
+ dequeue() {
453
+ if (this.q.length > 0) {
454
+ return this.q.shift();
455
+ } else {
456
+ return new Promise((resolve)=>{
457
+ return this.p.push(resolve);
458
+ });
459
+ }
460
+ }
461
+ isIdle() {
462
+ return this.p.length === 0 && this.q.length === 0;
463
+ }
464
+ async *[Symbol.asyncIterator]() {
465
+ while(true){
466
+ yield await this.dequeue();
467
+ }
397
468
  }
398
- }
399
-
400
- isIdle() {
401
- return this.p.length === 0 && this.q.length === 0;
402
- }
403
-
404
469
  };
405
- exports.events = events = (0, _function.curry)(async function* (name, source) {
406
- var q, results;
407
- q = Queue.create();
408
-
409
- if (source.on != null) {
410
- source.on(name, function (event) {
411
- return q.enqueue(event);
412
- });
413
- } else if (source.addEventListener != null) {
414
- source.addEventListener(name, function (event) {
415
- return q.enqueue(event);
416
- });
417
- } else {
418
- throw new TypeError("events: source must support `on` or `addEventListener` method");
419
- }
420
-
421
- results = [];
422
-
423
- while (true) {
424
- results.push(yield await q.dequeue());
425
- }
426
-
427
- return results;
470
+ events = (0, _function.curry)(async function*(name, source) {
471
+ var q;
472
+ q = Queue.create();
473
+ if (source.on != null) {
474
+ source.on(name, function(event) {
475
+ return q.enqueue(event);
476
+ });
477
+ } else if (source.addEventListener != null) {
478
+ source.addEventListener(name, function(event) {
479
+ return q.enqueue(event);
480
+ });
481
+ } else {
482
+ throw new TypeError("events: source must support `on` or `addEventListener` method");
483
+ }
484
+ while(true){
485
+ yield await q.dequeue();
486
+ }
428
487
  });
429
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pdGVyYWJsZS5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLEtBQUEsRUFBQSxTQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsSUFBQSxFQUFBLElBQUEsRUFBQSxRQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxHQUFBLEVBQUEsU0FBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsS0FBQSxFQUFBLEdBQUEsRUFBQSxRQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsS0FBQSxHQUFRLG9CQUFBLElBQUEsQ0FBUjtBQUVBLFNBQUEsR0FBWSxzQkFDVjtBQUFBLEVBQUEsSUFBQSxFQUFNO0FBQU4sQ0FEVSxDQUFaO0FBR0Esc0JBQUEsU0FBQSxFQUFvQixvQkFBcEIsSUFBb0IsQ0FBcEIsRUFBQSxlQUFBLEVBQTJDLGdCQUFBLENBQUEsRUFBQSxFQUFBLEVBQUE7QUFDM0MsTUFBQSxFQUFBOztBQUFFLGFBQUEsRUFBQSxJQUFBLEVBQUEsRUFBQTtBQUNFLFFBQWUsTUFBTSxDQUFOLEVBQUEsQ0FBQSxDQUFBLEVBQWYsRUFBZSxDQUFmLEVBQUE7QUFBQSxhQUFBLElBQUE7O0FBREY7O1NBRUEsSztBQUhGLENBQUE7QUFLQSxzQkFBQSxTQUFBLEVBQW9CLG9CQUFwQixJQUFvQixDQUFwQixFQUFBLGdCQUFBLEVBQTRDLFVBQUEsQ0FBQSxFQUFBLEVBQUEsRUFBQTtBQUM1QyxNQUFBLEVBQUE7O0FBQUUsT0FBQSxFQUFBLElBQUEsRUFBQSxFQUFBO0FBQ0UsUUFBZSxNQUFNLENBQU4sRUFBQSxDQUFBLENBQUEsRUFBZixFQUFlLENBQWYsRUFBQTtBQUFBLGFBQUEsSUFBQTs7QUFERjs7U0FFQSxLO0FBSEYsQ0FBQTtBQUtBLHNCQUFBLFNBQUEsRUFBb0Isb0JBQXBCLElBQW9CLENBQXBCLEVBQUEsYUFBQSxFQUF5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Rk4sK0RBRU0sQ0FBTjs7O0FBRUwsRUFBQSxPQUFBLEdBQUEsRUFBQTs7U0FBQSxJLEVBQUE7WUFBSyxJLENBQUEsTUFBTSxNQUFNLENBQUMsQ0FBYixPQUFZLEU7QUFBakI7OztBQVJPLENBQUEsQ0FBVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2VuZXJpY30gZnJvbSBcIi4vZ2VuZXJpY1wiXG5pbXBvcnQge3dyYXAsIGN1cnJ5LCBiaW5hcnksIHRlcm5hcnksIHRlZSwgYXBwbHl9IGZyb20gXCIuL2Z1bmN0aW9uXCJcbmltcG9ydCB7bmVnYXRlfSBmcm9tIFwiLi9wcmVkaWNhdGVcIlxuaW1wb3J0IHtpc1N0cmluZywgaXNOdW1iZXIsIGlzQXJyYXksIGlzRnVuY3Rpb24sXG4gIGlzSXRlcmFibGUsIGlzUmVhZ2VudH0gZnJvbSBcIi4vdHlwZVwiXG5pbXBvcnQge2dldH0gZnJvbSBcIi4vb2JqZWN0XCJcbmlzQW55ID0gd3JhcCB0cnVlXG5cbl9pbmNsdWRlcyA9IGdlbmVyaWNcbiAgbmFtZTogXCJpbmNsdWRlc1wiXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNSZWFnZW50LCAoYSwgYXgpIC0+XG4gIGZvciBhd2FpdCBfYSBmcm9tIGF4XG4gICAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIF9hXG4gIGZhbHNlXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNJdGVyYWJsZSwgKGEsIGF4KSAtPlxuICBmb3IgX2EgZnJvbSBheFxuICAgIHJldHVybiB0cnVlIGlmIE9iamVjdC5pcyBhLCBfYVxuICBmYWxzZVxuXG5nZW5lcmljIF9pbmNsdWRlcywgKHdyYXAgdHJ1ZSksIGlzQXJyYXksIChhLCBheCkgLT5cbiAgYXguaW5jbHVkZXMgYVxuXG5pbmNsdWRlcyA9IGN1cnJ5IGJpbmFyeSBfaW5jbHVkZXNcblxudW5pcXVlQnkgPSAoZiwgYXgpIC0+XG4gIGJ4ID0gW11cbiAgKGJ4LnB1c2ggYSkgZm9yIGEgZnJvbSBheCB3aGVuICEoYnguZmluZCAoYikgLT4gZiBhLCBiKT9cbiAgYnhcblxubWFwID0gZ2VuZXJpYyBuYW1lOiBcIm1hcFwiXG5nZW5lcmljIG1hcCwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSwgKGYsIGkpIC0+IHlpZWxkIChmIHgpIGZvciB4IGZyb20gaVxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCwgKGYsIHIpIC0+IHlpZWxkIChmIHgpIGZvciBhd2FpdCB4IGZyb20gclxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzQXJyYXksIChmLCBheCkgLT4gYXgubWFwICh4KSAtPiBmIHhcbm1hcCA9IGN1cnJ5IGJpbmFyeSBtYXBcblxucHJvamVjdCA9IGN1cnJ5IChwLCBpKSAtPiBtYXAgKGdldCBwKSwgaVxuXG5maW5kID0gZ2VuZXJpYyBuYW1lOiBcImZpbmRcIlxuZ2VuZXJpYyBmaW5kLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLCAoZiwgaSkgLT5cbiAgZm9yIHggZnJvbSBpXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LCAoZiwgcikgLT5cbiAgZm9yIGF3YWl0IHggZnJvbSByXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNBcnJheSwgKGYsIGF4KSAtPiBheC5maW5kICh4KSAtPiBmIHhcbmZpbmQgPSBjdXJyeSBiaW5hcnkgZmluZFxuXG50YXAgPSBnZW5lcmljIG5hbWU6IFwidGFwXCJcbmdlbmVyaWMgdGFwLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLFxuICAoZiwgaSkgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIHggZnJvbSBpXG5nZW5lcmljIHRhcCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LFxuICAoZiwgcikgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIGF3YWl0IHggZnJvbSByXG50YXAgPSBjdXJyeSBiaW5hcnkgdGFwXG5cbnNlbGVjdCA9IGdlbmVyaWMgbmFtZTogXCJzZWxlY3RcIlxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzSXRlcmFibGUsXG4gIChmLCBpKSAtPiB5aWVsZCB4IGZvciB4IGZyb20gaSB3aGVuIGYgeFxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCxcbiAgKGYsIHIpIC0+IHlpZWxkIHggZm9yIGF3YWl0IHggZnJvbSByIHdoZW4gZiB4XG5nZW5lcmljIHNlbGVjdCwgaXNGdW5jdGlvbiwgaXNBcnJheSxcbiAgKGYsIGF4KSAtPiBheC5maWx0ZXIgZlxuc2VsZWN0ID0gY3VycnkgYmluYXJ5IHNlbGVjdFxuXG5yZWplY3QgPSBjdXJyeSAoZiwgaSkgLT4gc2VsZWN0IChuZWdhdGUgZiksIGlcblxucmVzb2x2ZSA9IGN1cnJ5IChmaWx0ZXIsIHByb2R1Y2VyKSAtPlxuICB5aWVsZCBhd2FpdCB4IGZvciBhd2FpdCB4IGZyb20gZmlsdGVyIHByb2R1Y2VyXG5cbmNvbGxlY3QgPSBnZW5lcmljIG5hbWU6IFwic3RhcnRcIlxuZ2VuZXJpYyBjb2xsZWN0LCBpc0l0ZXJhYmxlLCAoaSkgLT4gQXJyYXkuZnJvbSBpXG5nZW5lcmljIGNvbGxlY3QsIGlzUmVhZ2VudCwgKHIpIC0+IHggZm9yIGF3YWl0IHggZnJvbSByXG5cbnN0YXJ0ID0gZ2VuZXJpYyBuYW1lOiBcInN0YXJ0XCJcbmdlbmVyaWMgc3RhcnQsIGlzSXRlcmFibGUsIChpKSAtPiB1bmRlZmluZWQgZm9yIHggZnJvbSBpIDsgdW5kZWZpbmVkXG5nZW5lcmljIHN0YXJ0LCBpc1JlYWdlbnQsIChyKSAtPiB1bmRlZmluZWQgZm9yIGF3YWl0IHggZnJvbSByIDsgdW5kZWZpbmVkXG5cbmVhY2ggPSBnZW5lcmljIG5hbWU6IFwiZWFjaFwiXG5nZW5lcmljIGVhY2gsIGlzRnVuY3Rpb24sIGlzSXRlcmFibGUsXG4gIChmLCBpKSAtPiBmIHggZm9yIHggZnJvbSBpIDsgdW5kZWZpbmVkXG5nZW5lcmljIGVhY2gsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCxcbiAgKGYsIHIpIC0+IGYgeCBmb3IgYXdhaXQgeCBmcm9tIHIgOyB1bmRlZmluZWRcbmdlbmVyaWMgZWFjaCwgaXNGdW5jdGlvbiwgaXNBcnJheSxcbiAgKGYsIGF4KSAtPiBheC5mb3JFYWNoIGZcbmVhY2ggPSBjdXJyeSBiaW5hcnkgZWFjaFxuXG5yZWR1Y2UgPSBnZW5lcmljIG5hbWU6IFwiZm9sZC9yZWR1Y2VcIlxuZ2VuZXJpYyByZWR1Y2UsIGlzRnVuY3Rpb24sIGlzQW55LCBpc0l0ZXJhYmxlLFxuICAoZiwgaywgaSkgLT4gKGsgPSBmIGssIHgpIGZvciB4IGZyb20gaSA7IGtcbmdlbmVyaWMgcmVkdWNlLCBpc0Z1bmN0aW9uLCBpc0FueSwgaXNSZWFnZW50LFxuICAoZiwgaywgcikgLT4gKGsgPSBmIGssIHgpIGZvciBhd2FpdCB4IGZyb20gciA7IGtcbmdlbmVyaWMgcmVkdWNlLCBpc0Z1bmN0aW9uLCBpc0FueSwgaXNBcnJheSxcbiAgKGYsIGssIGF4KSAtPiBheC5yZWR1Y2UgZiwga1xucmVkdWNlID0gZm9sZCA9IGN1cnJ5IHRlcm5hcnkgcmVkdWNlXG5cbmpvaW4gPSBnZW5lcmljIG5hbWU6IFwiam9pblwiXG5nZW5lcmljIGpvaW4sIGlzRnVuY3Rpb24sIGlzSXRlcmFibGUsIChmLCBpKSAtPlxuICBuID0gMFxuICBmb3IgeCBmcm9tIGlcbiAgICByID0gaWYgbisrID4gMCB0aGVuIGYgciwgeCBlbHNlIHhcbiAgclxuXG5nZW5lcmljIGpvaW4sIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCwgKGYsIGkpIC0+XG4gIG4gPSAwXG4gIGZvciBhd2FpdCB4IGZyb20gaVxuICAgIHIgPSBpZiBuKysgPiAwIHRoZW4gZiByLCB4IGVsc2UgeFxuICByXG5nZW5lcmljIGpvaW4sIGlzU3RyaW5nLCBpc0l0ZXJhYmxlLCAoYSwgaSkgLT5cbiAgam9pbiBhLCBjb2xsZWN0IGlcblxuZ2VuZXJpYyBqb2luLCBpc1N0cmluZywgaXNSZWFnZW50LCAoYSwgaSkgLT5cbiAgam9pbiBhLCBhd2FpdCBjb2xsZWN0IGlcblxuZ2VuZXJpYyBqb2luLCBpc1N0cmluZywgaXNBcnJheSwgKGEsIGF4KSAtPiBheC5qb2luIGFcblxuam9pbiA9IGN1cnJ5IGJpbmFyeSBqb2luXG5cblxucGFydGl0aW9uID0gZ2VuZXJpYyBuYW1lOiBcInBhcnRpdGlvblwiXG5nZW5lcmljIHBhcnRpdGlvbiwgaXNOdW1iZXIsIGlzSXRlcmFibGUsIChuLCBpKSAtPlxuICBiYXRjaCA9IFtdXG4gIGZvciB4IGZyb20gaVxuICAgIGJhdGNoLnB1c2ggeFxuICAgIGlmIGJhdGNoLmxlbmd0aCA9PSBuXG4gICAgICB5aWVsZCBiYXRjaFxuICAgICAgYmF0Y2ggPSBbXVxuICBpZiBiYXRjaC5sZW5ndGggPiAwXG4gICAgeWllbGQgYmF0Y2hcblxuZ2VuZXJpYyBwYXJ0aXRpb24sIGlzTnVtYmVyLCBpc1JlYWdlbnQsIChuLCByKSAtPlxuICBiYXRjaCA9IFtdXG4gIGZvciBhd2FpdCB4IGZyb20gclxuICAgIGJhdGNoLnB1c2ggeFxuICAgIGlmIGJhdGNoLmxlbmd0aCA9PSBuXG4gICAgICB5aWVsZCBiYXRjaFxuICAgICAgYmF0Y2ggPSBbXVxuICBpZiBiYXRjaC5sZW5ndGggPiAwXG4gICAgeWllbGQgYmF0Y2hcblxuXG5jbGFzcyBRdWV1ZVxuICBAY3JlYXRlOiAtPiBuZXcgUXVldWVcbiAgY29uc3RydWN0b3I6IC0+XG4gICAgQHEgPSBbXVxuICAgIEBwID0gW11cbiAgZW5xdWV1ZTogKHZhbHVlKSAtPlxuICAgIGlmIEBwLmxlbmd0aCA+IDBcbiAgICAgIGFwcGx5IEBwLnNoaWZ0KCksIFsgdmFsdWUgXVxuICAgIGVsc2VcbiAgICAgIEBxLnB1c2ggdmFsdWVcbiAgZGVxdWV1ZTogLT5cbiAgICBpZiBAcS5sZW5ndGggPiAwXG4gICAgICBAcS5zaGlmdCgpXG4gICAgZWxzZVxuICAgICAgbmV3IFByb21pc2UgKHJlc29sdmUpID0+IEBwLnB1c2ggcmVzb2x2ZVxuICBpc0lkbGU6IC0+IEBwLmxlbmd0aCA9PSAwICYmIEBxLmxlbmd0aCA9PSAwXG5cblxuZXZlbnRzID0gY3VycnkgKG5hbWUsIHNvdXJjZSkgLT5cbiAgcSA9IFF1ZXVlLmNyZWF0ZSgpXG4gIGlmIHNvdXJjZS5vbj9cbiAgICBzb3VyY2Uub24gbmFtZSwgKGV2ZW50KSAtPiBxLmVucXVldWUgZXZlbnRcbiAgZWxzZSBpZiBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcj9cbiAgICBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lciBuYW1lLCAoZXZlbnQpIC0+IHEuZW5xdWV1ZSBldmVudFxuICBlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IgXCJldmVudHM6IHNvdXJjZSBtdXN0IHN1cHBvcnRcbiAgICBgb25gIG9yIGBhZGRFdmVudExpc3RlbmVyYCBtZXRob2RcIlxuICBsb29wIHlpZWxkIGF3YWl0IHEuZGVxdWV1ZSgpXG5cbmV4cG9ydCB7XG4gIGluY2x1ZGVzXG4gIHVuaXF1ZUJ5XG4gIG1hcFxuICBwcm9qZWN0XG4gIGZpbmRcbiAgdGFwXG4gIHNlbGVjdFxuICByZWplY3RcbiAgcmVzb2x2ZVxuICBjb2xsZWN0XG4gIHN0YXJ0XG4gIGVhY2hcbiAgcmVkdWNlXG4gIGpvaW5cbiAgcGFydGl0aW9uXG4gIFF1ZXVlXG4gIGV2ZW50c1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
430
- //# sourceURL=src/iterable.coffee
488
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL2l0ZXJhYmxlLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLEtBQUEsRUFBQSxTQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsSUFBQSxFQUFBLElBQUEsRUFBQSxRQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxHQUFBLEVBQUEsU0FBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsS0FBQSxFQUFBLEdBQUEsRUFBQSxRQUFBLEVBQUE7O0FBQUEsT0FBQTtFQUFRLE9BQVI7Q0FBQSxNQUFBOztBQUNBLE9BQUE7RUFBUSxJQUFSO0VBQWMsS0FBZDtFQUFxQixNQUFyQjtFQUE2QixPQUE3QjtFQUFzQyxHQUF0QztFQUEyQyxLQUEzQztDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFRLE1BQVI7Q0FBQSxNQUFBOztBQUNBLE9BQUE7RUFBUSxRQUFSO0VBQWtCLFFBQWxCO0VBQTRCLE9BQTVCO0VBQXFDLFVBQXJDO0VBQ0UsVUFERjtFQUNjLFNBRGQ7Q0FBQSxNQUFBOztBQUVBLE9BQUE7RUFBUSxHQUFSO0NBQUEsTUFBQTs7QUFDQSxPQUFBO0VBQVMsRUFBVDtDQUFBLE1BQUE7O0FBQ0EsS0FBQSxHQUFRLElBQUEsQ0FBSyxJQUFMOztBQUVSLFNBQUEsR0FBWSxPQUFBLENBQ1Y7RUFBQSxJQUFBLEVBQU07QUFBTixDQURVOztBQUdaLE9BQUEsQ0FBUSxTQUFSLEVBQW9CLElBQUEsQ0FBSyxJQUFMLENBQXBCLEVBQWdDLFNBQWhDLEVBQTJDLE1BQUEsUUFBQSxDQUFDLENBQUQsRUFBSSxFQUFKLENBQUE7QUFDM0MsTUFBQTtFQUFFLG9CQUFBO0lBQ0UsSUFBZSxNQUFNLENBQUMsRUFBUCxDQUFVLENBQVYsRUFBYSxFQUFiLENBQWY7QUFBQSxhQUFPLEtBQVA7O0VBREY7U0FF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QUFBO0VBQ0osSUFBRyxpQkFBSDtJQUNFLE1BQU0sQ0FBQyxFQUFQLENBQVUsSUFBVixFQUFnQixRQUFBLENBQUMsS0FBRCxDQUFBO2FBQVcsQ0FBQyxDQUFDLE9BQUYsQ0FBVSxLQUFWO0lBQVgsQ0FBaEIsRUFERjtHQUFBLE1BRUssSUFBRywrQkFBSDtJQUNILE1BQU0sQ0FBQyxnQkFBUCxDQUF3QixJQUF4QixFQUE4QixRQUFBLENBQUMsS0FBRCxDQUFBO2FBQVcsQ0FBQyxDQUFDLE9BQUYsQ0FBVSxLQUFWO0lBQVgsQ0FBOUIsRUFERztHQUFBLE1BQUE7SUFFQSxNQUFNLElBQUksU0FBSixDQUFjLCtEQUFkLEVBRk47O0FBSUwsU0FBQSxJQUFBO0lBQUssTUFBTSxDQUFBLE1BQU0sQ0FBQyxDQUFDLE9BQUYsQ0FBQSxDQUFOO0VBQVg7QUFSYSxDQUFOOztBQVdULE9BQUE7RUFDRSxRQURGO0VBRUUsUUFGRjtFQUdFLEdBSEY7RUFJRSxPQUpGO0VBS0UsSUFMRjtFQU1FLEdBTkY7RUFPRSxNQVBGO0VBUUUsTUFSRjtFQVNFLE9BVEY7RUFVRSxHQVZGO0VBV0UsT0FYRjtFQVlFLEtBWkY7RUFhRSxJQWJGO0VBY0UsTUFkRjtFQWVFLElBZkY7RUFnQkUsU0FoQkY7RUFpQkUsS0FqQkY7RUFrQkUsTUFsQkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dlbmVyaWN9IGZyb20gXCIuL2dlbmVyaWNcIlxuaW1wb3J0IHt3cmFwLCBjdXJyeSwgYmluYXJ5LCB0ZXJuYXJ5LCB0ZWUsIGFwcGx5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQge25lZ2F0ZX0gZnJvbSBcIi4vcHJlZGljYXRlXCJcbmltcG9ydCB7aXNTdHJpbmcsIGlzTnVtYmVyLCBpc0FycmF5LCBpc0Z1bmN0aW9uLFxuICBpc0l0ZXJhYmxlLCBpc1JlYWdlbnR9IGZyb20gXCIuL3R5cGVcIlxuaW1wb3J0IHtnZXR9IGZyb20gXCIuL29iamVjdFwiXG5pbXBvcnQgeyBlcSB9IGZyb20gXCIuL3ZhbHVlXCJcbmlzQW55ID0gd3JhcCB0cnVlXG5cbl9pbmNsdWRlcyA9IGdlbmVyaWNcbiAgbmFtZTogXCJpbmNsdWRlc1wiXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNSZWFnZW50LCAoYSwgYXgpIC0+XG4gIGZvciBhd2FpdCBfYSBmcm9tIGF4XG4gICAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIF9hXG4gIGZhbHNlXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNJdGVyYWJsZSwgKGEsIGF4KSAtPlxuICBmb3IgX2EgZnJvbSBheFxuICAgIHJldHVybiB0cnVlIGlmIE9iamVjdC5pcyBhLCBfYVxuICBmYWxzZVxuXG5nZW5lcmljIF9pbmNsdWRlcywgKHdyYXAgdHJ1ZSksIGlzQXJyYXksIChhLCBheCkgLT5cbiAgYXguaW5jbHVkZXMgYVxuXG5pbmNsdWRlcyA9IGN1cnJ5IGJpbmFyeSBfaW5jbHVkZXNcblxudW5pcXVlQnkgPSAoZiwgYXgpIC0+XG4gIGJ4ID0gW11cbiAgKGJ4LnB1c2ggYSkgZm9yIGEgZnJvbSBheCB3aGVuICEoYnguZmluZCAoYikgLT4gZiBhLCBiKT9cbiAgYnhcblxubWFwID0gZ2VuZXJpYyBuYW1lOiBcIm1hcFwiXG5nZW5lcmljIG1hcCwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSwgKGYsIGkpIC0+IHlpZWxkIChmIHgpIGZvciB4IGZyb20gaVxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCwgKGYsIHIpIC0+IHlpZWxkIChmIHgpIGZvciBhd2FpdCB4IGZyb20gclxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzQXJyYXksIChmLCBheCkgLT4gYXgubWFwICh4KSAtPiBmIHhcbm1hcCA9IGN1cnJ5IGJpbmFyeSBtYXBcblxucHJvamVjdCA9IGN1cnJ5IChwLCBpKSAtPiBtYXAgKGdldCBwKSwgaVxuXG5maW5kID0gZ2VuZXJpYyBuYW1lOiBcImZpbmRcIlxuZ2VuZXJpYyBmaW5kLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLCAoZiwgaSkgLT5cbiAgZm9yIHggZnJvbSBpXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LCAoZiwgcikgLT5cbiAgZm9yIGF3YWl0IHggZnJvbSByXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNBcnJheSwgKGYsIGF4KSAtPiBheC5maW5kICh4KSAtPiBmIHhcbmZpbmQgPSBjdXJyeSBiaW5hcnkgZmluZFxuXG50YXAgPSBnZW5lcmljIG5hbWU6IFwidGFwXCJcbmdlbmVyaWMgdGFwLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLFxuICAoZiwgaSkgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIHggZnJvbSBpXG5nZW5lcmljIHRhcCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LFxuICAoZiwgcikgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIGF3YWl0IHggZnJvbSByXG50YXAgPSBjdXJyeSBiaW5hcnkgdGFwXG5cbnNlbGVjdCA9IGdlbmVyaWMgbmFtZTogXCJzZWxlY3RcIlxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzSXRlcmFibGUsXG4gIChmLCBpKSAtPiB5aWVsZCB4IGZvciB4IGZyb20gaSB3aGVuIGYgeFxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCxcbiAgKGYsIHIpIC0+IHlpZWxkIHggZm9yIGF3YWl0IHggZnJvbSByIHdoZW4gZiB4XG5nZW5lcmljIHNlbGVjdCwgaXNGdW5jdGlvbiwgaXNBcnJheSxcbiAgKGYsIGF4KSAtPiBheC5maWx0ZXIgZlxuc2VsZWN0ID0gY3VycnkgYmluYXJ5IHNlbGVjdFxuXG5yZWplY3QgPSBjdXJyeSAoZiwgaSkgLT4gc2VsZWN0IChuZWdhdGUgZiksIGlcblxuemlwID0gZ2VuZXJpYyBuYW1lOiBcInppcFwiXG5nZW5lcmljIHppcCwgaXNJdGVyYWJsZSwgaXNJdGVyYWJsZSwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5pdGVyYXRvciBdKClcbiAgaiA9IGpbIFN5bWJvbC5pdGVyYXRvciBdKClcbiAgcCA9IGkubmV4dCgpXG4gIHEgPSBqLm5leHQoKVxuICB3aGlsZSAhKCBwLmRvbmUgJiYgcS5kb25lIClcbiAgICB5aWVsZCBbIHAudmFsdWUsIHEudmFsdWUgXVxuICAgIHAgPSBpLm5leHQoKVxuICAgIHEgPSBqLm5leHQoKVxuXG5nZW5lcmljIHppcCwgaXNJdGVyYWJsZSwgaXNSZWFnZW50LCAoIGksIGogKSAtPlxuICBpID0gaVsgU3ltYm9sLml0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXSgpXG4gIHAgPSBpLm5leHQoKVxuICBxID0gYXdhaXQgai5uZXh0KClcbiAgd2hpbGUgISggcC5kb25lICYmIHEuZG9uZSApXG4gICAgeWllbGQgWyBwLnZhbHVlLCBxLnZhbHVlIF1cbiAgICBwID0gaS5uZXh0KClcbiAgICBxID0gYXdhaXQgai5uZXh0KClcblxuZ2VuZXJpYyB6aXAsIGlzUmVhZ2VudCwgaXNJdGVyYWJsZSwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5hc3luY0l0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLml0ZXJhdG9yIF0oKVxuICBwID0gYXdhaXQgaS5uZXh0KClcbiAgcSA9IGoubmV4dCgpXG4gIHdoaWxlICEoIHAuZG9uZSAmJiBxLmRvbmUgKVxuICAgIHlpZWxkIFsgcC52YWx1ZSwgcS52YWx1ZSBdXG4gICAgcCA9IGF3YWl0IGkubmV4dCgpXG4gICAgcSA9IGoubmV4dCgpXG5cbmdlbmVyaWMgemlwLCBpc1JlYWdlbnQsIGlzUmVhZ2VudCwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5hc3luY0l0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXSgpXG4gIHAgPSBhd2FpdCBpLm5leHQoKVxuICBxID0gYXdhaXQgai5uZXh0KClcbiAgd2hpbGUgISggcC5kb25lICYmIHEuZG9uZSApXG4gICAgeWllbGQgWyBwLnZhbHVlLCBxLnZhbHVlIF1cbiAgICBwID0gYXdhaXQgaS5uZXh0KClcbiAgICBxID0gYXdhaXQgai5uZXh0KClcblxuemlwID0gY3VycnkgYmluYXJ5IHppcFxuXG5yZXNvbHZlID0gY3VycnkgKGZpbHRlciwgcHJvZHVjZXIpIC0+XG4gIHlpZWxkIGF3YWl0IHggZm9yIGF3YWl0IHggZnJvbSBmaWx0ZXIgcHJvZHVjZXJcblxuY29sbGVjdCA9IGdlbmVyaWMgbmFtZTogXCJzdGFydFwiXG5nZW5lcmljIGNvbGxlY3QsIGlzSXRlcmFibGUsIChpKSAtPiBBcnJheS5mcm9tIGlcbmdlbmVyaWMgY29sbGVjdCwgaXNSZWFnZW50LCAocikgLT4geCBmb3IgYXdhaXQgeCBmcm9tIHJcblxuc3RhcnQgPSBnZW5lcmljIG5hbWU6IFwic3RhcnRcIlxuZ2VuZXJpYyBzdGFydCwgaXNJdGVyYWJsZSwgKGkpIC0+IHVuZGVmaW5lZCBmb3IgeCBmcm9tIGkgOyB1bmRlZmluZWRcbmdlbmVyaWMgc3RhcnQsIGlzUmVhZ2VudCwgKHIpIC0+IHVuZGVmaW5lZCBmb3IgYXdhaXQgeCBmcm9tIHIgOyB1bmRlZmluZWRcblxuZWFjaCA9IGdlbmVyaWMgbmFtZTogXCJlYWNoXCJcbmdlbmVyaWMgZWFjaCwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSxcbiAgKGYsIGkpIC0+IGYgeCBmb3IgeCBmcm9tIGkgOyB1bmRlZmluZWRcbmdlbmVyaWMgZWFjaCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LFxuICAoZiwgcikgLT4gZiB4IGZvciBhd2FpdCB4IGZyb20gciA7IHVuZGVmaW5lZFxuZ2VuZXJpYyBlYWNoLCBpc0Z1bmN0aW9uLCBpc0FycmF5LFxuICAoZiwgYXgpIC0+IGF4LmZvckVhY2ggZlxuZWFjaCA9IGN1cnJ5IGJpbmFyeSBlYWNoXG5cbnJlZHVjZSA9IGdlbmVyaWMgbmFtZTogXCJmb2xkL3JlZHVjZVwiXG5nZW5lcmljIHJlZHVjZSwgaXNGdW5jdGlvbiwgaXNBbnksIGlzSXRlcmFibGUsXG4gIChmLCBrLCBpKSAtPiAoayA9IGYgaywgeCkgZm9yIHggZnJvbSBpIDsga1xuZ2VuZXJpYyByZWR1Y2UsIGlzRnVuY3Rpb24sIGlzQW55LCBpc1JlYWdlbnQsXG4gIChmLCBrLCByKSAtPiAoayA9IGYgaywgeCkgZm9yIGF3YWl0IHggZnJvbSByIDsga1xuZ2VuZXJpYyByZWR1Y2UsIGlzRnVuY3Rpb24sIGlzQW55LCBpc0FycmF5LFxuICAoZiwgaywgYXgpIC0+IGF4LnJlZHVjZSBmLCBrXG5yZWR1Y2UgPSBmb2xkID0gY3VycnkgdGVybmFyeSByZWR1Y2Vcblxuam9pbiA9IGdlbmVyaWMgbmFtZTogXCJqb2luXCJcbmdlbmVyaWMgam9pbiwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSwgKGYsIGkpIC0+XG4gIG4gPSAwXG4gIGZvciB4IGZyb20gaVxuICAgIHIgPSBpZiBuKysgPiAwIHRoZW4gZiByLCB4IGVsc2UgeFxuICByXG5cbmdlbmVyaWMgam9pbiwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LCAoZiwgaSkgLT5cbiAgbiA9IDBcbiAgZm9yIGF3YWl0IHggZnJvbSBpXG4gICAgciA9IGlmIG4rKyA+IDAgdGhlbiBmIHIsIHggZWxzZSB4XG4gIHJcbmdlbmVyaWMgam9pbiwgaXNTdHJpbmcsIGlzSXRlcmFibGUsIChhLCBpKSAtPlxuICBqb2luIGEsIGNvbGxlY3QgaVxuXG5nZW5lcmljIGpvaW4sIGlzU3RyaW5nLCBpc1JlYWdlbnQsIChhLCBpKSAtPlxuICBqb2luIGEsIGF3YWl0IGNvbGxlY3QgaVxuXG5nZW5lcmljIGpvaW4sIGlzU3RyaW5nLCBpc0FycmF5LCAoYSwgYXgpIC0+IGF4LmpvaW4gYVxuXG5qb2luID0gY3VycnkgYmluYXJ5IGpvaW5cblxuXG5wYXJ0aXRpb24gPSBnZW5lcmljIG5hbWU6IFwicGFydGl0aW9uXCJcbmdlbmVyaWMgcGFydGl0aW9uLCBpc051bWJlciwgaXNJdGVyYWJsZSwgKG4sIGkpIC0+XG4gIGJhdGNoID0gW11cbiAgZm9yIHggZnJvbSBpXG4gICAgYmF0Y2gucHVzaCB4XG4gICAgaWYgYmF0Y2gubGVuZ3RoID09IG5cbiAgICAgIHlpZWxkIGJhdGNoXG4gICAgICBiYXRjaCA9IFtdXG4gIGlmIGJhdGNoLmxlbmd0aCA+IDBcbiAgICB5aWVsZCBiYXRjaFxuXG5nZW5lcmljIHBhcnRpdGlvbiwgaXNOdW1iZXIsIGlzUmVhZ2VudCwgKG4sIHIpIC0+XG4gIGJhdGNoID0gW11cbiAgZm9yIGF3YWl0IHggZnJvbSByXG4gICAgYmF0Y2gucHVzaCB4XG4gICAgaWYgYmF0Y2gubGVuZ3RoID09IG5cbiAgICAgIHlpZWxkIGJhdGNoXG4gICAgICBiYXRjaCA9IFtdXG4gIGlmIGJhdGNoLmxlbmd0aCA+IDBcbiAgICB5aWVsZCBiYXRjaFxuXG5jbGFzcyBRdWV1ZVxuXG4gIEBtYWtlOiAtPiBuZXcgUXVldWVcblxuICBAY3JlYXRlOiAtPiBuZXcgUXVldWVcblxuICBjb25zdHJ1Y3RvcjogLT5cbiAgICBAcCA9IFtdXG4gICAgQHEgPSBbXVxuXG4gIGVucXVldWU6ICggdmFsdWUgKSAtPlxuICAgIGlmIEBwLmxlbmd0aCA+IDBcbiAgICAgIGFwcGx5IEBwLnNoaWZ0KCksIFsgdmFsdWUgXVxuICAgIGVsc2VcbiAgICAgIEBxLnB1c2ggdmFsdWVcbiAgICBAXG5cbiAgZGVxdWV1ZTogLT5cbiAgICBpZiBAcS5sZW5ndGggPiAwXG4gICAgICBAcS5zaGlmdCgpXG4gICAgZWxzZVxuICAgICAgbmV3IFByb21pc2UgKCByZXNvbHZlICkgPT4gQHAucHVzaCByZXNvbHZlXG5cbiAgaXNJZGxlOiAtPiBAcC5sZW5ndGggPT0gMCAmJiBAcS5sZW5ndGggPT0gMFxuXG4gIFsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXTogLT5cbiAgICBsb29wIHlpZWxkIGF3YWl0IEBkZXF1ZXVlKClcbiAgICByZXR1cm5cblxuZXZlbnRzID0gY3VycnkgKG5hbWUsIHNvdXJjZSkgLT5cbiAgcSA9IFF1ZXVlLmNyZWF0ZSgpXG4gIGlmIHNvdXJjZS5vbj9cbiAgICBzb3VyY2Uub24gbmFtZSwgKGV2ZW50KSAtPiBxLmVucXVldWUgZXZlbnRcbiAgZWxzZSBpZiBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcj9cbiAgICBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lciBuYW1lLCAoZXZlbnQpIC0+IHEuZW5xdWV1ZSBldmVudFxuICBlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IgXCJldmVudHM6IHNvdXJjZSBtdXN0IHN1cHBvcnRcbiAgICBgb25gIG9yIGBhZGRFdmVudExpc3RlbmVyYCBtZXRob2RcIlxuICBsb29wIHlpZWxkIGF3YWl0IHEuZGVxdWV1ZSgpXG4gIHJldHVyblxuXG5leHBvcnQge1xuICBpbmNsdWRlc1xuICB1bmlxdWVCeVxuICBtYXBcbiAgcHJvamVjdFxuICBmaW5kXG4gIHRhcFxuICBzZWxlY3RcbiAgcmVqZWN0XG4gIHJlc29sdmVcbiAgemlwXG4gIGNvbGxlY3RcbiAgc3RhcnRcbiAgZWFjaFxuICByZWR1Y2VcbiAgam9pblxuICBwYXJ0aXRpb25cbiAgUXVldWVcbiAgZXZlbnRzXG59XG4iXX0=
489
+ //# sourceURL=/@dashkite/joy/src/iterable.coffee
490
+
491
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvaXRlcmFibGUuY29mZmVlIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dlbmVyaWN9IGZyb20gXCIuL2dlbmVyaWNcIlxuaW1wb3J0IHt3cmFwLCBjdXJyeSwgYmluYXJ5LCB0ZXJuYXJ5LCB0ZWUsIGFwcGx5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQge25lZ2F0ZX0gZnJvbSBcIi4vcHJlZGljYXRlXCJcbmltcG9ydCB7aXNTdHJpbmcsIGlzTnVtYmVyLCBpc0FycmF5LCBpc0Z1bmN0aW9uLFxuICBpc0l0ZXJhYmxlLCBpc1JlYWdlbnR9IGZyb20gXCIuL3R5cGVcIlxuaW1wb3J0IHtnZXR9IGZyb20gXCIuL29iamVjdFwiXG5pbXBvcnQgeyBlcSB9IGZyb20gXCIuL3ZhbHVlXCJcbmlzQW55ID0gd3JhcCB0cnVlXG5cbl9pbmNsdWRlcyA9IGdlbmVyaWNcbiAgbmFtZTogXCJpbmNsdWRlc1wiXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNSZWFnZW50LCAoYSwgYXgpIC0+XG4gIGZvciBhd2FpdCBfYSBmcm9tIGF4XG4gICAgcmV0dXJuIHRydWUgaWYgT2JqZWN0LmlzIGEsIF9hXG4gIGZhbHNlXG5cbmdlbmVyaWMgX2luY2x1ZGVzLCAod3JhcCB0cnVlKSwgaXNJdGVyYWJsZSwgKGEsIGF4KSAtPlxuICBmb3IgX2EgZnJvbSBheFxuICAgIHJldHVybiB0cnVlIGlmIE9iamVjdC5pcyBhLCBfYVxuICBmYWxzZVxuXG5nZW5lcmljIF9pbmNsdWRlcywgKHdyYXAgdHJ1ZSksIGlzQXJyYXksIChhLCBheCkgLT5cbiAgYXguaW5jbHVkZXMgYVxuXG5pbmNsdWRlcyA9IGN1cnJ5IGJpbmFyeSBfaW5jbHVkZXNcblxudW5pcXVlQnkgPSAoZiwgYXgpIC0+XG4gIGJ4ID0gW11cbiAgKGJ4LnB1c2ggYSkgZm9yIGEgZnJvbSBheCB3aGVuICEoYnguZmluZCAoYikgLT4gZiBhLCBiKT9cbiAgYnhcblxubWFwID0gZ2VuZXJpYyBuYW1lOiBcIm1hcFwiXG5nZW5lcmljIG1hcCwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSwgKGYsIGkpIC0+IHlpZWxkIChmIHgpIGZvciB4IGZyb20gaVxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCwgKGYsIHIpIC0+IHlpZWxkIChmIHgpIGZvciBhd2FpdCB4IGZyb20gclxuZ2VuZXJpYyBtYXAsIGlzRnVuY3Rpb24sIGlzQXJyYXksIChmLCBheCkgLT4gYXgubWFwICh4KSAtPiBmIHhcbm1hcCA9IGN1cnJ5IGJpbmFyeSBtYXBcblxucHJvamVjdCA9IGN1cnJ5IChwLCBpKSAtPiBtYXAgKGdldCBwKSwgaVxuXG5maW5kID0gZ2VuZXJpYyBuYW1lOiBcImZpbmRcIlxuZ2VuZXJpYyBmaW5kLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLCAoZiwgaSkgLT5cbiAgZm9yIHggZnJvbSBpXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LCAoZiwgcikgLT5cbiAgZm9yIGF3YWl0IHggZnJvbSByXG4gICAgcmV0dXJuIHggaWYgKGF3YWl0IGYgeCkgPT0gdHJ1ZVxuICB1bmRlZmluZWRcbmdlbmVyaWMgZmluZCwgaXNGdW5jdGlvbiwgaXNBcnJheSwgKGYsIGF4KSAtPiBheC5maW5kICh4KSAtPiBmIHhcbmZpbmQgPSBjdXJyeSBiaW5hcnkgZmluZFxuXG50YXAgPSBnZW5lcmljIG5hbWU6IFwidGFwXCJcbmdlbmVyaWMgdGFwLCBpc0Z1bmN0aW9uLCBpc0l0ZXJhYmxlLFxuICAoZiwgaSkgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIHggZnJvbSBpXG5nZW5lcmljIHRhcCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LFxuICAoZiwgcikgLT4geWllbGQgKCh0ZWUgZikgeCkgZm9yIGF3YWl0IHggZnJvbSByXG50YXAgPSBjdXJyeSBiaW5hcnkgdGFwXG5cbnNlbGVjdCA9IGdlbmVyaWMgbmFtZTogXCJzZWxlY3RcIlxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzSXRlcmFibGUsXG4gIChmLCBpKSAtPiB5aWVsZCB4IGZvciB4IGZyb20gaSB3aGVuIGYgeFxuZ2VuZXJpYyBzZWxlY3QsIGlzRnVuY3Rpb24sIGlzUmVhZ2VudCxcbiAgKGYsIHIpIC0+IHlpZWxkIHggZm9yIGF3YWl0IHggZnJvbSByIHdoZW4gZiB4XG5nZW5lcmljIHNlbGVjdCwgaXNGdW5jdGlvbiwgaXNBcnJheSxcbiAgKGYsIGF4KSAtPiBheC5maWx0ZXIgZlxuc2VsZWN0ID0gY3VycnkgYmluYXJ5IHNlbGVjdFxuXG5yZWplY3QgPSBjdXJyeSAoZiwgaSkgLT4gc2VsZWN0IChuZWdhdGUgZiksIGlcblxuemlwID0gZ2VuZXJpYyBuYW1lOiBcInppcFwiXG5nZW5lcmljIHppcCwgaXNJdGVyYWJsZSwgaXNJdGVyYWJsZSwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5pdGVyYXRvciBdKClcbiAgaiA9IGpbIFN5bWJvbC5pdGVyYXRvciBdKClcbiAgcCA9IGkubmV4dCgpXG4gIHEgPSBqLm5leHQoKVxuICB3aGlsZSAhKCBwLmRvbmUgJiYgcS5kb25lIClcbiAgICB5aWVsZCBbIHAudmFsdWUsIHEudmFsdWUgXVxuICAgIHAgPSBpLm5leHQoKVxuICAgIHEgPSBqLm5leHQoKVxuXG5nZW5lcmljIHppcCwgaXNJdGVyYWJsZSwgaXNSZWFnZW50LCAoIGksIGogKSAtPlxuICBpID0gaVsgU3ltYm9sLml0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXSgpXG4gIHAgPSBpLm5leHQoKVxuICBxID0gYXdhaXQgai5uZXh0KClcbiAgd2hpbGUgISggcC5kb25lICYmIHEuZG9uZSApXG4gICAgeWllbGQgWyBwLnZhbHVlLCBxLnZhbHVlIF1cbiAgICBwID0gaS5uZXh0KClcbiAgICBxID0gYXdhaXQgai5uZXh0KClcblxuZ2VuZXJpYyB6aXAsIGlzUmVhZ2VudCwgaXNJdGVyYWJsZSwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5hc3luY0l0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLml0ZXJhdG9yIF0oKVxuICBwID0gYXdhaXQgaS5uZXh0KClcbiAgcSA9IGoubmV4dCgpXG4gIHdoaWxlICEoIHAuZG9uZSAmJiBxLmRvbmUgKVxuICAgIHlpZWxkIFsgcC52YWx1ZSwgcS52YWx1ZSBdXG4gICAgcCA9IGF3YWl0IGkubmV4dCgpXG4gICAgcSA9IGoubmV4dCgpXG5cbmdlbmVyaWMgemlwLCBpc1JlYWdlbnQsIGlzUmVhZ2VudCwgKCBpLCBqICkgLT5cbiAgaSA9IGlbIFN5bWJvbC5hc3luY0l0ZXJhdG9yIF0oKVxuICBqID0galsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXSgpXG4gIHAgPSBhd2FpdCBpLm5leHQoKVxuICBxID0gYXdhaXQgai5uZXh0KClcbiAgd2hpbGUgISggcC5kb25lICYmIHEuZG9uZSApXG4gICAgeWllbGQgWyBwLnZhbHVlLCBxLnZhbHVlIF1cbiAgICBwID0gYXdhaXQgaS5uZXh0KClcbiAgICBxID0gYXdhaXQgai5uZXh0KClcblxuemlwID0gY3VycnkgYmluYXJ5IHppcFxuXG5yZXNvbHZlID0gY3VycnkgKGZpbHRlciwgcHJvZHVjZXIpIC0+XG4gIHlpZWxkIGF3YWl0IHggZm9yIGF3YWl0IHggZnJvbSBmaWx0ZXIgcHJvZHVjZXJcblxuY29sbGVjdCA9IGdlbmVyaWMgbmFtZTogXCJzdGFydFwiXG5nZW5lcmljIGNvbGxlY3QsIGlzSXRlcmFibGUsIChpKSAtPiBBcnJheS5mcm9tIGlcbmdlbmVyaWMgY29sbGVjdCwgaXNSZWFnZW50LCAocikgLT4geCBmb3IgYXdhaXQgeCBmcm9tIHJcblxuc3RhcnQgPSBnZW5lcmljIG5hbWU6IFwic3RhcnRcIlxuZ2VuZXJpYyBzdGFydCwgaXNJdGVyYWJsZSwgKGkpIC0+IHVuZGVmaW5lZCBmb3IgeCBmcm9tIGkgOyB1bmRlZmluZWRcbmdlbmVyaWMgc3RhcnQsIGlzUmVhZ2VudCwgKHIpIC0+IHVuZGVmaW5lZCBmb3IgYXdhaXQgeCBmcm9tIHIgOyB1bmRlZmluZWRcblxuZWFjaCA9IGdlbmVyaWMgbmFtZTogXCJlYWNoXCJcbmdlbmVyaWMgZWFjaCwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSxcbiAgKGYsIGkpIC0+IGYgeCBmb3IgeCBmcm9tIGkgOyB1bmRlZmluZWRcbmdlbmVyaWMgZWFjaCwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LFxuICAoZiwgcikgLT4gZiB4IGZvciBhd2FpdCB4IGZyb20gciA7IHVuZGVmaW5lZFxuZ2VuZXJpYyBlYWNoLCBpc0Z1bmN0aW9uLCBpc0FycmF5LFxuICAoZiwgYXgpIC0+IGF4LmZvckVhY2ggZlxuZWFjaCA9IGN1cnJ5IGJpbmFyeSBlYWNoXG5cbnJlZHVjZSA9IGdlbmVyaWMgbmFtZTogXCJmb2xkL3JlZHVjZVwiXG5nZW5lcmljIHJlZHVjZSwgaXNGdW5jdGlvbiwgaXNBbnksIGlzSXRlcmFibGUsXG4gIChmLCBrLCBpKSAtPiAoayA9IGYgaywgeCkgZm9yIHggZnJvbSBpIDsga1xuZ2VuZXJpYyByZWR1Y2UsIGlzRnVuY3Rpb24sIGlzQW55LCBpc1JlYWdlbnQsXG4gIChmLCBrLCByKSAtPiAoayA9IGYgaywgeCkgZm9yIGF3YWl0IHggZnJvbSByIDsga1xuZ2VuZXJpYyByZWR1Y2UsIGlzRnVuY3Rpb24sIGlzQW55LCBpc0FycmF5LFxuICAoZiwgaywgYXgpIC0+IGF4LnJlZHVjZSBmLCBrXG5yZWR1Y2UgPSBmb2xkID0gY3VycnkgdGVybmFyeSByZWR1Y2Vcblxuam9pbiA9IGdlbmVyaWMgbmFtZTogXCJqb2luXCJcbmdlbmVyaWMgam9pbiwgaXNGdW5jdGlvbiwgaXNJdGVyYWJsZSwgKGYsIGkpIC0+XG4gIG4gPSAwXG4gIGZvciB4IGZyb20gaVxuICAgIHIgPSBpZiBuKysgPiAwIHRoZW4gZiByLCB4IGVsc2UgeFxuICByXG5cbmdlbmVyaWMgam9pbiwgaXNGdW5jdGlvbiwgaXNSZWFnZW50LCAoZiwgaSkgLT5cbiAgbiA9IDBcbiAgZm9yIGF3YWl0IHggZnJvbSBpXG4gICAgciA9IGlmIG4rKyA+IDAgdGhlbiBmIHIsIHggZWxzZSB4XG4gIHJcbmdlbmVyaWMgam9pbiwgaXNTdHJpbmcsIGlzSXRlcmFibGUsIChhLCBpKSAtPlxuICBqb2luIGEsIGNvbGxlY3QgaVxuXG5nZW5lcmljIGpvaW4sIGlzU3RyaW5nLCBpc1JlYWdlbnQsIChhLCBpKSAtPlxuICBqb2luIGEsIGF3YWl0IGNvbGxlY3QgaVxuXG5nZW5lcmljIGpvaW4sIGlzU3RyaW5nLCBpc0FycmF5LCAoYSwgYXgpIC0+IGF4LmpvaW4gYVxuXG5qb2luID0gY3VycnkgYmluYXJ5IGpvaW5cblxuXG5wYXJ0aXRpb24gPSBnZW5lcmljIG5hbWU6IFwicGFydGl0aW9uXCJcbmdlbmVyaWMgcGFydGl0aW9uLCBpc051bWJlciwgaXNJdGVyYWJsZSwgKG4sIGkpIC0+XG4gIGJhdGNoID0gW11cbiAgZm9yIHggZnJvbSBpXG4gICAgYmF0Y2gucHVzaCB4XG4gICAgaWYgYmF0Y2gubGVuZ3RoID09IG5cbiAgICAgIHlpZWxkIGJhdGNoXG4gICAgICBiYXRjaCA9IFtdXG4gIGlmIGJhdGNoLmxlbmd0aCA+IDBcbiAgICB5aWVsZCBiYXRjaFxuXG5nZW5lcmljIHBhcnRpdGlvbiwgaXNOdW1iZXIsIGlzUmVhZ2VudCwgKG4sIHIpIC0+XG4gIGJhdGNoID0gW11cbiAgZm9yIGF3YWl0IHggZnJvbSByXG4gICAgYmF0Y2gucHVzaCB4XG4gICAgaWYgYmF0Y2gubGVuZ3RoID09IG5cbiAgICAgIHlpZWxkIGJhdGNoXG4gICAgICBiYXRjaCA9IFtdXG4gIGlmIGJhdGNoLmxlbmd0aCA+IDBcbiAgICB5aWVsZCBiYXRjaFxuXG5jbGFzcyBRdWV1ZVxuXG4gIEBtYWtlOiAtPiBuZXcgUXVldWVcblxuICBAY3JlYXRlOiAtPiBuZXcgUXVldWVcblxuICBjb25zdHJ1Y3RvcjogLT5cbiAgICBAcCA9IFtdXG4gICAgQHEgPSBbXVxuXG4gIGVucXVldWU6ICggdmFsdWUgKSAtPlxuICAgIGlmIEBwLmxlbmd0aCA+IDBcbiAgICAgIGFwcGx5IEBwLnNoaWZ0KCksIFsgdmFsdWUgXVxuICAgIGVsc2VcbiAgICAgIEBxLnB1c2ggdmFsdWVcbiAgICBAXG5cbiAgZGVxdWV1ZTogLT5cbiAgICBpZiBAcS5sZW5ndGggPiAwXG4gICAgICBAcS5zaGlmdCgpXG4gICAgZWxzZVxuICAgICAgbmV3IFByb21pc2UgKCByZXNvbHZlICkgPT4gQHAucHVzaCByZXNvbHZlXG5cbiAgaXNJZGxlOiAtPiBAcC5sZW5ndGggPT0gMCAmJiBAcS5sZW5ndGggPT0gMFxuXG4gIFsgU3ltYm9sLmFzeW5jSXRlcmF0b3IgXTogLT5cbiAgICBsb29wIHlpZWxkIGF3YWl0IEBkZXF1ZXVlKClcbiAgICByZXR1cm5cblxuZXZlbnRzID0gY3VycnkgKG5hbWUsIHNvdXJjZSkgLT5cbiAgcSA9IFF1ZXVlLmNyZWF0ZSgpXG4gIGlmIHNvdXJjZS5vbj9cbiAgICBzb3VyY2Uub24gbmFtZSwgKGV2ZW50KSAtPiBxLmVucXVldWUgZXZlbnRcbiAgZWxzZSBpZiBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcj9cbiAgICBzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lciBuYW1lLCAoZXZlbnQpIC0+IHEuZW5xdWV1ZSBldmVudFxuICBlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IgXCJldmVudHM6IHNvdXJjZSBtdXN0IHN1cHBvcnRcbiAgICBgb25gIG9yIGBhZGRFdmVudExpc3RlbmVyYCBtZXRob2RcIlxuICBsb29wIHlpZWxkIGF3YWl0IHEuZGVxdWV1ZSgpXG4gIHJldHVyblxuXG5leHBvcnQge1xuICBpbmNsdWRlc1xuICB1bmlxdWVCeVxuICBtYXBcbiAgcHJvamVjdFxuICBmaW5kXG4gIHRhcFxuICBzZWxlY3RcbiAgcmVqZWN0XG4gIHJlc29sdmVcbiAgemlwXG4gIGNvbGxlY3RcbiAgc3RhcnRcbiAgZWFjaFxuICByZWR1Y2VcbiAgam9pblxuICBwYXJ0aXRpb25cbiAg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