@elaraai/e3 1.0.76 → 1.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/src/dataset-file.d.ts +68 -0
- package/dist/src/dataset-file.d.ts.map +1 -0
- package/dist/src/dataset-file.js +159 -0
- package/dist/src/dataset-file.js.map +1 -0
- package/dist/src/export.d.ts.map +1 -1
- package/dist/src/export.js +39 -15
- package/dist/src/export.js.map +1 -1
- package/dist/src/export.spec.js +89 -7
- package/dist/src/export.spec.js.map +1 -1
- package/dist/src/function.spec.js +28 -2
- package/dist/src/function.spec.js.map +1 -1
- package/dist/src/functions-link.spec.js +13 -13
- package/dist/src/functions-link.spec.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/input.d.ts +42 -7
- package/dist/src/input.d.ts.map +1 -1
- package/dist/src/input.js +38 -8
- package/dist/src/input.js.map +1 -1
- package/dist/src/open-beast-link.spec.js +3 -3
- package/dist/src/open-beast-link.spec.js.map +1 -1
- package/dist/src/package.d.ts +1 -1
- package/dist/src/package.js +1 -1
- package/dist/src/task.d.ts +75 -21
- package/dist/src/task.d.ts.map +1 -1
- package/dist/src/task.js +105 -108
- package/dist/src/task.js.map +1 -1
- package/dist/src/task.spec.js +183 -23
- package/dist/src/task.spec.js.map +1 -1
- package/dist/src/types.d.ts +21 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/task.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import { Expr, variant, some, none, ArrayType, StringType, NullType, FunctionType, StructType, East, IRType, encodeEastIR, toEastTypeValue, isTypeValueEqual } from '@elaraai/east';
|
|
6
|
-
import { TASK_KIND_PARTITION, TASK_KIND_STREAM, encodePartitionTaskMetadata, encodeStreamTaskMetadata } from '@elaraai/e3-types';
|
|
7
|
-
import { DEFAULT_RUNNER, runnerToCommand } from './runner.js';
|
|
6
|
+
import { TASK_KIND_PARTITION, TASK_KIND_STREAM, encodePartitionTaskMetadata, encodeStreamTaskMetadata, mergeCommandIr, partitionProjectionShape, streamCommandIr } from '@elaraai/e3-types';
|
|
7
|
+
import { DEFAULT_RUNNER, runnerToCommand, runnerToVariant } from './runner.js';
|
|
8
8
|
import { validateEnvironmentDecl } from './environment.js';
|
|
9
9
|
/**
|
|
10
10
|
* Singleton tree definition for `.tasks`.
|
|
@@ -32,18 +32,20 @@ function createTaskTree(name) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
* Creates a
|
|
35
|
+
* Creates a private IR dataset for a task at `.tasks.${name}.${field}`: the
|
|
36
|
+
* task's `function_ir`, or a stream task's `merge_ir`.
|
|
36
37
|
*
|
|
37
38
|
* @param name - Task name
|
|
38
39
|
* @param taskTree - The task's subtree
|
|
39
|
-
* @param
|
|
40
|
-
* @
|
|
40
|
+
* @param field - The dataset's name within the task's subtree
|
|
41
|
+
* @param eastIR - The compiled function IR
|
|
42
|
+
* @returns A DatasetDef for the IR (private, not typed)
|
|
41
43
|
*/
|
|
42
|
-
function
|
|
44
|
+
function createIRDataset(name, taskTree, field, eastIR) {
|
|
43
45
|
return {
|
|
44
46
|
kind: 'dataset',
|
|
45
|
-
name:
|
|
46
|
-
path: [variant('field', 'tasks'), variant('field', name), variant('field',
|
|
47
|
+
name: field,
|
|
48
|
+
path: [variant('field', 'tasks'), variant('field', name), variant('field', field)],
|
|
47
49
|
type: IRType,
|
|
48
50
|
// Store the full EastIR/AsyncEastIR bundle so export.ts can use encodeEastIR
|
|
49
51
|
// and preserve source_map into the beast2 blob.
|
|
@@ -104,7 +106,7 @@ export function task(name, inputs, fn, config) {
|
|
|
104
106
|
// Create the task's subtree at .tasks.${name}
|
|
105
107
|
const taskTree = createTaskTree(name);
|
|
106
108
|
// Create the function_ir dataset (private, holds the IR bundle)
|
|
107
|
-
const functionIRDataset =
|
|
109
|
+
const functionIRDataset = createIRDataset(name, taskTree, 'function_ir', eastIR);
|
|
108
110
|
// The first input is the FunctionIR to execute
|
|
109
111
|
const input_datasets = [
|
|
110
112
|
functionIRDataset,
|
|
@@ -190,70 +192,13 @@ function collectionKeyType(name, dataset) {
|
|
|
190
192
|
throw new Error(`partitionTask '${name}': partitioned dataset '${dataset.name}' must be a collection (Array, Set or Dict), got ${type.type}`);
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
|
-
/** Extracts the shape a `by` projection reads — see {@link ProjectionShape}
|
|
194
|
-
* — or `null` for any other (unaccepted) shape. */
|
|
195
|
-
function projectionFieldPrefix(ir) {
|
|
196
|
-
const param = ir.value.parameters[0]?.value.name;
|
|
197
|
-
if (param === undefined)
|
|
198
|
-
return null;
|
|
199
|
-
// Chase wrappers to the expression the body evaluates to.
|
|
200
|
-
const unwrap = (node) => {
|
|
201
|
-
for (;;) {
|
|
202
|
-
if (node.type === 'Block') {
|
|
203
|
-
const statements = node.value.statements;
|
|
204
|
-
if (statements.length === 0)
|
|
205
|
-
return node;
|
|
206
|
-
node = statements[statements.length - 1];
|
|
207
|
-
}
|
|
208
|
-
else if (node.type === 'Return') {
|
|
209
|
-
node = node.value.value;
|
|
210
|
-
}
|
|
211
|
-
else if (node.type === 'As' || node.type === 'WrapRecursive' || node.type === 'UnwrapRecursive') {
|
|
212
|
-
node = node.value.value;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
return node;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
const isParam = (node) => node.type === 'Variable' && node.value.name === param;
|
|
220
|
-
const fieldOf = (node) => node.type === 'GetField' && isParam(unwrap(node.value.struct)) ? node.value.field : null;
|
|
221
|
-
// Walks a GetField chain down to the parameter: `key.a.b` → ['a', 'b'].
|
|
222
|
-
const pathOf = (node) => {
|
|
223
|
-
const path = [];
|
|
224
|
-
let cur = node;
|
|
225
|
-
while (cur.type === 'GetField') {
|
|
226
|
-
path.unshift(cur.value.field);
|
|
227
|
-
cur = unwrap(cur.value.struct);
|
|
228
|
-
}
|
|
229
|
-
return isParam(cur) && path.length > 0 ? path : null;
|
|
230
|
-
};
|
|
231
|
-
const body = unwrap(ir.value.body);
|
|
232
|
-
if (isParam(body))
|
|
233
|
-
return { kind: 'fields', names: [] };
|
|
234
|
-
const chain = pathOf(body);
|
|
235
|
-
if (chain !== null) {
|
|
236
|
-
// A one-step chain is a top-level field read — the `fields` family.
|
|
237
|
-
return chain.length === 1 ? { kind: 'fields', names: chain } : { kind: 'path', names: chain };
|
|
238
|
-
}
|
|
239
|
-
if (body.type === 'Struct') {
|
|
240
|
-
const fields = [];
|
|
241
|
-
for (const { value } of body.value.fields) {
|
|
242
|
-
const f = fieldOf(unwrap(value));
|
|
243
|
-
if (f === null)
|
|
244
|
-
return null;
|
|
245
|
-
fields.push(f);
|
|
246
|
-
}
|
|
247
|
-
return { kind: 'fields', names: fields };
|
|
248
|
-
}
|
|
249
|
-
return null;
|
|
250
|
-
}
|
|
251
195
|
/**
|
|
252
196
|
* Defines a partitioned task: e3 carves the huge partitioned input(s) into
|
|
253
197
|
* key-range slices, runs `fn` once per partition as an ordinary
|
|
254
198
|
* content-addressed execution (parallel, memoized per partition), and
|
|
255
|
-
* assembles the output — by splicing shards in partition order,
|
|
256
|
-
*
|
|
199
|
+
* assembles the output — by splicing shards in partition order, by merging
|
|
200
|
+
* keyed partials on the task's runner when `merge` is given, or by folding
|
|
201
|
+
* partials pairwise when `combine` is given.
|
|
257
202
|
*
|
|
258
203
|
* `fn` always returns the output type: without `combine` each execution
|
|
259
204
|
* returns its *shard* of the output (Array shards concatenate freely;
|
|
@@ -283,8 +228,9 @@ function projectionFieldPrefix(ir) {
|
|
|
283
228
|
* mix collection kinds (or include Arrays) under co-partitioning, key
|
|
284
229
|
* types cannot align, `by` (explicit or the implicit alignment under
|
|
285
230
|
* co-partitioning) does not read a leading prefix of every partitioned
|
|
286
|
-
* dataset's key,
|
|
287
|
-
* `combine`)
|
|
231
|
+
* dataset's key, the output is not a collection in splice mode (no
|
|
232
|
+
* `combine`), or `merge` is given alongside `combine`, on an Array output,
|
|
233
|
+
* in the wrong form for the output's kind, or with the `custom` runtime.
|
|
288
234
|
*
|
|
289
235
|
* @example
|
|
290
236
|
* ```ts
|
|
@@ -349,7 +295,7 @@ export function partitionTask(name, spec, fn) {
|
|
|
349
295
|
if (spec.by !== undefined) {
|
|
350
296
|
const byFn = East.function([byParamType], undefined, spec.by);
|
|
351
297
|
const bundle = byFn.toIR();
|
|
352
|
-
const shape =
|
|
298
|
+
const shape = partitionProjectionShape(bundle.ir);
|
|
353
299
|
if (shape === null) {
|
|
354
300
|
throw new Error(`partitionTask '${name}': \`by\` must project a leading prefix of the partition key — ` +
|
|
355
301
|
`accepted shapes: the key itself, a leading field (\`key.f\`), a nested leading-field ` +
|
|
@@ -434,8 +380,8 @@ export function partitionTask(name, spec, fn) {
|
|
|
434
380
|
// input first carves into two or more partitions.
|
|
435
381
|
if (spec.combine === undefined && output.type !== 'Array' && output.type !== 'Set' && output.type !== 'Dict') {
|
|
436
382
|
throw new Error(`partitionTask '${name}': without \`combine\`, each partition returns a shard of the output and the shards ` +
|
|
437
|
-
`splice in
|
|
438
|
-
`Provide \`combine\` to fold non-collection partials.`);
|
|
383
|
+
`splice (or, with \`merge\`, merge) in key order — the output must be a collection (Array, Set or Dict), ` +
|
|
384
|
+
`got ${output.type}. Provide \`combine\` to fold non-collection partials.`);
|
|
439
385
|
}
|
|
440
386
|
// Reify `combine` as a free East function (Out, Out) -> Out.
|
|
441
387
|
let combineIr;
|
|
@@ -443,6 +389,42 @@ export function partitionTask(name, spec, fn) {
|
|
|
443
389
|
const combineFn = East.function([output, output], output, spec.combine);
|
|
444
390
|
combineIr = encodeEastIR(combineFn.toIR());
|
|
445
391
|
}
|
|
392
|
+
// Reify `merge` as a free East function (Key, Value, Value) -> Value for a
|
|
393
|
+
// Dict output, or record the Set union flag. The task's runner merges the
|
|
394
|
+
// partials with it through its `merge` command, whose command IR is built
|
|
395
|
+
// here and carried in the metadata — the orchestrator runs it as an
|
|
396
|
+
// ordinary execution per group of partials.
|
|
397
|
+
let mergeIr;
|
|
398
|
+
let mergeSets = false;
|
|
399
|
+
let mergeCommand;
|
|
400
|
+
if (spec.merge !== undefined) {
|
|
401
|
+
if (spec.combine !== undefined) {
|
|
402
|
+
throw new Error(`partitionTask '${name}': \`merge\` and \`combine\` are two assembly modes — give one. ` +
|
|
403
|
+
`\`merge\` merges keyed partials by key; \`combine\` folds whole partials.`);
|
|
404
|
+
}
|
|
405
|
+
if (spec.runner?.runtime === 'custom') {
|
|
406
|
+
throw new Error(`partitionTask '${name}': merge runs the fan-in on the task's runner, which must be a stock runtime ` +
|
|
407
|
+
`(east-node, east-py, east-c) — the custom runtime has no merge command`);
|
|
408
|
+
}
|
|
409
|
+
if (spec.merge === 'union') {
|
|
410
|
+
if (output.type !== 'Set') {
|
|
411
|
+
throw new Error(`partitionTask '${name}': \`merge: 'union'\` assembles a Set output, got ${output.type}` +
|
|
412
|
+
(output.type === 'Dict' ? ' — a Dict output takes a per-key merge function' : ''));
|
|
413
|
+
}
|
|
414
|
+
mergeSets = true;
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
if (output.type !== 'Dict') {
|
|
418
|
+
throw new Error(`partitionTask '${name}': a \`merge\` FUNCTION resolves a key present in two partials, so the output must be a Dict, ` +
|
|
419
|
+
`got ${output.type}${output.type === 'Set' ? " — a Set output takes `merge: 'union'`" : ''}`);
|
|
420
|
+
}
|
|
421
|
+
const keyType = output.key;
|
|
422
|
+
const valueType = output.value;
|
|
423
|
+
const mergeFn = East.function([keyType, valueType, valueType], valueType, spec.merge);
|
|
424
|
+
mergeIr = encodeEastIR(mergeFn.toIR());
|
|
425
|
+
}
|
|
426
|
+
mergeCommand = encodeEastIR(mergeCommandIr(runnerToVariant(spec.runner ?? DEFAULT_RUNNER), mergeSets ? 'union' : 'function'));
|
|
427
|
+
}
|
|
446
428
|
const targetPartitionBytes = spec.targetPartitionBytes ?? DEFAULT_TARGET_PARTITION_BYTES;
|
|
447
429
|
if (!Number.isInteger(targetPartitionBytes) || targetPartitionBytes <= 0) {
|
|
448
430
|
throw new Error(`partitionTask '${name}': targetPartitionBytes must be a positive integer, got ${spec.targetPartitionBytes}`);
|
|
@@ -453,6 +435,9 @@ export function partitionTask(name, spec, fn) {
|
|
|
453
435
|
by: byIr !== undefined ? some(byIr) : none,
|
|
454
436
|
combine: combineIr !== undefined ? some(combineIr) : none,
|
|
455
437
|
targetPartitionBytes: BigInt(targetPartitionBytes),
|
|
438
|
+
merge: mergeIr !== undefined ? some(mergeIr) : none,
|
|
439
|
+
mergeSets,
|
|
440
|
+
mergeCommand: mergeCommand !== undefined ? some(mergeCommand) : none,
|
|
456
441
|
});
|
|
457
442
|
return task(name, [...partitions, ...inputs], bodyFn, {
|
|
458
443
|
kind: TASK_KIND_PARTITION,
|
|
@@ -470,14 +455,17 @@ export function partitionTask(name, spec, fn) {
|
|
|
470
455
|
*
|
|
471
456
|
* `emit` is a runner-implemented function value: `emit(key, value)` for Dict
|
|
472
457
|
* outputs, `emit(element)` for Array/Set outputs. The streaming writer
|
|
473
|
-
* re-batches emissions byte-adaptively
|
|
474
|
-
*
|
|
475
|
-
*
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
458
|
+
* re-batches emissions byte-adaptively and writes the output in one pass,
|
|
459
|
+
* with one open batch in memory whatever the output's size. An Array output
|
|
460
|
+
* takes its elements in emission order; a Set or Dict output must be emitted
|
|
461
|
+
* in ascending key order, and an out-of-order key fails the task (`beast2
|
|
462
|
+
* v5: Dict key emitted out of order: 1 after 2 — Set/Dict emissions must
|
|
463
|
+
* ascend in East order`, the same words on every runtime). A re-key whose
|
|
464
|
+
* output keys do not arrive in order is a `partitionTask` with `merge`.
|
|
465
|
+
* Duplicate Set/Dict keys are a runtime error unless `merge` folds them: a
|
|
466
|
+
* function for a Dict output (adjacent equal keys fold left in emission
|
|
467
|
+
* order), `'union'` for a Set output. The body's return value is unused —
|
|
468
|
+
* the output dataset is what `emit` wrote.
|
|
481
469
|
*
|
|
482
470
|
* With no `stream`, the task is a producer: its body loops over
|
|
483
471
|
* platform-function sources (paginated APIs, database cursors) and emits.
|
|
@@ -491,12 +479,13 @@ export function partitionTask(name, spec, fn) {
|
|
|
491
479
|
* @typeParam Inputs - Ordinary input dataset defs
|
|
492
480
|
* @param name - Task name
|
|
493
481
|
* @param spec - The declaration: stream input, ordinary inputs, output
|
|
494
|
-
* collection type, runner and environment
|
|
482
|
+
* collection type, merge, runner and environment
|
|
495
483
|
* @param fn - Implementation body; receives the stream value (when
|
|
496
484
|
* declared), the inputs, then `emit`, and returns nothing
|
|
497
485
|
* @returns A TaskDef with `.output` for chaining
|
|
498
|
-
* @throws {Error} When the output is not a collection type
|
|
499
|
-
* the `custom` runtime
|
|
486
|
+
* @throws {Error} When the output is not a collection type, the runner is
|
|
487
|
+
* the `custom` runtime, or `merge` is given for an Array output or in the
|
|
488
|
+
* wrong form for the output's kind.
|
|
500
489
|
*
|
|
501
490
|
* @example
|
|
502
491
|
* ```ts
|
|
@@ -541,6 +530,24 @@ export function streamTask(name, spec, fn) {
|
|
|
541
530
|
if (runner.runtime === 'custom') {
|
|
542
531
|
throw new Error(`streamTask '${name}': the custom runtime cannot carry the streaming flags — use a stock runtime (east-node, east-py, east-c)`);
|
|
543
532
|
}
|
|
533
|
+
// `merge` folds equal keys in the runner's sink: a function for a Dict
|
|
534
|
+
// output, reified as a free East function (Key, Value, Value) -> Value;
|
|
535
|
+
// `'union'` for a Set output.
|
|
536
|
+
let mergeMode = 'none';
|
|
537
|
+
let mergeIR;
|
|
538
|
+
if (spec.merge !== undefined) {
|
|
539
|
+
if (output.type === 'Dict' && typeof spec.merge === 'function') {
|
|
540
|
+
mergeMode = 'function';
|
|
541
|
+
mergeIR = East.function([output.key, output.value, output.value], output.value, spec.merge).toIR();
|
|
542
|
+
}
|
|
543
|
+
else if (output.type === 'Set' && spec.merge === 'union') {
|
|
544
|
+
mergeMode = 'union';
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
const given = output.type === 'Array' ? '' : typeof spec.merge === 'function' ? ' with a function' : ` with '${String(spec.merge)}'`;
|
|
548
|
+
throw new Error(`streamTask '${name}': merge applies to Dict (a function) or Set ('union') outputs, got ${output.type}${given}`);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
544
551
|
const paramTypes = [
|
|
545
552
|
...(spec.stream !== undefined ? [spec.stream.type] : []),
|
|
546
553
|
...inputs.map((i) => i.type),
|
|
@@ -548,44 +555,34 @@ export function streamTask(name, spec, fn) {
|
|
|
548
555
|
];
|
|
549
556
|
const bodyFn = East.function(paramTypes, NullType, fn);
|
|
550
557
|
const eastIR = bodyFn.toIR();
|
|
558
|
+
// Wire inputs: the body IR, the merge IR (function mode), the stream, then
|
|
559
|
+
// the ordinary inputs — the layout streamCommandIr's argv reads.
|
|
551
560
|
const taskTree = createTaskTree(name);
|
|
552
|
-
const functionIRDataset =
|
|
561
|
+
const functionIRDataset = createIRDataset(name, taskTree, 'function_ir', eastIR);
|
|
553
562
|
const input_datasets = [
|
|
554
563
|
functionIRDataset,
|
|
564
|
+
...(mergeIR !== undefined ? [createIRDataset(name, taskTree, 'merge_ir', mergeIR)] : []),
|
|
555
565
|
...(spec.stream !== undefined ? [spec.stream] : []),
|
|
556
566
|
...inputs,
|
|
557
567
|
];
|
|
558
568
|
const outputDataset = createOutputDataset(name, taskTree, output);
|
|
559
|
-
// The
|
|
560
|
-
//
|
|
561
|
-
//
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
'
|
|
566
|
-
...(spec.stream !== undefined ? ['--stream', '0'] : []),
|
|
567
|
-
];
|
|
568
|
-
const commandFn = East.function([ArrayType(StringType), StringType], ArrayType(StringType), ($, input_paths, output_path) => {
|
|
569
|
-
const command = $.let(argvPrefix, ArrayType(StringType));
|
|
570
|
-
const i = $.let(1n);
|
|
571
|
-
$.while(East.less(i, input_paths.size()), $ => {
|
|
572
|
-
$(command.pushLast('-i'));
|
|
573
|
-
$(command.pushLast(input_paths.get(i)));
|
|
574
|
-
$.assign(i, i.add(1n));
|
|
575
|
-
});
|
|
576
|
-
$(command.pushLast('-o'));
|
|
577
|
-
$(command.pushLast(output_path));
|
|
578
|
-
$(command.pushLast(input_paths.get(0n)));
|
|
579
|
-
$.return(command);
|
|
569
|
+
// The runner constructs the emit sink for the output kind, folding equal
|
|
570
|
+
// keys as `merge` says, and feeds the stream (always the first `-i` input)
|
|
571
|
+
// lazily instead of whole-decoding it.
|
|
572
|
+
const command = streamCommandIr(runnerToVariant(runner), {
|
|
573
|
+
emit: emitKind,
|
|
574
|
+
merge: mergeMode,
|
|
575
|
+
stream: spec.stream !== undefined ? 'first' : 'none',
|
|
580
576
|
});
|
|
581
577
|
const metadata = encodeStreamTaskMetadata({
|
|
582
578
|
stream: spec.stream !== undefined,
|
|
583
579
|
emit: emitKind,
|
|
580
|
+
merge: mergeMode,
|
|
584
581
|
});
|
|
585
582
|
const taskDef = {
|
|
586
583
|
kind: 'task',
|
|
587
584
|
name,
|
|
588
|
-
command
|
|
585
|
+
command,
|
|
589
586
|
inputs: input_datasets,
|
|
590
587
|
output: outputDataset,
|
|
591
588
|
deps: collectDeps(taskTree, outputDataset, input_datasets),
|
package/dist/src/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"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"}
|