@vxrn/compiler 1.25.7 → 1.25.8-1787823968463
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/cjs/transformBabel.cjs +7 -17
- package/dist/cjs/transformBabel.test.cjs +12 -0
- package/dist/esm/transformBabel.mjs +7 -17
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformBabel.test.mjs +12 -0
- package/dist/esm/transformBabel.test.mjs.map +1 -1
- package/package.json +3 -3
- package/src/transformBabel.test.ts +16 -0
- package/src/transformBabel.ts +7 -25
- package/types/transformBabel.d.ts +1 -1
- package/types/transformBabel.d.ts.map +1 -1
|
@@ -145,24 +145,14 @@ async function transformBabel(id, code, options) {
|
|
|
145
145
|
reactRuntimeTarget: "19"
|
|
146
146
|
}]]), ...(options.plugins || []), ...(isTS ? [] : ["@babel/plugin-transform-flow-strip-types"])]
|
|
147
147
|
};
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
res(result);
|
|
155
|
-
});
|
|
148
|
+
return await new Promise((res, rej) => {
|
|
149
|
+
import_core.default.transform(code, babelOptions, (err, result) => {
|
|
150
|
+
if (!result || err) {
|
|
151
|
+
return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
|
|
152
|
+
}
|
|
153
|
+
res(result);
|
|
156
154
|
});
|
|
157
|
-
|
|
158
|
-
} catch (err) {
|
|
159
|
-
if (err?.message?.includes("Could not find component config")) {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
console.error(`[vxrn:compiler] babel transform error`, err, `with options`, babelOptions);
|
|
163
|
-
console.error("code", code);
|
|
164
|
-
console.error("id", id);
|
|
165
|
-
}
|
|
155
|
+
});
|
|
166
156
|
}
|
|
167
157
|
const getBasePlugins = ({
|
|
168
158
|
development
|
|
@@ -85,4 +85,16 @@ var import_transformBabel = require("./transformBabel.cjs");
|
|
|
85
85
|
(0, import_vitest.expect)(result?.code).toContain("codegenNativeComponent('VirtualView')");
|
|
86
86
|
(0, import_vitest.expect)(result?.code).not.toContain("HostComponent");
|
|
87
87
|
});
|
|
88
|
+
(0, import_vitest.it)("rejects a required transform error instead of returning untransformed source", async () => {
|
|
89
|
+
const negativeControl = () => ({
|
|
90
|
+
visitor: {
|
|
91
|
+
Program() {
|
|
92
|
+
throw new Error("NATIVE_TRANSFORM_NEGATIVE_CONTROL");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
await (0, import_vitest.expect)((0, import_transformBabel.transformBabel)("/project/TransformProbe.ts", "export const marker = 1", {
|
|
97
|
+
plugins: [negativeControl]
|
|
98
|
+
})).rejects.toThrow("NATIVE_TRANSFORM_NEGATIVE_CONTROL");
|
|
99
|
+
});
|
|
88
100
|
});
|
|
@@ -105,24 +105,14 @@ async function transformBabel(id, code, options) {
|
|
|
105
105
|
reactRuntimeTarget: "19"
|
|
106
106
|
}]]), ...(options.plugins || []), ...(isTS ? [] : ["@babel/plugin-transform-flow-strip-types"])]
|
|
107
107
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
res(result);
|
|
115
|
-
});
|
|
108
|
+
return await new Promise((res, rej) => {
|
|
109
|
+
babel.transform(code, babelOptions, (err, result) => {
|
|
110
|
+
if (!result || err) {
|
|
111
|
+
return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`));
|
|
112
|
+
}
|
|
113
|
+
res(result);
|
|
116
114
|
});
|
|
117
|
-
|
|
118
|
-
} catch (err) {
|
|
119
|
-
if (err?.message?.includes("Could not find component config")) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
console.error(`[vxrn:compiler] babel transform error`, err, `with options`, babelOptions);
|
|
123
|
-
console.error("code", code);
|
|
124
|
-
console.error("id", id);
|
|
125
|
-
}
|
|
115
|
+
});
|
|
126
116
|
}
|
|
127
117
|
const getBasePlugins = ({
|
|
128
118
|
development
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["extname","relative","babel","resolvePath","hermesParserPlugin","normalizePath","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","id","split","userSetting","getOptions","transform","excludeDefaultPlugins","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","code","includes","push","shouldBabelReanimated","projectRoot","shouldBabelReactCompiler","getBabelReactCompilerPlugin","shouldBabelReactNativeCodegen","length","transformOxcReactCompiler","target","result","jsx","reactCompiler","fatal","Error","errors","map","e","message","String","join","transformBabel","options","extension","isTSX","isTS","babelOptions","filename","compact","babelrc","configFile","sourceMaps","minified","presets","allExtensions","filter","Boolean","parseLangTypes","reactRuntimeTarget","
|
|
1
|
+
{"version":3,"names":["extname","relative","babel","resolvePath","hermesParserPlugin","normalizePath","configuration","asyncGeneratorRegex","debug","getBabelOptions","props","id","split","userSetting","getOptions","transform","excludeDefaultPlugins","force","plugins","shouldBabelGenerators","getBasePlugins","enableNativewind","environment","test","code","includes","push","shouldBabelReanimated","projectRoot","shouldBabelReactCompiler","getBabelReactCompilerPlugin","shouldBabelReactNativeCodegen","length","transformOxcReactCompiler","target","result","jsx","reactCompiler","fatal","Error","errors","map","e","message","String","join","transformBabel","options","extension","isTSX","isTS","babelOptions","filename","compact","babelrc","configFile","sourceMaps","minified","presets","allExtensions","filter","Boolean","parseLangTypes","reactRuntimeTarget","Promise","res","rej","err","development","helpers","regenerator","NATIVE_COMPONENT_RE","SPEC_FILE_RE","enableCompiler","Array","isArray","RegExp","isNative","native","web","applyCompilerFilter","applyDefaultFilters","startsWith","reactForRNVersion","process","env","VXRN_USE_BABEL_FOR_GENERATORS","REANIMATED_AUTOWORKLETIZATION_KEYWORDS","REANIMATED_REGEX","REANIMATED_IGNORED_PATHS","REANIMATED_IGNORED_PATHS_REGEX","enableReanimated","location","cwd"],"sources":["../../src/transformBabel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -61,5 +61,17 @@ describe("transformBabel Flow parsing", () => {
|
|
|
61
61
|
expect(result?.code).toContain("codegenNativeComponent('VirtualView')");
|
|
62
62
|
expect(result?.code).not.toContain("HostComponent");
|
|
63
63
|
});
|
|
64
|
+
it("rejects a required transform error instead of returning untransformed source", async () => {
|
|
65
|
+
const negativeControl = () => ({
|
|
66
|
+
visitor: {
|
|
67
|
+
Program() {
|
|
68
|
+
throw new Error("NATIVE_TRANSFORM_NEGATIVE_CONTROL");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
await expect(transformBabel("/project/TransformProbe.ts", "export const marker = 1", {
|
|
73
|
+
plugins: [negativeControl]
|
|
74
|
+
})).rejects.toThrow("NATIVE_TRANSFORM_NEGATIVE_CONTROL");
|
|
75
|
+
});
|
|
64
76
|
});
|
|
65
77
|
//# sourceMappingURL=transformBabel.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fs","os","path","afterEach","describe","expect","it","configureVXRNCompilerPlugin","getBabelOptions","transformBabel","enableReanimated","projectRoot","realpathSync","mkdtempSync","join","tmpdir","packageRoot","pluginPath","mkdirSync","recursive","writeFileSync","JSON","stringify","name","version","options","id","code","development","environment","reactForRNVersion","plugins","toContain","rmSync","force","result","not"],"sources":["../../src/transformBabel.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,OAAOC,EAAA,MAAQ;AACf,OAAOC,IAAA,MAAU;AACjB,SAASC,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAChD,SAASC,2BAAA,QAAmC;AAC5C,SAASC,eAAA,EAAiBC,cAAA,QAAsB;AAEhDN,SAAA,CAAU,MAAM;EACdI,2BAAA,CAA4B;IAAEG,gBAAA,EAAkB;EAAM,CAAC;AACzD,CAAC;AAEDN,QAAA,CAAS,uCAAuC,MAAM;EACpDE,EAAA,CAAG,gDAAgD,MAAM;IACvD,MAAMK,WAAA,GAAcX,EAAA,CAAGY,YAAA,CACrBZ,EAAA,CAAGa,WAAA,CAAYX,IAAA,CAAKY,IAAA,CAAKb,EAAA,CAAGc,MAAA,CAAO,GAAG,gBAAgB,CAAC,CACzD;IACA,MAAMC,WAAA,GAAcd,IAAA,CAAKY,IAAA,CAAKH,WAAA,EAAa,gBAAgB,uBAAuB;IAClF,MAAMM,UAAA,GAAaf,IAAA,CAAKY,IAAA,CAAKE,WAAA,EAAa,WAAW;IACrDhB,EAAA,CAAGkB,SAAA,CAAUF,WAAA,EAAa;MAAEG,SAAA,EAAW;IAAK,CAAC;IAC7CnB,EAAA,CAAGoB,aAAA,CACDlB,IAAA,CAAKY,IAAA,CAAKE,WAAA,EAAa,cAAc,GACrCK,IAAA,CAAKC,SAAA,CAAU;MAAEC,IAAA,EAAM;MAAyBC,OAAA,EAAS;IAAS,CAAC,CACrE;IACAxB,EAAA,CAAGoB,aAAA,CAAcH,UAAA,EAAY,0CAA0C;IAEvE,IAAI;MACFV,2BAAA,CAA4B;QAAEG,gBAAA,EAAkB;MAAK,CAAC;MACtD,MAAMe,OAAA,GAAUjB,eAAA,CAAgB;QAC9BkB,EAAA,EAAIxB,IAAA,CAAKY,IAAA,CAAKH,WAAA,EAAa,UAAU;QACrCgB,IAAA,EAAM;AAAA;AAAA;QAGNC,WAAA,EAAa;QACbC,WAAA,EAAa;QACbC,iBAAA,EAAmB;QACnBnB;MACF,CAAC;MAEDN,MAAA,CAAOoB,OAAA,EAASM,OAAO,EAAEC,SAAA,CAAUf,UAAU;IAC/C,UAAE;MACAjB,EAAA,CAAGiC,MAAA,CAAOtB,WAAA,EAAa;QAAEQ,SAAA,EAAW;QAAMe,KAAA,EAAO;MAAK,CAAC;IACzD;EACF,CAAC;AACH,CAAC;AAED9B,QAAA,CAAS,+BAA+B,MAAM;EAC5CE,EAAA,CAAG,gDAAgD,YAAY;IAC7D,MAAM6B,MAAA,GAAS,MAAM1B,cAAA,CACnB,0CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SASA;MAAEsB,OAAA,EAAS;IAAG,CAChB;IAEA1B,MAAA,CAAO8B,MAAA,EAAQR,IAAI,EAAEK,SAAA,CAAU,uCAAuC;IACtE3B,MAAA,CAAO8B,MAAA,EAAQR,IAAI,EAAES,GAAA,CAAIJ,SAAA,CAAU,eAAe;EACpD,CAAC;AACH,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["fs","os","path","afterEach","describe","expect","it","configureVXRNCompilerPlugin","getBabelOptions","transformBabel","enableReanimated","projectRoot","realpathSync","mkdtempSync","join","tmpdir","packageRoot","pluginPath","mkdirSync","recursive","writeFileSync","JSON","stringify","name","version","options","id","code","development","environment","reactForRNVersion","plugins","toContain","rmSync","force","result","not","negativeControl","visitor","Program","Error","rejects","toThrow"],"sources":["../../src/transformBabel.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,OAAOC,EAAA,MAAQ;AACf,OAAOC,IAAA,MAAU;AACjB,SAASC,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAChD,SAASC,2BAAA,QAAmC;AAC5C,SAASC,eAAA,EAAiBC,cAAA,QAAsB;AAEhDN,SAAA,CAAU,MAAM;EACdI,2BAAA,CAA4B;IAAEG,gBAAA,EAAkB;EAAM,CAAC;AACzD,CAAC;AAEDN,QAAA,CAAS,uCAAuC,MAAM;EACpDE,EAAA,CAAG,gDAAgD,MAAM;IACvD,MAAMK,WAAA,GAAcX,EAAA,CAAGY,YAAA,CACrBZ,EAAA,CAAGa,WAAA,CAAYX,IAAA,CAAKY,IAAA,CAAKb,EAAA,CAAGc,MAAA,CAAO,GAAG,gBAAgB,CAAC,CACzD;IACA,MAAMC,WAAA,GAAcd,IAAA,CAAKY,IAAA,CAAKH,WAAA,EAAa,gBAAgB,uBAAuB;IAClF,MAAMM,UAAA,GAAaf,IAAA,CAAKY,IAAA,CAAKE,WAAA,EAAa,WAAW;IACrDhB,EAAA,CAAGkB,SAAA,CAAUF,WAAA,EAAa;MAAEG,SAAA,EAAW;IAAK,CAAC;IAC7CnB,EAAA,CAAGoB,aAAA,CACDlB,IAAA,CAAKY,IAAA,CAAKE,WAAA,EAAa,cAAc,GACrCK,IAAA,CAAKC,SAAA,CAAU;MAAEC,IAAA,EAAM;MAAyBC,OAAA,EAAS;IAAS,CAAC,CACrE;IACAxB,EAAA,CAAGoB,aAAA,CAAcH,UAAA,EAAY,0CAA0C;IAEvE,IAAI;MACFV,2BAAA,CAA4B;QAAEG,gBAAA,EAAkB;MAAK,CAAC;MACtD,MAAMe,OAAA,GAAUjB,eAAA,CAAgB;QAC9BkB,EAAA,EAAIxB,IAAA,CAAKY,IAAA,CAAKH,WAAA,EAAa,UAAU;QACrCgB,IAAA,EAAM;AAAA;AAAA;QAGNC,WAAA,EAAa;QACbC,WAAA,EAAa;QACbC,iBAAA,EAAmB;QACnBnB;MACF,CAAC;MAEDN,MAAA,CAAOoB,OAAA,EAASM,OAAO,EAAEC,SAAA,CAAUf,UAAU;IAC/C,UAAE;MACAjB,EAAA,CAAGiC,MAAA,CAAOtB,WAAA,EAAa;QAAEQ,SAAA,EAAW;QAAMe,KAAA,EAAO;MAAK,CAAC;IACzD;EACF,CAAC;AACH,CAAC;AAED9B,QAAA,CAAS,+BAA+B,MAAM;EAC5CE,EAAA,CAAG,gDAAgD,YAAY;IAC7D,MAAM6B,MAAA,GAAS,MAAM1B,cAAA,CACnB,0CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SASA;MAAEsB,OAAA,EAAS;IAAG,CAChB;IAEA1B,MAAA,CAAO8B,MAAA,EAAQR,IAAI,EAAEK,SAAA,CAAU,uCAAuC;IACtE3B,MAAA,CAAO8B,MAAA,EAAQR,IAAI,EAAES,GAAA,CAAIJ,SAAA,CAAU,eAAe;EACpD,CAAC;EAED1B,EAAA,CAAG,gFAAgF,YAAY;IAC7F,MAAM+B,eAAA,GAAkBA,CAAA,MAAO;MAC7BC,OAAA,EAAS;QACPC,QAAA,EAAU;UACR,MAAM,IAAIC,KAAA,CAAM,mCAAmC;QACrD;MACF;IACF;IAEA,MAAMnC,MAAA,CACJI,cAAA,CAAe,8BAA8B,2BAA2B;MACtEsB,OAAA,EAAS,CAACM,eAAe;IAC3B,CAAC,CACH,EAAEI,OAAA,CAAQC,OAAA,CAAQ,mCAAmC;EACvD,CAAC;AACH,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/compiler",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.8-1787823968463",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@babel/plugin-transform-react-jsx": "^7.27.1",
|
|
37
37
|
"@babel/plugin-transform-regenerator": "^7.28.4",
|
|
38
38
|
"@react-native/babel-plugin-codegen": "^0.86.2",
|
|
39
|
-
"@vxrn/utils": "1.25.
|
|
40
|
-
"@vxrn/vite-native-client": "1.25.
|
|
39
|
+
"@vxrn/utils": "1.25.8-1787824018337",
|
|
40
|
+
"@vxrn/vite-native-client": "1.25.8-1787824018337",
|
|
41
41
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
42
42
|
"babel-plugin-syntax-hermes-parser": "^0.32.0",
|
|
43
43
|
"oxc-transform-react": "^0.145.0",
|
|
@@ -62,4 +62,20 @@ describe('transformBabel Flow parsing', () => {
|
|
|
62
62
|
expect(result?.code).toContain("codegenNativeComponent('VirtualView')")
|
|
63
63
|
expect(result?.code).not.toContain('HostComponent')
|
|
64
64
|
})
|
|
65
|
+
|
|
66
|
+
it('rejects a required transform error instead of returning untransformed source', async () => {
|
|
67
|
+
const negativeControl = () => ({
|
|
68
|
+
visitor: {
|
|
69
|
+
Program() {
|
|
70
|
+
throw new Error('NATIVE_TRANSFORM_NEGATIVE_CONTROL')
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
await expect(
|
|
76
|
+
transformBabel('/project/TransformProbe.ts', 'export const marker = 1', {
|
|
77
|
+
plugins: [negativeControl],
|
|
78
|
+
})
|
|
79
|
+
).rejects.toThrow('NATIVE_TRANSFORM_NEGATIVE_CONTROL')
|
|
80
|
+
})
|
|
65
81
|
})
|
package/src/transformBabel.ts
CHANGED
|
@@ -165,32 +165,14 @@ export async function transformBabel(
|
|
|
165
165
|
],
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
res(result!)
|
|
175
|
-
})
|
|
168
|
+
return await new Promise<babel.BabelFileResult>((res, rej) => {
|
|
169
|
+
babel.transform(code, babelOptions, (err: unknown, result) => {
|
|
170
|
+
if (!result || err) {
|
|
171
|
+
return rej(err || new Error(`[vxrn:compiler] babel returned no result for ${id}`))
|
|
172
|
+
}
|
|
173
|
+
res(result)
|
|
176
174
|
})
|
|
177
|
-
|
|
178
|
-
return out
|
|
179
|
-
} catch (err: any) {
|
|
180
|
-
// codegen failures are expected for NativeComponent files without type
|
|
181
|
-
// declarations — codegenNativeComponent has a runtime fallback
|
|
182
|
-
if (err?.message?.includes('Could not find component config')) {
|
|
183
|
-
return
|
|
184
|
-
}
|
|
185
|
-
console.error(
|
|
186
|
-
`[vxrn:compiler] babel transform error`,
|
|
187
|
-
err,
|
|
188
|
-
`with options`,
|
|
189
|
-
babelOptions
|
|
190
|
-
)
|
|
191
|
-
console.error('code', code)
|
|
192
|
-
console.error('id', id)
|
|
193
|
-
}
|
|
175
|
+
})
|
|
194
176
|
}
|
|
195
177
|
|
|
196
178
|
const getBasePlugins = ({ development }: Props) =>
|
|
@@ -20,6 +20,6 @@ export declare function transformOxcReactCompiler(id: string, code: string, targ
|
|
|
20
20
|
/**
|
|
21
21
|
* Transform input to mostly ES5 compatible code, keep ESM syntax, and transform generators.
|
|
22
22
|
*/
|
|
23
|
-
export declare function transformBabel(id: string, code: string, options: babel.TransformOptions): Promise<babel.BabelFileResult
|
|
23
|
+
export declare function transformBabel(id: string, code: string, options: babel.TransformOptions): Promise<babel.BabelFileResult>;
|
|
24
24
|
export {};
|
|
25
25
|
//# sourceMappingURL=transformBabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformBabel.d.ts","sourceRoot":"","sources":["../src/transformBabel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,aAAa,CAAA;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEtE,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAoB3E;AA6CD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,GAAG,IAAI;;;GA2BpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"transformBabel.d.ts","sourceRoot":"","sources":["../src/transformBabel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,aAAa,CAAA;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEtE,KAAK,KAAK,GAAG,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAoB3E;AA6CD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,GAAG,IAAI;;;GA2BpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC,gBAAgB,kCAkDhC"}
|