@just-every/ensemble 0.2.249 → 0.2.250
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/README.md +32 -0
- package/dist/cjs/index.cjs +6 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model_providers/openai_compatible.cjs +57 -0
- package/dist/cjs/model_providers/openai_compatible.d.ts +22 -0
- package/dist/cjs/model_providers/openai_compatible.d.ts.map +1 -0
- package/dist/cjs/model_providers/openai_compatible.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils/external_models.cjs +11 -5
- package/dist/cjs/utils/external_models.d.ts.map +1 -1
- package/dist/cjs/utils/external_models.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model_providers/openai_compatible.d.ts +22 -0
- package/dist/model_providers/openai_compatible.d.ts.map +1 -0
- package/dist/model_providers/openai_compatible.js +51 -0
- package/dist/model_providers/openai_compatible.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/external_models.d.ts.map +1 -1
- package/dist/utils/external_models.js +11 -5
- package/dist/utils/external_models.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,19 +29,25 @@ function registerExternalModel(model, provider) {
|
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
31
|
externalModels.set(modelId, modelWithDefaults);
|
|
32
|
-
|
|
33
|
-
externalProviders.set(model.provider, provider);
|
|
34
|
-
}
|
|
32
|
+
externalProviders.set(model.provider, provider);
|
|
35
33
|
console.log(`[Ensemble] Registered external model: ${modelId} with provider: ${model.provider}`);
|
|
36
34
|
}
|
|
37
35
|
function getExternalModel(modelId) {
|
|
38
|
-
|
|
36
|
+
const directModel = externalModels.get(modelId);
|
|
37
|
+
if (directModel)
|
|
38
|
+
return directModel;
|
|
39
|
+
for (const model of externalModels.values()) {
|
|
40
|
+
if (model.aliases?.includes(modelId)) {
|
|
41
|
+
return model;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
39
45
|
}
|
|
40
46
|
function getExternalProvider(providerId) {
|
|
41
47
|
return externalProviders.get(providerId);
|
|
42
48
|
}
|
|
43
49
|
function isExternalModel(modelId) {
|
|
44
|
-
return
|
|
50
|
+
return getExternalModel(modelId) !== undefined;
|
|
45
51
|
}
|
|
46
52
|
function clearExternalRegistrations() {
|
|
47
53
|
externalModels.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external_models.d.ts","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6C3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"external_models.d.ts","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA6C3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CA6BtF;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAWxE;AAKD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,SAAS,CAE1F;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAKD,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD;AAOD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAG3F;AAOD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAExF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external_models.js","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":";;AAkDA,
|
|
1
|
+
{"version":3,"file":"external_models.js","sourceRoot":"","sources":["../../../utils/external_models.ts"],"names":[],"mappings":";;AAkDA,sDA6BC;AAQD,4CAWC;AAKD,kDAEC;AAKD,0CAEC;AAKD,gEAIC;AAOD,gDAGC;AAOD,sDAEC;AApID,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;AAGrD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAGpE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAoCnE,SAAgB,qBAAqB,CAAC,KAAiB,EAAE,QAAuB;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAGzB,MAAM,iBAAiB,GAAe;QAClC,GAAG,KAAK;QACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;YAChB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;SACxB;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI;YACxB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YACnD,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,iBAAiB,EAAE,MAAM;SAC5B;KACJ,CAAC;IAGF,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAI/C,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,mBAAmB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrG,CAAC;AAQD,SAAgB,gBAAgB,CAAC,OAAe;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAKD,SAAgB,mBAAmB,CAAC,UAA2B;IAC3D,OAAO,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAKD,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AACnD,CAAC;AAKD,SAAgB,0BAA0B;IACtC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAOD,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,UAA+B;IACjF,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,iBAAiB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/G,CAAC;AAOD,SAAgB,qBAAqB,CAAC,SAAiB;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './types/types.js';
|
|
|
2
2
|
export { getModelProvider, getProviderFromModel, getModelFromAgent, getModelFromClass, isProviderKeyValid, canRunAgent, ModelProvider, } from './model_providers/model_provider.js';
|
|
3
3
|
export * from './utils/message_history.js';
|
|
4
4
|
export { registerExternalModel, getExternalModel, getExternalProvider, isExternalModel, } from './utils/external_models.js';
|
|
5
|
+
export { OpenAICompatibleProvider, registerOpenAICompatibleModel, normalizeOpenAICompatibleEndpoint, type OpenAICompatibleModelOptions, } from './model_providers/openai_compatible.js';
|
|
5
6
|
export { MODEL_REGISTRY, MODEL_CLASSES, findModel } from './data/model_data.js';
|
|
6
7
|
export type { ModelProviderID, ModelUsage, TieredPrice, TimeBasedPrice, ModelEntry } from './data/model_data.js';
|
|
7
8
|
export * from './utils/delta_buffer.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,aAAa,GAChB,MAAM,qCAAqC,CAAC;AAG7C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAClB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from './types/types.js';
|
|
|
2
2
|
export { getModelProvider, getProviderFromModel, getModelFromAgent, getModelFromClass, isProviderKeyValid, canRunAgent, } from './model_providers/model_provider.js';
|
|
3
3
|
export * from './utils/message_history.js';
|
|
4
4
|
export { registerExternalModel, getExternalModel, getExternalProvider, isExternalModel, } from './utils/external_models.js';
|
|
5
|
+
export { OpenAICompatibleProvider, registerOpenAICompatibleModel, normalizeOpenAICompatibleEndpoint, } from './model_providers/openai_compatible.js';
|
|
5
6
|
export { MODEL_REGISTRY, MODEL_CLASSES, findModel } from './data/model_data.js';
|
|
6
7
|
export * from './utils/delta_buffer.js';
|
|
7
8
|
export * from './utils/cost_tracker.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,GAEd,MAAM,qCAAqC,CAAC;AAG7C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAClB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ModelCost, ModelFeatures } from '../types/types.js';
|
|
2
|
+
import { OpenAIChat } from './openai_chat.js';
|
|
3
|
+
export interface OpenAICompatibleModelOptions {
|
|
4
|
+
id: string;
|
|
5
|
+
endpoint: string;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
providerId?: string;
|
|
8
|
+
aliases?: string[];
|
|
9
|
+
cost?: ModelCost;
|
|
10
|
+
features?: ModelFeatures;
|
|
11
|
+
class?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
defaultHeaders?: Record<string, string | null | undefined>;
|
|
14
|
+
commonParams?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export declare function normalizeOpenAICompatibleEndpoint(endpoint: string): string;
|
|
17
|
+
export declare class OpenAICompatibleProvider extends OpenAIChat {
|
|
18
|
+
readonly endpoint: string;
|
|
19
|
+
constructor(options: OpenAICompatibleModelOptions);
|
|
20
|
+
}
|
|
21
|
+
export declare function registerOpenAICompatibleModel(options: OpenAICompatibleModelOptions): OpenAICompatibleProvider;
|
|
22
|
+
//# sourceMappingURL=openai_compatible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai_compatible.d.ts","sourceRoot":"","sources":["../../model_providers/openai_compatible.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAc,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED,qBAAa,wBAAyB,SAAQ,UAAU;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,4BAA4B;CAcpD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,4BAA4B,GAAG,wBAAwB,CAkB7G"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { registerExternalModel } from '../utils/external_models.js';
|
|
2
|
+
import { OpenAIChat } from './openai_chat.js';
|
|
3
|
+
const DEFAULT_LOCAL_API_KEY = 'not-needed';
|
|
4
|
+
const DEFAULT_OPENAI_COMPATIBLE_FEATURES = {
|
|
5
|
+
context_length: 128000,
|
|
6
|
+
input_modality: ['text'],
|
|
7
|
+
output_modality: ['text'],
|
|
8
|
+
tool_use: false,
|
|
9
|
+
streaming: true,
|
|
10
|
+
json_output: true,
|
|
11
|
+
max_output_tokens: 8192,
|
|
12
|
+
};
|
|
13
|
+
export function normalizeOpenAICompatibleEndpoint(endpoint) {
|
|
14
|
+
if (!endpoint || endpoint.trim().length === 0) {
|
|
15
|
+
throw new Error('OpenAI-compatible endpoint is required.');
|
|
16
|
+
}
|
|
17
|
+
const url = new URL(endpoint);
|
|
18
|
+
if (url.pathname === '' || url.pathname === '/') {
|
|
19
|
+
url.pathname = '/v1';
|
|
20
|
+
}
|
|
21
|
+
url.pathname = url.pathname.replace(/\/+$/, '');
|
|
22
|
+
return url.toString().replace(/\/+$/, '');
|
|
23
|
+
}
|
|
24
|
+
export class OpenAICompatibleProvider extends OpenAIChat {
|
|
25
|
+
endpoint;
|
|
26
|
+
constructor(options) {
|
|
27
|
+
const endpoint = normalizeOpenAICompatibleEndpoint(options.endpoint);
|
|
28
|
+
const providerId = (options.providerId || `openai-compatible:${options.id}`);
|
|
29
|
+
super(providerId, options.apiKey || DEFAULT_LOCAL_API_KEY, endpoint, options.defaultHeaders, options.commonParams);
|
|
30
|
+
this.endpoint = endpoint;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function registerOpenAICompatibleModel(options) {
|
|
34
|
+
const provider = new OpenAICompatibleProvider(options);
|
|
35
|
+
const providerId = (options.providerId || `openai-compatible:${options.id}`);
|
|
36
|
+
const model = {
|
|
37
|
+
id: options.id,
|
|
38
|
+
aliases: options.aliases,
|
|
39
|
+
provider: providerId,
|
|
40
|
+
cost: options.cost,
|
|
41
|
+
features: {
|
|
42
|
+
...DEFAULT_OPENAI_COMPATIBLE_FEATURES,
|
|
43
|
+
...options.features,
|
|
44
|
+
},
|
|
45
|
+
class: options.class,
|
|
46
|
+
description: options.description || `OpenAI-compatible model at ${provider.endpoint}`,
|
|
47
|
+
};
|
|
48
|
+
registerExternalModel(model, provider);
|
|
49
|
+
return provider;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=openai_compatible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai_compatible.js","sourceRoot":"","sources":["../../model_providers/openai_compatible.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,kCAAkC,GAAkB;IACtD,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,CAAC,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,IAAI;CAC1B,CAAC;AAgBF,MAAM,UAAU,iCAAiC,CAAC,QAAgB;IAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IAC3C,QAAQ,CAAS;IAE1B,YAAY,OAAqC;QAC7C,MAAM,QAAQ,GAAG,iCAAiC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAoB,CAAC;QAEhG,KAAK,CACD,UAAU,EACV,OAAO,CAAC,MAAM,IAAI,qBAAqB,EACvC,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,CACvB,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAqC;IAC/E,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,qBAAqB,OAAO,CAAC,EAAE,EAAE,CAAoB,CAAC;IAChG,MAAM,KAAK,GAAe;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE;YACN,GAAG,kCAAkC;YACrC,GAAG,OAAO,CAAC,QAAQ;SACtB;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,8BAA8B,QAAQ,CAAC,QAAQ,EAAE;KACxF,CAAC;IAEF,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|