@amodalai/runtime 0.3.36 → 0.3.37

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.
@@ -12,7 +12,7 @@
12
12
  * caller (typically the Studio ArenaPage).
13
13
  */
14
14
  import { Router } from 'express';
15
- import { judgeAllAssertions, computeEvalCost } from '@amodalai/core';
15
+ import { evaluateAssertions, computeEvalCost } from '@amodalai/core';
16
16
  import { SSEEventType } from '../types.js';
17
17
  import { resolveSession } from './session-resolver.js';
18
18
  import { asyncHandler } from './route-helpers.js';
@@ -38,6 +38,7 @@ async function queryViaSession(sessionManager, bundleResolver, shared, message,
38
38
  let fullResponse = '';
39
39
  const toolCalls = [];
40
40
  const toolResults = [];
41
+ let turns = 0;
41
42
  let usage;
42
43
  // Track tool names by tool_id so we can match results
43
44
  const toolNames = new Map();
@@ -56,6 +57,7 @@ async function queryViaSession(sessionManager, bundleResolver, shared, message,
56
57
  });
57
58
  }
58
59
  else if (event.type === SSEEventType.ToolCallResult) {
60
+ turns++;
59
61
  const result = event.result ?? event.error ?? '';
60
62
  const preview = result.length > 300 ? result.substring(0, 300) + '...' : result;
61
63
  toolResults.push(preview);
@@ -87,7 +89,7 @@ async function queryViaSession(sessionManager, bundleResolver, shared, message,
87
89
  const estimatedInput = estimatedOutput * 3;
88
90
  usage = { inputTokens: estimatedInput, outputTokens: estimatedOutput };
89
91
  }
90
- return { response: fullResponse, toolCalls, toolResults, usage };
92
+ return { response: fullResponse, toolCalls, toolResults, turns, usage };
91
93
  }
