@undefineds.co/drizzle-solid 0.2.6 → 0.2.8
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/dist/core/ast-to-sparql.d.ts +1 -6
- package/dist/core/ast-to-sparql.d.ts.map +1 -1
- package/dist/core/ast-to-sparql.js +3 -22
- package/dist/core/ast-to-sparql.js.map +1 -1
- package/dist/core/execution/ldp-executor.d.ts +8 -7
- package/dist/core/execution/ldp-executor.d.ts.map +1 -1
- package/dist/core/execution/ldp-executor.js +165 -136
- package/dist/core/execution/ldp-executor.js.map +1 -1
- package/dist/core/execution/ldp-strategy.js +1 -1
- package/dist/core/execution/ldp-strategy.js.map +1 -1
- package/dist/core/execution/pod-executor.d.ts.map +1 -1
- package/dist/core/execution/pod-executor.js +9 -0
- package/dist/core/execution/pod-executor.js.map +1 -1
- package/dist/core/execution/sparql-strategy.d.ts +7 -26
- package/dist/core/execution/sparql-strategy.d.ts.map +1 -1
- package/dist/core/execution/sparql-strategy.js +65 -111
- package/dist/core/execution/sparql-strategy.js.map +1 -1
- package/dist/core/execution/types.d.ts +8 -8
- package/dist/core/execution/types.d.ts.map +1 -1
- package/dist/core/federated/executor.d.ts +3 -0
- package/dist/core/federated/executor.d.ts.map +1 -1
- package/dist/core/federated/executor.js +13 -8
- package/dist/core/federated/executor.js.map +1 -1
- package/dist/core/pod-database.d.ts +0 -4
- package/dist/core/pod-database.d.ts.map +1 -1
- package/dist/core/pod-database.js +10 -32
- package/dist/core/pod-database.js.map +1 -1
- package/dist/core/pod-dialect.d.ts +0 -24
- package/dist/core/pod-dialect.d.ts.map +1 -1
- package/dist/core/pod-dialect.js +0 -182
- package/dist/core/pod-dialect.js.map +1 -1
- package/dist/core/pod-session.d.ts +6 -2
- package/dist/core/pod-session.d.ts.map +1 -1
- package/dist/core/pod-session.js +8 -2
- package/dist/core/pod-session.js.map +1 -1
- package/dist/core/query-builders/select-query-builder.d.ts +7 -0
- package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/dist/core/query-builders/select-query-builder.js +56 -14
- package/dist/core/query-builders/select-query-builder.js.map +1 -1
- package/dist/core/query-conditions.d.ts.map +1 -1
- package/dist/core/query-conditions.js.map +1 -1
- package/dist/core/resource-resolver/base-resolver.d.ts +74 -3
- package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/dist/core/resource-resolver/base-resolver.js +221 -0
- package/dist/core/resource-resolver/base-resolver.js.map +1 -1
- package/dist/core/resource-resolver/document-resolver.d.ts +19 -4
- package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
- package/dist/core/resource-resolver/document-resolver.js +72 -34
- package/dist/core/resource-resolver/document-resolver.js.map +1 -1
- package/dist/core/resource-resolver/fragment-resolver.d.ts +17 -3
- package/dist/core/resource-resolver/fragment-resolver.d.ts.map +1 -1
- package/dist/core/resource-resolver/fragment-resolver.js +28 -16
- package/dist/core/resource-resolver/fragment-resolver.js.map +1 -1
- package/dist/core/resource-resolver/types.d.ts +1 -1
- package/dist/core/resource-resolver/types.d.ts.map +1 -1
- package/dist/core/schema/pod-table.d.ts +6 -0
- package/dist/core/schema/pod-table.d.ts.map +1 -1
- package/dist/core/schema/pod-table.js +18 -9
- package/dist/core/schema/pod-table.js.map +1 -1
- package/dist/core/sparql/builder/expression-builder.d.ts +1 -0
- package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/dist/core/sparql/builder/expression-builder.js +50 -7
- package/dist/core/sparql/builder/expression-builder.js.map +1 -1
- package/dist/core/subject/resolver.d.ts +19 -0
- package/dist/core/subject/resolver.d.ts.map +1 -1
- package/dist/core/subject/resolver.js +77 -21
- package/dist/core/subject/resolver.js.map +1 -1
- package/dist/core/subject/types.d.ts +8 -1
- package/dist/core/subject/types.d.ts.map +1 -1
- package/dist/core/triple/builder.d.ts.map +1 -1
- package/dist/core/triple/builder.js +38 -1
- package/dist/core/triple/builder.js.map +1 -1
- package/dist/core/triple/handlers/inverse.d.ts +6 -2
- package/dist/core/triple/handlers/inverse.d.ts.map +1 -1
- package/dist/core/triple/handlers/inverse.js +37 -16
- package/dist/core/triple/handlers/inverse.js.map +1 -1
- package/dist/core/uri/resolver.d.ts +66 -2
- package/dist/core/uri/resolver.d.ts.map +1 -1
- package/dist/core/uri/resolver.js +212 -80
- package/dist/core/uri/resolver.js.map +1 -1
- package/dist/core/uri/types.d.ts +8 -1
- package/dist/core/uri/types.d.ts.map +1 -1
- package/dist/esm/core/ast-to-sparql.d.ts +1 -6
- package/dist/esm/core/ast-to-sparql.d.ts.map +1 -1
- package/dist/esm/core/ast-to-sparql.js +3 -22
- package/dist/esm/core/ast-to-sparql.js.map +1 -1
- package/dist/esm/core/execution/ldp-executor.d.ts +8 -7
- package/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
- package/dist/esm/core/execution/ldp-executor.js +165 -136
- package/dist/esm/core/execution/ldp-executor.js.map +1 -1
- package/dist/esm/core/execution/ldp-strategy.js +1 -1
- package/dist/esm/core/execution/ldp-strategy.js.map +1 -1
- package/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
- package/dist/esm/core/execution/pod-executor.js +9 -0
- package/dist/esm/core/execution/pod-executor.js.map +1 -1
- package/dist/esm/core/execution/sparql-strategy.d.ts +7 -26
- package/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
- package/dist/esm/core/execution/sparql-strategy.js +65 -111
- package/dist/esm/core/execution/sparql-strategy.js.map +1 -1
- package/dist/esm/core/execution/types.d.ts +8 -8
- package/dist/esm/core/execution/types.d.ts.map +1 -1
- package/dist/esm/core/federated/executor.d.ts +3 -0
- package/dist/esm/core/federated/executor.d.ts.map +1 -1
- package/dist/esm/core/federated/executor.js +13 -8
- package/dist/esm/core/federated/executor.js.map +1 -1
- package/dist/esm/core/pod-database.d.ts +0 -4
- package/dist/esm/core/pod-database.d.ts.map +1 -1
- package/dist/esm/core/pod-database.js +10 -32
- package/dist/esm/core/pod-database.js.map +1 -1
- package/dist/esm/core/pod-dialect.d.ts +0 -24
- package/dist/esm/core/pod-dialect.d.ts.map +1 -1
- package/dist/esm/core/pod-dialect.js +0 -182
- package/dist/esm/core/pod-dialect.js.map +1 -1
- package/dist/esm/core/pod-session.d.ts +6 -2
- package/dist/esm/core/pod-session.d.ts.map +1 -1
- package/dist/esm/core/pod-session.js +8 -2
- package/dist/esm/core/pod-session.js.map +1 -1
- package/dist/esm/core/query-builders/select-query-builder.d.ts +7 -0
- package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/dist/esm/core/query-builders/select-query-builder.js +56 -14
- package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
- package/dist/esm/core/query-conditions.d.ts.map +1 -1
- package/dist/esm/core/query-conditions.js.map +1 -1
- package/dist/esm/core/resource-resolver/base-resolver.d.ts +74 -3
- package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/dist/esm/core/resource-resolver/base-resolver.js +221 -0
- package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
- package/dist/esm/core/resource-resolver/document-resolver.d.ts +19 -4
- package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
- package/dist/esm/core/resource-resolver/document-resolver.js +72 -34
- package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
- package/dist/esm/core/resource-resolver/fragment-resolver.d.ts +17 -3
- package/dist/esm/core/resource-resolver/fragment-resolver.d.ts.map +1 -1
- package/dist/esm/core/resource-resolver/fragment-resolver.js +28 -16
- package/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -1
- package/dist/esm/core/resource-resolver/types.d.ts +1 -1
- package/dist/esm/core/resource-resolver/types.d.ts.map +1 -1
- package/dist/esm/core/schema/pod-table.d.ts +6 -0
- package/dist/esm/core/schema/pod-table.d.ts.map +1 -1
- package/dist/esm/core/schema/pod-table.js +18 -9
- package/dist/esm/core/schema/pod-table.js.map +1 -1
- package/dist/esm/core/sparql/builder/expression-builder.d.ts +1 -0
- package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
- package/dist/esm/core/sparql/builder/expression-builder.js +50 -7
- package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
- package/dist/esm/core/subject/resolver.d.ts +19 -0
- package/dist/esm/core/subject/resolver.d.ts.map +1 -1
- package/dist/esm/core/subject/resolver.js +77 -21
- package/dist/esm/core/subject/resolver.js.map +1 -1
- package/dist/esm/core/subject/types.d.ts +8 -1
- package/dist/esm/core/subject/types.d.ts.map +1 -1
- package/dist/esm/core/triple/builder.d.ts.map +1 -1
- package/dist/esm/core/triple/builder.js +38 -1
- package/dist/esm/core/triple/builder.js.map +1 -1
- package/dist/esm/core/triple/handlers/inverse.d.ts +6 -2
- package/dist/esm/core/triple/handlers/inverse.d.ts.map +1 -1
- package/dist/esm/core/triple/handlers/inverse.js +37 -16
- package/dist/esm/core/triple/handlers/inverse.js.map +1 -1
- package/dist/esm/core/uri/resolver.d.ts +66 -2
- package/dist/esm/core/uri/resolver.d.ts.map +1 -1
- package/dist/esm/core/uri/resolver.js +212 -80
- package/dist/esm/core/uri/resolver.js.map +1 -1
- package/dist/esm/core/uri/types.d.ts +8 -1
- package/dist/esm/core/uri/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
- package/CHANGELOG-DRAFT.md +0 -444
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inverse.js","sourceRoot":"","sources":["../../../../src/core/triple/handlers/inverse.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAKH,MAAM,GAAG,GAAG,mCAAmC,CAAC;AAEhD;;;;;GAKG;AACH,MAAa,cAAc;IAA3B;QACW,SAAI,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"inverse.js","sourceRoot":"","sources":["../../../../src/core/triple/handlers/inverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
* 统一的 URI 生成和解析
|
|
5
5
|
* 整合了 Subject URI 和 Object/Reference URI 的解析逻辑
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* 设计原则:
|
|
8
|
+
* - 无状态,所有需要的上下文都通过参数传入
|
|
9
|
+
* - 统一使用 base + subjectTemplate 来生成和解析 URI
|
|
10
|
+
* - 不再区分 document/fragment 模式,模式由 template 自然表达
|
|
8
11
|
*/
|
|
9
12
|
import type { PodTable, PodColumnBase } from '../schema';
|
|
10
13
|
import type { UriResolver, UriContext, ResourceMode, ParsedSubject } from './types';
|
|
@@ -17,10 +20,28 @@ export declare class UriResolverImpl implements UriResolver {
|
|
|
17
20
|
private podUrl;
|
|
18
21
|
constructor(podUrl?: string);
|
|
19
22
|
setPodUrl(podUrl: string): void;
|
|
20
|
-
|
|
23
|
+
/**
|
|
24
|
+
* 解析 subject URI
|
|
25
|
+
* @param table 表定义
|
|
26
|
+
* @param record 记录数据
|
|
27
|
+
* @param index 可选的行索引
|
|
28
|
+
* @param options.strict 是否严格模式(默认 true)。false 时允许部分解析,用于查询场景
|
|
29
|
+
*/
|
|
30
|
+
resolveSubject(table: PodTable, record: Record<string, unknown>, index?: number, options?: {
|
|
31
|
+
strict?: boolean;
|
|
32
|
+
}): string;
|
|
21
33
|
parseSubject(uri: string, table: PodTable): ParsedSubject | null;
|
|
22
34
|
getResourceUrl(subjectUri: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* 判断资源模式
|
|
37
|
+
* 简化版:直接从 subjectTemplate 判断
|
|
38
|
+
*/
|
|
23
39
|
getResourceMode(table: PodTable): ResourceMode;
|
|
40
|
+
/**
|
|
41
|
+
* 获取默认模板
|
|
42
|
+
* 根据 base 是否以 / 结尾判断
|
|
43
|
+
* 与 PodTable.buildDefaultSubjectTemplate 保持一致
|
|
44
|
+
*/
|
|
24
45
|
getDefaultPattern(table: PodTable): string;
|
|
25
46
|
resolveInlineChild(parentSubject: string, columnName: string, value: Record<string, unknown>, index: number): string;
|
|
26
47
|
isSingleton(table: PodTable): boolean;
|
|
@@ -35,8 +56,20 @@ export declare class UriResolverImpl implements UriResolver {
|
|
|
35
56
|
isAbsoluteUri(value: string): boolean;
|
|
36
57
|
isReferenceColumn(column: PodColumnBase | any): boolean;
|
|
37
58
|
findTargetTable(column: PodColumnBase | any, context?: UriContext): PodTable | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* 从引用 URI 中提取 ID
|
|
61
|
+
*
|
|
62
|
+
* 用于读取时将完整 URI 转换回简单 ID
|
|
63
|
+
*
|
|
64
|
+
* @param uri 完整的 URI (如 http://pod/.data/chat/chat-123/index.ttl#this)
|
|
65
|
+
* @param column 引用列定义
|
|
66
|
+
* @param context URI 上下文(包含表注册表)
|
|
67
|
+
* @returns 提取的 ID (如 chat-123),如果无法解析则返回原 URI
|
|
68
|
+
*/
|
|
69
|
+
extractReferenceId(uri: string, column: PodColumnBase | any, context?: UriContext): string;
|
|
38
70
|
/**
|
|
39
71
|
* 从表获取基础 URL 和 subject template 信息
|
|
72
|
+
* 简化版:统一使用 base + subjectTemplate
|
|
40
73
|
*/
|
|
41
74
|
private getTableUriInfo;
|
|
42
75
|
/**
|
|
@@ -49,6 +82,7 @@ export declare class UriResolverImpl implements UriResolver {
|
|
|
49
82
|
private getEffectivePattern;
|
|
50
83
|
/**
|
|
51
84
|
* 获取 Subject base URL
|
|
85
|
+
* 简化版:统一使用 table.config.base
|
|
52
86
|
*/
|
|
53
87
|
private getSubjectBaseUrl;
|
|
54
88
|
/**
|
|
@@ -59,8 +93,18 @@ export declare class UriResolverImpl implements UriResolver {
|
|
|
59
93
|
* 合并 base 和 pattern
|
|
60
94
|
*/
|
|
61
95
|
private combineBaseAndPattern;
|
|
96
|
+
/**
|
|
97
|
+
* 将列值归一化为适合模板使用的字符串
|
|
98
|
+
* 特别处理:如果是引用列且值为 URI,则尝试提取 ID
|
|
99
|
+
*/
|
|
100
|
+
normalizeValue(value: unknown, column?: PodColumnBase, context?: UriContext): string;
|
|
62
101
|
/**
|
|
63
102
|
* 应用模板变量
|
|
103
|
+
* @param template 模板字符串
|
|
104
|
+
* @param record 记录数据
|
|
105
|
+
* @param index 可选的行索引
|
|
106
|
+
* @param table 可选的表定义
|
|
107
|
+
* @param strict 是否严格模式(默认 true)。false 时缺少字段返回 null,不抛出异常
|
|
64
108
|
*/
|
|
65
109
|
private applyTemplate;
|
|
66
110
|
/**
|
|
@@ -69,11 +113,31 @@ export declare class UriResolverImpl implements UriResolver {
|
|
|
69
113
|
private createTimeContext;
|
|
70
114
|
/**
|
|
71
115
|
* 生成回退 URI
|
|
116
|
+
* 简化版:根据 template 判断模式
|
|
72
117
|
*/
|
|
73
118
|
private generateFallbackUri;
|
|
74
119
|
/**
|
|
75
120
|
* 从 URI 提取 ID
|
|
121
|
+
*
|
|
122
|
+
* 简化版:统一使用 base + subjectTemplate 反向解析
|
|
123
|
+
*
|
|
124
|
+
* 例如:
|
|
125
|
+
* - uri = "http://pod/.data/chat/chat-123/index.ttl#this"
|
|
126
|
+
* - base = "http://pod/.data/chat/"
|
|
127
|
+
* - relativePath = "chat-123/index.ttl#this"
|
|
128
|
+
* - template = "{id}/index.ttl#this"
|
|
129
|
+
* - id = "chat-123"
|
|
76
130
|
*/
|
|
77
131
|
private extractId;
|
|
132
|
+
/**
|
|
133
|
+
* 从相对路径反向解析出 id
|
|
134
|
+
*
|
|
135
|
+
* 将模板转为正则表达式,提取 {id} 对应的值
|
|
136
|
+
*
|
|
137
|
+
* @param relativePath 相对路径 (如 "chat-123/index.ttl#this")
|
|
138
|
+
* @param template 模板 (如 "{id}/index.ttl#this")
|
|
139
|
+
* @returns 提取的 id (如 "chat-123"),解析失败返回 null
|
|
140
|
+
*/
|
|
141
|
+
private extractIdFromTemplate;
|
|
78
142
|
}
|
|
79
143
|
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/uri/resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/uri/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EAEd,MAAM,SAAS,CAAC;AAYjB;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,MAAW;IAM/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM/B;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,MAAM;IA2CT,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAqBhE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAK1C;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY;IAY9C;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAU1C,kBAAkB,CAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,MAAM;IAYT,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAkBrC;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IA0GpF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAcrC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,GAAG,OAAO;IASvD,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS;IA4BxF;;;;;;;;;OASG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAuB1F;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAepF;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAiErB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS;IAsCjB;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CAmC9B"}
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
* 统一的 URI 生成和解析
|
|
6
6
|
* 整合了 Subject URI 和 Object/Reference URI 的解析逻辑
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* 设计原则:
|
|
9
|
+
* - 无状态,所有需要的上下文都通过参数传入
|
|
10
|
+
* - 统一使用 base + subjectTemplate 来生成和解析 URI
|
|
11
|
+
* - 不再区分 document/fragment 模式,模式由 template 自然表达
|
|
9
12
|
*/
|
|
10
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
14
|
exports.UriResolverImpl = void 0;
|
|
@@ -31,7 +34,15 @@ class UriResolverImpl {
|
|
|
31
34
|
this.podUrl = podUrl.replace(/\/$/, '');
|
|
32
35
|
}
|
|
33
36
|
// ================= Subject URI 解析 =================
|
|
34
|
-
|
|
37
|
+
/**
|
|
38
|
+
* 解析 subject URI
|
|
39
|
+
* @param table 表定义
|
|
40
|
+
* @param record 记录数据
|
|
41
|
+
* @param index 可选的行索引
|
|
42
|
+
* @param options.strict 是否严格模式(默认 true)。false 时允许部分解析,用于查询场景
|
|
43
|
+
*/
|
|
44
|
+
resolveSubject(table, record, index, options) {
|
|
45
|
+
const strict = options?.strict ?? true;
|
|
35
46
|
// Check if record has an absolute ID override
|
|
36
47
|
const explicitId = record['@id'] ?? record['id'] ?? record['uri'];
|
|
37
48
|
if (typeof explicitId === 'string') {
|
|
@@ -41,29 +52,27 @@ class UriResolverImpl {
|
|
|
41
52
|
// Check if it's a relative URI with fragment
|
|
42
53
|
const hashIndex = explicitId.indexOf('#');
|
|
43
54
|
if (hashIndex > 0) {
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
55
|
+
const template = this.getEffectivePattern(table);
|
|
56
|
+
if (template.startsWith('#')) {
|
|
46
57
|
record = { ...record, id: explicitId.slice(hashIndex + 1) };
|
|
47
58
|
}
|
|
48
59
|
}
|
|
49
60
|
}
|
|
50
61
|
const pattern = this.getEffectivePattern(table);
|
|
51
|
-
const mode = this.getResourceMode(table);
|
|
52
62
|
const base = this.getSubjectBaseUrl(table);
|
|
53
63
|
// 单例模式 - 直接返回 base + pattern
|
|
54
64
|
if (this.isSingleton(table)) {
|
|
55
65
|
return this.combineBaseAndPattern(base, pattern);
|
|
56
66
|
}
|
|
57
67
|
// 应用模板变量
|
|
58
|
-
const applied = this.applyTemplate(pattern, record, index);
|
|
59
|
-
if (applied) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
const applied = this.applyTemplate(pattern, record, index, table, strict);
|
|
69
|
+
if (applied === null) {
|
|
70
|
+
// 非严格模式下,applyTemplate 返回 null 表示无法完全解析
|
|
71
|
+
// 使用 fallback URI(仅用于查询场景的比较)
|
|
72
|
+
return this.generateFallbackUri(base, pattern, index);
|
|
63
73
|
}
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
return this.generateFallbackUri(base, mode, index);
|
|
74
|
+
if (this.isAbsoluteUri(applied)) {
|
|
75
|
+
return applied;
|
|
67
76
|
}
|
|
68
77
|
return this.combineBaseAndPattern(base, applied);
|
|
69
78
|
}
|
|
@@ -74,8 +83,8 @@ class UriResolverImpl {
|
|
|
74
83
|
const hasFragment = hashIndex !== -1;
|
|
75
84
|
const resourceUrl = hasFragment ? uri.slice(0, hashIndex) : uri;
|
|
76
85
|
const fragment = hasFragment ? uri.slice(hashIndex + 1) : undefined;
|
|
77
|
-
const mode = this.getResourceMode(table);
|
|
78
86
|
const id = this.extractId(uri, table);
|
|
87
|
+
const mode = this.getResourceMode(table);
|
|
79
88
|
return {
|
|
80
89
|
uri,
|
|
81
90
|
resourceUrl,
|
|
@@ -88,30 +97,32 @@ class UriResolverImpl {
|
|
|
88
97
|
const hashIndex = subjectUri.indexOf('#');
|
|
89
98
|
return hashIndex !== -1 ? subjectUri.slice(0, hashIndex) : subjectUri;
|
|
90
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* 判断资源模式
|
|
102
|
+
* 简化版:直接从 subjectTemplate 判断
|
|
103
|
+
*/
|
|
91
104
|
getResourceMode(table) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|
|
96
|
-
if (pattern.startsWith('#')) {
|
|
97
|
-
return 'fragment';
|
|
98
|
-
}
|
|
99
|
-
if (pattern.includes('.ttl') || pattern.includes('.jsonld') || pattern.includes('.json')) {
|
|
100
|
-
return 'document';
|
|
101
|
-
}
|
|
102
|
-
return 'document';
|
|
103
|
-
}
|
|
104
|
-
const containerPath = table.getContainerPath();
|
|
105
|
-
const tableName = table.config?.name ?? '';
|
|
106
|
-
const normalizedContainer = containerPath.endsWith('/') ? containerPath : `${containerPath}/`;
|
|
107
|
-
if (normalizedContainer.endsWith(`${tableName}/`)) {
|
|
108
|
-
return 'document';
|
|
105
|
+
const template = table.config?.subjectTemplate ?? this.getDefaultPattern(table);
|
|
106
|
+
// 以 # 开头是 fragment 模式
|
|
107
|
+
if (template.startsWith('#')) {
|
|
108
|
+
return 'fragment';
|
|
109
109
|
}
|
|
110
|
-
|
|
110
|
+
// 否则是 document 模式
|
|
111
|
+
return 'document';
|
|
111
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* 获取默认模板
|
|
115
|
+
* 根据 base 是否以 / 结尾判断
|
|
116
|
+
* 与 PodTable.buildDefaultSubjectTemplate 保持一致
|
|
117
|
+
*/
|
|
112
118
|
getDefaultPattern(table) {
|
|
113
|
-
const
|
|
114
|
-
|
|
119
|
+
const base = table.config?.base ?? '';
|
|
120
|
+
// base 以 / 结尾表示容器 → document 模式 → {id}.ttl
|
|
121
|
+
// base 是文件路径 → fragment 模式 → #{id}
|
|
122
|
+
if (base.endsWith('/')) {
|
|
123
|
+
return '{id}.ttl';
|
|
124
|
+
}
|
|
125
|
+
return '#{id}';
|
|
115
126
|
}
|
|
116
127
|
resolveInlineChild(parentSubject, columnName, value, index) {
|
|
117
128
|
// 优先使用显式 ID
|
|
@@ -270,26 +281,45 @@ class UriResolverImpl {
|
|
|
270
281
|
}
|
|
271
282
|
return undefined;
|
|
272
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* 从引用 URI 中提取 ID
|
|
286
|
+
*
|
|
287
|
+
* 用于读取时将完整 URI 转换回简单 ID
|
|
288
|
+
*
|
|
289
|
+
* @param uri 完整的 URI (如 http://pod/.data/chat/chat-123/index.ttl#this)
|
|
290
|
+
* @param column 引用列定义
|
|
291
|
+
* @param context URI 上下文(包含表注册表)
|
|
292
|
+
* @returns 提取的 ID (如 chat-123),如果无法解析则返回原 URI
|
|
293
|
+
*/
|
|
294
|
+
extractReferenceId(uri, column, context) {
|
|
295
|
+
if (!uri || !this.isAbsoluteUri(uri)) {
|
|
296
|
+
return uri;
|
|
297
|
+
}
|
|
298
|
+
// 找到目标表
|
|
299
|
+
const targetTable = this.findTargetTable(column, context);
|
|
300
|
+
if (!targetTable) {
|
|
301
|
+
// 无法确定目标表,返回原 URI
|
|
302
|
+
return uri;
|
|
303
|
+
}
|
|
304
|
+
// 使用目标表的信息提取 ID
|
|
305
|
+
const parsed = this.parseSubject(uri, targetTable);
|
|
306
|
+
if (parsed && parsed.id) {
|
|
307
|
+
return parsed.id;
|
|
308
|
+
}
|
|
309
|
+
return uri;
|
|
310
|
+
}
|
|
273
311
|
// ================= Private Helpers =================
|
|
274
312
|
/**
|
|
275
313
|
* 从表获取基础 URL 和 subject template 信息
|
|
314
|
+
* 简化版:统一使用 base + subjectTemplate
|
|
276
315
|
*/
|
|
277
316
|
getTableUriInfo(table) {
|
|
278
|
-
const
|
|
279
|
-
// Fragment Mode (#{id}) - 使用 resourcePath
|
|
280
|
-
if (subjectTemplate.startsWith('#')) {
|
|
281
|
-
const base = table.config?.base;
|
|
282
|
-
if (!base)
|
|
283
|
-
return undefined;
|
|
284
|
-
const baseUrl = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
285
|
-
return { baseUrl: this.toAbsoluteUrl(baseUrl), subjectTemplate };
|
|
286
|
-
}
|
|
287
|
-
// Document Mode - 使用容器路径
|
|
288
|
-
const base = table.config?.containerPath || table.getContainerPath?.();
|
|
317
|
+
const base = table.config?.base;
|
|
289
318
|
if (!base)
|
|
290
319
|
return undefined;
|
|
291
|
-
const
|
|
292
|
-
|
|
320
|
+
const subjectTemplate = table.config?.subjectTemplate || this.getDefaultPattern(table);
|
|
321
|
+
const baseUrl = this.toAbsoluteUrl(base);
|
|
322
|
+
return { baseUrl, subjectTemplate };
|
|
293
323
|
}
|
|
294
324
|
/**
|
|
295
325
|
* 构建完整 URI
|
|
@@ -310,7 +340,8 @@ class UriResolverImpl {
|
|
|
310
340
|
return `${cleanBase}${result}`;
|
|
311
341
|
}
|
|
312
342
|
// Document 模式,直接拼接
|
|
313
|
-
|
|
343
|
+
const cleanBase = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
|
|
344
|
+
return `${cleanBase}${result}`;
|
|
314
345
|
}
|
|
315
346
|
/**
|
|
316
347
|
* 获取有效的 pattern
|
|
@@ -327,15 +358,11 @@ class UriResolverImpl {
|
|
|
327
358
|
}
|
|
328
359
|
/**
|
|
329
360
|
* 获取 Subject base URL
|
|
361
|
+
* 简化版:统一使用 table.config.base
|
|
330
362
|
*/
|
|
331
363
|
getSubjectBaseUrl(table) {
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
const containerPath = table.getContainerPath();
|
|
335
|
-
return this.toAbsoluteUrl(containerPath);
|
|
336
|
-
}
|
|
337
|
-
const resourcePath = table.getResourcePath?.() ?? table.config?.base ?? '';
|
|
338
|
-
return this.toAbsoluteUrl(resourcePath);
|
|
364
|
+
const base = table.config?.base ?? '';
|
|
365
|
+
return this.toAbsoluteUrl(base);
|
|
339
366
|
}
|
|
340
367
|
/**
|
|
341
368
|
* 将路径转换为绝对 URL
|
|
@@ -366,15 +393,36 @@ class UriResolverImpl {
|
|
|
366
393
|
}
|
|
367
394
|
return `${base}/${pattern}`;
|
|
368
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* 将列值归一化为适合模板使用的字符串
|
|
398
|
+
* 特别处理:如果是引用列且值为 URI,则尝试提取 ID
|
|
399
|
+
*/
|
|
400
|
+
normalizeValue(value, column, context) {
|
|
401
|
+
if (value === undefined || value === null) {
|
|
402
|
+
return '';
|
|
403
|
+
}
|
|
404
|
+
// 处理引用列:如果是引用列且值为 URI,尝试提取 ID
|
|
405
|
+
if (typeof value === 'string' && this.isAbsoluteUri(value)) {
|
|
406
|
+
if (column && this.isReferenceColumn(column)) {
|
|
407
|
+
return this.extractReferenceId(value, column, context);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return String(value);
|
|
411
|
+
}
|
|
369
412
|
/**
|
|
370
413
|
* 应用模板变量
|
|
414
|
+
* @param template 模板字符串
|
|
415
|
+
* @param record 记录数据
|
|
416
|
+
* @param index 可选的行索引
|
|
417
|
+
* @param table 可选的表定义
|
|
418
|
+
* @param strict 是否严格模式(默认 true)。false 时缺少字段返回 null,不抛出异常
|
|
371
419
|
*/
|
|
372
|
-
applyTemplate(template, record, index) {
|
|
420
|
+
applyTemplate(template, record, index, table, strict = true) {
|
|
373
421
|
if (!template.includes('{')) {
|
|
374
422
|
return template;
|
|
375
423
|
}
|
|
376
424
|
const timeContext = this.createTimeContext(record);
|
|
377
|
-
|
|
425
|
+
const missingKeys = [];
|
|
378
426
|
const replaced = template.replace(/(#?)\{([^}]+)\}/g, (match, prefix, key) => {
|
|
379
427
|
if (key in timeContext) {
|
|
380
428
|
return prefix + timeContext[key];
|
|
@@ -387,16 +435,32 @@ class UriResolverImpl {
|
|
|
387
435
|
rawValue = record['@id'] ?? record['uri'];
|
|
388
436
|
}
|
|
389
437
|
if (rawValue === undefined || rawValue === null) {
|
|
390
|
-
|
|
391
|
-
return
|
|
438
|
+
missingKeys.push(key);
|
|
439
|
+
return match; // Keep original placeholder for error message
|
|
392
440
|
}
|
|
393
|
-
|
|
441
|
+
const column = table?.columns?.[key];
|
|
442
|
+
const context = table ? {
|
|
443
|
+
tableRegistry: table[Symbol.for('drizzle:tableRegistry')],
|
|
444
|
+
tableNameRegistry: table[Symbol.for('drizzle:tableNameRegistry')]
|
|
445
|
+
} : undefined;
|
|
446
|
+
const value = this.normalizeValue(rawValue, column, context);
|
|
394
447
|
if (prefix === '#' && value.startsWith('#')) {
|
|
395
|
-
|
|
448
|
+
return prefix + value.slice(1);
|
|
396
449
|
}
|
|
397
450
|
return prefix + value;
|
|
398
451
|
});
|
|
399
|
-
|
|
452
|
+
if (missingKeys.length > 0) {
|
|
453
|
+
if (strict) {
|
|
454
|
+
const tableName = table?.config?.name || 'unknown';
|
|
455
|
+
throw new Error(`[UriResolver] Missing required fields for template "${template}" in table "${tableName}": ` +
|
|
456
|
+
`[${missingKeys.join(', ')}]. ` +
|
|
457
|
+
`Record keys: [${Object.keys(record).join(', ')}]. ` +
|
|
458
|
+
`Record: ${JSON.stringify(record)}`);
|
|
459
|
+
}
|
|
460
|
+
// 非严格模式,返回 null 表示无法完全解析
|
|
461
|
+
return null;
|
|
462
|
+
}
|
|
463
|
+
return replaced;
|
|
400
464
|
}
|
|
401
465
|
/**
|
|
402
466
|
* 创建时间上下文
|
|
@@ -414,43 +478,111 @@ class UriResolverImpl {
|
|
|
414
478
|
date = new Date();
|
|
415
479
|
}
|
|
416
480
|
const yyyy = date.getUTCFullYear().toString();
|
|
417
|
-
const
|
|
481
|
+
const MM = (date.getUTCMonth() + 1).toString().padStart(2, '0');
|
|
418
482
|
const dd = date.getUTCDate().toString().padStart(2, '0');
|
|
419
483
|
const timestamp = Math.floor(date.getTime() / 1000).toString();
|
|
420
|
-
return { date, yyyy,
|
|
484
|
+
return { date, yyyy, MM, dd, timestamp };
|
|
421
485
|
}
|
|
422
486
|
/**
|
|
423
487
|
* 生成回退 URI
|
|
488
|
+
* 简化版:根据 template 判断模式
|
|
424
489
|
*/
|
|
425
|
-
generateFallbackUri(base,
|
|
490
|
+
generateFallbackUri(base, template, index) {
|
|
426
491
|
const suffix = index !== undefined ? `row-${index + 1}` : `row-${Date.now()}`;
|
|
427
|
-
|
|
492
|
+
// template 以 # 开头是 fragment 模式
|
|
493
|
+
if (template.startsWith('#')) {
|
|
428
494
|
const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
429
495
|
return `${cleanBase}#${suffix}`;
|
|
430
496
|
}
|
|
497
|
+
// 否则是 document 模式
|
|
431
498
|
const cleanBase = base.endsWith('/') ? base : `${base}/`;
|
|
432
499
|
return `${cleanBase}${suffix}.ttl`;
|
|
433
500
|
}
|
|
434
501
|
/**
|
|
435
502
|
* 从 URI 提取 ID
|
|
503
|
+
*
|
|
504
|
+
* 简化版:统一使用 base + subjectTemplate 反向解析
|
|
505
|
+
*
|
|
506
|
+
* 例如:
|
|
507
|
+
* - uri = "http://pod/.data/chat/chat-123/index.ttl#this"
|
|
508
|
+
* - base = "http://pod/.data/chat/"
|
|
509
|
+
* - relativePath = "chat-123/index.ttl#this"
|
|
510
|
+
* - template = "{id}/index.ttl#this"
|
|
511
|
+
* - id = "chat-123"
|
|
436
512
|
*/
|
|
437
513
|
extractId(uri, table) {
|
|
438
|
-
const
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
if (
|
|
449
|
-
|
|
514
|
+
const template = table.config?.subjectTemplate || this.getDefaultPattern(table);
|
|
515
|
+
const tableBase = table.config?.base ?? '';
|
|
516
|
+
// Step 1: 计算相对路径
|
|
517
|
+
// 核心思路:在 URI 中查找 table.config.base,提取其后的部分
|
|
518
|
+
let relativePath = '';
|
|
519
|
+
if (tableBase && uri.includes(tableBase)) {
|
|
520
|
+
// 找到 base 在 URI 中的位置,提取之后的部分
|
|
521
|
+
const index = uri.indexOf(tableBase);
|
|
522
|
+
relativePath = uri.substring(index + tableBase.length);
|
|
523
|
+
// 移除开头的 / (如果 base 不以 / 结尾)
|
|
524
|
+
if (relativePath.startsWith('/')) {
|
|
525
|
+
relativePath = relativePath.substring(1);
|
|
450
526
|
}
|
|
451
|
-
return filename;
|
|
452
527
|
}
|
|
453
|
-
|
|
528
|
+
else if (!tableBase) {
|
|
529
|
+
// 没有配置 base,使用整个 URI
|
|
530
|
+
relativePath = uri;
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
// base 不在 URI 中,说明 URI 格式不匹配
|
|
534
|
+
// 返回空字符串,让后续的 template 匹配失败
|
|
535
|
+
console.warn(`[UriResolver] Cannot extract ID: base "${tableBase}" not found in URI "${uri}"`);
|
|
536
|
+
return '';
|
|
537
|
+
}
|
|
538
|
+
// Step 2: 根据 subjectTemplate 反向解析 {id}
|
|
539
|
+
if (template) {
|
|
540
|
+
const extractedId = this.extractIdFromTemplate(relativePath, template);
|
|
541
|
+
if (extractedId !== null) {
|
|
542
|
+
return extractedId;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
// 如果没有模板或解析失败,返回相对路径
|
|
546
|
+
return relativePath;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* 从相对路径反向解析出 id
|
|
550
|
+
*
|
|
551
|
+
* 将模板转为正则表达式,提取 {id} 对应的值
|
|
552
|
+
*
|
|
553
|
+
* @param relativePath 相对路径 (如 "chat-123/index.ttl#this")
|
|
554
|
+
* @param template 模板 (如 "{id}/index.ttl#this")
|
|
555
|
+
* @returns 提取的 id (如 "chat-123"),解析失败返回 null
|
|
556
|
+
*/
|
|
557
|
+
extractIdFromTemplate(relativePath, template) {
|
|
558
|
+
// 构建正则表达式
|
|
559
|
+
// 1. 转义特殊字符
|
|
560
|
+
// 2. 将 {id} 替换为捕获组 (.+?)
|
|
561
|
+
// 3. 将其他 {xxx} 占位符替换为非捕获组 (?:.+?)
|
|
562
|
+
let regexStr = template
|
|
563
|
+
// 转义正则特殊字符(除了 { 和 })
|
|
564
|
+
.replace(/[.+?^$[\]\\()]/g, '\\$&')
|
|
565
|
+
// 将 {id} 替换为命名捕获组
|
|
566
|
+
.replace(/\{id\}/g, '(?<id>.+?)')
|
|
567
|
+
// 将其他 {xxx} 占位符替换为非捕获组
|
|
568
|
+
.replace(/\{[^}]+\}/g, '(?:.+?)');
|
|
569
|
+
// 添加锚点
|
|
570
|
+
regexStr = `^${regexStr}$`;
|
|
571
|
+
try {
|
|
572
|
+
const regex = new RegExp(regexStr);
|
|
573
|
+
const match = relativePath.match(regex);
|
|
574
|
+
if (match && match.groups?.id) {
|
|
575
|
+
return match.groups.id;
|
|
576
|
+
}
|
|
577
|
+
// 兼容不支持命名捕获组的环境
|
|
578
|
+
if (match && match[1]) {
|
|
579
|
+
return match[1];
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
catch (e) {
|
|
583
|
+
// 正则解析失败,忽略
|
|
584
|
+
}
|
|
585
|
+
return null;
|
|
454
586
|
}
|
|
455
587
|
}
|
|
456
588
|
exports.UriResolverImpl = UriResolverImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/uri/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/uri/resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAWH;;GAEG;AACH,MAAM,UAAU,GAAG,iEAAiE,CAAC;AAErF;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAa,eAAe;IAG1B,YAAY,SAAiB,EAAE;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,2CAA2C;IAE3C,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,qDAAqD;IAErD;;;;;;OAMG;IACH,cAAc,CACZ,KAAe,EACf,MAA+B,EAC/B,KAAc,EACd,OAA8B;QAE9B,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;QAEvC,8CAA8C;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,6CAA6C;YAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE3C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,SAAS;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE1E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,wCAAwC;YACxC,8BAA8B;YAC9B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,KAAe;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;QAErC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO;YACL,GAAG;YACH,WAAW;YACX,QAAQ;YACR,EAAE;YACF,IAAI;SACL,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,KAAe;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEhF,sBAAsB;QACtB,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,kBAAkB;QAClB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAe;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtC,2CAA2C;QAC3C,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kBAAkB,CAChB,aAAqB,EACrB,UAAkB,EAClB,KAA8B,EAC9B,KAAa;QAEb,YAAY;QACZ,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,kBAAkB;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,OAAO,GAAG,WAAW,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,KAAe;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;QAE9C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IAE9D;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAa,EAAE,MAAqB,EAAE,OAAoB;QACzE,oBAAoB;QACpB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mCAAmC;QACnC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB;gBACtB,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,0BAA0B,CAChE,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,wBAAwB,cAAc,CAAC,MAAM,EAAE,IAAI,2BAA2B,CAC3G,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAC5D,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACtE,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBAClD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,eAAe,GAAG,OAAO,EAAE,iBAAiB;gBAChD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,CAAC,CAAC,wBAAwB,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,aAAa,kBAAkB,yBAAyB;gBACpF,qBAAqB,eAAe,EAAE,CACvC,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACtD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC5B,2CAA2C;gBAC3C,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,iBAAiB,eAAe,KAAK;oBACjE,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAEhE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,YAAY;yBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC;yBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,+BAA+B,eAAe,0BAA0B,UAAU,KAAK;wBACvF,uFAAuF,CACxF,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAClD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,aAAa,eAAe,gCAAgC;gBACxF,sBAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;YACvD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,KAAK;YACjC,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAC5B,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YAC3B,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACxB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YAC3B,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,MAA2B;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,KAAK,KAAK;YAC9B,MAAM,CAAC,WAAW,EAAE,EAAE;YACtB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe;YACjC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB;YACpC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,MAA2B,EAAE,OAAoB;QAC/D,wDAAwD;QACxD,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;QACtF,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,mCAAmC;QACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAClG,IAAI,kBAAkB,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;QACzF,IAAI,eAAe,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,GAAW,EAAE,MAA2B,EAAE,OAAoB;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,QAAQ;QACR,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,kBAAkB;YAClB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,sDAAsD;IAEtD;;;OAGG;IACK,eAAe,CAAC,KAAe;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAa,EAAE,OAAe,EAAE,kBAA0B,UAAU;QACvF,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,sBAAsB;QACtB,IAAI,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QACjC,CAAC;QAED,mBAAmB;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;QAClE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAe;QACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,KAAK,CAAC;QAE/D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;YACtD,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,KAAe;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAChE,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAY,EAAE,OAAe;QACzD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,OAAO,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAc,EAAE,MAAsB,EAAE,OAAoB;QACzE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CACnB,QAAgB,EAChB,MAA+B,EAC/B,KAAc,EACd,KAAgB,EAChB,SAAkB,IAAI;QAEtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC3E,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gBACvB,OAAO,MAAM,GAAI,WAAW,CAAC,GAAwB,CAAY,CAAC;YACpE,CAAC;YAED,IAAI,GAAG,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;gBAClE,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,8CAA8C;YAC9D,CAAC;YAED,MAAM,MAAM,GAAI,KAAa,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;gBACtB,aAAa,EAAG,KAAa,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBAClE,iBAAiB,EAAG,KAAa,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;aAC3E,CAAC,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAE7D,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YAED,OAAO,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,uDAAuD,QAAQ,eAAe,SAAS,KAAK;oBAC5F,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAC/B,iBAAiB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACpD,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACpC,CAAC;YACJ,CAAC;YACD,yBAAyB;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAA+B;QACvD,IAAI,IAAU,CAAC;QAEf,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;QACvF,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;YAC9B,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC1E,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAc;QACxE,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE9E,+BAA+B;QAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;QAClC,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QACzD,OAAO,GAAG,SAAS,GAAG,MAAM,MAAM,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;OAWG;IACK,SAAS,CAAC,GAAW,EAAE,KAAe;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QAE3C,iBAAiB;QACjB,2CAA2C;QAC3C,IAAI,YAAY,GAAW,EAAE,CAAC;QAE9B,IAAI,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,6BAA6B;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACvD,4BAA4B;YAC5B,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,qBAAqB;YACrB,YAAY,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,0CAA0C,SAAS,uBAAuB,GAAG,GAAG,CAAC,CAAC;YAC/F,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAAC,YAAoB,EAAE,QAAgB;QAClE,UAAU;QACV,YAAY;QACZ,yBAAyB;QACzB,kCAAkC;QAElC,IAAI,QAAQ,GAAG,QAAQ;YACrB,qBAAqB;aACpB,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;YACnC,kBAAkB;aACjB,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC;YACjC,uBAAuB;aACtB,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEpC,OAAO;QACP,QAAQ,GAAG,IAAI,QAAQ,GAAG,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAExC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,CAAC;YAED,gBAAgB;YAChB,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAhrBD,0CAgrBC;AAED,SAAS"}
|