@joist/di 4.2.4-next.11 → 4.2.4-next.13
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/package.json +1 -1
- package/src/lib/context/protocol.ts +12 -25
- package/src/lib/dom/dom-injector.test.ts +48 -4
- package/src/lib/dom/dom-injector.ts +9 -8
- package/src/lib/dom/injectable-el.ts +6 -3
- package/target/lib/context/protocol.d.ts +8 -5
- package/target/lib/context/protocol.js.map +1 -1
- package/target/lib/dom/dom-injector.d.ts +1 -1
- package/target/lib/dom/dom-injector.js +5 -3
- package/target/lib/dom/dom-injector.js.map +1 -1
- package/target/lib/dom/dom-injector.test.js +50 -1
- package/target/lib/dom/dom-injector.test.js.map +1 -1
- package/target/lib/dom/injectable-el.js +1 -0
- package/target/lib/dom/injectable-el.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface ElementEventMap {
|
|
3
|
+
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
4
|
+
}
|
|
5
|
+
interface DocumentEventMap {
|
|
6
|
+
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
1
10
|
/**
|
|
2
11
|
* A context key.
|
|
3
12
|
*
|
|
@@ -15,12 +24,7 @@ export type UnknownContext = Context<unknown, unknown>;
|
|
|
15
24
|
/**
|
|
16
25
|
* A helper type which can extract a Context value type from a Context type
|
|
17
26
|
*/
|
|
18
|
-
export type ContextType<T extends UnknownContext> = T extends Context<
|
|
19
|
-
infer _,
|
|
20
|
-
infer V
|
|
21
|
-
>
|
|
22
|
-
? V
|
|
23
|
-
: never;
|
|
27
|
+
export type ContextType<T extends UnknownContext> = T extends Context<infer _, infer V> ? V : never;
|
|
24
28
|
|
|
25
29
|
/**
|
|
26
30
|
* A function which creates a Context value object
|
|
@@ -34,10 +38,7 @@ export function createContext<KeyType, ValueType>(key: KeyType) {
|
|
|
34
38
|
* A callback which is provided by a context requester and is called with the value satisfying the request.
|
|
35
39
|
* This callback can be called multiple times by context providers as the requested value is changed.
|
|
36
40
|
*/
|
|
37
|
-
export type ContextCallback<ValueType> = (
|
|
38
|
-
value: ValueType,
|
|
39
|
-
unsubscribe?: () => void,
|
|
40
|
-
) => void;
|
|
41
|
+
export type ContextCallback<ValueType> = (value: ValueType, unsubscribe?: () => void) => void;
|
|
41
42
|
|
|
42
43
|
/**
|
|
43
44
|
* An event fired by a context requester to signal it desires a named context.
|
|
@@ -54,11 +55,7 @@ export class ContextRequestEvent<T extends UnknownContext> extends Event {
|
|
|
54
55
|
callback: ContextCallback<ContextType<T>>;
|
|
55
56
|
subscribe?: boolean;
|
|
56
57
|
|
|
57
|
-
public constructor(
|
|
58
|
-
context: T,
|
|
59
|
-
callback: ContextCallback<ContextType<T>>,
|
|
60
|
-
subscribe?: boolean,
|
|
61
|
-
) {
|
|
58
|
+
public constructor(context: T, callback: ContextCallback<ContextType<T>>, subscribe?: boolean) {
|
|
62
59
|
super("context-request", { bubbles: true, composed: true });
|
|
63
60
|
|
|
64
61
|
this.context = context;
|
|
@@ -66,13 +63,3 @@ export class ContextRequestEvent<T extends UnknownContext> extends Event {
|
|
|
66
63
|
this.subscribe = subscribe;
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
|
-
|
|
70
|
-
declare global {
|
|
71
|
-
interface HTMLElementEventMap {
|
|
72
|
-
/**
|
|
73
|
-
* A 'context-request' event can be emitted by any element which desires
|
|
74
|
-
* a context value to be injected by an external provider.
|
|
75
|
-
*/
|
|
76
|
-
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { assert } from "chai";
|
|
2
2
|
|
|
3
3
|
import { INJECTOR_CTX } from "../context/injector.js";
|
|
4
|
-
import {
|
|
5
|
-
ContextRequestEvent,
|
|
6
|
-
type UnknownContext,
|
|
7
|
-
} from "../context/protocol.js";
|
|
4
|
+
import { ContextRequestEvent, type UnknownContext } from "../context/protocol.js";
|
|
8
5
|
import { Injector } from "../injector.js";
|
|
9
6
|
import { DOMInjector } from "./dom-injector.js";
|
|
7
|
+
import { readInjector } from "../metadata.js";
|
|
8
|
+
import { injectable } from "../injectable.js";
|
|
9
|
+
import { inject } from "../inject.js";
|
|
10
10
|
|
|
11
11
|
it("should respond to elements looking for an injector", () => {
|
|
12
12
|
const injector = new DOMInjector();
|
|
@@ -60,3 +60,47 @@ it("should throw an error if attempting to attach an already attached DOMInjecto
|
|
|
60
60
|
injector.attach(el);
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
|
+
|
|
64
|
+
it("should correctly add injector to the target element", () => {
|
|
65
|
+
const injector = new DOMInjector();
|
|
66
|
+
|
|
67
|
+
injector.attach(document.body);
|
|
68
|
+
|
|
69
|
+
assert.instanceOf(readInjector(document.body), DOMInjector);
|
|
70
|
+
assert.equal(readInjector(document.body), injector);
|
|
71
|
+
|
|
72
|
+
injector.detach();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("should apply parent to child", (done) => {
|
|
76
|
+
class TestConfig {
|
|
77
|
+
path = "/foo";
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const injector = new DOMInjector({
|
|
81
|
+
providers: [[TestConfig, { factory: () => ({ path: "/bar" }) }]],
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
injector.attach(document.body);
|
|
85
|
+
|
|
86
|
+
@injectable()
|
|
87
|
+
class MyElement extends HTMLElement {
|
|
88
|
+
#config = inject(TestConfig);
|
|
89
|
+
|
|
90
|
+
connectedCallback(): void {
|
|
91
|
+
const config = this.#config();
|
|
92
|
+
assert.equal(config.path, "/bar");
|
|
93
|
+
|
|
94
|
+
done();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
customElements.define("dom-injector-test", MyElement);
|
|
99
|
+
|
|
100
|
+
const child = new MyElement();
|
|
101
|
+
|
|
102
|
+
document.body.append(child);
|
|
103
|
+
|
|
104
|
+
child.remove();
|
|
105
|
+
injector.detach();
|
|
106
|
+
});
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import { INJECTOR_CTX } from "../context/injector.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
type UnknownContext,
|
|
5
|
-
} from "../context/protocol.js";
|
|
6
|
-
import { Injector } from "../injector.js";
|
|
2
|
+
import { ContextRequestEvent, type UnknownContext } from "../context/protocol.js";
|
|
3
|
+
import { INJECTOR, Injector } from "../injector.js";
|
|
7
4
|
|
|
8
5
|
/**
|
|
9
6
|
* Special Injector that allows you to register an injector with a particular DOM element.
|
|
10
7
|
*/
|
|
11
8
|
export class DOMInjector extends Injector {
|
|
12
|
-
#element: HTMLElement | null = null;
|
|
9
|
+
#element: Document | HTMLElement | null = null;
|
|
13
10
|
#controller: AbortController | null = null;
|
|
14
11
|
|
|
15
12
|
get isAttached(): boolean {
|
|
16
13
|
return this.#element !== null && this.#controller !== null;
|
|
17
14
|
}
|
|
18
15
|
|
|
19
|
-
attach(element: HTMLElement): void {
|
|
16
|
+
attach(element: Document | HTMLElement): void {
|
|
20
17
|
if (this.isAttached) {
|
|
21
18
|
throw new Error(
|
|
22
19
|
`This DOMInjector is already attached to ${this.#element}. Detach first before attaching again`,
|
|
@@ -26,9 +23,13 @@ export class DOMInjector extends Injector {
|
|
|
26
23
|
this.#element = element;
|
|
27
24
|
this.#controller = new AbortController();
|
|
28
25
|
|
|
26
|
+
Reflect.set(element, INJECTOR, this);
|
|
27
|
+
|
|
29
28
|
this.#element.addEventListener(
|
|
30
29
|
"context-request",
|
|
31
|
-
(
|
|
30
|
+
(event) => {
|
|
31
|
+
const e = event as ContextRequestEvent<UnknownContext>;
|
|
32
|
+
|
|
32
33
|
if (e.context === INJECTOR_CTX) {
|
|
33
34
|
if (e.target !== element) {
|
|
34
35
|
e.stopPropagation();
|
|
@@ -8,9 +8,10 @@ import type { ConstructableToken } from "../provider.js";
|
|
|
8
8
|
|
|
9
9
|
export type InjectableEl = HTMLElement & { [INJECTOR]: Injector };
|
|
10
10
|
|
|
11
|
-
export function injectableEl<
|
|
12
|
-
T
|
|
13
|
-
|
|
11
|
+
export function injectableEl<T extends ConstructableToken<InjectableEl>>(
|
|
12
|
+
Base: T,
|
|
13
|
+
ctx: ClassDecoratorContext,
|
|
14
|
+
): T {
|
|
14
15
|
const metadata: InjectableMetadata<InjectableEl> = ctx.metadata;
|
|
15
16
|
|
|
16
17
|
const def = {
|
|
@@ -32,6 +33,8 @@ export function injectableEl<
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
connectedCallback() {
|
|
36
|
+
console.log("TEST----");
|
|
37
|
+
|
|
35
38
|
this.dispatchEvent(
|
|
36
39
|
new ContextRequestEvent(INJECTOR_CTX, (ctx) => {
|
|
37
40
|
this[INJECTOR].parent = ctx;
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface ElementEventMap {
|
|
3
|
+
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
4
|
+
}
|
|
5
|
+
interface DocumentEventMap {
|
|
6
|
+
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
1
9
|
export type Context<KeyType, ValueType> = KeyType & {
|
|
2
10
|
__context__: ValueType;
|
|
3
11
|
};
|
|
@@ -11,8 +19,3 @@ export declare class ContextRequestEvent<T extends UnknownContext> extends Event
|
|
|
11
19
|
subscribe?: boolean;
|
|
12
20
|
constructor(context: T, callback: ContextCallback<ContextType<T>>, subscribe?: boolean);
|
|
13
21
|
}
|
|
14
|
-
declare global {
|
|
15
|
-
interface HTMLElementEventMap {
|
|
16
|
-
"context-request": ContextRequestEvent<Context<unknown, unknown>>;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/lib/context/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/lib/context/protocol.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,aAAa,CAAqB,GAAY;IAC5D,OAAO,GAAkC,CAAC;AAC5C,CAAC;AAkBD,MAAM,OAAO,mBAA8C,SAAQ,KAAK;IACtE,OAAO,CAAI;IACX,QAAQ,CAAkC;IAC1C,SAAS,CAAW;IAEpB,YAAmB,OAAU,EAAE,QAAyC,EAAE,SAAmB;QAC3F,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INJECTOR_CTX } from "../context/injector.js";
|
|
2
|
-
import { ContextRequestEvent
|
|
3
|
-
import { Injector } from "../injector.js";
|
|
2
|
+
import { ContextRequestEvent } from "../context/protocol.js";
|
|
3
|
+
import { INJECTOR, Injector } from "../injector.js";
|
|
4
4
|
export class DOMInjector extends Injector {
|
|
5
5
|
#element = null;
|
|
6
6
|
#controller = null;
|
|
@@ -13,7 +13,9 @@ export class DOMInjector extends Injector {
|
|
|
13
13
|
}
|
|
14
14
|
this.#element = element;
|
|
15
15
|
this.#controller = new AbortController();
|
|
16
|
-
|
|
16
|
+
Reflect.set(element, INJECTOR, this);
|
|
17
|
+
this.#element.addEventListener("context-request", (event) => {
|
|
18
|
+
const e = event;
|
|
17
19
|
if (e.context === INJECTOR_CTX) {
|
|
18
20
|
if (e.target !== element) {
|
|
19
21
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-injector.js","sourceRoot":"","sources":["../../../src/lib/dom/dom-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"dom-injector.js","sourceRoot":"","sources":["../../../src/lib/dom/dom-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAuB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKpD,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,QAAQ,GAAkC,IAAI,CAAC;IAC/C,WAAW,GAA2B,IAAI,CAAC;IAE3C,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,QAAQ,uCAAuC,CAChG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC5B,iBAAiB,EACjB,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,GAAG,KAA4C,CAAC;YAEvD,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACzB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAEpB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CACpC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,aAAa,CACzB,IAAI,mBAAmB,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
1
2
|
import { assert } from "chai";
|
|
2
3
|
import { INJECTOR_CTX } from "../context/injector.js";
|
|
3
|
-
import { ContextRequestEvent
|
|
4
|
+
import { ContextRequestEvent } from "../context/protocol.js";
|
|
4
5
|
import { Injector } from "../injector.js";
|
|
5
6
|
import { DOMInjector } from "./dom-injector.js";
|
|
7
|
+
import { readInjector } from "../metadata.js";
|
|
8
|
+
import { injectable } from "../injectable.js";
|
|
9
|
+
import { inject } from "../inject.js";
|
|
6
10
|
it("should respond to elements looking for an injector", () => {
|
|
7
11
|
const injector = new DOMInjector();
|
|
8
12
|
injector.attach(document.body);
|
|
@@ -38,4 +42,49 @@ it("should throw an error if attempting to attach an already attached DOMInjecto
|
|
|
38
42
|
injector.attach(el);
|
|
39
43
|
});
|
|
40
44
|
});
|
|
45
|
+
it("should correctly add injector to the target element", () => {
|
|
46
|
+
const injector = new DOMInjector();
|
|
47
|
+
injector.attach(document.body);
|
|
48
|
+
assert.instanceOf(readInjector(document.body), DOMInjector);
|
|
49
|
+
assert.equal(readInjector(document.body), injector);
|
|
50
|
+
injector.detach();
|
|
51
|
+
});
|
|
52
|
+
it("should apply parent to child", (done) => {
|
|
53
|
+
class TestConfig {
|
|
54
|
+
path = "/foo";
|
|
55
|
+
}
|
|
56
|
+
const injector = new DOMInjector({
|
|
57
|
+
providers: [[TestConfig, { factory: () => ({ path: "/bar" }) }]],
|
|
58
|
+
});
|
|
59
|
+
injector.attach(document.body);
|
|
60
|
+
let MyElement = (() => {
|
|
61
|
+
let _classDecorators = [injectable()];
|
|
62
|
+
let _classDescriptor;
|
|
63
|
+
let _classExtraInitializers = [];
|
|
64
|
+
let _classThis;
|
|
65
|
+
let _classSuper = HTMLElement;
|
|
66
|
+
var MyElement = class extends _classSuper {
|
|
67
|
+
static { _classThis = this; }
|
|
68
|
+
static {
|
|
69
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
70
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
71
|
+
MyElement = _classThis = _classDescriptor.value;
|
|
72
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
73
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
74
|
+
}
|
|
75
|
+
#config = inject(TestConfig);
|
|
76
|
+
connectedCallback() {
|
|
77
|
+
const config = this.#config();
|
|
78
|
+
assert.equal(config.path, "/bar");
|
|
79
|
+
done();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
return MyElement = _classThis;
|
|
83
|
+
})();
|
|
84
|
+
customElements.define("dom-injector-test", MyElement);
|
|
85
|
+
const child = new MyElement();
|
|
86
|
+
document.body.append(child);
|
|
87
|
+
child.remove();
|
|
88
|
+
injector.detach();
|
|
89
|
+
});
|
|
41
90
|
//# sourceMappingURL=dom-injector.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-injector.test.js","sourceRoot":"","sources":["../../../src/lib/dom/dom-injector.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"dom-injector.test.js","sourceRoot":"","sources":["../../../src/lib/dom/dom-injector.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export function injectableEl(Base, ctx) {
|
|
|
18
18
|
callLifecycle(this, injector, metadata?.onCreated);
|
|
19
19
|
}
|
|
20
20
|
connectedCallback() {
|
|
21
|
+
console.log("TEST----");
|
|
21
22
|
this.dispatchEvent(new ContextRequestEvent(INJECTOR_CTX, (ctx) => {
|
|
22
23
|
this[INJECTOR].parent = ctx;
|
|
23
24
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable-el.js","sourceRoot":"","sources":["../../../src/lib/dom/injectable-el.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,MAAM,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"injectable-el.js","sourceRoot":"","sources":["../../../src/lib/dom/injectable-el.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,MAAM,UAAU,YAAY,CAC1B,IAAO,EACP,GAA0B;IAE1B,MAAM,QAAQ,GAAqC,GAAG,CAAC,QAAQ,CAAC;IAEhE,MAAM,GAAG,GAAG;QACV,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAM,SAAQ,IAAI;YAC7B,YAAY,GAAG,CAAQ;gBACrB,KAAK,EAAE,CAAC;gBAER,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEhC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;wBACpD,CAAC,CAAC,eAAe,EAAE,CAAC;wBAEpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YAED,iBAAiB;gBACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAExB,IAAI,CAAC,aAAa,CAChB,IAAI,mBAAmB,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC5C,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;gBAC9B,CAAC,CAAC,CACH,CAAC;gBAEF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAE1D,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,oBAAoB;gBAIlB,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;YACpC,CAAC;SACF;KACF,CAAC;IAEF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|