92
94
  /**
93
95
  * Create a judge provider that runs messages through the session manager.
@@ -197,10 +199,17 @@ export function createEvalRouter(options) {
197
199
  if (queryResult.toolResults.length > 0) {
198
200
  enrichedResponse += `\n\n## Tool Results\n${queryResult.toolResults.map((r) => `- ${r}`).join('\n')}`;
199
201
  }
200
- // Judge all assertions
201
- const assertions = await judgeAllAssertions(enrichedResponse, ev.assertions, judgeProvider);
202
- const passed = assertions.every((a) => a.passed);
202
+ // Split assertions into deterministic and LLM-judged
203
203
  const durationMs = Date.now() - start;
204
+ const deterministicCtx = {
205
+ response: queryResult.response,
206
+ toolCalls: queryResult.toolCalls,
207
+ durationMs,
208
+ turns: queryResult.turns,
209
+ };
210
+ // Evaluate assertions: deterministic first, then LLM judge for the rest
211
+ const assertions = await evaluateAssertions(enrichedResponse, ev.assertions, deterministicCtx, judgeProvider);
212
+ const passed = assertions.every((a) => a.passed);
204
213
  // Compute costs
205
214
  const queryCost = queryResult.usage
206
215
  ? computeEvalCost(queryResult.usage.inputTokens, queryResult.usage.outputTokens, modelName, queryResult.usage.cacheReadInputTokens, queryResult.usage.cacheCreationInputTokens)
@@ -1 +1 @@
1
- {"version":3,"file":"evals.js","sourceRoot":"","sources":["../../../src/routes/evals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evals.js","sourceRoot":"","sources":["../../../src/routes/evals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AAmCjC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,cAAwC,EACxC,cAA8B,EAC9B,MAAuB,EACvB,OAAe,EACf,KAAyC,EACzC,MAAoB;IAQpB,MAAM,EAAC,OAAO,EAAE,kBAAkB,EAAC,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE;QACpE,cAAc;QACd,cAAc;QACd,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE;QAC5D,MAAM;QACN,gBAAgB,EAAE,kBAAkB;KACrC,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,SAAS,GAA+D,EAAE,CAAC;IACjF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAgI,CAAC;IAErI,sDAAsD;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM;YAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC1C,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;gBACrD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9C,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,cAAc,EAAE,CAAC;gBACtD,KAAK,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC/C,IAAI,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACxC,KAAK,GAAG;4BACN,WAAW;4BACX,YAAY;4BACZ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvF,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAC,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC5G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,yDAAyD;QACzD,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,eAAe,GAAG,CAAC,CAAC;QAC3C,KAAK,GAAG,EAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAC,CAAC;IACvE,CAAC;IAED,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,cAAwC,EACxC,cAA8B,EAC9B,MAAuB;IAEvB,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAC9B,MAAM,EAAC,OAAO,EAAE,kBAAkB,EAAC,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE;gBACpE,cAAc;gBACd,cAAc;gBACd,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE;gBAC3D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpC,gBAAgB,EAAE,kBAAkB;aACrC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAa,EAAE,IAA6B;IAC3D,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC/E,wBAAwB;QACxB,uFAAuF;QACvF,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;QAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,4DAA4D,EAAC;aACpG,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,IAA8B,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAEnC,qBAAqB;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;QAEnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1C,MAAM,aAAa,GAAG,mBAAmB,CACvC,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,CACf,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;QAEzF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAC,CAAC,CAAC;QAEzF,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAErC,sBAAsB;gBACtB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,EAAE;wBACX,IAAI,EAAE,eAAe;wBACrB,QAAQ;wBACR,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,EAAE;4BACb,WAAW,EAAE,EAAE;4BACf,UAAU,EAAE,EAAE;4BACd,UAAU,EAAE,CAAC;4BACb,KAAK,EAAE,SAAS,QAAQ,6BAA6B;yBACtD;qBACF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEzB,IAAI,CAAC;oBACH,qDAAqD;oBACrD,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,KAAK,EACR,KAAK,EACL,UAAU,CAAC,MAAM,CAClB,CAAC;oBAEF,4EAA4E;oBAC5E,OAAO,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;4BACrD,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW;4BAC3C,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY;4BAC7C,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAC,uBAAuB,EAAE,WAAW,CAAC,KAAK,CAAC,oBAAoB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpH,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAC,2BAA2B,EAAE,WAAW,CAAC,KAAK,CAAC,wBAAwB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBACjI,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC;oBAEhB,iEAAiE;oBACjE,IAAI,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC;oBAC5C,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS;6BACtC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;6BAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,gBAAgB,IAAI,2BAA2B,WAAW,EAAE,CAAC;oBAC/D,CAAC;oBACD,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvC,gBAAgB,IAAI,wBAAwB,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxG,CAAC;oBAED,qDAAqD;oBACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBACtC,MAAM,gBAAgB,GAAyB;wBAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,UAAU;wBACV,KAAK,EAAE,WAAW,CAAC,KAAK;qBACzB,CAAC;oBAEF,wEAAwE;oBACxE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,gBAAgB,EAChB,EAAE,CAAC,UAAU,EACb,gBAAgB,EAChB,aAAa,CACd,CAAC;oBAEF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAEjD,gBAAgB;oBAChB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;wBACjC,CAAC,CAAC,eAAe,CACb,WAAW,CAAC,KAAK,CAAC,WAAW,EAC7B,WAAW,CAAC,KAAK,CAAC,YAAY,EAC9B,SAAS,EACT,WAAW,CAAC,KAAK,CAAC,oBAAoB,EACtC,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAC3C;wBACH,CAAC,CAAC,SAAS,CAAC;oBAEd,MAAM,WAAW,GAAoB;wBACnC,IAAI,EAAE,eAAe;wBACrB,QAAQ;wBACR,MAAM;wBACN,MAAM,EAAE;4BACN,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;4BAChC,WAAW,EAAE,WAAW,CAAC,WAAW;4BACpC,UAAU;4BACV,UAAU;4BACV,SAAS;yBACV;qBACF,CAAC;oBAEF,mGAAmG;oBACnG,OAAO,CAAC,GAAG,EAAE,WAAiD,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM;oBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;oBAEtC,OAAO,CAAC,GAAG,EAAE;wBACX,IAAI,EAAE,eAAe;wBACrB,QAAQ;wBACR,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE;4BACN,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,EAAE;4BACb,WAAW,EAAE,EAAE;4BACf,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACpC,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gCAClB,MAAM,EAAE,KAAK;gCACb,MAAM,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;6BACpF,CAAC,CAAC;4BACH,UAAU;4BACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,EAAE;oBACX,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC;AAChB,CAAC"}