@fedify/fedify 0.11.0-dev.228 → 0.11.0-dev.231
Sign up to get free protection for your applications and to get access to all the features.
package/CHANGES.md
CHANGED
@@ -8,6 +8,8 @@ Version 0.11.0
|
|
8
8
|
|
9
9
|
To be released.
|
10
10
|
|
11
|
+
- Added `Federation.setInboxDispatcher()` method. [[#71]]
|
12
|
+
|
11
13
|
- Frequently used JSON-LD contexts are now preloaded. [[74]]
|
12
14
|
|
13
15
|
- The `fetchDocumentLoader()` function now preloads the following JSON-LD
|
@@ -23,8 +25,9 @@ To be released.
|
|
23
25
|
URLs.
|
24
26
|
|
25
27
|
- Added `Offer` class to Activity Vocabulary API.
|
26
|
-
[[#65], [#76]]
|
28
|
+
[[#65], [#76] by Lee Dogeon]
|
27
29
|
|
30
|
+
[#71]: https://github.com/dahlia/fedify/issues/71
|
28
31
|
[#74]: https://github.com/dahlia/fedify/issues/74
|
29
32
|
[#76]: https://github.com/dahlia/fedify/pull/76
|
30
33
|
|
@@ -759,4 +762,4 @@ Version 0.1.0
|
|
759
762
|
|
760
763
|
Initial release. Released on March 8, 2024.
|
761
764
|
|
762
|
-
<!-- cSpell: ignore Wressell -->
|
765
|
+
<!-- cSpell: ignore Dogeon Wressell -->
|
@@ -42,6 +42,8 @@ export class Federation {
|
|
42
42
|
#actorCallbacks;
|
43
43
|
#objectCallbacks;
|
44
44
|
#objectTypeIds;
|
45
|
+
#inboxPath;
|
46
|
+
#inboxCallbacks;
|
45
47
|
#outboxCallbacks;
|
46
48
|
#followingCallbacks;
|
47
49
|
#followersCallbacks;
|
@@ -79,7 +81,6 @@ export class Federation {
|
|
79
81
|
this.#router = new Router();
|
80
82
|
this.#router.add("/.well-known/webfinger", "webfinger");
|
81
83
|
this.#router.add("/.well-known/nodeinfo", "nodeInfoJrd");
|
82
|
-
this.#inboxListeners = new Map();
|
83
84
|
this.#objectCallbacks = {};
|
84
85
|
this.#objectTypeIds = {};
|
85
86
|
this.#documentLoader = options.documentLoader ?? kvCache({
|
@@ -405,6 +406,58 @@ export class Federation {
|
|
405
406
|
};
|
406
407
|
return setters;
|
407
408
|
}
|
409
|
+
/**
|
410
|
+
* Registers an inbox dispatcher.
|
411
|
+
*
|
412
|
+
* @param path The URI path pattern for the outbox dispatcher. The syntax is
|
413
|
+
* based on URI Template
|
414
|
+
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
|
415
|
+
* must have one variable: `{handle}`, and must match the inbox
|
416
|
+
* listener path.
|
417
|
+
* @param dispatcher An inbox dispatcher callback to register.
|
418
|
+
* @throws {@link RouterError} Thrown if the path pattern is invalid.
|
419
|
+
* @since 0.11.0
|
420
|
+
*/
|
421
|
+
setInboxDispatcher(path, dispatcher) {
|
422
|
+
if (this.#inboxCallbacks != null) {
|
423
|
+
throw new RouterError("Inbox dispatcher already set.");
|
424
|
+
}
|
425
|
+
if (this.#router.has("inbox")) {
|
426
|
+
if (this.#inboxPath !== path) {
|
427
|
+
throw new RouterError("Inbox dispatcher path must match inbox listener path.");
|
428
|
+
}
|
429
|
+
}
|
430
|
+
else {
|
431
|
+
const variables = this.#router.add(path, "inbox");
|
432
|
+
if (variables.size !== 1 || !variables.has("handle")) {
|
433
|
+
throw new RouterError("Path for inbox dispatcher must have one variable: {handle}");
|
434
|
+
}
|
435
|
+
this.#inboxPath = path;
|
436
|
+
}
|
437
|
+
const callbacks = {
|
438
|
+
dispatcher,
|
439
|
+
};
|
440
|
+
this.#inboxCallbacks = callbacks;
|
441
|
+
const setters = {
|
442
|
+
setCounter(counter) {
|
443
|
+
callbacks.counter = counter;
|
444
|
+
return setters;
|
445
|
+
},
|
446
|
+
setFirstCursor(cursor) {
|
447
|
+
callbacks.firstCursor = cursor;
|
448
|
+
return setters;
|
449
|
+
},
|
450
|
+
setLastCursor(cursor) {
|
451
|
+
callbacks.lastCursor = cursor;
|
452
|
+
return setters;
|
453
|
+
},
|
454
|
+
authorize(predicate) {
|
455
|
+
callbacks.authorizePredicate = predicate;
|
456
|
+
return setters;
|
457
|
+
},
|
458
|
+
};
|
459
|
+
return setters;
|
460
|
+
}
|
408
461
|
/**
|
409
462
|
* Registers an outbox dispatcher.
|
410
463
|
*
|
@@ -567,7 +620,8 @@ export class Federation {
|
|
567
620
|
* @param inboxPath The URI path pattern for the inbox. The syntax is based
|
568
621
|
* on URI Template
|
569
622
|
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
|
570
|
-
* The path must have one variable: `{handle}
|
623
|
+
* The path must have one variable: `{handle}`, and must
|
624
|
+
* match the inbox dispatcher path.
|
571
625
|
* @param sharedInboxPath An optional URI path pattern for the shared inbox.
|
572
626
|
* The syntax is based on URI Template
|
573
627
|
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
|
@@ -576,12 +630,19 @@ export class Federation {
|
|
576
630
|
* @throws {RouteError} Thrown if the path pattern is invalid.
|
577
631
|
*/
|
578
632
|
setInboxListeners(inboxPath, sharedInboxPath) {
|
633
|
+
if (this.#inboxListeners != null) {
|
634
|
+
throw new RouterError("Inbox listeners already set.");
|
635
|
+
}
|
579
636
|
if (this.#router.has("inbox")) {
|
580
|
-
|
637
|
+
if (this.#inboxPath !== inboxPath) {
|
638
|
+
throw new RouterError("Inbox listener path must match inbox dispatcher path.");
|
639
|
+
}
|
581
640
|
}
|
582
|
-
|
583
|
-
|
584
|
-
|
641
|
+
else {
|
642
|
+
const variables = this.#router.add(inboxPath, "inbox");
|
643
|
+
if (variables.size !== 1 || !variables.has("handle")) {
|
644
|
+
throw new RouterError("Path for inbox must have one variable: {handle}");
|
645
|
+
}
|
585
646
|
}
|
586
647
|
if (sharedInboxPath != null) {
|
587
648
|
const siVars = this.#router.add(sharedInboxPath, "sharedInbox");
|
@@ -589,7 +650,7 @@ export class Federation {
|
|
589
650
|
throw new RouterError("Path for shared inbox must have no variables.");
|
590
651
|
}
|
591
652
|
}
|
592
|
-
const listeners = this.#inboxListeners;
|
653
|
+
const listeners = this.#inboxListeners = new Map();
|
593
654
|
const setter = {
|
594
655
|
on(
|
595
656
|
// deno-lint-ignore no-explicit-any
|
@@ -790,6 +851,17 @@ export class Federation {
|
|
790
851
|
onNotAcceptable,
|
791
852
|
});
|
792
853
|
case "inbox":
|
854
|
+
if (request.method !== "POST") {
|
855
|
+
return await handleCollection(request, {
|
856
|
+
name: "inbox",
|
857
|
+
handle: route.values.handle,
|
858
|
+
context,
|
859
|
+
collectionCallbacks: this.#inboxCallbacks,
|
860
|
+
onUnauthorized,
|
861
|
+
onNotFound,
|
862
|
+
onNotAcceptable,
|
863
|
+
});
|
864
|
+
}
|
793
865
|
context = this.#createContext(request, contextData, {
|
794
866
|
documentLoader: await context.getDocumentLoader({
|
795
867
|
handle: route.values.handle,
|
@@ -803,7 +875,7 @@ export class Federation {
|
|
803
875
|
kv: this.#kv,
|
804
876
|
kvPrefix: this.#kvPrefixes.activityIdempotence,
|
805
877
|
actorDispatcher: this.#actorCallbacks?.dispatcher,
|
806
|
-
inboxListeners: this.#inboxListeners,
|
878
|
+
inboxListeners: this.#inboxListeners ?? new Map(),
|
807
879
|
inboxErrorHandler: this.#inboxErrorHandler,
|
808
880
|
onNotFound,
|
809
881
|
signatureTimeWindow: this.#signatureTimeWindow,
|
package/package.json
CHANGED
@@ -311,6 +311,19 @@ export declare class Federation<TContextData> {
|
|
311
311
|
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
312
312
|
typeId: URL;
|
313
313
|
}, path: `${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
314
|
+
/**
|
315
|
+
* Registers an inbox dispatcher.
|
316
|
+
*
|
317
|
+
* @param path The URI path pattern for the outbox dispatcher. The syntax is
|
318
|
+
* based on URI Template
|
319
|
+
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
|
320
|
+
* must have one variable: `{handle}`, and must match the inbox
|
321
|
+
* listener path.
|
322
|
+
* @param dispatcher An inbox dispatcher callback to register.
|
323
|
+
* @throws {@link RouterError} Thrown if the path pattern is invalid.
|
324
|
+
* @since 0.11.0
|
325
|
+
*/
|
326
|
+
setInboxDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, TContextData, void>): CollectionCallbackSetters<TContextData, void>;
|
314
327
|
/**
|
315
328
|
* Registers an outbox dispatcher.
|
316
329
|
*
|
@@ -380,7 +393,8 @@ export declare class Federation<TContextData> {
|
|
380
393
|
* @param inboxPath The URI path pattern for the inbox. The syntax is based
|
381
394
|
* on URI Template
|
382
395
|
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
|
383
|
-
* The path must have one variable: `{handle}
|
396
|
+
* The path must have one variable: `{handle}`, and must
|
397
|
+
* match the inbox dispatcher path.
|
384
398
|
* @param sharedInboxPath An optional URI path pattern for the shared inbox.
|
385
399
|
* The syntax is based on URI Template
|
386
400
|
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,cAAc,EAIpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,QAAQ,EAGR,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAEV,OAAO,EAEP,cAAc,EACd,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;;;OAMG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEpD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,mBAAmB,EAAE,KAAK,CAAC;IAE3B;;;OAGG;IACH,cAAc,EAAE,KAAK,CAAC;CACvB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,UAAU,CAAC,YAAY,CAAC,CAM1B;AAED;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,YAAY;;
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,cAAc,EAIpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,QAAQ,EAGR,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAEV,OAAO,EAEP,cAAc,EACd,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;;;OAMG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEpD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,mBAAmB,EAAE,KAAK,CAAC;IAE3B;;;OAGG;IACH,cAAc,EAAE,KAAK,CAAC;CACvB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,UAAU,CAAC,YAAY,CAAC,CAM1B;AAED;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,YAAY;;IAgClC;;;;OAIG;gBACS,OAAO,EAAE,oBAAoB;IAwIzC;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAE7E;;;;;OAKG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,YAAY,GACxB,cAAc,CAAC,YAAY,CAAC;IA6E/B;;;;;;;;;OASG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,kBAAkB,CAChB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,GACxC,oBAAoB,CAAC,YAAY,CAAC;IAuJrC;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACrI,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACjH,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EAC7F,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACzE,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACzD,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACrC,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAiCvD;;;;;;;;;;;OAWG;IACH,kBAAkB,CAChB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,GAC7D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IA4ChD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,mBAAmB,CACjB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,GAC7D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;OAUG;IACH,sBAAsB,CACpB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,KAAK,GAAG,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,GAChE,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;OAUG;IACH,sBAAsB,CACpB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAC9B,SAAS,EACT,YAAY,EACZ,GAAG,CACJ,GACA,yBAAyB,CAAC,YAAY,EAAE,GAAG,CAAC;IAuC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,iBAAiB,CACf,SAAS,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EACvC,eAAe,CAAC,EAAE,MAAM,GACvB,mBAAmB,CAAC,YAAY,CAAC;IAiDpC;;;;;;;;;OASG;IACG,YAAY,CAChB,IAAI,EAAE,aAAa,EAAE,EACrB,UAAU,EAAE,SAAS,GAAG,SAAS,EAAE,EACnC,QAAQ,EAAE,QAAQ,EAClB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,GAC/D,2BAAgC,GACjC,OAAO,CAAC,IAAI,CAAC;IAkGhB;;;;;;;;;;;OAWG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAC5C,OAAO,CAAC,QAAQ,CAAC;CAqKrB;AAuiBD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,YAAY;IAClD;;OAEG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrE;AAQD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB,CAAC,YAAY;IAChD;;;;;OAKG;IACH,qBAAqB,CACnB,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAChD,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;;;OAOG;IACH,oBAAoB,CAClB,UAAU,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAC/C,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAC1C,oBAAoB,CAAC,YAAY,CAAC,CAAC;CACvC;AAQD;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,YAAY,EACZ,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM;IAErB;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,GACxD,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;CACzD;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB,CAAC,YAAY,EAAE,OAAO;IAC9D;;;;OAIG;IACH,UAAU,CACR,OAAO,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,GAChD,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;OAIG;IACH,cAAc,CACZ,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,GAC9C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;OAIG;IACH,aAAa,CACX,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,GAC9C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAC1C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,YAAY;IAC/C;;;;;;OAMG;IACH,EAAE,CAAC,SAAS,SAAS,QAAQ,EAE3B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,EACvC,QAAQ,EAAE,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,GAC/C,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,OAAO,CACL,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,GACvC,mBAAmB,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,UAAU,2BAA4B,SAAQ,mBAAmB;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|