@timeback/sdk 0.1.5 → 0.1.7

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.
Files changed (123) hide show
  1. package/README.md +21 -22
  2. package/dist/client/adapters/react/hooks/types.d.ts +15 -0
  3. package/dist/client/adapters/react/hooks/types.d.ts.map +1 -0
  4. package/dist/client/adapters/react/hooks/useTimebackVerification.d.ts +18 -0
  5. package/dist/client/adapters/react/hooks/useTimebackVerification.d.ts.map +1 -0
  6. package/dist/client/adapters/react/index.d.ts +2 -0
  7. package/dist/client/adapters/react/index.d.ts.map +1 -1
  8. package/dist/client/adapters/react/index.js +139 -9
  9. package/dist/client/auth/bearer.d.ts +17 -0
  10. package/dist/client/auth/bearer.d.ts.map +1 -0
  11. package/dist/client/auth/index.d.ts +3 -0
  12. package/dist/client/auth/index.d.ts.map +1 -0
  13. package/dist/client/auth/types.d.ts +39 -0
  14. package/dist/client/auth/types.d.ts.map +1 -0
  15. package/dist/client/index.d.ts +2 -0
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/lib/fetch.d.ts +19 -0
  18. package/dist/client/lib/fetch.d.ts.map +1 -0
  19. package/dist/client/namespaces/user.d.ts +25 -2
  20. package/dist/client/namespaces/user.d.ts.map +1 -1
  21. package/dist/client/timeback-client.class.d.ts +15 -0
  22. package/dist/client/timeback-client.class.d.ts.map +1 -1
  23. package/dist/client/timeback-client.d.ts +3 -0
  24. package/dist/client/timeback-client.d.ts.map +1 -1
  25. package/dist/client.d.ts +2 -1
  26. package/dist/client.d.ts.map +1 -1
  27. package/dist/client.js +69 -6
  28. package/dist/edge.d.ts +1 -1
  29. package/dist/edge.js +85291 -169
  30. package/dist/identity.js +85186 -74
  31. package/dist/index.js +1289 -840
  32. package/dist/server/adapters/express.d.ts.map +1 -1
  33. package/dist/server/adapters/express.js +489 -388
  34. package/dist/server/adapters/native.d.ts.map +1 -1
  35. package/dist/server/adapters/native.js +32 -1
  36. package/dist/server/adapters/nextjs.js +32 -1
  37. package/dist/server/adapters/nuxt.d.ts.map +1 -1
  38. package/dist/server/adapters/nuxt.js +493 -388
  39. package/dist/server/adapters/solid-start.d.ts.map +1 -1
  40. package/dist/server/adapters/solid-start.js +493 -388
  41. package/dist/server/adapters/svelte-kit.d.ts.map +1 -1
  42. package/dist/server/adapters/svelte-kit.js +37 -1
  43. package/dist/server/adapters/tanstack-start.d.ts.map +1 -1
  44. package/dist/server/adapters/tanstack-start.js +488 -388
  45. package/dist/server/adapters/utils.d.ts +1 -1
  46. package/dist/server/adapters/utils.d.ts.map +1 -1
  47. package/dist/server/{lib/build-activity-events.d.ts → handlers/activity/caliper.d.ts} +29 -4
  48. package/dist/server/handlers/activity/caliper.d.ts.map +1 -0
  49. package/dist/server/handlers/activity/gradebook.d.ts +56 -0
  50. package/dist/server/handlers/activity/gradebook.d.ts.map +1 -0
  51. package/dist/server/handlers/activity/handler.d.ts +15 -0
  52. package/dist/server/handlers/activity/handler.d.ts.map +1 -0
  53. package/dist/server/handlers/activity/index.d.ts +9 -0
  54. package/dist/server/handlers/activity/index.d.ts.map +1 -0
  55. package/dist/server/handlers/activity/resolve.d.ts +39 -0
  56. package/dist/server/handlers/activity/resolve.d.ts.map +1 -0
  57. package/dist/server/handlers/activity/schema.d.ts +52 -0
  58. package/dist/server/handlers/activity/schema.d.ts.map +1 -0
  59. package/dist/server/handlers/activity/types.d.ts +52 -0
  60. package/dist/server/handlers/activity/types.d.ts.map +1 -0
  61. package/dist/server/handlers/identity/handler.d.ts +14 -0
  62. package/dist/server/handlers/identity/handler.d.ts.map +1 -0
  63. package/dist/server/handlers/identity/index.d.ts +8 -0
  64. package/dist/server/handlers/identity/index.d.ts.map +1 -0
  65. package/dist/server/handlers/identity/oidc.d.ts +43 -0
  66. package/dist/server/handlers/identity/oidc.d.ts.map +1 -0
  67. package/dist/server/handlers/identity/types.d.ts +24 -0
  68. package/dist/server/handlers/identity/types.d.ts.map +1 -0
  69. package/dist/server/handlers/identity-only/handler.d.ts +15 -0
  70. package/dist/server/handlers/identity-only/handler.d.ts.map +1 -0
  71. package/dist/server/handlers/identity-only/index.d.ts +8 -0
  72. package/dist/server/handlers/identity-only/index.d.ts.map +1 -0
  73. package/dist/server/handlers/identity-only/oidc.d.ts +26 -0
  74. package/dist/server/handlers/identity-only/oidc.d.ts.map +1 -0
  75. package/dist/server/handlers/identity-only/types.d.ts +19 -0
  76. package/dist/server/handlers/identity-only/types.d.ts.map +1 -0
  77. package/dist/server/handlers/index.d.ts +5 -2
  78. package/dist/server/handlers/index.d.ts.map +1 -1
  79. package/dist/server/{lib/build-user-profile.d.ts → handlers/user/enrollments.d.ts} +7 -2
  80. package/dist/server/handlers/user/enrollments.d.ts.map +1 -0
  81. package/dist/server/handlers/user/handler.d.ts +17 -0
  82. package/dist/server/handlers/user/handler.d.ts.map +1 -0
  83. package/dist/server/handlers/user/index.d.ts +10 -0
  84. package/dist/server/handlers/user/index.d.ts.map +1 -0
  85. package/dist/server/handlers/user/profile.d.ts +22 -0
  86. package/dist/server/handlers/user/profile.d.ts.map +1 -0
  87. package/dist/server/handlers/user/types.d.ts +35 -0
  88. package/dist/server/handlers/user/types.d.ts.map +1 -0
  89. package/dist/server/handlers/user/verify.d.ts +25 -0
  90. package/dist/server/handlers/user/verify.d.ts.map +1 -0
  91. package/dist/server/index.d.ts +1 -1
  92. package/dist/server/index.d.ts.map +1 -1
  93. package/dist/server/lib/index.d.ts +4 -5
  94. package/dist/server/lib/index.d.ts.map +1 -1
  95. package/dist/server/lib/resolve.d.ts +4 -42
  96. package/dist/server/lib/resolve.d.ts.map +1 -1
  97. package/dist/server/lib/sso.d.ts +86 -0
  98. package/dist/server/lib/sso.d.ts.map +1 -0
  99. package/dist/server/lib/utils.d.ts +32 -1
  100. package/dist/server/lib/utils.d.ts.map +1 -1
  101. package/dist/server/timeback-identity.d.ts +2 -2
  102. package/dist/server/timeback-identity.d.ts.map +1 -1
  103. package/dist/server/timeback.d.ts.map +1 -1
  104. package/dist/server/types.d.ts +19 -12
  105. package/dist/server/types.d.ts.map +1 -1
  106. package/dist/shared/constants.d.ts +1 -0
  107. package/dist/shared/constants.d.ts.map +1 -1
  108. package/dist/shared/types.d.ts +18 -3
  109. package/dist/shared/types.d.ts.map +1 -1
  110. package/package.json +7 -7
  111. package/dist/config.d.ts +0 -20
  112. package/dist/config.d.ts.map +0 -1
  113. package/dist/config.js +0 -0
  114. package/dist/server/handlers/activity.d.ts +0 -25
  115. package/dist/server/handlers/activity.d.ts.map +0 -1
  116. package/dist/server/handlers/identity-full.d.ts +0 -28
  117. package/dist/server/handlers/identity-full.d.ts.map +0 -1
  118. package/dist/server/handlers/identity-only.d.ts +0 -22
  119. package/dist/server/handlers/identity-only.d.ts.map +0 -1
  120. package/dist/server/handlers/user.d.ts +0 -31
  121. package/dist/server/handlers/user.d.ts.map +0 -1
  122. package/dist/server/lib/build-activity-events.d.ts.map +0 -1
  123. package/dist/server/lib/build-user-profile.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/sdk",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Timeback SDK for frontend and backend integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -12,10 +12,6 @@
