@effect-app/vue 2.29.0 → 2.30.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.
- package/CHANGELOG.md +12 -0
- package/dist/lib.d.ts +2 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +17 -23
- package/package.json +11 -11
- package/src/lib.ts +26 -31
- package/test/dist/form.test.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 2.30.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8be2984: housekeeping: update packages
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [10a8adf]
|
|
12
|
+
- Updated dependencies [8be2984]
|
|
13
|
+
- effect-app@2.30.0
|
|
14
|
+
|
|
3
15
|
## 2.29.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/lib.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Pausable, type UseIntervalFnOptions } from "@vueuse/core";
|
|
2
|
-
import type { Runtime } from "effect-app";
|
|
3
|
-
import { Cause
|
|
2
|
+
import type { Effect, Runtime } from "effect-app";
|
|
3
|
+
import { Cause } from "effect-app";
|
|
4
4
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor";
|
|
5
5
|
import type { MaybeRefOrGetter, ShallowRef } from "vue";
|
|
6
6
|
export * as Result from "@effect-rx/rx/Result";
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAGvD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AA0B9C,eAAO,MAAM,kBAAkB,UAAW,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,yCAC/B,CAAA;AAI3D,eAAO,MAAM,YAAY,aAAc;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,0BAGxC,CAAA;AAEf,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,oBAM5B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;;EAU1D;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,uBAGhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EAC5D,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAClD,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACxE,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EACzD,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EACtC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpD,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;CAMtC,CAAA"}
|
package/dist/lib.js
CHANGED
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
import { isHttpClientError } from "@effect/platform/HttpClientError";
|
|
2
2
|
import { useIntervalFn } from "@vueuse/core";
|
|
3
|
-
import { Cause,
|
|
3
|
+
import { Cause, LogLevel, pipe } from "effect-app";
|
|
4
4
|
import { reportError } from "./errorReporter.js";
|
|
5
5
|
export * as Result from "@effect-rx/rx/Result";
|
|
6
6
|
const reportRuntimeError_ = reportError("Runtime");
|
|
7
|
-
|
|
7
|
+
const determineLevel = (cause) => {
|
|
8
8
|
const sq = Cause.squash(cause);
|
|
9
9
|
if (!isHttpClientError(sq)) {
|
|
10
10
|
// TODO: we should only skip this on Configurator/Magento...
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
return yield* reportRuntimeError_(cause, extras);
|
|
11
|
+
return String(sq).includes("@effect/rpc: handler must return an array of responses with the same length as the requests.")
|
|
12
|
+
? LogLevel.Warning
|
|
13
|
+
: undefined;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
switch (sq._tag) {
|
|
16
|
+
case "RequestError":
|
|
17
|
+
return sq.reason === "Transport" ? LogLevel.Info : undefined;
|
|
18
|
+
case "ResponseError":
|
|
19
|
+
return sq.reason === "Decode"
|
|
20
|
+
// we get this incase of Magento Proxy error (e.g returning 500 with html)
|
|
21
|
+
// TODO: we should only skip this on Configurator/Magento...
|
|
22
|
+
? LogLevel.Warning
|
|
23
|
+
: undefined;
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// we get this incase of Magento Proxy error :/
|
|
26
|
-
// TODO: we should only skip this on Configurator/Magento...
|
|
27
|
-
yield* reportRuntimeError_(cause, extras, LogLevel.Warning);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return yield* reportRuntimeError_(cause, extras);
|
|
32
|
-
});
|
|
25
|
+
};
|
|
26
|
+
export const reportRuntimeError = (cause, extras) => reportRuntimeError_(cause, extras, determineLevel(cause));
|
|
33
27
|
// $Project/$Configuration.Index
|
|
34
28
|
// -> "$Project", "$Configuration", "Index"
|
|
35
29
|
export const makeQueryKey = ({ name }) => pipe(name.split("/"), (split) => split.map((_) => "$" + _))
|
|
@@ -62,4 +56,4 @@ export const mapHandler = (self, map) => ({
|
|
|
62
56
|
? (i) => map(self.handler)(i)
|
|
63
57
|
: map(self.handler)
|
|
64
58
|
});
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNwRSxPQUFPLEVBQWlCLGFBQWEsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVoRCxPQUFPLEtBQUssTUFBTSxNQUFNLHNCQUFzQixDQUFBO0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWxELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsNERBQTREO1FBQzVELE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FDdEIsOEZBQThGLENBQy9GO1lBQ0QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDZixDQUFDO0lBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUM5RCxLQUFLLGVBQWU7WUFDbEIsT0FBTyxFQUFFLENBQUMsTUFBTSxLQUFLLFFBQVE7Z0JBQzNCLDBFQUEwRTtnQkFDMUUsNERBQTREO2dCQUM1RCxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU87Z0JBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDakIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDNUYsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUUzRCxnQ0FBZ0M7QUFDaEMsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFvQixFQUFFLEVBQUUsQ0FDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRWYsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxFQUFZLEVBQ1osR0FBMkI7SUFFM0IsT0FBTyxPQUFPO1NBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLEdBQTJCLEVBQzNCLFFBQW1DLEVBQ25DLE9BQXlEO0lBRXpELE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FDdEIsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUNuQyxRQUFRLEVBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzdELENBQUE7SUFDRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRO0tBQ3RCLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksT0FBbUQsRUFBRSxFQUFFO0lBQ25GLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUM3RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUE7QUFDdEIsQ0FBQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQVNuQixDQUFDLElBQVMsRUFBRSxHQUFRLEVBQU8sRUFBRSxDQUFDLENBQUM7SUFDakMsR0FBRyxJQUFJO0lBQ1AsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVO1FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUE0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztDQUN0QixDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.30.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@formatjs/intl": "^3.1.4",
|
|
9
|
-
"@tanstack/vue-query": "^5.66.
|
|
9
|
+
"@tanstack/vue-query": "^5.66.9",
|
|
10
10
|
"@vueuse/core": "^12.7.0",
|
|
11
11
|
"query-string": "^9.1.1",
|
|
12
|
-
"effect-app": "2.
|
|
12
|
+
"effect-app": "2.30.0"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@effect/platform": "^0.77.
|
|
16
|
-
"@effect/platform-browser": "^0.56.
|
|
15
|
+
"@effect/platform": "^0.77.3",
|
|
16
|
+
"@effect/platform-browser": "^0.56.3",
|
|
17
17
|
"@effect-rx/rx": "^0.34.7",
|
|
18
18
|
"@effect-rx/rx-vue": "^0.11.7",
|
|
19
|
-
"@sentry/browser": "^9.
|
|
20
|
-
"effect": "^3.13.
|
|
19
|
+
"@sentry/browser": "^9.2.0",
|
|
20
|
+
"effect": "^3.13.3",
|
|
21
21
|
"vue": "^3.5.13"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
27
27
|
"@babel/plugin-syntax-import-attributes": "^7.26.0",
|
|
28
28
|
"@babel/plugin-transform-modules-commonjs": "^7.26.3",
|
|
29
|
-
"babel-plugin-replace-import-extension": "^1.1.
|
|
29
|
+
"babel-plugin-replace-import-extension": "^1.1.5",
|
|
30
30
|
"@rollup/pluginutils": "^5.1.4",
|
|
31
|
-
"@types/node": "~22.13.
|
|
31
|
+
"@types/node": "~22.13.5",
|
|
32
32
|
"intl-messageformat": "^10.7.15",
|
|
33
33
|
"json5": "^2.2.3",
|
|
34
34
|
"typescript": "^5.7.3",
|
|
35
|
-
"vite": "^6.
|
|
36
|
-
"vitest": "^3.0.
|
|
35
|
+
"vite": "^6.2.0",
|
|
36
|
+
"vitest": "^3.0.7"
|
|
37
37
|
},
|
|
38
38
|
"typesVersions": {
|
|
39
39
|
"*": {
|
package/src/lib.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isHttpClientError } from "@effect/platform/HttpClientError"
|
|
2
2
|
import { type Pausable, useIntervalFn, type UseIntervalFnOptions } from "@vueuse/core"
|
|
3
|
-
import type { Runtime } from "effect-app"
|
|
4
|
-
import { Cause,
|
|
3
|
+
import type { Effect, Runtime } from "effect-app"
|
|
4
|
+
import { Cause, LogLevel, pipe } from "effect-app"
|
|
5
5
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
|
|
6
6
|
import type { MaybeRefOrGetter, ShallowRef } from "vue"
|
|
7
7
|
import { reportError } from "./errorReporter.js"
|
|
@@ -9,36 +9,31 @@ import { reportError } from "./errorReporter.js"
|
|
|
9
9
|
export * as Result from "@effect-rx/rx/Result"
|
|
10
10
|
|
|
11
11
|
const reportRuntimeError_ = reportError("Runtime")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
yield* reportRuntimeError_(cause, extras, LogLevel.Info)
|
|
30
|
-
return
|
|
31
|
-
}
|
|
32
|
-
} else if (sq._tag === "ResponseError") {
|
|
33
|
-
if (sq.reason === "Decode") {
|
|
34
|
-
// we get this incase of Magento Proxy error :/
|
|
12
|
+
|
|
13
|
+
const determineLevel = (cause: Cause<unknown>) => {
|
|
14
|
+
const sq = Cause.squash(cause)
|
|
15
|
+
if (!isHttpClientError(sq)) {
|
|
16
|
+
// TODO: we should only skip this on Configurator/Magento...
|
|
17
|
+
return String(sq).includes(
|
|
18
|
+
"@effect/rpc: handler must return an array of responses with the same length as the requests."
|
|
19
|
+
)
|
|
20
|
+
? LogLevel.Warning
|
|
21
|
+
: undefined
|
|
22
|
+
}
|
|
23
|
+
switch (sq._tag) {
|
|
24
|
+
case "RequestError":
|
|
25
|
+
return sq.reason === "Transport" ? LogLevel.Info : undefined
|
|
26
|
+
case "ResponseError":
|
|
27
|
+
return sq.reason === "Decode"
|
|
28
|
+
// we get this incase of Magento Proxy error (e.g returning 500 with html)
|
|
35
29
|
// TODO: we should only skip this on Configurator/Magento...
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
? LogLevel.Warning
|
|
31
|
+
: undefined
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const reportRuntimeError = (cause: Cause<unknown>, extras?: Record<string, unknown>) =>
|
|
36
|
+
reportRuntimeError_(cause, extras, determineLevel(cause))
|
|
42
37
|
|
|
43
38
|
// $Project/$Configuration.Index
|
|
44
39
|
// -> "$Project", "$Configuration", "Index"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI9B,qBAAa,YAAa,SAAQ,iBAShC;CAAG;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAEvC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAK/B;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;;;;;;AAEL,cAAM,QAAS,SAAQ,aAGrB;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG"}
|