12
12
  "types": "./dist/client.d.ts",
13
13
  "import": "./dist/client.js"
14
14
  },
15
- "./config": {
16
- "types": "./dist/config.d.ts",
17
- "import": "./dist/config.js"
18
- },
19
15
  "./identity": {
20
16
  "types": "./dist/identity.d.ts",
21
17
  "import": "./dist/identity.js"
@@ -78,18 +74,22 @@
78
74
  ],
79
75
  "scripts": {
80
76
  "build": "bun build.ts",
81
- "test": "bun test --no-env-file unit.test.ts"
77
+ "test": "bun test --no-env-file unit.test.ts",
78
+ "test:e2e": "bun test --no-env-file e2e.test.ts"
82
79
  },
83
80
  "dependencies": {
84
81
  "@timeback/core": "0.1.3",
85
- "jiti": "^2.6.1",
82
+ "c12": "^3.3.3",
86
83
  "zod": "^4.2.1"
87
84
  },
88
85
  "devDependencies": {
89
86
  "@timeback/caliper": "0.1.2",
90
87
  "@timeback/internal-cli-infra": "0.0.0",
88
+ "@timeback/internal-client-infra": "0.0.0",
91
89
  "@timeback/internal-logger": "0.0.0",
90
+ "@timeback/internal-test": "0.0.0",
92
91
  "@timeback/internal-utils": "0.0.0",
92
+ "@timeback/oneroster": "0.1.3",
93
93
  "@timeback/types": "0.0.0",
94
94
  "@types/bun": "latest",
95
95
  "@types/express": "^5.0.6",
package/dist/config.d.ts DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * Types for `timeback.config.ts` (app configuration).
3
- *
4
- * This module is intended to be imported via the subpath export:
5
- *
6
- * ```ts
7
- * import type { TimebackConfig } from '@timeback/sdk/config'
8
- * ```
9
- *
10
- * Note: `TimebackConfig` here refers to the **app config file** shape, not the
11
- * SDK initialization config exported from `timeback`'s main entrypoint.
12
- */
13
- /**
14
- * App configuration type used by `timeback.config.ts`.
15
- *
16
- * Alias of `AppConfig`, exported under the name commonly used by consumers.
17
- */
18
- export type { AppConfig as TimebackConfig, AppConfig } from './server/types';
19
- export {};
20
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,YAAY,EAAE,SAAS,IAAI,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAE,CAAA"}
package/dist/config.js DELETED
File without changes
@@ -1,25 +0,0 @@
1
- /**
2
- * Activity Handlers
3
- *
4
- * Route handlers for activity tracking.
5
- */
6
- import type { ApiCredentials, AppConfig, Environment, IdentityConfig, TimebackConfig } from '../types';
7
- /** Configuration for the activity handler. */
8
- interface ActivityHandlerConfig {
9
- env: Environment;
10
- identity: IdentityConfig;
11
- appConfig: AppConfig;
12
- api: ApiCredentials;
13
- hooks?: TimebackConfig['hooks'];
14
- }
15
- /** Activity handler type. */
16
- type ActivityHandler = (req: Request) => Promise<Response>;
17
- /**
18
- * Create the activity POST handler.
19
- *
20
- * @param config - Handler configuration
21
- * @returns The activity request handler
22
- */
23
- export declare function createActivityHandler(config: ActivityHandlerConfig): ActivityHandler;
24
- export {};
25
- //# sourceMappingURL=activity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/activity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH,OAAO,KAAK,EAEX,cAAc,EACd,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,MAAM,UAAU,CAAA;AA4CjB,8CAA8C;AAC9C,UAAU,qBAAqB;IAC9B,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;CAC/B;AAED,6BAA6B;AAC7B,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AA4S1D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAmFpF"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Identity Handlers (full SDK)
3
- *
4
- * This module includes Timeback user resolution and therefore depends on Timeback API access.
5
- */
6
- import type { TimebackClient } from '@timeback/core';
7
- import type { ApiCredentials, Environment, IdentityConfig } from '../types';
8
- type FullIdentityHandlerParams<TState = unknown> = {
9
- env: Environment;
10
- identity: IdentityConfig<TState>;
11
- api: {
12
- credentials: ApiCredentials;
13
- getClient: () => TimebackClient;
14
- };
15
- };
16
- /**
17
- * Create identity route handlers (full SDK).
18
- *
19
- * @param params - Handler configuration
20
- * @returns Identity handlers
21
- */
22
- export declare function createIdentityHandlers<TState = unknown>(params: FullIdentityHandlerParams<TState>): {
23
- signIn: (req: Request) => Promise<Response>;
24
- callback: (req: Request) => Promise<Response>;
25
- signOut: () => Response;
26
- };
27
- export {};
28
- //# sourceMappingURL=identity-full.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-full.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/identity-full.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACX,cAAc,EAGd,WAAW,EACX,cAAc,EAEd,MAAM,UAAU,CAAA;AAEjB,KAAK,yBAAyB,CAAC,MAAM,GAAG,OAAO,IAAI;IAClD,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAChC,GAAG,EAAE;QACJ,WAAW,EAAE,cAAc,CAAA;QAC3B,SAAS,EAAE,MAAM,cAAc,CAAA;KAC/B,CAAA;CACD,CAAA;AAwQD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAG,OAAO,EACtD,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,GACvC;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,OAAO,EAAE,MAAM,QAAQ,CAAA;CACvB,CAQA"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Identity Handlers (identity-only)
3
- *
4
- * This module is intentionally minimal and does NOT import Timeback API client code.
5
- * It is safe to include in edge runtimes (e.g. Cloudflare Workers / workerd).
6
- */
7
- import type { Environment, IdentityOnlyCallbackSuccessContext, SsoIdentityConfig } from '../types';
8
- /**
9
- * Create identity route handlers (identity-only mode).
10
- *
11
- * @param params - Handler configuration
12
- * @returns Identity-only handlers
13
- */
14
- export declare function createIdentityOnlyHandlers<TState = unknown>(params: {
15
- env: Environment;
16
- identity: SsoIdentityConfig<TState, IdentityOnlyCallbackSuccessContext<TState>>;
17
- }): {
18
- signIn: (req: Request) => Promise<Response>;
19
- callback: (req: Request) => Promise<Response>;
20
- signOut: () => Response;
21
- };
22
- //# sourceMappingURL=identity-only.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-only.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/identity-only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAEX,WAAW,EACX,kCAAkC,EAClC,iBAAiB,EACjB,MAAM,UAAU,CAAA;AAuPjB;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE;IACpE,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,iBAAiB,CAAC,MAAM,EAAE,kCAAkC,CAAC,MAAM,CAAC,CAAC,CAAA;CAC/E;;;;EAYA"}
@@ -1,31 +0,0 @@
1
- /**
2
- * User Handlers
3
- *
4
- * Route handlers for user profile data.
5
- */
6
- import type { ApiCredentials, AppConfig, Environment, IdentityConfig } from '../types';
7
- /**
8
- * Configuration for the user handler.
9
- */
10
- interface UserHandlerConfig {
11
- env: Environment;
12
- identity: IdentityConfig;
13
- api: ApiCredentials;
14
- appConfig: AppConfig;
15
- }
16
- /**
17
- * User handler type.
18
- */
19
- type UserHandler = (req: Request) => Promise<Response>;
20
- /**
21
- * Create the user profile handler.
22
- *
23
- * Returns the current user's profile, including identity and enriched data
24
- * from the Timeback API.
25
- *
26
- * @param config - Handler configuration
27
- * @returns The user profile request handler
28
- */
29
- export declare function createUserHandler(config: UserHandlerConfig): UserHandler;
30
- export {};
31
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAItF;;GAEG;AACH,UAAU,iBAAiB;IAC1B,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAuGxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-activity-events.d.ts","sourceRoot":"","sources":["../../../src/server/lib/build-activity-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EAEtB,cAAc,EACd,eAAe,EACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAqB,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACpD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,CAAA;IAEtC,YAAY,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,YAAY,EAW9E;CACD;AA8CD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,YAAY,MAAM,EAAE,MAAM,EAMzB;CACD;AAiED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,GAAG,YAAY,EAChC,MAAM,EAAE,MAAM,GACZ,uBAAuB,CAYzB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,sBAAsB,EAAE,CAoBvF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CAQ5F;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,sBAAsB,EACrC,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-user-profile.d.ts","sourceRoot":"","sources":["../../../src/server/lib/build-user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,KAAK,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAErF,KAAK,cAAc,GAAG;IACrB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CACtC,CAAA;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,CAAA;AAEhG;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,MAAM,EAAE,SAAS,GAAG,YAAY,GAC9B,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAW3C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,cAAc,EAAE,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GACnD,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAUnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,WAAW,EAAE,cAAc,EAAE,GAC3B,eAAe,GAAG,SAAS,CAE7B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAQrE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CASlD"}