niceeval 0.15.0 → 0.15.1-canary.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/INDEX.md +2 -2
  2. package/dist/adapter-attachments.cjs +3 -0
  3. package/dist/adapter-attachments.cjs.map +1 -0
  4. package/dist/adapter-attachments.d.cts +14 -0
  5. package/dist/adapter-attachments.d.mts +14 -0
  6. package/dist/adapter-attachments.d.ts +14 -0
  7. package/dist/adapter-attachments.js +4 -0
  8. package/dist/adapter-attachments.js.map +1 -0
  9. package/dist/adapter-execution-trace.cjs +3 -0
  10. package/dist/adapter-execution-trace.cjs.map +1 -0
  11. package/dist/adapter-execution-trace.d.cts +87 -0
  12. package/dist/adapter-execution-trace.d.mts +87 -0
  13. package/dist/adapter-execution-trace.d.ts +87 -0
  14. package/dist/adapter-execution-trace.js +4 -0
  15. package/dist/adapter-execution-trace.js.map +1 -0
  16. package/dist/adapter-flags.cjs +27 -0
  17. package/dist/adapter-flags.cjs.map +1 -0
  18. package/dist/adapter-flags.d.cts +19 -0
  19. package/dist/adapter-flags.d.mts +19 -0
  20. package/dist/adapter-flags.d.ts +19 -0
  21. package/dist/adapter-flags.js +8 -0
  22. package/dist/adapter-flags.js.map +1 -0
  23. package/dist/adapter-usage.cjs +3 -0
  24. package/dist/adapter-usage.cjs.map +1 -0
  25. package/dist/adapter-usage.d.cts +30 -0
  26. package/dist/adapter-usage.d.mts +30 -0
  27. package/dist/adapter-usage.d.ts +30 -0
  28. package/dist/adapter-usage.js +4 -0
  29. package/dist/adapter-usage.js.map +1 -0
  30. package/dist/adapter.cjs +14 -4
  31. package/dist/adapter.cjs.map +1 -1
  32. package/dist/adapter.d.cts +45 -34
  33. package/dist/adapter.d.mts +45 -34
  34. package/dist/adapter.d.ts +45 -34
  35. package/dist/agents/ai-sdk.cjs.map +1 -1
  36. package/dist/agents/ai-sdk.d.cts +2 -1
  37. package/dist/agents/ai-sdk.d.mts +2 -1
  38. package/dist/agents/ai-sdk.d.ts +2 -1
  39. package/dist/agents/index.cjs.map +1 -1
  40. package/dist/agents/index.d.cts +1 -0
  41. package/dist/agents/index.d.mts +1 -0
  42. package/dist/agents/index.d.ts +1 -0
  43. package/dist/agents/types.cjs.map +1 -1
  44. package/dist/agents/types.d.cts +2 -1
  45. package/dist/agents/types.d.mts +2 -1
  46. package/dist/agents/types.d.ts +2 -1
  47. package/dist/assertions/api.cjs.map +1 -1
  48. package/dist/assertions/api.d.cts +5 -0
  49. package/dist/assertions/api.d.mts +5 -0
  50. package/dist/assertions/api.d.ts +5 -0
  51. package/dist/assertions/judge.cjs +49 -4
  52. package/dist/assertions/judge.cjs.map +1 -1
  53. package/dist/assertions/judge.d.cts +20 -0
  54. package/dist/assertions/judge.d.mts +20 -0
  55. package/dist/assertions/judge.d.ts +20 -0
  56. package/dist/assertions/judge.js +14 -10
  57. package/dist/assertions/match.cjs.map +1 -1
  58. package/dist/assertions/match.d.cts +5 -4
  59. package/dist/assertions/match.d.mts +5 -4
  60. package/dist/assertions/match.d.ts +5 -4
  61. package/dist/assertions/record/attachment.cjs +6 -0
  62. package/dist/assertions/record/attachment.cjs.map +1 -1
  63. package/dist/assertions/runtime.cjs +17 -3
  64. package/dist/assertions/runtime.cjs.map +1 -1
  65. package/dist/assertions/score-match-audit.cjs +334 -8
  66. package/dist/assertions/score-match-audit.cjs.map +1 -1
  67. package/dist/assertions/score-match-audit.d.cts +70 -2
  68. package/dist/assertions/score-match-audit.d.mts +70 -2
  69. package/dist/assertions/score-match-audit.d.ts +70 -2
  70. package/dist/assertions/score-match-gateway.cjs +238 -43
  71. package/dist/assertions/score-match-gateway.cjs.map +1 -1
  72. package/dist/assertions/types.cjs.map +1 -1
  73. package/dist/assertions/types.d.cts +3 -24
  74. package/dist/assertions/types.d.mts +3 -24
  75. package/dist/assertions/types.d.ts +3 -24
  76. package/dist/cli/bootstrap.cjs +2 -1
  77. package/dist/cli/bootstrap.cjs.map +1 -1
  78. package/dist/cli/program.cjs +9 -9
  79. package/dist/cli/program.cjs.map +1 -1
  80. package/dist/context/assert-first.cjs.map +1 -1
  81. package/dist/context/assert-first.d.cts +5 -9
  82. package/dist/context/assert-first.d.mts +5 -9
  83. package/dist/context/assert-first.d.ts +5 -9
  84. package/dist/context/session.cjs.map +1 -1
  85. package/dist/context/session.d.cts +3 -2
  86. package/dist/context/session.d.mts +3 -2
  87. package/dist/context/session.d.ts +3 -2
  88. package/dist/define.cjs +32 -5
  89. package/dist/define.cjs.map +1 -1
  90. package/dist/define.d.cts +2 -1
  91. package/dist/define.d.mts +2 -1
  92. package/dist/define.d.ts +2 -1
  93. package/dist/error-assistance/diagnostic.cjs +126 -0
  94. package/dist/error-assistance/diagnostic.cjs.map +1 -0
  95. package/dist/error-assistance/diagnostic.d.cts +11 -0
  96. package/dist/error-assistance/diagnostic.d.mts +11 -0
  97. package/dist/error-assistance/diagnostic.d.ts +11 -0
  98. package/dist/error-assistance/diagnostic.js +22 -0
  99. package/dist/error-assistance/diagnostic.js.map +1 -0
  100. package/dist/error-assistance/index.cjs +32 -0
  101. package/dist/error-assistance/index.cjs.map +1 -0
  102. package/dist/error-assistance/index.d.cts +6 -0
  103. package/dist/error-assistance/index.d.mts +6 -0
  104. package/dist/error-assistance/index.d.ts +6 -0
  105. package/dist/error-assistance/index.js +50 -0
  106. package/dist/error-assistance/index.js.map +1 -0
  107. package/dist/error-assistance/migration.cjs +194 -0
  108. package/dist/error-assistance/migration.cjs.map +1 -0
  109. package/dist/error-assistance/migration.d.cts +25 -0
  110. package/dist/error-assistance/migration.d.mts +25 -0
  111. package/dist/error-assistance/migration.d.ts +25 -0
  112. package/dist/error-assistance/migration.js +16 -0
  113. package/dist/error-assistance/migration.js.map +1 -0
  114. package/dist/error-assistance/render.cjs +81 -0
  115. package/dist/error-assistance/render.cjs.map +1 -0
  116. package/dist/error-assistance/render.d.cts +7 -0
  117. package/dist/error-assistance/render.d.mts +7 -0
  118. package/dist/error-assistance/render.d.ts +7 -0
  119. package/dist/error-assistance/render.js +12 -0
  120. package/dist/error-assistance/render.js.map +1 -0
  121. package/dist/error-assistance/source.cjs +27 -0
  122. package/dist/error-assistance/source.cjs.map +1 -0
  123. package/dist/error-assistance/source.d.cts +9 -0
  124. package/dist/error-assistance/source.d.mts +9 -0
  125. package/dist/error-assistance/source.d.ts +9 -0
  126. package/dist/error-assistance/source.js +6 -0
  127. package/dist/error-assistance/source.js.map +1 -0
  128. package/dist/error-assistance/types.cjs +3 -0
  129. package/dist/error-assistance/types.cjs.map +1 -0
  130. package/dist/error-assistance/types.d.cts +62 -0
  131. package/dist/error-assistance/types.d.mts +62 -0
  132. package/dist/error-assistance/types.d.ts +62 -0
  133. package/dist/error-assistance/types.js +4 -0
  134. package/dist/error-assistance/types.js.map +1 -0
  135. package/dist/error-assistance/unknown.cjs +67 -0
  136. package/dist/error-assistance/unknown.cjs.map +1 -0
  137. package/dist/error-assistance/unknown.d.cts +8 -0
  138. package/dist/error-assistance/unknown.d.mts +8 -0
  139. package/dist/error-assistance/unknown.d.ts +8 -0
  140. package/dist/error-assistance/unknown.js +10 -0
  141. package/dist/error-assistance/unknown.js.map +1 -0
  142. package/dist/experiment/flags.cjs +31 -0
  143. package/dist/experiment/flags.cjs.map +1 -0
  144. package/dist/experiment/flags.d.cts +3 -0
  145. package/dist/experiment/flags.d.mts +3 -0
  146. package/dist/experiment/flags.d.ts +3 -0
  147. package/dist/experiment/flags.js +6 -0
  148. package/dist/experiment/flags.js.map +1 -0
  149. package/dist/index.cjs +3 -1
  150. package/dist/index.cjs.map +1 -1
  151. package/dist/index.d.cts +7 -2
  152. package/dist/index.d.mts +7 -2
  153. package/dist/index.d.ts +7 -2
  154. package/dist/index.js +40 -38
  155. package/dist/index.mjs +40 -38
  156. package/dist/inspection/artifact-list.cjs +67 -0
  157. package/dist/inspection/artifact-list.cjs.map +1 -0
  158. package/dist/inspection/artifact-list.d.cts +38 -0
  159. package/dist/inspection/artifact-list.d.mts +38 -0
  160. package/dist/inspection/artifact-list.d.ts +38 -0
  161. package/dist/inspection/artifact-list.js +12 -0
  162. package/dist/inspection/artifact-list.js.map +1 -0
  163. package/dist/inspection/artifacts.cjs +239 -0
  164. package/dist/inspection/artifacts.cjs.map +1 -0
  165. package/dist/inspection/artifacts.d.cts +50 -0
  166. package/dist/inspection/artifacts.d.mts +50 -0
  167. package/dist/inspection/artifacts.d.ts +50 -0
  168. package/dist/inspection/artifacts.js +18 -0
  169. package/dist/inspection/artifacts.js.map +1 -0
  170. package/dist/inspection/assertion-projection.cjs +70 -2
  171. package/dist/inspection/assertion-projection.cjs.map +1 -1
  172. package/dist/inspection/assertion-projection.d.cts +20 -4
  173. package/dist/inspection/assertion-projection.d.mts +20 -4
  174. package/dist/inspection/assertion-projection.d.ts +20 -4
  175. package/dist/inspection/assertions.cjs +64 -7
  176. package/dist/inspection/assertions.cjs.map +1 -1
  177. package/dist/inspection/assertions.d.cts +1 -0
  178. package/dist/inspection/assertions.d.mts +1 -0
  179. package/dist/inspection/assertions.d.ts +1 -0
  180. package/dist/inspection/assertions.js +4 -2
  181. package/dist/inspection/bytes.cjs +17 -100
  182. package/dist/inspection/bytes.cjs.map +1 -1
  183. package/dist/inspection/bytes.d.cts +4 -6
  184. package/dist/inspection/bytes.d.mts +4 -6
  185. package/dist/inspection/bytes.d.ts +4 -6
  186. package/dist/inspection/bytes.js +10 -6
  187. package/dist/inspection/canonical.cjs +2 -7
  188. package/dist/inspection/canonical.cjs.map +1 -1
  189. package/dist/inspection/cli/contribution.cjs +14 -0
  190. package/dist/inspection/cli/contribution.cjs.map +1 -1
  191. package/dist/inspection/codec.cjs +11 -5
  192. package/dist/inspection/codec.cjs.map +1 -1
  193. package/dist/inspection/codec.d.cts +3 -2
  194. package/dist/inspection/codec.d.mts +3 -2
  195. package/dist/inspection/codec.d.ts +3 -2
  196. package/dist/inspection/codec.js +16 -12
  197. package/dist/inspection/execution-traces.cjs +638 -0
  198. package/dist/inspection/execution-traces.cjs.map +1 -0
  199. package/dist/inspection/execution-traces.d.cts +122 -0
  200. package/dist/inspection/execution-traces.d.mts +122 -0
  201. package/dist/inspection/execution-traces.d.ts +122 -0
  202. package/dist/inspection/execution-traces.js +18 -0
  203. package/dist/inspection/execution-traces.js.map +1 -0
  204. package/dist/inspection/facts.cjs +1 -6
  205. package/dist/inspection/facts.cjs.map +1 -1
  206. package/dist/inspection/index.cjs.map +1 -1
  207. package/dist/inspection/index.d.cts +1 -1
  208. package/dist/inspection/index.d.mts +1 -1
  209. package/dist/inspection/index.d.ts +1 -1
  210. package/dist/inspection/overview.cjs +57 -35
  211. package/dist/inspection/overview.cjs.map +1 -1
  212. package/dist/inspection/overview.d.cts +1 -1
  213. package/dist/inspection/overview.d.mts +1 -1
  214. package/dist/inspection/overview.d.ts +1 -1
  215. package/dist/inspection/protocol-values.cjs +3 -1
  216. package/dist/inspection/protocol-values.cjs.map +1 -1
  217. package/dist/inspection/protocol-values.d.cts +2 -0
  218. package/dist/inspection/protocol-values.d.mts +2 -0
  219. package/dist/inspection/protocol-values.d.ts +2 -0
  220. package/dist/inspection/protocol-values.js +4 -2
  221. package/dist/inspection/protocol.cjs +37 -9
  222. package/dist/inspection/protocol.cjs.map +1 -1
  223. package/dist/inspection/protocol.d.cts +3408 -416
  224. package/dist/inspection/protocol.d.mts +3408 -416
  225. package/dist/inspection/protocol.d.ts +3408 -416
  226. package/dist/inspection/public.cjs +2 -1
  227. package/dist/inspection/public.cjs.map +1 -1
  228. package/dist/inspection/public.d.cts +2 -2
  229. package/dist/inspection/public.d.mts +2 -2
  230. package/dist/inspection/public.d.ts +2 -2
  231. package/dist/inspection/public.js +40 -38
  232. package/dist/inspection/public.mjs +1842 -542
  233. package/dist/inspection/query.cjs.map +1 -1
  234. package/dist/inspection/query.d.cts +1 -1
  235. package/dist/inspection/query.d.mts +1 -1
  236. package/dist/inspection/query.d.ts +1 -1
  237. package/dist/inspection/results.cjs +121 -8
  238. package/dist/inspection/results.cjs.map +1 -1
  239. package/dist/inspection/results.d.cts +329 -16
  240. package/dist/inspection/results.d.mts +329 -16
  241. package/dist/inspection/results.d.ts +329 -16
  242. package/dist/inspection/select.cjs +114 -19
  243. package/dist/inspection/select.cjs.map +1 -1
  244. package/dist/inspection/select.d.cts +1 -1
  245. package/dist/inspection/select.d.mts +1 -1
  246. package/dist/inspection/select.d.ts +1 -1
  247. package/dist/inspection/sources.cjs +1 -3
  248. package/dist/inspection/sources.cjs.map +1 -1
  249. package/dist/inspection/trace.cjs +408 -23
  250. package/dist/inspection/trace.cjs.map +1 -1
  251. package/dist/inspection/trace.d.cts +11 -1
  252. package/dist/inspection/trace.d.mts +11 -1
  253. package/dist/inspection/trace.d.ts +11 -1
  254. package/dist/inspection/trace.js +14 -12
  255. package/dist/judge/image.cjs +81 -0
  256. package/dist/judge/image.cjs.map +1 -0
  257. package/dist/judge/image.d.cts +26 -0
  258. package/dist/judge/image.d.mts +26 -0
  259. package/dist/judge/image.d.ts +26 -0
  260. package/dist/judge/image.js +10 -0
  261. package/dist/judge/image.js.map +1 -0
  262. package/dist/judge/index.cjs +11 -0
  263. package/dist/judge/index.cjs.map +1 -0
  264. package/dist/judge/index.d.cts +2 -0
  265. package/dist/judge/index.d.mts +2 -0
  266. package/dist/judge/index.d.ts +2 -0
  267. package/dist/judge/index.js +14 -0
  268. package/dist/judge/index.js.map +1 -0
  269. package/dist/judge/index.mjs +14 -0
  270. package/dist/judge/index.mjs.map +1 -0
  271. package/dist/judge/provider.cjs +152 -0
  272. package/dist/judge/provider.cjs.map +1 -0
  273. package/dist/judge/provider.d.cts +56 -0
  274. package/dist/judge/provider.d.mts +56 -0
  275. package/dist/judge/provider.d.ts +56 -0
  276. package/dist/judge/provider.js +18 -0
  277. package/dist/judge/provider.js.map +1 -0
  278. package/dist/migrations/judge-provider.md +136 -0
  279. package/dist/o11y/adapter-call-price.cjs +138 -0
  280. package/dist/o11y/adapter-call-price.cjs.map +1 -0
  281. package/dist/o11y/adapter-call-price.d.cts +3 -0
  282. package/dist/o11y/adapter-call-price.d.mts +3 -0
  283. package/dist/o11y/adapter-call-price.d.ts +3 -0
  284. package/dist/o11y/adapter-call-price.js +6 -0
  285. package/dist/o11y/adapter-call-price.js.map +1 -0
  286. package/dist/record/authoring.cjs +4 -0
  287. package/dist/record/authoring.cjs.map +1 -1
  288. package/dist/record/authoring.d.cts +3 -0
  289. package/dist/record/authoring.d.mts +3 -0
  290. package/dist/record/authoring.d.ts +3 -0
  291. package/dist/record/definition/digest.cjs +107 -0
  292. package/dist/record/definition/digest.cjs.map +1 -0
  293. package/dist/record/definition/digest.d.cts +6 -0
  294. package/dist/record/definition/digest.d.mts +6 -0
  295. package/dist/record/definition/digest.d.ts +6 -0
  296. package/dist/record/definition/digest.js +6 -0
  297. package/dist/record/definition/digest.js.map +1 -0
  298. package/dist/record/family/adapter-usage/definition.cjs +12 -0
  299. package/dist/record/family/adapter-usage/definition.cjs.map +1 -0
  300. package/dist/record/family/adapter-usage/definition.d.cts +79 -0
  301. package/dist/record/family/adapter-usage/definition.d.mts +79 -0
  302. package/dist/record/family/adapter-usage/definition.d.ts +79 -0
  303. package/dist/record/family/adapter-usage/definition.js +6 -0
  304. package/dist/record/family/adapter-usage/definition.js.map +1 -0
  305. package/dist/record/family/adapter-usage/persistence.cjs +10 -0
  306. package/dist/record/family/adapter-usage/persistence.cjs.map +1 -0
  307. package/dist/record/family/adapter-usage/persistence.d.cts +79 -0
  308. package/dist/record/family/adapter-usage/persistence.d.mts +79 -0
  309. package/dist/record/family/adapter-usage/persistence.d.ts +79 -0
  310. package/dist/record/family/adapter-usage/persistence.js +6 -0
  311. package/dist/record/family/adapter-usage/persistence.js.map +1 -0
  312. package/dist/record/family/adapter-usage/pricing.cjs +68 -0
  313. package/dist/record/family/adapter-usage/pricing.cjs.map +1 -0
  314. package/dist/record/family/adapter-usage/pricing.d.cts +8 -0
  315. package/dist/record/family/adapter-usage/pricing.d.mts +8 -0
  316. package/dist/record/family/adapter-usage/pricing.d.ts +8 -0
  317. package/dist/record/family/adapter-usage/pricing.js +14 -0
  318. package/dist/record/family/adapter-usage/pricing.js.map +1 -0
  319. package/dist/record/family/adapter-usage/schema.cjs +209 -0
  320. package/dist/record/family/adapter-usage/schema.cjs.map +1 -0
  321. package/dist/record/family/adapter-usage/schema.d.cts +190 -0
  322. package/dist/record/family/adapter-usage/schema.d.mts +190 -0
  323. package/dist/record/family/adapter-usage/schema.d.ts +190 -0
  324. package/dist/record/family/adapter-usage/schema.js +20 -0
  325. package/dist/record/family/adapter-usage/schema.js.map +1 -0
  326. package/dist/record/family/catalog.cjs +29 -21
  327. package/dist/record/family/catalog.cjs.map +1 -1
  328. package/dist/record/family/catalog.d.cts +82 -4
  329. package/dist/record/family/catalog.d.mts +82 -4
  330. package/dist/record/family/catalog.d.ts +82 -4
  331. package/dist/record/family/current.cjs +39 -33
  332. package/dist/record/family/current.cjs.map +1 -1
  333. package/dist/record/family/current.d.cts +306 -0
  334. package/dist/record/family/current.d.mts +306 -0
  335. package/dist/record/family/current.d.ts +306 -0
  336. package/dist/record/family/execution-traces/definition.cjs +26 -0
  337. package/dist/record/family/execution-traces/definition.cjs.map +1 -0
  338. package/dist/record/family/execution-traces/definition.d.cts +73 -0
  339. package/dist/record/family/execution-traces/definition.d.mts +73 -0
  340. package/dist/record/family/execution-traces/definition.d.ts +73 -0
  341. package/dist/record/family/execution-traces/definition.js +18 -0
  342. package/dist/record/family/execution-traces/definition.js.map +1 -0
  343. package/dist/record/family/execution-traces/persistence.cjs +10 -0
  344. package/dist/record/family/execution-traces/persistence.cjs.map +1 -0
  345. package/dist/record/family/execution-traces/persistence.d.cts +4 -0
  346. package/dist/record/family/execution-traces/persistence.d.mts +4 -0
  347. package/dist/record/family/execution-traces/persistence.d.ts +4 -0
  348. package/dist/record/family/execution-traces/persistence.js +6 -0
  349. package/dist/record/family/execution-traces/persistence.js.map +1 -0
  350. package/dist/record/family/execution-traces/schema.cjs +157 -0
  351. package/dist/record/family/execution-traces/schema.cjs.map +1 -0
  352. package/dist/record/family/execution-traces/schema.d.cts +228 -0
  353. package/dist/record/family/execution-traces/schema.d.mts +228 -0
  354. package/dist/record/family/execution-traces/schema.d.ts +228 -0
  355. package/dist/record/family/execution-traces/schema.js +16 -0
  356. package/dist/record/family/execution-traces/schema.js.map +1 -0
  357. package/dist/record/model/definition.d.cts +6 -6
  358. package/dist/record/model/definition.d.mts +6 -6
  359. package/dist/record/model/definition.d.ts +6 -6
  360. package/dist/record/model/seal-manifest.d.cts +1 -1
  361. package/dist/record/model/seal-manifest.d.mts +1 -1
  362. package/dist/record/model/seal-manifest.d.ts +1 -1
  363. package/dist/runner/adapter-attachments.cjs +104 -0
  364. package/dist/runner/adapter-attachments.cjs.map +1 -0
  365. package/dist/runner/adapter-attachments.d.cts +35 -0
  366. package/dist/runner/adapter-attachments.d.mts +35 -0
  367. package/dist/runner/adapter-attachments.d.ts +35 -0
  368. package/dist/runner/adapter-attachments.js +14 -0
  369. package/dist/runner/adapter-attachments.js.map +1 -0
  370. package/dist/runner/adapter-execution-trace.cjs +588 -0
  371. package/dist/runner/adapter-execution-trace.cjs.map +1 -0
  372. package/dist/runner/adapter-execution-trace.d.cts +38 -0
  373. package/dist/runner/adapter-execution-trace.d.mts +38 -0
  374. package/dist/runner/adapter-execution-trace.d.ts +38 -0
  375. package/dist/runner/adapter-execution-trace.js +14 -0
  376. package/dist/runner/adapter-execution-trace.js.map +1 -0
  377. package/dist/runner/adapter-usage.cjs +78 -0
  378. package/dist/runner/adapter-usage.cjs.map +1 -0
  379. package/dist/runner/adapter-usage.d.cts +18 -0
  380. package/dist/runner/adapter-usage.d.mts +18 -0
  381. package/dist/runner/adapter-usage.d.ts +18 -0
  382. package/dist/runner/adapter-usage.js +10 -0
  383. package/dist/runner/adapter-usage.js.map +1 -0
  384. package/dist/runner/attempt-resources.cjs +20 -2
  385. package/dist/runner/attempt-resources.cjs.map +1 -1
  386. package/dist/runner/attempt-resources.d.cts +5 -0
  387. package/dist/runner/attempt-resources.d.mts +5 -0
  388. package/dist/runner/attempt-resources.d.ts +5 -0
  389. package/dist/runner/attempt.cjs +125 -17
  390. package/dist/runner/attempt.cjs.map +1 -1
  391. package/dist/runner/attempt.d.cts +3 -1
  392. package/dist/runner/attempt.d.mts +3 -1
  393. package/dist/runner/attempt.d.ts +3 -1
  394. package/dist/runner/config-identity.cjs +30 -15
  395. package/dist/runner/config-identity.cjs.map +1 -1
  396. package/dist/runner/config-identity.d.cts +10 -7
  397. package/dist/runner/config-identity.d.mts +10 -7
  398. package/dist/runner/config-identity.d.ts +10 -7
  399. package/dist/runner/discover.cjs +4 -4
  400. package/dist/runner/discover.cjs.map +1 -1
  401. package/dist/runner/discover.d.cts +2 -0
  402. package/dist/runner/discover.d.mts +2 -0
  403. package/dist/runner/discover.d.ts +2 -0
  404. package/dist/runner/feedback/human.cjs +79 -22
  405. package/dist/runner/feedback/human.cjs.map +1 -1
  406. package/dist/runner/feedback/index.cjs +2 -1
  407. package/dist/runner/feedback/index.cjs.map +1 -1
  408. package/dist/runner/feedback/index.d.cts +1 -1
  409. package/dist/runner/feedback/index.d.mts +1 -1
  410. package/dist/runner/feedback/index.d.ts +1 -1
  411. package/dist/runner/feedback/index.js +18 -16
  412. package/dist/runner/feedback/reducer.cjs +32 -3
  413. package/dist/runner/feedback/reducer.cjs.map +1 -1
  414. package/dist/runner/feedback/sink.cjs +10 -1
  415. package/dist/runner/feedback/sink.cjs.map +1 -1
  416. package/dist/runner/feedback/sink.d.cts +6 -0
  417. package/dist/runner/feedback/sink.d.mts +6 -0
  418. package/dist/runner/feedback/sink.d.ts +6 -0
  419. package/dist/runner/feedback/sink.js +26 -24
  420. package/dist/runner/fingerprint.cjs.map +1 -1
  421. package/dist/runner/fingerprint.d.cts +3 -3
  422. package/dist/runner/fingerprint.d.mts +3 -3
  423. package/dist/runner/fingerprint.d.ts +3 -3
  424. package/dist/runner/judge-config.cjs +32 -79
  425. package/dist/runner/judge-config.cjs.map +1 -1
  426. package/dist/runner/judge-config.d.cts +6 -5
  427. package/dist/runner/judge-config.d.mts +6 -5
  428. package/dist/runner/judge-config.d.ts +6 -5
  429. package/dist/runner/judge-config.js +2 -2
  430. package/dist/runner/project-target.cjs.map +1 -1
  431. package/dist/runner/project-target.d.cts +2 -2
  432. package/dist/runner/project-target.d.mts +2 -2
  433. package/dist/runner/project-target.d.ts +2 -2
  434. package/dist/runner/record/attachments.cjs +30 -15
  435. package/dist/runner/record/attachments.cjs.map +1 -1
  436. package/dist/runner/record/attachments.d.cts +2 -1
  437. package/dist/runner/record/attachments.d.mts +2 -1
  438. package/dist/runner/record/attachments.d.ts +2 -1
  439. package/dist/runner/record.cjs +21 -1
  440. package/dist/runner/record.cjs.map +1 -1
  441. package/dist/runner/run.cjs +17 -0
  442. package/dist/runner/run.cjs.map +1 -1
  443. package/dist/runner/types.cjs +3 -1
  444. package/dist/runner/types.cjs.map +1 -1
  445. package/dist/runner/types.d.cts +53 -29
  446. package/dist/runner/types.d.mts +53 -29
  447. package/dist/runner/types.d.ts +53 -29
  448. package/dist/shared/types.cjs.map +1 -1
  449. package/dist/shared/types.d.cts +4 -0
  450. package/dist/shared/types.d.mts +4 -0
  451. package/dist/shared/types.d.ts +4 -0
  452. package/dist/show/contribution.cjs +36 -14
  453. package/dist/show/contribution.cjs.map +1 -1
  454. package/dist/show/model.cjs +13 -1
  455. package/dist/show/model.cjs.map +1 -1
  456. package/dist/show/model.d.cts +5 -1
  457. package/dist/show/model.d.mts +5 -1
  458. package/dist/show/model.d.ts +5 -1
  459. package/dist/show/render.cjs +182 -21
  460. package/dist/show/render.cjs.map +1 -1
  461. package/dist/show/render.d.cts +20 -0
  462. package/dist/show/render.d.mts +20 -0
  463. package/dist/show/render.d.ts +20 -0
  464. package/dist/types.cjs +1 -1
  465. package/dist/types.cjs.map +1 -1
  466. package/dist/view/app-dist/.vite/manifest.json +2 -2
  467. package/dist/view/app-dist/assets/index-Bg_pU5L2.js +63 -0
  468. package/dist/view/app-dist/assets/quality-cost-scatter-DoG3Qwjv.js +53 -0
  469. package/dist/view/app-dist/index.html +1 -1
  470. package/dist/view/function-runtime.mjs +3991 -1232
  471. package/dist/view/http-protocol.d.cts +31 -0
  472. package/dist/view/http-protocol.d.mts +31 -0
  473. package/dist/view/http-protocol.d.ts +31 -0
  474. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +3 -3
  475. package/docs-site/zh/examples/integrations/claude-sdk.mdx +3 -3
  476. package/docs-site/zh/examples/integrations/codex-sdk.mdx +3 -3
  477. package/docs-site/zh/examples/integrations/langgraph.mdx +3 -3
  478. package/docs-site/zh/examples/integrations/pi-sdk.mdx +3 -3
  479. package/docs-site/zh/explanation/adapter.mdx +1 -1
  480. package/docs-site/zh/explanation/experiment.mdx +1 -1
  481. package/docs-site/zh/explanation/judge.mdx +28 -19
  482. package/docs-site/zh/reference/cli.mdx +4 -0
  483. package/docs-site/zh/reference/define-agent.mdx +22 -2
  484. package/docs-site/zh/reference/define-config.mdx +7 -6
  485. package/docs-site/zh/reference/define-eval.mdx +44 -6
  486. package/docs-site/zh/troubleshooting/debugging.mdx +8 -0
  487. package/docs-site/zh/tutorials/agent-onboarding.mdx +7 -6
  488. package/docs-site/zh/tutorials/authoring.mdx +3 -3
  489. package/docs-site/zh/tutorials/configuration.mdx +17 -10
  490. package/docs-site/zh/tutorials/custom-application.mdx +47 -0
  491. package/docs-site/zh/tutorials/evaluation-kinds.mdx +1 -1
  492. package/docs-site/zh/tutorials/verify-judge.mdx +39 -6
  493. package/docs-site/zh/tutorials/write-experiment.mdx +6 -2
  494. package/node_modules/@types/node/README.md +2 -2
  495. package/node_modules/@types/node/child_process.d.ts +1 -1
  496. package/node_modules/@types/node/package.json +2 -17
  497. package/node_modules/@types/node/stream/web.d.ts +4 -0
  498. package/node_modules/fast-check/README.md +1 -0
  499. package/node_modules/fast-check/lib/cjs/fast-check.d.ts +443 -98
  500. package/node_modules/fast-check/lib/cjs/fast-check.js +671 -117
  501. package/node_modules/fast-check/lib/cjs/types57/fast-check.d.ts +443 -98
  502. package/node_modules/fast-check/lib/fast-check.d.ts +443 -98
  503. package/node_modules/fast-check/lib/fast-check.js +664 -118
  504. package/node_modules/fast-check/lib/types57/fast-check.d.ts +443 -98
  505. package/node_modules/fast-check/package.json +5 -5
  506. package/node_modules/msgpackr/README.md +1 -0
  507. package/node_modules/msgpackr/dist/index-no-eval.cjs +2 -2
  508. package/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  509. package/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  510. package/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  511. package/node_modules/msgpackr/dist/index.js +2 -2
  512. package/node_modules/msgpackr/dist/index.js.map +1 -1
  513. package/node_modules/msgpackr/dist/index.min.js +1 -1
  514. package/node_modules/msgpackr/dist/index.min.js.map +1 -1
  515. package/node_modules/msgpackr/dist/node.cjs +2 -2
  516. package/node_modules/msgpackr/dist/node.cjs.map +1 -1
  517. package/node_modules/msgpackr/dist/test.js +52 -2
  518. package/node_modules/msgpackr/dist/test.js.map +1 -1
  519. package/node_modules/msgpackr/index.d.cts +1 -0
  520. package/node_modules/msgpackr/index.d.ts +1 -0
  521. package/node_modules/msgpackr/pack.js +2 -2
  522. package/node_modules/msgpackr/package.json +1 -1
  523. package/node_modules/pure-rand/README.md +3 -46
  524. package/node_modules/pure-rand/lib/distribution/uniformBigInt.d.ts +1 -1
  525. package/node_modules/pure-rand/lib/distribution/uniformFloat32.d.ts +15 -0
  526. package/node_modules/pure-rand/lib/distribution/uniformFloat32.js +18 -0
  527. package/node_modules/pure-rand/lib/distribution/uniformFloat64.d.ts +15 -0
  528. package/node_modules/pure-rand/lib/distribution/uniformFloat64.js +22 -0
  529. package/node_modules/pure-rand/lib/distribution/uniformInt.d.ts +1 -1
  530. package/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.d.ts +1 -1
  531. package/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.d.ts +15 -0
  532. package/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.js +17 -0
  533. package/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.d.ts +15 -0
  534. package/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.js +21 -0
  535. package/node_modules/pure-rand/lib/esm/distribution/uniformInt.d.ts +1 -1
  536. package/node_modules/pure-rand/lib/esm/generator/congruential32.js +13 -13
  537. package/node_modules/pure-rand/lib/esm/generator/mersenne.d.ts +3 -3
  538. package/node_modules/pure-rand/lib/esm/generator/mersenne.js +46 -23
  539. package/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.js +27 -13
  540. package/node_modules/pure-rand/lib/esm/generator/xorshift128plus.js +32 -20
  541. package/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.d.ts +1 -1
  542. package/node_modules/pure-rand/lib/esm/types/RandomGenerator.d.ts +1 -1
  543. package/node_modules/pure-rand/lib/esm/utils/generateN.d.ts +1 -1
  544. package/node_modules/pure-rand/lib/esm/utils/purify.d.ts +1 -1
  545. package/node_modules/pure-rand/lib/esm/utils/skipN.d.ts +1 -1
  546. package/node_modules/pure-rand/lib/generator/congruential32.js +13 -13
  547. package/node_modules/pure-rand/lib/generator/mersenne.d.ts +3 -3
  548. package/node_modules/pure-rand/lib/generator/mersenne.js +46 -23
  549. package/node_modules/pure-rand/lib/generator/xoroshiro128plus.js +27 -13
  550. package/node_modules/pure-rand/lib/generator/xorshift128plus.js +32 -20
  551. package/node_modules/pure-rand/lib/types/JumpableRandomGenerator.d.ts +1 -1
  552. package/node_modules/pure-rand/lib/types/RandomGenerator.d.ts +1 -1
  553. package/node_modules/pure-rand/lib/utils/generateN.d.ts +1 -1
  554. package/node_modules/pure-rand/lib/utils/purify.d.ts +1 -1
  555. package/node_modules/pure-rand/lib/utils/skipN.d.ts +1 -1
  556. package/node_modules/pure-rand/package.json +34 -13
  557. package/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
  558. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  559. package/node_modules/undici/lib/cache/memory-cache-store.js +1 -1
  560. package/node_modules/undici/lib/core/symbols.js +2 -0
  561. package/node_modules/undici/lib/dispatcher/balanced-pool.js +6 -3
  562. package/node_modules/undici/lib/dispatcher/dispatcher.js +6 -2
  563. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  564. package/node_modules/undici/lib/dispatcher/proxy-agent.js +17 -0
  565. package/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  566. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +90 -22
  567. package/node_modules/undici/lib/handler/cache-handler.js +21 -5
  568. package/node_modules/undici/lib/handler/redirect-handler.js +13 -4
  569. package/node_modules/undici/lib/handler/retry-handler.js +65 -19
  570. package/node_modules/undici/lib/interceptor/cache.js +65 -12
  571. package/node_modules/undici/lib/interceptor/decompress.js +115 -13
  572. package/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  573. package/node_modules/undici/lib/interceptor/dns.js +7 -0
  574. package/node_modules/undici/lib/interceptor/dump.js +9 -22
  575. package/node_modules/undici/lib/util/cache.js +45 -3
  576. package/node_modules/undici/lib/web/cookies/parse.js +150 -149
  577. package/node_modules/undici/lib/web/eventsource/eventsource.js +9 -2
  578. package/node_modules/undici/lib/web/fetch/index.js +6 -0
  579. package/node_modules/undici/lib/web/fetch/util.js +6 -1
  580. package/node_modules/undici/lib/web/webidl/index.js +3 -3
  581. package/node_modules/undici/lib/web/websocket/connection.js +1 -1
  582. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  583. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  584. package/node_modules/undici/package.json +1 -1
  585. package/node_modules/undici/types/interceptors.d.ts +2 -0
  586. package/node_modules/undici/types/mock-agent.d.ts +11 -10
  587. package/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
  588. package/package.json +39 -29
  589. package/dist/view/app-dist/assets/index-DlblLB-p.js +0 -63
  590. package/dist/view/app-dist/assets/quality-cost-scatter-BYCpyh4z.js +0 -53
  591. /package/node_modules/pure-rand/lib/{RandomGenerator-CKZRB3Fu.d.ts → RandomGenerator-DcXj09Ch.d.ts} +0 -0
  592. /package/node_modules/pure-rand/lib/esm/{RandomGenerator-CKZRB3Fu.d.ts → RandomGenerator-DcXj09Ch.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":";;;AAoCA,8DAEC;AAED,gEAqBC;AA7DD,mCAA8C;AAC9C,8DAA6D;AAC7D,0DAA2F;AAE3F,4DAA2G;AAE3G,yCAAsF;AACtF,yCAAuM;AACvM,2CAA2D;AAC3D,mDAAgE;AAChE,yCAA4V;AAC5V,+CAAyD;AAEzD,6CAAqD;AACrD,uCAA+C;AAC/C,yCAAgP;AAChP,6CAAsgC;AACtgC,+CAAiP;AACjP,0DAAoE;AACpE,yEAAyE;AACzE,MAAa,wBAAyB,SAAQ,aAAI,CAAC,WAAW,CAAC,0BAA0B,CAQvF;CACD;AATD,4DASC;AACD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAC7C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAG/B,SAAgB,yBAAyB,CAAC,KAA2B,EAAE,SAA8B;IACjG,OAAO,yBAAyB,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AACD,wEAAwE;AACxE,SAAgB,0BAA0B,CAAC,KAA2B,EAAE,SAA8B;IAClG,OAAO,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;QACpD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC;gBAClE,OAAO,EAAE,aAAsB;gBAC/B,SAAS,EAAE,wCAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACzG,OAAO,EAAE,aAAsB;YAC/B,SAAS,EAAE,wCAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,eAAe,CAAC,MAA4B,EAAE,SAA8B;IACjF,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC;gBACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAuB,EAAE;gBAC5E,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjH,QAAQ,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,2CAA8B,EAAE,IAAA,sCAAwB,EAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC3I,CAAC,CAAC;QACP,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAA,sCAAwB,EAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC;YAC5G,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,SAAS,CAAC,YAAY,gBAAgB,CAAC,CAAC;YACjG,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC/E,UAAU,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,6CAAgC,EAAE,MAAM,CAAC,MAAM,CAAC;oBAC7F,UAAU;oBACV,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC;iBAC7G,CAAC,CAAC;aACN,CAAC,CAAC;QACP,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,OAAO,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC;gBAC/D,GAAG,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,sCAAyB,EAAE,MAAM,CAAC,MAAM,CAAC;oBAC/E,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC;oBAC9B,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpD,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAC;aACN,CAAC,CAAC;QACP,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClG,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,6CAAgC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aACxG,CAAC,CAAC;QACP,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;gBACxD,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,8CAAiC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9G,CAAC,CAAC;QACP,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,0CAA6B,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;aACxG,CAAC,CAAC;QACP,CAAC;QACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAA,6CAA6B,EAAC,MAAM,EAAE,UAAU,EAAE,IAAA,mCAAwB,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACxJ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,SAAS,CAAC,OAAO,gBAAgB,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3F,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;aACpC,CAAC,CAAC;QACP,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,wCAA2B,EAAE,IAAA,8BAAmB,EAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACpJ,CAAC,CAAC;QACP,CAAC;QACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,IAAA,oCAAyB,EAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,8CAAiC,EAAE,MAAM,CAAC;aAC1F,CAAC,CAAC;QACP,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,gDAAmC,EAAE,IAAA,+BAAoB,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACtI,CAAC,CAAC;QACP,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,+CAAkC,EAAE,IAAA,8BAAmB,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACnI,CAAC,CAAC;QACP,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,8CAAiC,EAAE,IAAA,4BAAkB,EAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/K,CAAC,CAAC;QACP,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7F,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,0CAA6B,EAAE,IAAA,kCAAqB,EAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,wBAAa,EAAC,QAAQ,CAAC,MAAM,EAAE,sCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAA,mCAAwB,EAAC,QAAQ,CAAC,CAAC,CAAC;aAC5O,CAAC,CAAC;QACP,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrF,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnG,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3F,SAAS,EAAE,WAAW,CAAC,UAAU,KAAK,SAAS;oBAC3C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAuB,EAAE,CAAC;oBACnD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBACZ,KAAK,EAAE,WAAoB;wBAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,UAAU,EAAE,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;wBACxE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;6BACjC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC;6BAC3C,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;wBACzG,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,iCAAiC;qBAC7F,CAAC,CAAC;aACV,CAAC,CAAC;QACP,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YACvF,OAAO,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;AACL,CAAC;AACD,SAAS,mBAAmB,CAAC,MAA4B,EAAE,SAEzD;IACE,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;QAChE,OAAO,EAAE,aAAsB;QAC/B,SAAS,EAAE,wCAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS;QAC/D,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;KAClF,CAAC,CAAC;AACP,CAAC;AACD,SAAS,gBAAgB,CAAC,MAA4B,EAAE,SAEtD;IACE,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;QAChE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;KAClF,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,CAAC,MAA4B,EAAE,YAAgC;IAClF,MAAM,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC1F,IAAI,IAA0B,CAAC;IAC/B,IAAI,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACX,MAAM,gBAAgB,CAAC,WAAW,EAAE,yEAAyE,EAAE,KAAK,CAAC,CAAC;IAC1H,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,SAAS;QACrB,SAAS,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;QACvC,YAAY,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;YACtC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;KACtE,CAAC,CAAC;AACP,CAAC;AACD,SAAS,YAAY,CAAC,MAA4B,EAAE,MAAuB,EAAE,QAAqC,EAAE,SAAkB;IAClI,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,yBAAc;QACxB,OAAO,EAAE,SAAkB;QAC3B,SAAS,EAAE,WAAoB;QAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACjE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,gBAAgB,EAAE,QAAQ,CAAC,MAAM;YACjC,aAAa,EAAE,MAAM,CAAC,QAAQ;YAC9B,SAAS;SACZ,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;AACP,CAAC;AACD,SAAS,kBAAkB,CAAC,UAAkB,EAAE,cAAsB;IAClE,OAAO,IAAA,8BAAmB,EAAC,IAAI,CAAC,SAAS,CAAC;QACtC,WAAW;QACX,cAAc;QACd,UAAU;KACb,CAAC,CAAC,CAAC;AACR,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAa;IAIrC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,KAAK,CAAC,CAAY,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW;YAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACX,MAAM,gBAAgB,CAAC,WAAW,EAAE,yEAAyE,EAAE,KAAK,CAAC,CAAC;IAC1H,CAAC;AACL,CAAC;AACD,SAAS,gBAAgB,CAAC,MAA4B,EAAE,SAA8B;IAKlF,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,OAAO,EAAE,QAAQ,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACrE,OAAO;YACH,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC3D,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,SAAS,CAAC,OAAO;SACnC,CAAC;IACN,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,OAAO,EAAE,QAAQ,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW;QAC9B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IACpE,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO;YACH,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC1D,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,QAAQ,CAAC,OAAO;SAClC,CAAC;IACN,CAAC;IACD,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO;YACH,QAAQ,EAAE,SAAS,CAAC,IAAI,KAAK,aAAa,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc;gBAC3E,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;gBACjD,CAAC,CAAC,QAAQ,CAAC,QAAQ;YACvB,eAAe,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;YAClC,aAAa,EAAE,QAAQ,CAAC,OAAO;SAClC,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO;QACH,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KACnC,CAAC;AACN,CAAC;AACD,SAAS,QAAQ,CAAC,MAA4B,EAAE,MAAyB;IACrE,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,YAAY,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,0CAA0C,mBAAmB,YAAY,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,IAAA,qCAA0B,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5D,CAAC;AACD,SAAS,kBAAkB,CAAC,MAA4B,EAAE,SAAgC,EAAE,KAAa;IACrG,MAAM,GAAG,GAAG,IAAA,oCAAyB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,SAAS;QACjB,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,KAAK,gBAAgB,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACf,CAAC;AACD,SAAS,kBAAkB,CAAC,GAAgC;IACxD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IACpC,OAAO,oBAAoB,CAAC,SAAS,EAAE,qCAAwB,EAAE,MAAM,CAAC,MAAM,CAAC;QAC3E,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACtF,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACxD,CAAC,CAAC;KACN,CAAC,CAAC,CAAC;AACR,CAAC;AACD,SAAS,kBAAkB,CAAC,MAA4B,EAAE,GAAgC;IACtF,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACrG,CAAC;AACD,SAAS,mBAAmB,CAAqC,MAA4B,EAAE,SAAe,EAAE,GAAgC,EAAE,UAA0C;IACxL,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/G,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,QAAQ;QACX,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,GAAG,QAAQ,CAAC,SAAS;YACrB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtD,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AACD,SAAS,uBAAuB,CAAC,MAA4B,EAAE,SAAgC,EAAE,GAAgC,EAAE,UAA0C;IACzK,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7G,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,QAAQ;QACX,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,GAAG,QAAQ,CAAC,SAAS;YACrB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtD,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AACD,SAAS,qBAAqB,CAAC,MAA4B,EAAE,OAAuC;IAChG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxL,OAAO,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AACD,SAAS,gBAAgB,CAAC,MAA4B,EAAE,MAA2B;IAC/E,OAAO,qBAAqB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AACD,SAAS,SAAS,CAAC,KAAiB;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAY,CAAC;AAC1F,CAAC;AACD,SAAS,UAAU,CAAC,GAAmC,EAAE,MAAyB;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,CAA8B,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KACxE,CAAC,CAAC;AACP,CAAC;AACD,SAAS,UAAU,CAAC,SAAgC,EAAE,QAAwC,EAAE,KAAa;IACzG,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,KAAK,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AACD,SAAS,wBAAwB,CAAC,MAA4B,EAAE,SAAgC,EAAE,OAAe;IAC7G,MAAM,QAAQ,GAAG,IAAA,mCAAwB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,SAAS,EAAE,WAAW,OAAO,gCAAgC,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,SAAS,WAAW,CAAC,QAAmC;IACpD,OAAO,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AACD,SAAS,gBAAgB,CAAC,QAAmC;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,UAAU,CAAC,MAAM,CAAC;QACpF,YAAY,EAAE,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,YAAY,CAAC,MAAM,CAAC;QACxF,eAAe,EAAE,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,eAAe,CAAC,MAAM,CAAC;QAC9F,gBAAgB,EAAE,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;QACxG,iBAAiB,EAAE,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;KAC7G,CAAC,CAAC;AACP,CAAC;AACD,SAAS,eAAe,CAAC,QAAmC,EAAE,MAAc;IACxE,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,UAAU,KAAK,SAAS;QAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACZ,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;SAC3E,CAAC,CAAC;AACX,CAAC;AACD,SAAS,kBAAkB,CAAC,GAAwB,EAAE,MAAc;IAChE,MAAM,UAAU,GAAG,IAAA,wBAAa,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,UAAU,KAAK,SAAS;QAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACZ,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;SAC/D,CAAC,CAAC;AACX,CAAC;AACD,SAAS,wBAAwB,CAAC,MAA4B,EAAE,UAAuC;IACnG,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAC9G,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;QACnE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI;KACrC,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,KAAqB;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC3C,OAAO,KAAK,CAAC;IACjB,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxB,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBACrC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;aACvD,CAAC,CAAC;QACP,CAAC;aACI,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AACD,SAAS,aAAa,CAAC,QAAmC;IACtD,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,QAAQ,CAAC,OAAO;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,WAAW;YACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACZ,KAAK,EAAE,WAAoB;gBAC3B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;gBAC3C,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;aACvD,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACZ,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,UAAU,EAAE,CAAU;aACzB,CAAC;QACN,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;QACtC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7C,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,gBAAgB,EAAE,uBAAuB,CAAC,QAAQ,CAAC;QACnD,WAAW,EAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9G,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,CAAC,UAAuD;IAC3E,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YACvE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;IACP,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACzE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;gBACnB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACtE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACzD,CAAC;SACL,CAAC,CAAC,CAAC;KACP,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CAAC,QAAmC;IACxD,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1K,MAAM,YAAY,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5K,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClL,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClM,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzM,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAA,wBAAa,EAAC,QAAQ,CAAC,MAAM,EAAE,sCAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpK,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtK,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAA,4BAAiB,EAAC,QAAQ,EAAE,sCAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,6CAAgC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvL,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACpG,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC,CAAC;AACP,CAAC;AACD,SAAS,sBAAsB,CAAC,UAAmD,EAAE,eAAuB;IACxG,IAAI,UAAU,KAAK,SAAS;QACxB,OAAO,cAAc,CAAC;IAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,KAAK,eAAe;QACtD,OAAO,aAAa,CAAC;IACzB,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAChF,CAAC;AACD,SAAS,oBAAoB,CAAC,MAAsC;IAChE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;QAC3C,OAAO,SAAS,CAAC;IACrB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC;QAC/C,OAAO,aAAa,CAAC;IACzB,OAAO,cAAc,CAAC;AAC1B,CAAC;AACD,SAAS,aAAa,CAAC,KAAqB,EAAE,QAAgB;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC3C,OAAO,KAAK,CAAC;IACjB,MAAM,MAAM,GAAG,KAAiD,CAAC;IACjE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9G,CAAC;AACD,SAAS,UAAU,CAAC,GAAmC,EAAE,QAA6B;IAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,OAAO,EAAE,IAAI;gBACrF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC/B,CAAC,CAAC;QACP,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,yCAA8B,EAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI;gBACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC/B,CAAC,CAAC;QACP,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO;YACnF,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;YACjC,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC7C,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACxH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;KAChC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,GAAmC,EAAE,gBAA6C;IAGnG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,GAAoB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1D,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAA,2CAAgC,GAAE;QAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,oBAAoB,EAAE,KAAK;QAC3B,sBAAsB,EAAE,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,GAAuB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAChE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAG7C,EAAE;QACA,MAAM,YAAY,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,KAAK,uCAAuC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,qBAA8B;gBACpC,KAAK,EAAE,SAAkB;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBAClB,IAAI;oBACJ,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,mBAAmB,EAAE;oBAC/B,KAAK,EAAE,gBAAgB,EAAE;oBACzB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;iBAC3C,CAAC;aACL,CAAC,CAAC;QACP,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,qBAA8B;gBACpC,KAAK,EAAE,YAAY,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBAClB,IAAI;oBACJ,KAAK,EAAE,YAAY,CAAC,MAAM;oBAC1B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,mBAAmB,EAAE;oBAC/B,KAAK,EAAE,gBAAgB,EAAE;oBACzB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;iBAC3C,CAAC;aACL,CAAC,CAAC;QACP,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,KAAK,wCAAwC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,yCAA8B,EAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,oBAA6B;gBACnC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW;gBAC7C,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS;aAC5C,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBAClB,IAAI;oBACJ,KAAK,EAAE,YAAY,CAAC,MAAM;oBAC1B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,mBAAmB,EAAE;oBAC/B,KAAK,EAAE,gBAAgB,EAAE;oBACzB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;iBAC3C,CAAC;aACL,CAAC,CAAC;QACP,CAAC;QACD,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3H,MAAM,aAAa,GAAgC,UAAU,CAAC,KAAK,KAAK,WAAW;YAC/E,CAAC,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC;gBAC5F,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,SAAS;YACf,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,cAAc;oBACjC,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,SAAS,CAAC;QACxB,MAAM,KAAK,GAAG,IAAA,8BAAmB,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAA0B,MAAM,CAAC,MAAM,CAAC;YAC3D,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;SAC1F,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClB,IAAI;gBACJ,KAAK,EAAE,YAAY,CAAC,MAAM;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC/E,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;gBACjC,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC7C,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;oBACpB,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,mBAAmB;iBACnC,CAAC;gBACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;wBAC5D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;4BACZ,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB;4BACtD,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,uBAAuB;yBAC9E,CAAC;wBACF,CAAC,CAAC,IAAI;oBACV,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;oBAChD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;iBACvD,CAAC;gBACF,WAAW,EAAE,iBAAiB;aACjC,CAAC;SACL,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACtH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU;KACb,CAAC,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,eAAe,GAAG,QAAQ,KAAK,OAAO,CAAC,MAAM;QAC/C,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;IACtH,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;IACtH,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI;SACpD,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QAClE,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/E,mBAAmB,EAAE,OAAO,CAAC,MAAM;YACnC,mBAAmB,EAAE,QAAQ;YAC7B,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,MAAM;YAC3F,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,WAAW,EAAE,mBAAmB;SACnC,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzE,mBAAmB,EAAE,OAAO,CAAC,MAAM;YACnC,mBAAmB,EAAE,QAAQ;YAC7B,oBAAoB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM;YAC5G,MAAM,EAAE,IAAA,uCAA4B,EAAC,YAAY,EAAE,eAAe,CAAC;YACnE,WAAW,EAAE,gBAAgB;SAChC,CAAC;QACF,WAAW,EAAE,kBAAkB;KAClC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,yBAAyB,CAAC,MAAmE;IAClG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC;QACpE,OAAO,UAAU,CAAC;IACtB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC;QAChD,OAAO,aAAa,CAAC;IACzB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC;QACjD,OAAO,cAAc,CAAC;IAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAS,cAAc,CAAC,QAAmC,EAAE,UAAU,GAAG,IAAA,mCAAwB,EAAC,QAAQ,CAAC;IACxG,IAAI,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,IAAA,uCAA0B,EAAC;YAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;YACjC,UAAU,EAAE,UAAU,CAAC,KAAK;SAC/B,CAAC,CAAC;IACP,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,aAAa;QACpF,OAAO,SAAS,CAAC;IACrB,IAAI,8BAA8B,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3D,OAAO,SAAS,CAAC;IACrB,OAAO,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AACD,SAAS,cAAc,CAAC,OAMrB;IACC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,EAAE,YAAY,EAAE,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxH,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC;YAChC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;YAC9B,MAAM,IAAI,CAAC,CAAC;QAChB,CAAC;aACI,IAAI,YAAY,CAAC,KAAK,KAAK,aAAa,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvF,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC;YAChC,WAAW,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAqB,EAAE,CAAC;QACjD,CAAC,CAAC,WAAW,GAAG,CAAC;YACb,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;YACjF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9E,CAAC;AACD,SAAS,uBAAuB,CAAC,QAAmC;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+D,CAAC;IACvF,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAC3C,OAAO;QACX,MAAM,MAAM,GAAG,KAAiD,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChF,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;oBAClC,SAAS;gBACb,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBACzE,CAAC,CAAC,GAA+C;oBACjD,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ;oBAClC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ;wBAChC,CAAC,CAAC,MAAM,CAAC,MAAM;wBACf,CAAC,CAAC,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;4BAC/B,CAAC,CAAC,MAAM,CAAC,KAAK;4BACd,CAAC,CAAC,SAAS,CAAC;gBACxB,IAAI,MAAM,KAAK,SAAS;oBACpB,SAAS;gBACb,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,aAAa;oBACzE,SAAS;gBACb,MAAM,MAAM,GAAG,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;oBACvB,OAAO;oBACP,MAAM;oBACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;iBAC9C,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,SAAS,MAAM,SAAS,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChH,SAAS;QACb,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AACD,SAAS,kBAAkB,CAAC,QAAmC,EAAE,OAK9D;IACC,MAAM,WAAW,GAAqD,EAAE,CAAC;IACzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC1C,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,MAAM;YACvB,KAAK,SAAS;gBACV,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC3B,KAAK,EAAE,oBAAoB;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;iBAC3C,CAAC,CAAC,CAAC;gBACJ,MAAM;YACV,KAAK,aAAa;gBACd,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC3B,KAAK,EAAE,oBAAoB;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;iBAC3C,CAAC,CAAC,CAAC;gBACJ,MAAM;YACV,KAAK,gBAAgB;gBACjB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC3B,KAAK,EAAE,oBAAoB;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;iBAC3C,CAAC,CAAC,CAAC;gBACJ,MAAM;QACd,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;gBAClG,SAAS;YACb,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,wBAAwB,CAAC,KAAa;IAC3C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU;QACpE,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC;AACpE,CAAC;AACD,SAAS,sBAAsB,CAAC,KAAqB;IACjD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACnE,OAAO,KAAK,CAAC;QACjB,MAAM,QAAQ,GAAI,KAAkD,CAAC,QAAQ,CAAC;QAC9E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5E,OAAO,KAAK,CAAC;QACjB,MAAM,MAAM,GAAG,QAAoD,CAAC;QACpE,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IACtE,CAAC,CAAC,IAAI,KAAK,CAAC;AAChB,CAAC;AACD,SAAS,8BAA8B,CAAC,KAAqB;IACzD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACnE,OAAO,KAAK,CAAC;QACjB,MAAM,MAAM,GAAG,KAAiD,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACvF,CAAC,CAAE,MAAmD,CAAC,WAAW;YAClE,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5E,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YACrF,OAAO,KAAK,CAAC;QACjB,MAAM,cAAc,GAAG,QAAoD,CAAC;QAC5E,MAAM,iBAAiB,GAAG,WAAuD,CAAC;QAClF,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,aAAa,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC;YACnF,cAAc,CAAC,IAAI,KAAK,aAAa;YACrC,iBAAiB,CAAC,KAAK,KAAK,WAAW,IAAI,iBAAiB,CAAC,KAAK,KAAK,UAAU,CAAC;IAC1F,CAAC,CAAC,IAAI,KAAK,CAAC;AAChB,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAqB;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnE,OAAO,SAAS,CAAC;IACrB,MAAM,OAAO,GAAI,KAAkD,CAAC,cAAc,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AACD,SAAS,YAAY,CAAC,QAAmC;IACrD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAC3C,OAAO;QACX,MAAM,MAAM,GAAG,KAAiD,CAAC;QACjE,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;gBACzB,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAC1B,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;AACxD,CAAC;AACD,SAAS,kBAAkB,CAAC,MAA4B,EAAE,GAAmC,EAAE,SAE7F;IACE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU,CAAC,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAqB;QAC7B,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnG,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE;YACrK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SAC9F,EAAE,MAAM,CAAC;QACV,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YACxF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAC3F,cAAc,EAAE,KAAK;YACrB,KAAK,EAAE,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SACtF,CAAC,CAAC;KACN,CAAC,CAAC;AACP,CAAC;AACD,SAAS,iBAAiB,CAAC,GAAmC,EAAE,IAAoC;IAChG,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACxD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YACvB,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAA,yCAA8B,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAC5C,OAAO,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBACd,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,SAAS,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE;gBAC9E,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnG,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC5B,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AACD,SAAS,YAAY,CAAC,MAA4B,EAAE,SAAgC,EAAE,aAA6C,EAAE,eAAkC,EAAE,aAAgC,EAAE,QAA2B,EAAE,SAAoC,EAAE;IAC1Q,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC1I,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,yBAAc;QACxB,OAAO,EAAE,SAAkB;QAC3B,SAAS;QACT,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7B,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YACpD,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;SACnD,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;KAClF,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,CAAqC,MAA4B,EAAE,SAAe,EAAE,aAA6C,EAAE,eAAkC,EAAE,aAAgC,EAAE,QAA2B;IACvP,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,yBAAc;QACxB,OAAO,EAAE,SAAkB;QAC3B,SAAS;QACT,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,0BAAmC;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClE,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;aACpD,CAAC,CAAC,CAAC;SACP,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YACpD,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;SACnD,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAW,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AACD,SAAS,oBAAoB,CAA8C,SAAgC,EAAE,MAAS,EAAE,KAAc;IAClI,MAAM,OAAO,GAAG,eAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE;QAC/C,gBAAgB,EAAE,OAAO;KAC5B,CAAC,CAAC,KAAK,CAAC,CAAC;IACV,IAAI,eAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,wBAAwB,CAAC;YAC/B,IAAI,EAAE,2BAA2B;YACjC,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC;AAC3B,CAAC;AACD,SAAS,QAAQ,CAAC,IAAoC;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAA,yCAAoB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H,CAAC;AACD,SAAS,UAAU,CAAC,IAAoC;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AACD,SAAS,SAAS,CAAC,KAAc;IAC7B,MAAM,MAAM,GAAG,IAAA,8BAAmB,EAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,2BAA2B,EAAE,CAAC;QACzI,MAAM,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,MAAwB,CAAC;AACpC,CAAC;AACD,SAAS,WAAW,CAAC,KAAc;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,UAAU,IAAI,wCAA4B;QAC1C,OAAO,MAAM,CAAC;IAClB,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,wCAA4B;KAC1C,CAAC,CAAC,CAAC;AACR,CAAC;AACD,SAAS,WAAW,CAAC,IAAuB,EAAE,KAAwB;IAClE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChG,CAAC;AACD,SAAS,gBAAgB,CAAC,MAA4B,EAAE,MAAuB;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,oBAAoB,EAAE,MAAM,CAAC,QAAQ;KACxC,CAAC,CAAC;AACP,CAAC;AACD,SAAS,2BAA2B,CAAC,SAAgC,EAAE,QAAuB;IAC1F,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,sCAAwB,EAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChG,MAAM,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACzI,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACX,IAAI,KAAK,YAAY,wBAAwB;YACzC,MAAM,KAAK,CAAC;QAChB,IAAI,KAAK,YAAY,kCAAsB;YACvC,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAC9B,MAAM,KAAK,CAAC;QAChB,MAAM,gBAAgB,CAAC,SAAS,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AACD,SAAS,yBAAyB,CAAqC,SAAe,EAAE,QAAuB;IAC3G,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,sCAAwB,EAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,qCAAuB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,wBAAwB,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACX,IAAI,KAAK,YAAY,wBAAwB;YACzC,MAAM,KAAK,CAAC;QAChB,IAAI,KAAK,YAAY,kCAAsB;YACvC,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAC9B,MAAM,KAAK,CAAC;QAChB,MAAM,gBAAgB,CAAC,SAAS,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAc;IAI3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,2BAA2B;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,QAAQ,CAAC;AACzD,CAAC;AACD,SAAS,gBAAgB,CAAC,SAAgC,EAAE,MAAc,EAAE,KAAe;IACvF,OAAO,IAAI,wBAAwB,CAAC;QAChC,IAAI,EAAE,8BAA8B;QACpC,SAAS;QACT,MAAM;QACN,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC5C,CAAC,CAAC;AACP,CAAC;AACD,SAAS,gBAAgB,CAAC,SAAgC,EAAE,MAAc,EAAE,KAAe;IACvF,OAAO,IAAI,wBAAwB,CAAC;QAChC,IAAI,EAAE,6BAA6B;QACnC,SAAS;QACT,MAAM;QACN,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC5C,CAAC,CAAC;AACP,CAAC;AACD,SAAS,gBAAgB,CAAC,SAAgC,EAAE,KAA6B;IACrF,OAAO,IAAI,wBAAwB,CAAC;QAChC,IAAI,EAAE,qCAAqC;QAC3C,SAAS;QACT,MAAM,EAAE,oEAAoE;QAC5E,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAClD,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { Data, Result, Schema } from \"effect\";\nimport { encodeAttemptLocator } from \"../attempt-locator.ts\";\nimport { foldRecordedAttemptVerdict, type VerdictState, } from \"../eval/record/verdict.ts\";\nimport type { AssertionCoverage, AssertionLimitation, } from \"../assertions/record/model.ts\";\nimport { NiceEvalCurrentRecordAttachments, NiceEvalRecordAttachments, } from \"../record/family/current.ts\";\nimport type { SealedRunCutoff, SealedRunSummary, SealedRunSummaryPage, } from \"../record/sqlite/index.ts\";\nimport { decodeBase64UrlUtf8, encodeBase64UrlUtf8, utf8ByteLength } from \"./bytes.ts\";\nimport { QUERY_PROTOCOL, closeInspectionJson, type InspectionDocument, type InspectionJson, type InspectionOperation, type InspectionOperationId, type InspectionSourceProvenance, } from \"./codec.ts\";\nimport { INSPECTION_RESULT_BYTE_LIMIT } from \"./limits.ts\";\nimport { projectAttemptAssertionDetail } from \"./assertions.ts\";\nimport { attemptAttachment, loadInspectionRunResource, loadInspectionRuns, loadSelectedInspectionRuns, readInspectionAssertions, resolveInspectionAttempt, resolveInspectionMemberAttempt, runAttachment, type DecodedInspectionAttachment, type LoadedInspectionRun, type LoadedInspectionRunResource, type ResolvedInspectionAttempt, } from \"./facts.ts\";\nimport { selectInspectionOverview } from \"./overview.ts\";\nimport type { InspectionFactSource } from \"./source.ts\";\nimport { projectAttemptSources } from \"./sources.ts\";\nimport { projectAttemptDiff } from \"./diff.ts\";\nimport { combineInspectionUsageTotals, projectAttemptTiming, readInspectionAgentTurns, projectAttemptTrace, projectAttemptTraceDetail, projectAttemptUsage, unavailableInspectionUsageTotals, type AttemptTraceAttachments, } from \"./trace.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptSourcesDocument, InspectionAttemptTimingResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunOverviewResultSchema, InspectionRunValueSchema, InspectionRunSummaryResultSchema, InspectionSourcesResultSchema, type InspectionAttemptDiffDocument, type InspectionAttemptDocument, type InspectionAttemptResult, type InspectionAttemptTimingDocument, type InspectionAttemptTraceDetailDocument, type InspectionAttemptTraceDocument, type InspectionAttemptUsageDocument, type InspectionExperimentDocument, type InspectionOverviewDocument, type InspectionResultMetadata, type InspectionRunDocument, type InspectionRunOverviewDocument, type InspectionRunOverviewResult, type InspectionRunValue, type InspectionRunSummaryDocument, type InspectionRunSummaryResult, } from \"./results.ts\";\nimport { decodeInspectionDocument, inspectionProtocolRegistry, narrowInspectionSuccess, type InspectionOperationDocument, type InspectionOperationFor, type InspectionSuccessDocument, type InspectionSuccessDocumentFor, } from \"./protocol.ts\";\nimport { RecordIntegrityFailure } from \"../record/reader/errors.ts\";\n/** Typed browser-neutral failure from one fixed Inspection operation. */\nexport class InspectionOperationError extends Data.TaggedError(\"InspectionOperationError\")<{\n readonly code: \"inspection-selection-missing\" | \"inspection-record-integrity-failure\" | \"inspection-operation-failed\" | \"inspection-result-invalid\";\n readonly operation: InspectionOperationId;\n readonly reason: string;\n readonly identity?: {\n readonly runId: string;\n };\n readonly cause?: unknown;\n}> {\n}\nconst RUN_LIST_PAGE_SIZE = 100;\nconst ATTACHMENT_COLLECTION_PAGE_SIZE = 64;\nconst ATTACHMENT_CONTENT_METADATA_LIMIT = 64;\nconst RUN_SELECTION_LIMIT = 64;\n/** Pure fixed-operation selector shared by Node CLI and browser View adapters. */\nexport function selectInspectionOperation<Kind extends InspectionOperationId>(facts: InspectionFactSource, operation: InspectionOperationFor<Kind>): InspectionSuccessDocumentFor<Kind>;\nexport function selectInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionSuccessDocument {\n return evaluateInspectionSuccess(operation.kind, () => selectOperation(facts, operation));\n}\n/** Internal CLI explanation over the same selected facts and cutoff. */\nexport function explainInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionDocument {\n return evaluateInspectionOperation(operation.kind, () => {\n if (operation.kind === \"runs.list\") {\n return runsListExplanation(facts, operation);\n }\n if (operation.kind === \"run.get\" || operation.kind === \"run.overview\") {\n const run = requireRunResource(facts, operation.kind, operation.runId);\n const supporting = supportingRunFacts(facts, run);\n return Object.freeze({\n ...runResourceBaseDocument(facts, operation.kind, run, supporting),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n }\n const loaded = loadForOperation(facts, operation);\n return Object.freeze({\n ...baseDocument(facts, operation.kind, loaded.selected, loaded.requestedRunIds, loaded.missingRunIds, []),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n });\n}\nfunction selectOperation(source: InspectionFactSource, operation: InspectionOperation): unknown {\n switch (operation.kind) {\n case \"overview.get\": {\n const requested = operation.runIds ?? [];\n const selection = requested.length === 0\n ? { selected: loadInspectionRuns(source), missing: [] as readonly string[] }\n : selectRuns(loadRuns(source, requested), requested);\n const supporting = loadReferencedOrigins(source, selection.selected);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selection.selected, requested, selection.missing, locators(supporting)),\n overview: decodeRequiredResult(operation.kind, InspectionOverviewResultSchema, selectInspectionOverview(selection.selected, supporting)),\n });\n }\n case \"experiment.get\": {\n const selected = loadInspectionRuns(source);\n const overview = selectInspectionOverview(selected);\n const experiment = overview.experiments.find(({ experimentId }) => experimentId === operation.experimentId);\n if (experiment === undefined) {\n throw selectionMissing(operation.kind, `Experiment ${operation.experimentId} was not found`);\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selected, [], [], locators(selected)),\n experiment: decodeRequiredResult(operation.kind, InspectionExperimentResultSchema, Object.freeze({\n experiment,\n cells: Object.freeze(overview.cells.filter(({ experimentId }) => experimentId === operation.experimentId)),\n })),\n });\n }\n case \"runs.list\": return runsListDocument(source, operation);\n case \"run.get\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const supporting = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, supporting),\n run: decodeRequiredResult(operation.kind, InspectionRunResultSchema, Object.freeze({\n value: inspectionRunValue(run),\n members: run.published?.members ?? Object.freeze([]),\n attempts: run.published?.attempts ?? Object.freeze([]),\n })),\n });\n }\n case \"run.summary\": {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n const run = requireOne(operation.kind, selected.selected, operation.runId);\n const all = loadSummaryFacts(source, run);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, all, [operation.runId], selected.missing, locators(all)),\n summary: decodeRequiredResult(operation.kind, InspectionRunSummaryResultSchema, runSummary(all, run)),\n });\n }\n case \"run.overview\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const all = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, all),\n runOverview: decodeRequiredResult(operation.kind, InspectionRunOverviewResultSchema, runOverview(all, run)),\n });\n }\n case \"attempt.get\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n attempt: decodeRequiredResult(operation.kind, InspectionAttemptResultSchema, attemptDetail(resolved)),\n });\n }\n case \"attempt.assertion.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const assertions = readInspectionAssertions(resolved);\n const assertion = projectAttemptAssertionDetail(source, assertions, readInspectionAgentTurns(traceAttachments(resolved).agentTurns), operation.entryId);\n if (assertion === undefined) {\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n }\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n assertion: boundedJson(assertion),\n });\n }\n case \"attempt.trace\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n trace: decodeRequiredResult(operation.kind, InspectionTraceResultSchema, projectAttemptTrace(resolved.origin.source, traceAttachments(resolved))),\n });\n }\n case \"attempt.trace.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const detail = projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), operation.selector);\n if (detail === undefined) {\n throw selectionMissing(operation.kind, \"Trace detail identity was not found\");\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n detail: decodeRequiredResult(operation.kind, InspectionTraceDetailResultSchema, detail),\n });\n }\n case \"attempt.timing\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n timing: decodeRequiredResult(operation.kind, InspectionAttemptTimingResultSchema, projectAttemptTiming(traceAttachments(resolved))),\n });\n }\n case \"attempt.usage\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n usage: decodeRequiredResult(operation.kind, InspectionAttemptUsageResultSchema, projectAttemptUsage(traceAttachments(resolved))),\n });\n }\n case \"attempt.diff\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n diff: decodeRequiredResult(operation.kind, InspectionAttemptDiffResultSchema, projectAttemptDiff(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family))),\n });\n }\n case \"attempt.sources\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n sources: decodeRequiredResult(operation.kind, InspectionSourcesResultSchema, projectAttemptSources(resolved.origin.source, runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), readInspectionAssertions(resolved))),\n });\n }\n case \"attempt.artifacts\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const attachment = attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family);\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n artifacts: boundedJson(attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" as const })\n : Object.freeze({\n state: \"available\" as const,\n value: attachment.value,\n collection: attachmentCollectionPage(resolved.origin.source, attachment),\n contents: attachment.physical.contents\n .slice(0, ATTACHMENT_CONTENT_METADATA_LIMIT)\n .map(({ logicalHandle, byteLength, digest }) => Object.freeze({ logicalHandle, byteLength, digest })),\n contentsTruncated: attachment.physical.contents.length > ATTACHMENT_CONTENT_METADATA_LIMIT,\n })),\n });\n }\n case \"runs.compare\": {\n const selected = loadRuns(source, [...operation.leftRunIds, ...operation.rightRunIds]);\n return comparisonDocument(source, loadReferencedOrigins(source, selected), operation);\n }\n }\n}\nfunction runsListExplanation(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runsListDocument(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n runs: closeJson(page.items),\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runSummaryPage(source: InspectionFactSource, continuation: string | undefined) {\n const binding = continuation === undefined ? undefined : decodeContinuation(continuation);\n let page: SealedRunSummaryPage;\n try {\n page = source.readSealedRunSummaryPage(binding?.afterRunId ?? \"\", RUN_LIST_PAGE_SIZE, binding?.cutoffIdentity);\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n return Object.freeze({\n cutoff: page.cutoff,\n items: page.summaries,\n truncated: page.nextAfterRunId !== null,\n continuation: page.nextAfterRunId === null\n ? undefined\n : encodeContinuation(page.nextAfterRunId, page.cutoff.identity),\n });\n}\nfunction runsListBase(source: InspectionFactSource, cutoff: SealedRunCutoff, selected: readonly SealedRunSummary[], truncated: boolean) {\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"success\" as const,\n operation: \"runs.list\" as const,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([]),\n selectedRunIds: Object.freeze(selected.map(({ runId }) => runId)),\n missingRunIds: Object.freeze([]),\n returnedRunCount: selected.length,\n totalRunCount: cutoff.runCount,\n truncated,\n }),\n issues: Object.freeze([]),\n evidence: Object.freeze({ refs: Object.freeze([]) }),\n });\n}\nfunction encodeContinuation(afterRunId: string, cutoffIdentity: string): string {\n return encodeBase64UrlUtf8(JSON.stringify([\n \"runs.list\",\n cutoffIdentity,\n afterRunId,\n ]));\n}\nfunction decodeContinuation(token: string): {\n readonly cutoffIdentity: string;\n readonly afterRunId: string;\n} {\n try {\n const decoded = JSON.parse(decodeBase64UrlUtf8(token)) as unknown;\n if (!Array.isArray(decoded) || decoded.length !== 3 || decoded[0] !== \"runs.list\" ||\n typeof decoded[1] !== \"string\" || typeof decoded[2] !== \"string\") {\n throw new Error(\"continuation binding changed\");\n }\n return Object.freeze({ cutoffIdentity: decoded[1], afterRunId: decoded[2] });\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n}\nfunction loadForOperation(source: InspectionFactSource, operation: InspectionOperation): {\n readonly selected: readonly LoadedInspectionRun[];\n readonly requestedRunIds: readonly string[];\n readonly missingRunIds: readonly string[];\n} {\n if (operation.kind === \"overview.get\") {\n const requested = operation.runIds ?? [];\n if (requested.length === 0)\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n const selection = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selection.selected),\n requestedRunIds: requested,\n missingRunIds: selection.missing,\n };\n }\n if (operation.kind === \"experiment.get\") {\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n }\n if (operation.kind === \"runs.list\")\n return { selected: [], requestedRunIds: [], missingRunIds: [] };\n if (operation.kind === \"runs.compare\") {\n const requested = Object.freeze([...operation.leftRunIds, ...operation.rightRunIds]);\n const selected = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selected.selected),\n requestedRunIds: requested,\n missingRunIds: selected.missing,\n };\n }\n if (\"runId\" in operation) {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n requireOne(operation.kind, selected.selected, operation.runId);\n return {\n selected: operation.kind === \"run.summary\" || operation.kind === \"run.overview\"\n ? loadSummaryFacts(source, selected.selected[0]!)\n : selected.selected,\n requestedRunIds: [operation.runId],\n missingRunIds: selected.missing,\n };\n }\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return {\n selected: attemptRuns(resolved),\n requestedRunIds: Object.freeze([]),\n missingRunIds: Object.freeze([]),\n };\n}\nfunction loadRuns(source: InspectionFactSource, runIds: readonly string[]): readonly LoadedInspectionRun[] {\n const uniqueRunIds = [...new Set(runIds)];\n if (uniqueRunIds.length > RUN_SELECTION_LIMIT) {\n throw new Error(`Inspection selection exceeds the fixed ${RUN_SELECTION_LIMIT}-Run limit`);\n }\n return loadSelectedInspectionRuns(source, uniqueRunIds);\n}\nfunction requireRunResource(source: InspectionFactSource, operation: InspectionOperationId, runId: string): LoadedInspectionRunResource {\n const run = loadInspectionRunResource(source, runId);\n if (run === undefined)\n throw selectionMissing(operation, `Run ${runId} was not found`);\n return run;\n}\nfunction inspectionRunValue(run: LoadedInspectionRunResource): InspectionRunValue {\n const { resource, published } = run;\n return decodeRequiredResult(\"run.get\", InspectionRunValueSchema, Object.freeze({\n runId: resource.runId,\n experimentId: resource.experimentId,\n state: resource.state,\n ...(resource.published > 0 && published !== undefined\n ? { context: published.run.context }\n : {}),\n startedAt: Date.parse(resource.startedAt),\n ...(resource.completedAt === undefined\n ? {}\n : { completedAt: Date.parse(resource.completedAt) }),\n expectedSlots: published?.run.expectedSlots ?? resource.slots.map((slot) => Object.freeze({\n slotId: slot.slotId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n })),\n }));\n}\nfunction supportingRunFacts(source: InspectionFactSource, run: LoadedInspectionRunResource): readonly LoadedInspectionRun[] {\n return run.published === undefined ? Object.freeze([]) : loadSummaryFacts(source, run.published);\n}\nfunction runResourceMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]): InspectionResultMetadata<Kind> {\n const metadata = resultMetadata(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...metadata,\n selection: Object.freeze({\n ...metadata.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction runResourceBaseDocument(source: InspectionFactSource, operation: InspectionOperationId, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]) {\n const document = baseDocument(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...document,\n selection: Object.freeze({\n ...document.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction loadReferencedOrigins(source: InspectionFactSource, targets: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n const targetIds = new Set(targets.map(({ run }) => run.runId));\n const originIds = [...new Set(targets.flatMap(({ members }) => members.flatMap(({ attempt }) => attempt === null || targetIds.has(attempt.originRunId) ? [] : [attempt.originRunId])))];\n return uniqueRuns([...targets, ...loadRuns(source, originIds)]);\n}\nfunction loadSummaryFacts(source: InspectionFactSource, target: LoadedInspectionRun): readonly LoadedInspectionRun[] {\n return loadReferencedOrigins(source, [target]);\n}\nfunction parseJson(bytes: Uint8Array): unknown {\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes)) as unknown;\n}\nfunction selectRuns(all: readonly LoadedInspectionRun[], runIds: readonly string[]) {\n const byId = new Map<string, LoadedInspectionRun>(all.map((run) => [run.run.runId, run]));\n const requested = [...new Set(runIds)];\n return Object.freeze({\n selected: Object.freeze(requested.flatMap((runId) => {\n const run = byId.get(runId);\n return run === undefined ? [] : [run];\n })),\n missing: Object.freeze(requested.filter((runId) => !byId.has(runId))),\n });\n}\nfunction requireOne(operation: InspectionOperationId, selected: readonly LoadedInspectionRun[], runId: string): LoadedInspectionRun {\n const run = selected[0];\n if (run === undefined) {\n throw selectionMissing(operation, `Run ${runId} was not found`);\n }\n return run;\n}\nfunction requireAttemptFromSource(source: InspectionFactSource, operation: InspectionOperationId, locator: string): ResolvedInspectionAttempt {\n const resolved = resolveInspectionAttempt(source, locator);\n if (resolved === undefined) {\n throw selectionMissing(operation, `Attempt ${locator} was not found or is ambiguous`);\n }\n return resolved;\n}\nfunction attemptRuns(resolved: ResolvedInspectionAttempt): readonly LoadedInspectionRun[] {\n return uniqueRuns([resolved.origin, ...resolved.targets.map(({ run }) => run)]);\n}\nfunction traceAttachments(resolved: ResolvedInspectionAttempt): AttemptTraceAttachments {\n return Object.freeze({\n agentTurns: attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family),\n turnContexts: attemptAttachment(resolved, NiceEvalRecordAttachments.turnContexts.family),\n sandboxCommands: attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family),\n runnerActivities: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family),\n runnerDiagnostics: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family),\n });\n}\nfunction attachmentValue(resolved: ResolvedInspectionAttempt, family: string): InspectionJson {\n const attachment = attemptAttachment(resolved, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(resolved.origin.source, attachment),\n });\n}\nfunction runAttachmentValue(run: LoadedInspectionRun, family: string): InspectionJson {\n const attachment = runAttachment(run, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(run.source, attachment),\n });\n}\nfunction attachmentCollectionPage(source: InspectionFactSource, attachment: DecodedInspectionAttachment): InspectionJson {\n const page = source.readCollectionPage(attachment.physical.attachmentId, -1, ATTACHMENT_COLLECTION_PAGE_SIZE);\n return closeJson(Object.freeze({\n state: page.nextOrdinal === null ? \"complete-page\" : \"bounded-page\",\n items: Object.freeze(page.items.map((item) => closeJson(parseJson(item.canonicalBytes)))),\n hasMore: page.nextOrdinal !== null,\n }));\n}\n/**\n * Query keeps one leading and one decisive matcher representative. The full\n * durable artifact remains available in the Record, while attempt.get stays a\n * bounded AI-facing overview instead of duplicating attempt.trace-sized data.\n */\nfunction compactAssertionInspection(value: InspectionJson): InspectionJson {\n if (Array.isArray(value))\n return Object.freeze(value.map(compactAssertionInspection));\n if (typeof value !== \"object\" || value === null)\n return value;\n const output: Record<string, InspectionJson> = {};\n for (const [key, entry] of Object.entries(value)) {\n if ((key === \"retainedRows\" || key === \"representatives\") && Array.isArray(entry) && entry.length > 2) {\n output[key] = Object.freeze([\n compactAssertionInspection(entry[0]!),\n compactAssertionInspection(entry[entry.length - 1]!),\n ]);\n }\n else {\n output[key] = compactAssertionInspection(entry);\n }\n }\n return Object.freeze(output);\n}\nfunction attemptDetail(resolved: ResolvedInspectionAttempt): InspectionAttemptResult {\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n core: resolved.attempt,\n locator: resolved.locator,\n originRun: resolved.origin.run,\n targets: resolved.targets.map(({ run, member }) => Object.freeze({ runId: run.run.runId, member })),\n evidence: assertions.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n entryCount: assertions.value.entries.length,\n sourceSiteCount: assertions.value.sourceSites.length,\n })\n : Object.freeze({\n state: assertions.state,\n entryCount: 0 as const,\n }),\n assertions: assertionIndex(assertions),\n sections: attemptSections(resolved),\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n evidenceCoverage: attemptEvidenceCoverage(resolved),\n limitations: attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []),\n });\n}\nfunction assertionIndex(assertions: ReturnType<typeof readInspectionAssertions>): InspectionAttemptResult[\"assertions\"] {\n if (assertions.state !== \"available\") {\n return Object.freeze({\n state: assertions.state === \"not-recorded\" ? \"not-recorded\" : \"invalid\",\n entries: Object.freeze([]),\n });\n }\n return Object.freeze({\n state: \"available\",\n entries: Object.freeze(assertions.value.entries.map((entry) => Object.freeze({\n entryId: entry.entryId,\n display: Object.freeze({\n ...(entry.display.label === undefined ? {} : { label: entry.display.label }),\n ...(entry.display.key === undefined ? {} : { key: entry.display.key }),\n groupPath: Object.freeze([...entry.display.groupPath]),\n }),\n }))),\n });\n}\ntype AttemptSectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nfunction attemptSections(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"sections\"] {\n const assertions = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.assertions.family), NiceEvalCurrentRecordAttachments.assertions.revision);\n const conversation = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family), NiceEvalCurrentRecordAttachments.agentTurns.revision);\n const commands = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family), NiceEvalCurrentRecordAttachments.sandboxCommands.revision);\n const timing = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family), NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision);\n const diagnostics = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family), NiceEvalCurrentRecordAttachments.runnerDiagnostics.attempt.revision);\n const sources = attachmentSectionState(runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), NiceEvalCurrentRecordAttachments.sources.revision);\n const diff = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family), NiceEvalCurrentRecordAttachments.fileChanges.revision);\n const artifacts = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family), NiceEvalCurrentRecordAttachments.artifacts.attempt.revision);\n return Object.freeze({\n assertions: Object.freeze({ state: assertions }),\n trace: Object.freeze({ state: combineSectionStates([conversation, commands, timing, diagnostics]) }),\n sources: Object.freeze({ state: sources }),\n diff: Object.freeze({ state: diff }),\n artifacts: Object.freeze({ state: artifacts }),\n timing: Object.freeze({ state: timing }),\n usage: Object.freeze({ state: conversation }),\n conversation: Object.freeze({ state: conversation }),\n commands: Object.freeze({ state: commands }),\n diagnostics: Object.freeze({ state: diagnostics }),\n });\n}\nfunction attachmentSectionState(attachment: DecodedInspectionAttachment | undefined, currentRevision: number): AttemptSectionState {\n if (attachment === undefined)\n return \"not-recorded\";\n if (attachment.physical.familyRevision !== currentRevision)\n return \"unavailable\";\n return containsState(attachment.value, \"partial\") ? \"partial\" : \"available\";\n}\nfunction combineSectionStates(states: readonly AttemptSectionState[]): AttemptSectionState {\n if (states.some((state) => state === \"partial\"))\n return \"partial\";\n if (states.some((state) => state === \"available\"))\n return \"available\";\n if (states.some((state) => state === \"unavailable\"))\n return \"unavailable\";\n return \"not-recorded\";\n}\nfunction containsState(value: InspectionJson, expected: string): boolean {\n if (Array.isArray(value))\n return value.some((entry) => containsState(entry, expected));\n if (typeof value !== \"object\" || value === null)\n return false;\n const record = value as Readonly<Record<string, InspectionJson>>;\n return record.state === expected || Object.values(record).some((entry) => containsState(entry, expected));\n}\nfunction runSummary(all: readonly LoadedInspectionRun[], selected: LoadedInspectionRun): InspectionRunSummaryResult {\n const slots = selected.run.expectedSlots.map((slot) => {\n const member = selected.members.find((candidate) => candidate.slotId === slot.slotId);\n if (member === undefined || member.attempt === null) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member?.action ?? \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, member);\n if (resolved === undefined) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member.action, locator: resolved.locator,\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n });\n });\n return Object.freeze({\n runs: Object.freeze([selected.run]),\n denominator: Object.freeze({ expected: slots.length, observed: slots.filter(({ locator }) => locator !== null).length }),\n members: Object.freeze(slots),\n });\n}\nfunction runOverview(all: readonly LoadedInspectionRun[], selectedResource: LoadedInspectionRunResource): InspectionRunOverviewResult {\n type Member = InspectionRunOverviewResult[\"members\"][number];\n type Usage = ReturnType<typeof projectAttemptUsage>;\n const selected = selectedResource.published;\n const value = inspectionRunValue(selectedResource);\n const unavailableUsage = (): Member[\"usage\"] => Object.freeze({\n state: \"unavailable\",\n summary: null,\n totals: unavailableInspectionUsageTotals(),\n limitations: Object.freeze([]),\n limitationsTruncated: false,\n omittedLimitationCount: 0,\n });\n const unavailableCoverage = (): Member[\"coverage\"] => Object.freeze({\n state: \"unavailable\",\n facts: Object.freeze([]),\n limitations: Object.freeze([]),\n });\n const projected = value.expectedSlots.map((slot): {\n readonly member: Member;\n readonly usage?: Usage;\n } => {\n const targetMember = selected?.members.find((candidate) => candidate.slotId === slot.slotId);\n if (targetMember === undefined) {\n if (value.state !== \"active\") {\n throw new Error(`Terminal Run ${value.runId} has no binding or absence for Slot ${slot.slotId}`);\n }\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: \"pending\" as const,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: \"pending\",\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (targetMember.attempt === null) {\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: targetMember.action,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (selected === undefined) {\n throw new Error(`Run ${value.runId} has a Member without a published Core`);\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, targetMember);\n if (resolved === undefined) {\n const limitation = Object.freeze({\n kind: \"attempt-unresolved\" as const,\n originRunId: targetMember.attempt.originRunId,\n attemptId: targetMember.attempt.attemptId,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n const assertions = readInspectionAssertions(resolved);\n const coverageFacts = attemptEvidenceCoverage(resolved);\n const coverageLimitations = attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []);\n const coverageState: Member[\"coverage\"][\"state\"] = assertions.state === \"available\"\n ? coverageLimitations.length === 0 && coverageFacts.every(({ status }) => status === \"complete\")\n ? \"complete\"\n : \"partial\"\n : coverageFacts.length > 0\n ? \"partial\"\n : assertions.state === \"not-recorded\"\n ? \"not-recorded\"\n : \"invalid\";\n const usage = projectAttemptUsage(traceAttachments(resolved));\n const memberLimitations: Member[\"limitations\"] = Object.freeze([\n ...coverageLimitations.map((detail) => Object.freeze({ kind: \"coverage\" as const, detail })),\n ...usage.limitations.map((detail) => Object.freeze({ kind: \"usage\" as const, detail })),\n ]);\n return Object.freeze({\n usage,\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: resolved.locator,\n relation: resolved.attempt.originRunId === value.runId ? \"origin\" : \"reference\",\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n coverage: Object.freeze({\n state: coverageState,\n facts: coverageFacts,\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: usage.state,\n summary: usage.state === \"complete\" || usage.state === \"partial\"\n ? Object.freeze({\n turnCount: usage.turns.length + usage.omittedTurnCount,\n observationCount: usage.observations.length + usage.omittedObservationCount,\n })\n : null,\n totals: usage.totals,\n limitations: usage.limitations,\n limitationsTruncated: usage.limitationsTruncated,\n omittedLimitationCount: usage.omittedLimitationCount,\n }),\n limitations: memberLimitations,\n }),\n });\n });\n const members = Object.freeze(projected.map(({ member }) => member));\n const locatedLimitations = Object.freeze(members.flatMap((member) => member.limitations.map((limitation) => Object.freeze({\n slotId: member.slot.slotId,\n locator: member.locator,\n limitation,\n }))));\n const usageResults = projected.flatMap(({ usage }) => usage === undefined ? [] : [usage]);\n const observed = members.filter(({ locator }) => locator !== null).length;\n const incompleteUsage = observed !== members.length ||\n usageResults.some(({ state }) => state !== \"complete\");\n const coverageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"usage\"));\n const usageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"coverage\"));\n return Object.freeze({\n identity: Object.freeze({\n runId: value.runId,\n experimentId: value.experimentId,\n adapter: value.context?.execution.adapter ?? null,\n }),\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n denominator: Object.freeze({ expected: members.length, observed }),\n members,\n coverage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ coverage }) => coverage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n completeMemberCount: members.filter(({ coverage }) => coverage.state === \"complete\").length,\n factCount: members.reduce((total, { coverage }) => total + coverage.facts.length, 0),\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ usage }) => usage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n recordedAttemptCount: usageResults.filter(({ state }) => state === \"complete\" || state === \"partial\").length,\n totals: combineInspectionUsageTotals(usageResults, incompleteUsage),\n limitations: usageLimitations,\n }),\n limitations: locatedLimitations,\n });\n}\nfunction aggregateRunOverviewState(states: readonly InspectionRunOverviewResult[\"coverage\"][\"state\"][]): InspectionRunOverviewResult[\"coverage\"][\"state\"] {\n if (states.length === 0 || states.every((state) => state === \"complete\"))\n return \"complete\";\n if (states.every((state) => state === \"unavailable\"))\n return \"unavailable\";\n if (states.every((state) => state === \"not-recorded\"))\n return \"not-recorded\";\n if (states.every((state) => state === \"invalid\"))\n return \"invalid\";\n return \"partial\";\n}\nfunction attemptVerdict(resolved: ResolvedInspectionAttempt, assertions = readInspectionAssertions(resolved)): VerdictState | null {\n if (assertions.state === \"available\") {\n return foldRecordedAttemptVerdict({\n outcome: resolved.attempt.outcome,\n assertions: assertions.value,\n });\n }\n if (assertions.state !== \"failed\" || assertions.attachment === undefined) {\n return null;\n }\n if (resolved.attempt.outcome === \"errored\" || resolved.attempt.outcome === \"interrupted\")\n return \"errored\";\n if (containsRequiredAssertionError(assertions.attachment.value))\n return \"errored\";\n return containsFailedDecision(assertions.attachment.value) ? \"failed\" : null;\n}\nfunction assertionScore(entries: readonly {\n readonly contribution: {\n readonly state: string;\n readonly points?: number;\n readonly earned?: number;\n };\n}[]): InspectionAttemptResult[\"score\"] {\n let possible = 0;\n let earned = 0;\n let scored = 0;\n let unavailable = 0;\n for (const { contribution } of entries) {\n if (contribution.state === \"earned\" && typeof contribution.points === \"number\" && typeof contribution.earned === \"number\") {\n possible += contribution.points;\n earned += contribution.earned;\n scored += 1;\n }\n else if (contribution.state === \"unavailable\" && typeof contribution.points === \"number\") {\n possible += contribution.points;\n unavailable += 1;\n }\n }\n return scored === 0 && unavailable === 0\n ? Object.freeze({ state: \"not-scored\" as const })\n : unavailable > 0\n ? Object.freeze({ state: \"unavailable\" as const, earned, possible, unavailable })\n : Object.freeze({ state: \"complete\" as const, earned, possible });\n}\nfunction attemptEvidenceCoverage(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"evidenceCoverage\"] {\n const entries = new Map<string, InspectionAttemptResult[\"evidenceCoverage\"][number]>();\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n const coverage = record.evidenceCoverage;\n if (typeof coverage === \"object\" && coverage !== null && !Array.isArray(coverage)) {\n for (const [channel, raw] of Object.entries(coverage)) {\n if (!isAttemptCoverageChannel(channel))\n continue;\n const detail = typeof raw === \"object\" && raw !== null && !Array.isArray(raw)\n ? raw as Readonly<Record<string, InspectionJson>>\n : undefined;\n const status = typeof raw === \"string\"\n ? raw\n : typeof detail?.status === \"string\"\n ? detail.status\n : typeof detail?.state === \"string\"\n ? detail.state\n : undefined;\n if (status === undefined)\n continue;\n if (status !== \"complete\" && status !== \"partial\" && status !== \"unavailable\")\n continue;\n const reason = typeof detail?.reason === \"string\" ? detail.reason : undefined;\n const item = Object.freeze({\n channel,\n status,\n ...(reason === undefined ? {} : { reason }),\n });\n entries.set(`${channel}\\u0000${status}\\u0000${reason ?? \"\"}`, item);\n }\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind !== \"attempt\" || attachment.physical.ownerAttemptId !== resolved.attempt.attemptId)\n continue;\n visit(attachment.value);\n }\n return Object.freeze([...entries.values()]);\n}\nfunction attemptLimitations(resolved: ResolvedInspectionAttempt, entries: readonly {\n readonly materials: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n };\n}[]): InspectionAttemptResult[\"limitations\"] {\n const limitations: InspectionAttemptResult[\"limitations\"][number][] = [];\n for (const entry of entries) {\n const coverage = entry.materials.coverage;\n switch (coverage.state) {\n case \"complete\": break;\n case \"partial\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"unavailable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"not-applicable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n }\n }\n const coverage = attemptEvidenceCoverage(resolved);\n if (Array.isArray(coverage)) {\n for (const entry of coverage) {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry) || entry.status === \"complete\")\n continue;\n limitations.push(entry);\n }\n }\n return Object.freeze(limitations);\n}\nfunction isAttemptCoverageChannel(value: string): value is InspectionAttemptResult[\"evidenceCoverage\"][number][\"channel\"] {\n return value === \"events\" || value === \"actions\" || value === \"messages\" ||\n value === \"usage\" || value === \"status\" || value === \"data\";\n}\nfunction containsFailedDecision(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const decision = (entry as Readonly<Record<string, InspectionJson>>).decision;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision))\n return false;\n const record = decision as Readonly<Record<string, InspectionJson>>;\n return record.result === \"mismatched\" && record.gate === \"failed\";\n }) ?? false;\n}\nfunction containsRequiredAssertionError(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const record = entry as Readonly<Record<string, InspectionJson>>;\n const decision = record.decision;\n const policy = record.policy;\n const requirement = typeof policy === \"object\" && policy !== null && !Array.isArray(policy)\n ? (policy as Readonly<Record<string, InspectionJson>>).requirement\n : undefined;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision) ||\n typeof requirement !== \"object\" || requirement === null || Array.isArray(requirement))\n return false;\n const decisionRecord = decision as Readonly<Record<string, InspectionJson>>;\n const requirementRecord = requirement as Readonly<Record<string, InspectionJson>>;\n return (decisionRecord.result === \"unavailable\" || decisionRecord.result === \"errored\") &&\n decisionRecord.gate === \"unavailable\" &&\n requirementRecord.state === \"available\" && requirementRecord.value === \"required\";\n }) ?? false;\n}\nfunction assertionWireEntries(value: InspectionJson): readonly InspectionJson[] | undefined {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return undefined;\n const entries = (value as Readonly<Record<string, InspectionJson>>)[\"entries-data\"];\n return Array.isArray(entries) ? entries : undefined;\n}\nfunction attemptUsage(resolved: ResolvedInspectionAttempt) {\n let inputTokens = 0;\n let outputTokens = 0;\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n if (record.kind === \"token-bucket\" && typeof record.tokens === \"number\") {\n if (record.bucket === \"input\")\n inputTokens += record.tokens;\n if (record.bucket === \"output\")\n outputTokens += record.tokens;\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind === \"attempt\" && attachment.physical.ownerAttemptId === resolved.attempt.attemptId)\n visit(attachment.value);\n }\n return Object.freeze({ inputTokens, outputTokens });\n}\nfunction comparisonDocument(source: InspectionFactSource, all: readonly LoadedInspectionRun[], operation: Extract<InspectionOperation, {\n readonly kind: \"runs.compare\";\n}>): unknown {\n const left = selectRuns(all, operation.leftRunIds);\n const right = selectRuns(all, operation.rightRunIds);\n const leftMembers = comparisonMembers(all, left.selected);\n const rightMembers = comparisonMembers(all, right.selected);\n const leftKeys = leftMembers.map(({ key }) => key).sort();\n const rightKeys = rightMembers.map(({ key }) => key).sort();\n const exact = arraysEqual(leftKeys, rightKeys);\n const rightByKey = new Map(rightMembers.map((member) => [member.key, member] as const));\n const pairs = leftMembers.flatMap((member) => {\n const paired = rightByKey.get(member.key);\n return paired === undefined ? [] : [Object.freeze({ key: member.key, left: member, right: paired })];\n });\n const issues: InspectionJson[] = [\n ...left.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"left\", runId })),\n ...right.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"right\", runId })),\n ...(operation.mode === \"exact\" && !exact ? [closeJson({ code: \"comparison-member-set-mismatch\" })] : []),\n ];\n return Object.freeze({\n ...baseDocument(source, operation.kind, [...left.selected, ...right.selected], [...operation.leftRunIds, ...operation.rightRunIds], [...left.missing, ...right.missing], [\n ...leftMembers.map(({ locator }) => locator), ...rightMembers.map(({ locator }) => locator),\n ], issues),\n comparison: boundedJson(Object.freeze({\n mode: operation.mode,\n left: Object.freeze({ runs: left.selected.map(({ run }) => run), members: leftMembers }),\n right: Object.freeze({ runs: right.selected.map(({ run }) => run), members: rightMembers }),\n exactMemberSet: exact,\n pairs: operation.mode === \"side-by-side\" ? Object.freeze([]) : Object.freeze(pairs),\n })),\n });\n}\nfunction comparisonMembers(all: readonly LoadedInspectionRun[], runs: readonly LoadedInspectionRun[]) {\n return runs.flatMap((run) => run.members.flatMap((member) => {\n if (member.attempt === null)\n return [];\n const slot = run.run.expectedSlots.find(({ slotId }) => slotId === member.slotId);\n const resolved = resolveInspectionMemberAttempt(all, run, member);\n if (slot === undefined || resolved === undefined)\n return [];\n return [Object.freeze({\n key: `${run.run.experimentId}\\u0000${slot.evalId}\\u0000${slot.attemptOrdinal}`,\n runId: run.run.runId, slotId: slot.slotId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,\n locator: resolved.locator,\n })];\n }));\n}\nfunction baseDocument(source: InspectionFactSource, operation: InspectionOperationId, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[], issues: readonly InspectionJson[] = []) {\n const selected = uniqueRuns(selectedInput);\n const seals = selected.map(({ run, physical }) => Object.freeze({ runId: run.runId, logicalSealIdentity: physical.logicalSealIdentity }));\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(seals),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze(issues),\n evidence: Object.freeze({ refs: Object.freeze([...new Set(evidence)].sort()) }),\n });\n}\nfunction resultMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[]): InspectionResultMetadata<Kind> {\n const selected = uniqueRuns(selectedInput);\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\" as const,\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(selected.map(({ run, physical }) => Object.freeze({\n runId: run.runId,\n logicalSealIdentity: physical.logicalSealIdentity,\n }))),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze([] as const),\n evidence: Object.freeze({\n refs: Object.freeze([...new Set(evidence)].sort()),\n }),\n });\n}\nfunction decodeRequiredResult<S extends Schema.ConstraintDecoder<unknown>>(operation: InspectionOperationId, schema: S, input: unknown): S[\"Type\"] {\n const decoded = Schema.decodeUnknownResult(schema, {\n onExcessProperty: \"error\",\n })(input);\n if (Result.isFailure(decoded)) {\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\",\n operation,\n reason: String(decoded.failure),\n });\n }\n return decoded.success;\n}\nfunction locators(runs: readonly LoadedInspectionRun[]): readonly string[] {\n return Object.freeze(runs.flatMap(({ attempts }) => attempts.map(({ attemptId }) => encodeAttemptLocator(attemptId))));\n}\nfunction uniqueRuns(runs: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n return Object.freeze([...new Map(runs.map((run) => [run.run.runId, run] as const)).values()]);\n}\nfunction closeJson(value: unknown): InspectionJson {\n const closed = closeInspectionJson(value);\n if (typeof closed === \"object\" && closed !== null && !Array.isArray(closed) && Reflect.get(closed, \"code\") === \"inspection-result-invalid\") {\n throw closed;\n }\n return closed as InspectionJson;\n}\nfunction boundedJson(value: unknown): InspectionJson {\n const closed = closeJson(value);\n const byteLength = utf8ByteLength(JSON.stringify(closed));\n if (byteLength <= INSPECTION_RESULT_BYTE_LIMIT)\n return closed;\n return closeJson(Object.freeze({\n state: \"omitted\",\n reason: \"inspection-result-byte-limit\",\n byteLimit: INSPECTION_RESULT_BYTE_LIMIT,\n }));\n}\nfunction arraysEqual(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((entry, index) => entry === right[index]);\n}\nfunction sourceProvenance(source: InspectionFactSource, cutoff: SealedRunCutoff): InspectionSourceProvenance {\n return Object.freeze({\n kind: source.kind,\n sealedCutoffIdentity: cutoff.identity,\n });\n}\nfunction evaluateInspectionOperation(operation: InspectionOperationId, evaluate: () => unknown): InspectionOperationDocument {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const value = decoded.value;\n if (value.outcome === \"discovery\" || value.outcome === \"failure\" || value.operation !== operation) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: \"expected matching operation document\" });\n }\n return value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction evaluateInspectionSuccess<Kind extends InspectionOperationId>(operation: Kind, evaluate: () => unknown): InspectionSuccessDocumentFor<Kind> {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const narrowed = narrowInspectionSuccess(decoded.value, operation);\n if (!narrowed.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: narrowed.reason });\n }\n return narrowed.value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction isInspectionResultError(value: unknown): value is {\n readonly code: \"inspection-result-invalid\";\n readonly reason: string;\n} {\n return typeof value === \"object\" && value !== null &&\n Reflect.get(value, \"code\") === \"inspection-result-invalid\" &&\n typeof Reflect.get(value, \"reason\") === \"string\";\n}\nfunction selectionMissing(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction operationFailure(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-operation-failed\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction integrityFailure(operation: InspectionOperationId, cause: RecordIntegrityFailure): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-record-integrity-failure\",\n operation,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n });\n}\n"]}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data, Result, Schema } from \"effect\";\nimport { projectAttemptArtifact } from \"./artifacts.ts\";\nimport { projectArtifactsListing } from \"./artifact-list.ts\";\nimport { encodeAttemptLocator } from \"../attempt-locator.ts\";\nimport { foldRecordedAttemptVerdict, type VerdictState, } from \"../eval/record/verdict.ts\";\nimport type { AssertionCoverage, AssertionLimitation, } from \"../assertions/record/model.ts\";\nimport { NiceEvalCurrentRecordAttachments, NiceEvalRecordAttachments, } from \"../record/family/current.ts\";\nimport type { SealedRunCutoff, SealedRunSummary, SealedRunSummaryPage, } from \"../record/sqlite/index.ts\";\nimport { decodeBase64UrlUtf8, encodeBase64UrlUtf8, utf8ByteLength } from \"./bytes.ts\";\nimport { INSPECTION_BEHAVIOR_VERSION, QUERY_PROTOCOL, closeInspectionJson, isInspectionCodecError, type InspectionDocument, type InspectionJson, type InspectionOperation, type InspectionOperationId, type InspectionSourceProvenance, } from \"./codec.ts\";\nimport { INSPECTION_RESULT_BYTE_LIMIT } from \"./limits.ts\";\nimport { projectAttemptAssertionDetail, projectAttemptAssertionImage } from \"./assertions.ts\";\nimport { attemptAttachment, loadInspectionRunResource, loadInspectionRuns, loadSelectedInspectionRuns, readInspectionAssertions, resolveInspectionAttempt, resolveInspectionMemberAttempt, runAttachment, type DecodedInspectionAttachment, type LoadedInspectionRun, type LoadedInspectionRunResource, type ResolvedInspectionAttempt, } from \"./facts.ts\";\nimport { selectInspectionOverview } from \"./overview.ts\";\nimport type { InspectionFactSource } from \"./source.ts\";\nimport { projectAttemptSources } from \"./sources.ts\";\nimport { projectAttemptDiff } from \"./diff.ts\";\nimport { combineInspectionUsageTotals, projectAttemptTiming, readInspectionAgentTurns, projectAttemptTrace, projectAttemptTraceDetail, projectAttemptUsage, unavailableInspectionUsageTotals, type AttemptTraceAttachments, } from \"./trace.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptSourcesDocument, InspectionAttemptTimingResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunOverviewResultSchema, InspectionRunValueSchema, InspectionRunSummaryResultSchema, InspectionSourcesResultSchema, type InspectionAttemptDiffDocument, type InspectionAttemptDocument, type InspectionAttemptResult, type InspectionAttemptTimingDocument, type InspectionAttemptTraceDetailDocument, type InspectionAttemptTraceDocument, type InspectionAttemptUsageDocument, type InspectionExperimentDocument, type InspectionOverviewDocument, type InspectionResultMetadata, type InspectionRunDocument, type InspectionRunOverviewDocument, type InspectionRunOverviewResult, type InspectionRunValue, type InspectionRunSummaryDocument, type InspectionRunSummaryResult, } from \"./results.ts\";\nimport { decodeInspectionDocument, inspectionProtocolRegistry, narrowInspectionSuccess, type InspectionOperationDocument, type InspectionOperationFor, type InspectionSuccessDocument, type InspectionSuccessDocumentFor, } from \"./protocol.ts\";\nimport { RecordIntegrityFailure } from \"../record/reader/errors.ts\";\nimport { InspectionExecutionTraceError, projectExecutionTraceDetail, projectExecutionTraceOutline, } from \"./execution-traces.ts\";\n/** Typed browser-neutral failure from one fixed Inspection operation. */\nexport class InspectionOperationError extends Data.TaggedError(\"InspectionOperationError\")<{\n readonly code: \"inspection-request-invalid\" | \"inspection-selection-missing\" | \"inspection-record-integrity-failure\" | \"inspection-operation-failed\" | \"inspection-result-invalid\" | \"evidence-budget-exceeded\" | \"restart-required\";\n readonly operation: InspectionOperationId;\n readonly reason: string;\n readonly identity?: {\n readonly runId: string;\n };\n readonly cause?: unknown;\n}> {\n}\nconst RUN_LIST_PAGE_SIZE = 100;\nconst ATTACHMENT_COLLECTION_PAGE_SIZE = 64;\nconst ATTACHMENT_CONTENT_METADATA_LIMIT = 64;\nconst RUN_SELECTION_LIMIT = 64;\n/** Pure fixed-operation selector shared by Node CLI and browser View adapters. */\nexport function selectInspectionOperation<Kind extends InspectionOperationId>(facts: InspectionFactSource, operation: InspectionOperationFor<Kind>): InspectionSuccessDocumentFor<Kind>;\nexport function selectInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionSuccessDocument {\n return evaluateInspectionSuccess(operation.kind, () => selectOperation(facts, operation));\n}\n/** Internal CLI explanation over the same selected facts and cutoff. */\nexport function explainInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionDocument {\n return evaluateInspectionOperation(operation.kind, () => {\n if (operation.kind === \"runs.list\") {\n return runsListExplanation(facts, operation);\n }\n if (operation.kind === \"run.get\" || operation.kind === \"run.overview\") {\n const run = requireRunResource(facts, operation.kind, operation.runId);\n const supporting = supportingRunFacts(facts, run);\n return Object.freeze({\n ...runResourceBaseDocument(facts, operation.kind, run, supporting),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n }\n const loaded = loadForOperation(facts, operation);\n return Object.freeze({\n ...baseDocument(facts, operation.kind, loaded.selected, loaded.requestedRunIds, loaded.missingRunIds, []),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n });\n}\nfunction selectOperation(source: InspectionFactSource, operation: InspectionOperation): unknown {\n switch (operation.kind) {\n case \"overview.get\": {\n const requested = operation.runIds ?? [];\n const selection = requested.length === 0\n ? { selected: loadInspectionRuns(source), missing: [] as readonly string[] }\n : selectRuns(loadRuns(source, requested), requested);\n const supporting = loadReferencedOrigins(source, selection.selected);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selection.selected, requested, selection.missing, locators(supporting)),\n overview: decodeRequiredResult(operation.kind, InspectionOverviewResultSchema, selectInspectionOverview(selection.selected, supporting)),\n });\n }\n case \"experiment.get\": {\n const selected = loadInspectionRuns(source);\n const overview = selectInspectionOverview(selected);\n const experiment = overview.experiments.find(({ experimentId }) => experimentId === operation.experimentId);\n if (experiment === undefined) {\n throw selectionMissing(operation.kind, `Experiment ${operation.experimentId} was not found`);\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selected, [], [], locators(selected)),\n experiment: decodeRequiredResult(operation.kind, InspectionExperimentResultSchema, Object.freeze({\n experiment,\n cells: Object.freeze(overview.cells.filter(({ experimentId }) => experimentId === operation.experimentId)),\n })),\n });\n }\n case \"runs.list\": return runsListDocument(source, operation);\n case \"run.get\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const supporting = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, supporting),\n run: decodeRequiredResult(operation.kind, InspectionRunResultSchema, Object.freeze({\n value: inspectionRunValue(run),\n members: run.published?.members ?? Object.freeze([]),\n attempts: run.published?.attempts ?? Object.freeze([]),\n })),\n });\n }\n case \"run.summary\": {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n const run = requireOne(operation.kind, selected.selected, operation.runId);\n const all = loadSummaryFacts(source, run);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, all, [operation.runId], selected.missing, locators(all)),\n summary: decodeRequiredResult(operation.kind, InspectionRunSummaryResultSchema, runSummary(all, run)),\n });\n }\n case \"run.overview\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const all = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, all),\n runOverview: decodeRequiredResult(operation.kind, InspectionRunOverviewResultSchema, runOverview(all, run)),\n });\n }\n case \"attempt.get\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n attempt: decodeRequiredResult(operation.kind, InspectionAttemptResultSchema, attemptDetail(resolved)),\n });\n }\n case \"attempt.assertion.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const assertions = readInspectionAssertions(resolved);\n const assertion = projectAttemptAssertionDetail(source, assertions, readInspectionAgentTurns(traceAttachments(resolved).agentTurns), operation.entryId);\n if (assertion === undefined) {\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n }\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n assertion: boundedJson(assertion),\n });\n }\n case \"attempt.assertion.image\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const image = projectAttemptAssertionImage(source, readInspectionAssertions(resolved), operation.entryId, operation.imageId, operation.offset ?? 0, operation.limit ?? 256 * 1024);\n if (image === undefined)\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n return Object.freeze({ ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]), image });\n }\n case \"attempt.trace\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n trace: decodeRequiredResult(operation.kind, InspectionTraceResultSchema, projectAttemptTrace(resolved.origin.source, traceAttachments(resolved), projectExecutionTraceOutline(source, resolved, {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n }), {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n })),\n });\n }\n case \"attempt.trace.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n let detail = operation.selector.kind === \"execution-event\" || operation.selector.kind === \"execution-evidence\"\n ? projectExecutionTraceDetail(resolved, operation.selector)\n : projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), operation.selector);\n if (detail === undefined && operation.selector.kind === \"execution-event\") {\n type ItemSelector = Extract<Parameters<typeof projectAttemptTraceDetail>[2], {\n readonly kind: \"item\";\n }>;\n detail = projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), { kind: \"item\", itemId: operation.selector.eventId as ItemSelector[\"itemId\"] });\n }\n if (detail === undefined) {\n throw selectionMissing(operation.kind, \"Trace detail identity was not found\");\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n detail: decodeRequiredResult(operation.kind, InspectionTraceDetailResultSchema, detail),\n });\n }\n case \"attempt.timing\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n timing: decodeRequiredResult(operation.kind, InspectionAttemptTimingResultSchema, projectAttemptTiming(traceAttachments(resolved))),\n });\n }\n case \"attempt.usage\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n usage: decodeRequiredResult(operation.kind, InspectionAttemptUsageResultSchema, projectAttemptUsage(traceAttachments(resolved))),\n });\n }\n case \"attempt.diff\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n diff: decodeRequiredResult(operation.kind, InspectionAttemptDiffResultSchema, projectAttemptDiff(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family))),\n });\n }\n case \"attempt.sources\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n sources: decodeRequiredResult(operation.kind, InspectionSourcesResultSchema, projectAttemptSources(resolved.origin.source, runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), readInspectionAssertions(resolved))),\n });\n }\n case \"attempt.artifact\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const projected = projectAttemptArtifact(resolved, {\n artifactId: operation.artifactId,\n ...(operation.offset === undefined ? {} : { offset: operation.offset }),\n ...(operation.limit === undefined ? {} : { limit: operation.limit }),\n });\n if (Result.isFailure(projected))\n throw new InspectionOperationError({\n code: projected.failure.code, operation: operation.kind, reason: projected.failure.reason,\n });\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n artifact: boundedJson(projected.success),\n });\n }\n case \"attempt.artifacts\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const attachment = attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family);\n const projected = attachment === undefined ? undefined : projectArtifactsListing(attachment);\n if (projected !== undefined && Result.isFailure(projected))\n throw new InspectionOperationError({\n code: \"inspection-record-integrity-failure\", operation: operation.kind,\n reason: projected.failure.reason, identity: { runId: resolved.attempt.originRunId },\n });\n const value = projected?.success;\n const offset = operation.offset ?? 0;\n const limit = operation.limit ?? 128;\n const total = value?.artifacts.length ?? 0;\n if (!Number.isSafeInteger(offset) || offset < 0 || offset > total ||\n !Number.isSafeInteger(limit) || limit < 1 || limit > 128)\n throw new InspectionOperationError({\n code: \"inspection-request-invalid\", operation: operation.kind,\n reason: \"Artifact listing requires an offset within the collection and a limit from 1 to 128.\",\n });\n const metadata = baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]);\n if (attachment === undefined || value === undefined)\n return Object.freeze({\n ...metadata, artifacts: Object.freeze({ state: \"not-recorded\" as const }),\n });\n let items = value.artifacts.slice(offset, offset + limit);\n const page = () => Object.freeze({\n state: \"available\" as const,\n value: Object.freeze({ collection: value.collection, artifacts: items }),\n collection: Object.freeze({\n state: offset + items.length < total ? \"bounded-page\" as const : \"complete-page\" as const,\n items,\n hasMore: offset + items.length < total,\n nextOffset: offset + items.length < total ? offset + items.length : null,\n total,\n }),\n contents: attachment.physical.contents\n .slice(0, ATTACHMENT_CONTENT_METADATA_LIMIT)\n .map(({ logicalHandle, byteLength, digest }) => Object.freeze({ logicalHandle, byteLength, digest })),\n contentsTruncated: attachment.physical.contents.length > ATTACHMENT_CONTENT_METADATA_LIMIT,\n });\n let artifacts = page();\n // Both public arrays share the page; long labels also consume the fixed JSON budget twice.\n while (items.length > 0 && (utf8ByteLength(JSON.stringify(items)) > 128 * 1024 ||\n utf8ByteLength(JSON.stringify(artifacts)) > INSPECTION_RESULT_BYTE_LIMIT)) {\n items = items.slice(0, -1);\n artifacts = page();\n }\n if (items.length === 0 && offset < total)\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\", operation: operation.kind,\n reason: \"Artifact metadata cannot fit in the Inspection result byte limit.\",\n });\n return Object.freeze({ ...metadata, artifacts: boundedJson(artifacts) });\n }\n case \"runs.compare\": {\n const selected = loadRuns(source, [...operation.leftRunIds, ...operation.rightRunIds]);\n return comparisonDocument(source, loadReferencedOrigins(source, selected), operation);\n }\n }\n}\nfunction runsListExplanation(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runsListDocument(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n runs: closeJson(page.items),\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runSummaryPage(source: InspectionFactSource, continuation: string | undefined) {\n const binding = continuation === undefined ? undefined : decodeContinuation(continuation);\n let page: SealedRunSummaryPage;\n try {\n page = source.readSealedRunSummaryPage(binding?.afterRunId ?? \"\", RUN_LIST_PAGE_SIZE, binding?.cutoffIdentity);\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n return Object.freeze({\n cutoff: page.cutoff,\n items: page.summaries,\n truncated: page.nextAfterRunId !== null,\n continuation: page.nextAfterRunId === null\n ? undefined\n : encodeContinuation(page.nextAfterRunId, page.cutoff.identity),\n });\n}\nfunction runsListBase(source: InspectionFactSource, cutoff: SealedRunCutoff, selected: readonly SealedRunSummary[], truncated: boolean) {\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation: \"runs.list\" as const,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([]),\n selectedRunIds: Object.freeze(selected.map(({ runId }) => runId)),\n missingRunIds: Object.freeze([]),\n returnedRunCount: selected.length,\n totalRunCount: cutoff.runCount,\n truncated,\n }),\n issues: Object.freeze([]),\n evidence: Object.freeze({ refs: Object.freeze([]) }),\n });\n}\nfunction encodeContinuation(afterRunId: string, cutoffIdentity: string): string {\n return encodeBase64UrlUtf8(JSON.stringify([\n \"runs.list\",\n cutoffIdentity,\n afterRunId,\n ]));\n}\nfunction decodeContinuation(token: string): {\n readonly cutoffIdentity: string;\n readonly afterRunId: string;\n} {\n try {\n const decoded = JSON.parse(decodeBase64UrlUtf8(token)) as unknown;\n if (!Array.isArray(decoded) || decoded.length !== 3 || decoded[0] !== \"runs.list\" ||\n typeof decoded[1] !== \"string\" || typeof decoded[2] !== \"string\") {\n throw new Error(\"continuation binding changed\");\n }\n return Object.freeze({ cutoffIdentity: decoded[1], afterRunId: decoded[2] });\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n}\nfunction loadForOperation(source: InspectionFactSource, operation: InspectionOperation): {\n readonly selected: readonly LoadedInspectionRun[];\n readonly requestedRunIds: readonly string[];\n readonly missingRunIds: readonly string[];\n} {\n if (operation.kind === \"overview.get\") {\n const requested = operation.runIds ?? [];\n if (requested.length === 0)\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n const selection = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selection.selected),\n requestedRunIds: requested,\n missingRunIds: selection.missing,\n };\n }\n if (operation.kind === \"experiment.get\") {\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n }\n if (operation.kind === \"runs.list\")\n return { selected: [], requestedRunIds: [], missingRunIds: [] };\n if (operation.kind === \"runs.compare\") {\n const requested = Object.freeze([...operation.leftRunIds, ...operation.rightRunIds]);\n const selected = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selected.selected),\n requestedRunIds: requested,\n missingRunIds: selected.missing,\n };\n }\n if (\"runId\" in operation) {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n requireOne(operation.kind, selected.selected, operation.runId);\n return {\n selected: operation.kind === \"run.summary\" || operation.kind === \"run.overview\"\n ? loadSummaryFacts(source, selected.selected[0]!)\n : selected.selected,\n requestedRunIds: [operation.runId],\n missingRunIds: selected.missing,\n };\n }\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return {\n selected: attemptRuns(resolved),\n requestedRunIds: Object.freeze([]),\n missingRunIds: Object.freeze([]),\n };\n}\nfunction loadRuns(source: InspectionFactSource, runIds: readonly string[]): readonly LoadedInspectionRun[] {\n const uniqueRunIds = [...new Set(runIds)];\n if (uniqueRunIds.length > RUN_SELECTION_LIMIT) {\n throw new Error(`Inspection selection exceeds the fixed ${RUN_SELECTION_LIMIT}-Run limit`);\n }\n return loadSelectedInspectionRuns(source, uniqueRunIds);\n}\nfunction requireRunResource(source: InspectionFactSource, operation: InspectionOperationId, runId: string): LoadedInspectionRunResource {\n const run = loadInspectionRunResource(source, runId);\n if (run === undefined)\n throw selectionMissing(operation, `Run ${runId} was not found`);\n return run;\n}\nfunction inspectionRunValue(run: LoadedInspectionRunResource): InspectionRunValue {\n const { resource, published } = run;\n return decodeRequiredResult(\"run.get\", InspectionRunValueSchema, Object.freeze({\n runId: resource.runId,\n experimentId: resource.experimentId,\n state: resource.state,\n ...(resource.published > 0 && published !== undefined\n ? { context: published.run.context }\n : {}),\n startedAt: Date.parse(resource.startedAt),\n ...(resource.completedAt === undefined\n ? {}\n : { completedAt: Date.parse(resource.completedAt) }),\n expectedSlots: published?.run.expectedSlots ?? resource.slots.map((slot) => Object.freeze({\n slotId: slot.slotId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n })),\n }));\n}\nfunction supportingRunFacts(source: InspectionFactSource, run: LoadedInspectionRunResource): readonly LoadedInspectionRun[] {\n return run.published === undefined ? Object.freeze([]) : loadSummaryFacts(source, run.published);\n}\nfunction runResourceMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]): InspectionResultMetadata<Kind> {\n const metadata = resultMetadata(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...metadata,\n selection: Object.freeze({\n ...metadata.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction runResourceBaseDocument(source: InspectionFactSource, operation: InspectionOperationId, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]) {\n const document = baseDocument(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...document,\n selection: Object.freeze({\n ...document.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction loadReferencedOrigins(source: InspectionFactSource, targets: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n const targetIds = new Set(targets.map(({ run }) => run.runId));\n const originIds = [...new Set(targets.flatMap(({ members }) => members.flatMap(({ attempt }) => attempt === null || targetIds.has(attempt.originRunId) ? [] : [attempt.originRunId])))];\n return uniqueRuns([...targets, ...loadRuns(source, originIds)]);\n}\nfunction loadSummaryFacts(source: InspectionFactSource, target: LoadedInspectionRun): readonly LoadedInspectionRun[] {\n return loadReferencedOrigins(source, [target]);\n}\nfunction parseJson(bytes: Uint8Array): unknown {\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes)) as unknown;\n}\nfunction selectRuns(all: readonly LoadedInspectionRun[], runIds: readonly string[]) {\n const byId = new Map<string, LoadedInspectionRun>(all.map((run) => [run.run.runId, run]));\n const requested = [...new Set(runIds)];\n return Object.freeze({\n selected: Object.freeze(requested.flatMap((runId) => {\n const run = byId.get(runId);\n return run === undefined ? [] : [run];\n })),\n missing: Object.freeze(requested.filter((runId) => !byId.has(runId))),\n });\n}\nfunction requireOne(operation: InspectionOperationId, selected: readonly LoadedInspectionRun[], runId: string): LoadedInspectionRun {\n const run = selected[0];\n if (run === undefined) {\n throw selectionMissing(operation, `Run ${runId} was not found`);\n }\n return run;\n}\nfunction requireAttemptFromSource(source: InspectionFactSource, operation: InspectionOperationId, locator: string): ResolvedInspectionAttempt {\n const resolved = resolveInspectionAttempt(source, locator);\n if (resolved === undefined) {\n throw selectionMissing(operation, `Attempt ${locator} was not found or is ambiguous`);\n }\n return resolved;\n}\nfunction attemptRuns(resolved: ResolvedInspectionAttempt): readonly LoadedInspectionRun[] {\n return uniqueRuns([resolved.origin, ...resolved.targets.map(({ run }) => run)]);\n}\nfunction traceAttachments(resolved: ResolvedInspectionAttempt): AttemptTraceAttachments {\n return Object.freeze({\n adapterUsage: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family),\n agentTurns: attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family),\n turnContexts: attemptAttachment(resolved, NiceEvalRecordAttachments.turnContexts.family),\n sandboxCommands: attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family),\n runnerActivities: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family),\n runnerDiagnostics: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family),\n });\n}\nfunction attachmentValue(resolved: ResolvedInspectionAttempt, family: string): InspectionJson {\n const attachment = attemptAttachment(resolved, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(resolved.origin.source, attachment),\n });\n}\nfunction runAttachmentValue(run: LoadedInspectionRun, family: string): InspectionJson {\n const attachment = runAttachment(run, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(run.source, attachment),\n });\n}\nfunction attachmentCollectionPage(source: InspectionFactSource, attachment: DecodedInspectionAttachment): InspectionJson {\n const page = source.readCollectionPage(attachment.physical.attachmentId, -1, ATTACHMENT_COLLECTION_PAGE_SIZE);\n return closeJson(Object.freeze({\n state: page.nextOrdinal === null ? \"complete-page\" : \"bounded-page\",\n items: Object.freeze(page.items.map((item) => closeJson(parseJson(item.canonicalBytes)))),\n hasMore: page.nextOrdinal !== null,\n }));\n}\n/**\n * Query keeps one leading and one decisive matcher representative. The full\n * durable artifact remains available in the Record, while attempt.get stays a\n * bounded AI-facing overview instead of duplicating attempt.trace-sized data.\n */\nfunction compactAssertionInspection(value: InspectionJson): InspectionJson {\n if (Array.isArray(value))\n return Object.freeze(value.map(compactAssertionInspection));\n if (typeof value !== \"object\" || value === null)\n return value;\n const output: Record<string, InspectionJson> = {};\n for (const [key, entry] of Object.entries(value)) {\n if ((key === \"retainedRows\" || key === \"representatives\") && Array.isArray(entry) && entry.length > 2) {\n output[key] = Object.freeze([\n compactAssertionInspection(entry[0]!),\n compactAssertionInspection(entry[entry.length - 1]!),\n ]);\n }\n else {\n output[key] = compactAssertionInspection(entry);\n }\n }\n return Object.freeze(output);\n}\nfunction attemptDetail(resolved: ResolvedInspectionAttempt): InspectionAttemptResult {\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n core: resolved.attempt,\n locator: resolved.locator,\n originRun: resolved.origin.run,\n targets: resolved.targets.map(({ run, member }) => Object.freeze({ runId: run.run.runId, member })),\n evidence: assertions.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n entryCount: assertions.value.entries.length,\n sourceSiteCount: assertions.value.sourceSites.length,\n })\n : Object.freeze({\n state: assertions.state,\n entryCount: 0 as const,\n }),\n assertions: assertionIndex(assertions),\n sections: attemptSections(resolved),\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n evidenceCoverage: attemptEvidenceCoverage(resolved),\n limitations: attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []),\n });\n}\nfunction assertionIndex(assertions: ReturnType<typeof readInspectionAssertions>): InspectionAttemptResult[\"assertions\"] {\n if (assertions.state !== \"available\") {\n return Object.freeze({\n state: assertions.state === \"not-recorded\" ? \"not-recorded\" : \"invalid\",\n entries: Object.freeze([]),\n });\n }\n return Object.freeze({\n state: \"available\",\n entries: Object.freeze(assertions.value.entries.map((entry) => Object.freeze({\n entryId: entry.entryId,\n display: Object.freeze({\n ...(entry.display.label === undefined ? {} : { label: entry.display.label }),\n ...(entry.display.key === undefined ? {} : { key: entry.display.key }),\n groupPath: Object.freeze([...entry.display.groupPath]),\n }),\n }))),\n });\n}\ntype AttemptSectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nfunction attemptSections(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"sections\"] {\n const assertions = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.assertions.family), NiceEvalCurrentRecordAttachments.assertions.revision);\n const conversation = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family), NiceEvalCurrentRecordAttachments.agentTurns.revision);\n const executionTraces = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.executionTraces.family), NiceEvalCurrentRecordAttachments.executionTraces.revision);\n const commands = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family), NiceEvalCurrentRecordAttachments.sandboxCommands.revision);\n const timing = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family), NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision);\n const diagnostics = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family), NiceEvalCurrentRecordAttachments.runnerDiagnostics.attempt.revision);\n const sources = attachmentSectionState(runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), NiceEvalCurrentRecordAttachments.sources.revision);\n const diff = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family), NiceEvalCurrentRecordAttachments.fileChanges.revision);\n const artifacts = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family), NiceEvalCurrentRecordAttachments.artifacts.attempt.revision);\n return Object.freeze({\n assertions: Object.freeze({ state: assertions }),\n trace: Object.freeze({ state: combineSectionStates([executionTraces, conversation, commands, timing, diagnostics]) }),\n sources: Object.freeze({ state: sources }),\n diff: Object.freeze({ state: diff }),\n artifacts: Object.freeze({ state: artifacts }),\n timing: Object.freeze({ state: timing }),\n usage: Object.freeze({ state: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family) === undefined\n ? conversation\n : attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family), NiceEvalCurrentRecordAttachments.adapterUsage.revision) }),\n conversation: Object.freeze({ state: conversation }),\n commands: Object.freeze({ state: commands }),\n diagnostics: Object.freeze({ state: diagnostics }),\n });\n}\nfunction attachmentSectionState(attachment: DecodedInspectionAttachment | undefined, currentRevision: number): AttemptSectionState {\n if (attachment === undefined)\n return \"not-recorded\";\n if (attachment.physical.familyRevision !== currentRevision)\n return \"unavailable\";\n return containsState(attachment.value, \"partial\") ? \"partial\" : \"available\";\n}\nfunction combineSectionStates(states: readonly AttemptSectionState[]): AttemptSectionState {\n if (states.some((state) => state === \"partial\"))\n return \"partial\";\n if (states.some((state) => state === \"available\"))\n return \"available\";\n if (states.some((state) => state === \"unavailable\"))\n return \"unavailable\";\n return \"not-recorded\";\n}\nfunction containsState(value: InspectionJson, expected: string): boolean {\n if (Array.isArray(value))\n return value.some((entry) => containsState(entry, expected));\n if (typeof value !== \"object\" || value === null)\n return false;\n const record = value as Readonly<Record<string, InspectionJson>>;\n return record.state === expected || Object.values(record).some((entry) => containsState(entry, expected));\n}\nfunction runSummary(all: readonly LoadedInspectionRun[], selected: LoadedInspectionRun): InspectionRunSummaryResult {\n const slots = selected.run.expectedSlots.map((slot) => {\n const member = selected.members.find((candidate) => candidate.slotId === slot.slotId);\n if (member === undefined || member.attempt === null) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member?.action ?? \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, member);\n if (resolved === undefined) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member.action, locator: resolved.locator,\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n });\n });\n return Object.freeze({\n runs: Object.freeze([selected.run]),\n denominator: Object.freeze({ expected: slots.length, observed: slots.filter(({ locator }) => locator !== null).length }),\n members: Object.freeze(slots),\n });\n}\nfunction runOverview(all: readonly LoadedInspectionRun[], selectedResource: LoadedInspectionRunResource): InspectionRunOverviewResult {\n type Member = InspectionRunOverviewResult[\"members\"][number];\n type Usage = ReturnType<typeof projectAttemptUsage>;\n const selected = selectedResource.published;\n const value = inspectionRunValue(selectedResource);\n const unavailableUsage = (): Member[\"usage\"] => Object.freeze({\n state: \"unavailable\",\n summary: null,\n totals: unavailableInspectionUsageTotals(),\n limitations: Object.freeze([]),\n limitationsTruncated: false,\n omittedLimitationCount: 0,\n });\n const unavailableCoverage = (): Member[\"coverage\"] => Object.freeze({\n state: \"unavailable\",\n facts: Object.freeze([]),\n limitations: Object.freeze([]),\n });\n const projected = value.expectedSlots.map((slot): {\n readonly member: Member;\n readonly usage?: Usage;\n } => {\n const targetMember = selected?.members.find((candidate) => candidate.slotId === slot.slotId);\n if (targetMember === undefined) {\n if (value.state !== \"active\") {\n throw new Error(`Terminal Run ${value.runId} has no binding or absence for Slot ${slot.slotId}`);\n }\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: \"pending\" as const,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: \"pending\",\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (targetMember.attempt === null) {\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: targetMember.action,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (selected === undefined) {\n throw new Error(`Run ${value.runId} has a Member without a published Core`);\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, targetMember);\n if (resolved === undefined) {\n const limitation = Object.freeze({\n kind: \"attempt-unresolved\" as const,\n originRunId: targetMember.attempt.originRunId,\n attemptId: targetMember.attempt.attemptId,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n const assertions = readInspectionAssertions(resolved);\n const coverageFacts = attemptEvidenceCoverage(resolved);\n const coverageLimitations = attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []);\n const coverageState: Member[\"coverage\"][\"state\"] = assertions.state === \"available\"\n ? coverageLimitations.length === 0 && coverageFacts.every(({ status }) => status === \"complete\")\n ? \"complete\"\n : \"partial\"\n : coverageFacts.length > 0\n ? \"partial\"\n : assertions.state === \"not-recorded\"\n ? \"not-recorded\"\n : \"invalid\";\n const usage = projectAttemptUsage(traceAttachments(resolved));\n const memberLimitations: Member[\"limitations\"] = Object.freeze([\n ...coverageLimitations.map((detail) => Object.freeze({ kind: \"coverage\" as const, detail })),\n ...usage.limitations.map((detail) => Object.freeze({ kind: \"usage\" as const, detail })),\n ]);\n return Object.freeze({\n usage,\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: resolved.locator,\n relation: resolved.attempt.originRunId === value.runId ? \"origin\" : \"reference\",\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n coverage: Object.freeze({\n state: coverageState,\n facts: coverageFacts,\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: usage.state,\n summary: usage.state === \"complete\" || usage.state === \"partial\"\n ? Object.freeze({\n turnCount: usage.turns.length + usage.omittedTurnCount,\n observationCount: usage.observations.length + usage.omittedObservationCount,\n })\n : null,\n totals: usage.totals,\n limitations: usage.limitations,\n limitationsTruncated: usage.limitationsTruncated,\n omittedLimitationCount: usage.omittedLimitationCount,\n }),\n limitations: memberLimitations,\n }),\n });\n });\n const members = Object.freeze(projected.map(({ member }) => member));\n const locatedLimitations = Object.freeze(members.flatMap((member) => member.limitations.map((limitation) => Object.freeze({\n slotId: member.slot.slotId,\n locator: member.locator,\n limitation,\n }))));\n const usageResults = projected.flatMap(({ usage }) => usage === undefined ? [] : [usage]);\n const observed = members.filter(({ locator }) => locator !== null).length;\n const incompleteUsage = observed !== members.length ||\n usageResults.some(({ state }) => state !== \"complete\");\n const coverageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"usage\"));\n const usageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"coverage\"));\n return Object.freeze({\n identity: Object.freeze({\n runId: value.runId,\n experimentId: value.experimentId,\n adapter: value.context?.execution.adapter ?? null,\n }),\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n denominator: Object.freeze({ expected: members.length, observed }),\n members,\n coverage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ coverage }) => coverage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n completeMemberCount: members.filter(({ coverage }) => coverage.state === \"complete\").length,\n factCount: members.reduce((total, { coverage }) => total + coverage.facts.length, 0),\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ usage }) => usage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n recordedAttemptCount: usageResults.filter(({ state }) => state === \"complete\" || state === \"partial\").length,\n totals: combineInspectionUsageTotals(usageResults, incompleteUsage),\n limitations: usageLimitations,\n }),\n limitations: locatedLimitations,\n });\n}\nfunction aggregateRunOverviewState(states: readonly InspectionRunOverviewResult[\"coverage\"][\"state\"][]): InspectionRunOverviewResult[\"coverage\"][\"state\"] {\n if (states.length === 0 || states.every((state) => state === \"complete\"))\n return \"complete\";\n if (states.every((state) => state === \"unavailable\"))\n return \"unavailable\";\n if (states.every((state) => state === \"not-recorded\"))\n return \"not-recorded\";\n if (states.every((state) => state === \"invalid\"))\n return \"invalid\";\n return \"partial\";\n}\nfunction attemptVerdict(resolved: ResolvedInspectionAttempt, assertions = readInspectionAssertions(resolved)): VerdictState | null {\n if (assertions.state === \"available\") {\n return foldRecordedAttemptVerdict({\n outcome: resolved.attempt.outcome,\n assertions: assertions.value,\n });\n }\n if (assertions.state !== \"failed\" || assertions.attachment === undefined) {\n return null;\n }\n if (resolved.attempt.outcome === \"errored\" || resolved.attempt.outcome === \"interrupted\")\n return \"errored\";\n if (containsRequiredAssertionError(assertions.attachment.value))\n return \"errored\";\n return containsFailedDecision(assertions.attachment.value) ? \"failed\" : null;\n}\nfunction assertionScore(entries: readonly {\n readonly contribution: {\n readonly state: string;\n readonly points?: number;\n readonly earned?: number;\n };\n}[]): InspectionAttemptResult[\"score\"] {\n let possible = 0;\n let earned = 0;\n let scored = 0;\n let unavailable = 0;\n for (const { contribution } of entries) {\n if (contribution.state === \"earned\" && typeof contribution.points === \"number\" && typeof contribution.earned === \"number\") {\n possible += contribution.points;\n earned += contribution.earned;\n scored += 1;\n }\n else if (contribution.state === \"unavailable\" && typeof contribution.points === \"number\") {\n possible += contribution.points;\n unavailable += 1;\n }\n }\n return scored === 0 && unavailable === 0\n ? Object.freeze({ state: \"not-scored\" as const })\n : unavailable > 0\n ? Object.freeze({ state: \"unavailable\" as const, earned, possible, unavailable })\n : Object.freeze({ state: \"complete\" as const, earned, possible });\n}\nfunction attemptEvidenceCoverage(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"evidenceCoverage\"] {\n const entries = new Map<string, InspectionAttemptResult[\"evidenceCoverage\"][number]>();\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n const coverage = record.evidenceCoverage;\n if (typeof coverage === \"object\" && coverage !== null && !Array.isArray(coverage)) {\n for (const [channel, raw] of Object.entries(coverage)) {\n if (!isAttemptCoverageChannel(channel))\n continue;\n const detail = typeof raw === \"object\" && raw !== null && !Array.isArray(raw)\n ? raw as Readonly<Record<string, InspectionJson>>\n : undefined;\n const status = typeof raw === \"string\"\n ? raw\n : typeof detail?.status === \"string\"\n ? detail.status\n : typeof detail?.state === \"string\"\n ? detail.state\n : undefined;\n if (status === undefined)\n continue;\n if (status !== \"complete\" && status !== \"partial\" && status !== \"unavailable\")\n continue;\n const reason = typeof detail?.reason === \"string\" ? detail.reason : undefined;\n const item = Object.freeze({\n channel,\n status,\n ...(reason === undefined ? {} : { reason }),\n });\n entries.set(`${channel}\\u0000${status}\\u0000${reason ?? \"\"}`, item);\n }\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind !== \"attempt\" || attachment.physical.ownerAttemptId !== resolved.attempt.attemptId)\n continue;\n visit(attachment.value);\n }\n return Object.freeze([...entries.values()]);\n}\nfunction attemptLimitations(resolved: ResolvedInspectionAttempt, entries: readonly {\n readonly materials: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n };\n}[]): InspectionAttemptResult[\"limitations\"] {\n const limitations: InspectionAttemptResult[\"limitations\"][number][] = [];\n for (const entry of entries) {\n const coverage = entry.materials.coverage;\n switch (coverage.state) {\n case \"complete\": break;\n case \"partial\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"unavailable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"not-applicable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n }\n }\n const coverage = attemptEvidenceCoverage(resolved);\n if (Array.isArray(coverage)) {\n for (const entry of coverage) {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry) || entry.status === \"complete\")\n continue;\n limitations.push(entry);\n }\n }\n return Object.freeze(limitations);\n}\nfunction isAttemptCoverageChannel(value: string): value is InspectionAttemptResult[\"evidenceCoverage\"][number][\"channel\"] {\n return value === \"events\" || value === \"actions\" || value === \"messages\" ||\n value === \"usage\" || value === \"status\" || value === \"data\";\n}\nfunction containsFailedDecision(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const decision = (entry as Readonly<Record<string, InspectionJson>>).decision;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision))\n return false;\n const record = decision as Readonly<Record<string, InspectionJson>>;\n return record.result === \"mismatched\" && record.gate === \"failed\";\n }) ?? false;\n}\nfunction containsRequiredAssertionError(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const record = entry as Readonly<Record<string, InspectionJson>>;\n const decision = record.decision;\n const policy = record.policy;\n const requirement = typeof policy === \"object\" && policy !== null && !Array.isArray(policy)\n ? (policy as Readonly<Record<string, InspectionJson>>).requirement\n : undefined;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision) ||\n typeof requirement !== \"object\" || requirement === null || Array.isArray(requirement))\n return false;\n const decisionRecord = decision as Readonly<Record<string, InspectionJson>>;\n const requirementRecord = requirement as Readonly<Record<string, InspectionJson>>;\n return (decisionRecord.result === \"unavailable\" || decisionRecord.result === \"errored\") &&\n decisionRecord.gate === \"unavailable\" &&\n requirementRecord.state === \"available\" && requirementRecord.value === \"required\";\n }) ?? false;\n}\nfunction assertionWireEntries(value: InspectionJson): readonly InspectionJson[] | undefined {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return undefined;\n const entries = (value as Readonly<Record<string, InspectionJson>>)[\"entries-data\"];\n return Array.isArray(entries) ? entries : undefined;\n}\nfunction attemptUsage(resolved: ResolvedInspectionAttempt) {\n let inputTokens = 0;\n let outputTokens = 0;\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n if (record.kind === \"token-bucket\" && typeof record.tokens === \"number\") {\n if (record.bucket === \"input\")\n inputTokens += record.tokens;\n if (record.bucket === \"output\")\n outputTokens += record.tokens;\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind === \"attempt\" && attachment.physical.ownerAttemptId === resolved.attempt.attemptId)\n visit(attachment.value);\n }\n return Object.freeze({ inputTokens, outputTokens });\n}\nfunction comparisonDocument(source: InspectionFactSource, all: readonly LoadedInspectionRun[], operation: Extract<InspectionOperation, {\n readonly kind: \"runs.compare\";\n}>): unknown {\n const left = selectRuns(all, operation.leftRunIds);\n const right = selectRuns(all, operation.rightRunIds);\n const leftMembers = comparisonMembers(all, left.selected);\n const rightMembers = comparisonMembers(all, right.selected);\n const leftKeys = leftMembers.map(({ key }) => key).sort();\n const rightKeys = rightMembers.map(({ key }) => key).sort();\n const exact = arraysEqual(leftKeys, rightKeys);\n const rightByKey = new Map(rightMembers.map((member) => [member.key, member] as const));\n const pairs = leftMembers.flatMap((member) => {\n const paired = rightByKey.get(member.key);\n return paired === undefined ? [] : [Object.freeze({ key: member.key, left: member, right: paired })];\n });\n const issues: InspectionJson[] = [\n ...left.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"left\", runId })),\n ...right.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"right\", runId })),\n ...(operation.mode === \"exact\" && !exact ? [closeJson({ code: \"comparison-member-set-mismatch\" })] : []),\n ];\n return Object.freeze({\n ...baseDocument(source, operation.kind, [...left.selected, ...right.selected], [...operation.leftRunIds, ...operation.rightRunIds], [...left.missing, ...right.missing], [\n ...leftMembers.map(({ locator }) => locator), ...rightMembers.map(({ locator }) => locator),\n ], issues),\n comparison: boundedJson(Object.freeze({\n mode: operation.mode,\n left: Object.freeze({ runs: left.selected.map(({ run }) => run), members: leftMembers }),\n right: Object.freeze({ runs: right.selected.map(({ run }) => run), members: rightMembers }),\n exactMemberSet: exact,\n pairs: operation.mode === \"side-by-side\" ? Object.freeze([]) : Object.freeze(pairs),\n })),\n });\n}\nfunction comparisonMembers(all: readonly LoadedInspectionRun[], runs: readonly LoadedInspectionRun[]) {\n return runs.flatMap((run) => run.members.flatMap((member) => {\n if (member.attempt === null)\n return [];\n const slot = run.run.expectedSlots.find(({ slotId }) => slotId === member.slotId);\n const resolved = resolveInspectionMemberAttempt(all, run, member);\n if (slot === undefined || resolved === undefined)\n return [];\n return [Object.freeze({\n key: `${run.run.experimentId}\\u0000${slot.evalId}\\u0000${slot.attemptOrdinal}`,\n runId: run.run.runId, slotId: slot.slotId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,\n locator: resolved.locator,\n })];\n }));\n}\nfunction baseDocument(source: InspectionFactSource, operation: InspectionOperationId, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[], issues: readonly InspectionJson[] = []) {\n const selected = uniqueRuns(selectedInput);\n const seals = selected.map(({ run, physical }) => Object.freeze({ runId: run.runId, logicalSealIdentity: physical.logicalSealIdentity }));\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(seals),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze(issues),\n evidence: Object.freeze({ refs: Object.freeze([...new Set(evidence)].sort()) }),\n });\n}\nfunction resultMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[]): InspectionResultMetadata<Kind> {\n const selected = uniqueRuns(selectedInput);\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\" as const,\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(selected.map(({ run, physical }) => Object.freeze({\n runId: run.runId,\n logicalSealIdentity: physical.logicalSealIdentity,\n }))),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze([] as const),\n evidence: Object.freeze({\n refs: Object.freeze([...new Set(evidence)].sort()),\n }),\n });\n}\nfunction decodeRequiredResult<S extends Schema.ConstraintDecoder<unknown>>(operation: InspectionOperationId, schema: S, input: unknown): S[\"Type\"] {\n const decoded = Schema.decodeUnknownResult(schema, {\n onExcessProperty: \"error\",\n })(input);\n if (Result.isFailure(decoded)) {\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\",\n operation,\n reason: String(decoded.failure),\n });\n }\n return decoded.success;\n}\nfunction locators(runs: readonly LoadedInspectionRun[]): readonly string[] {\n return Object.freeze(runs.flatMap(({ attempts }) => attempts.map(({ attemptId }) => encodeAttemptLocator(attemptId))));\n}\nfunction uniqueRuns(runs: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n return Object.freeze([...new Map(runs.map((run) => [run.run.runId, run] as const)).values()]);\n}\nfunction closeJson(value: unknown): InspectionJson {\n const closed = closeInspectionJson(value);\n if (isInspectionCodecError(closed))\n throw closed;\n return closed as InspectionJson;\n}\nfunction boundedJson(value: unknown): InspectionJson {\n const closed = closeJson(value);\n const byteLength = utf8ByteLength(JSON.stringify(closed));\n if (byteLength <= INSPECTION_RESULT_BYTE_LIMIT)\n return closed;\n return closeJson(Object.freeze({\n state: \"omitted\",\n reason: \"inspection-result-byte-limit\",\n byteLimit: INSPECTION_RESULT_BYTE_LIMIT,\n }));\n}\nfunction arraysEqual(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((entry, index) => entry === right[index]);\n}\nfunction sourceProvenance(source: InspectionFactSource, cutoff: SealedRunCutoff): InspectionSourceProvenance {\n return Object.freeze({\n kind: source.kind,\n sealedCutoffIdentity: cutoff.identity,\n });\n}\nfunction evaluateInspectionOperation(operation: InspectionOperationId, evaluate: () => unknown): InspectionOperationDocument {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const value = decoded.value;\n if (value.outcome === \"discovery\" || value.outcome === \"failure\" || value.operation !== operation) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: \"expected matching operation document\" });\n }\n return value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction evaluateInspectionSuccess<Kind extends InspectionOperationId>(operation: Kind, evaluate: () => unknown): InspectionSuccessDocumentFor<Kind> {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const narrowed = narrowInspectionSuccess(decoded.value, operation);\n if (!narrowed.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: narrowed.reason });\n }\n return narrowed.value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction executionTraceFailure(operation: InspectionOperationId, cause: InspectionExecutionTraceError): InspectionOperationError {\n return new InspectionOperationError({\n code: cause.code,\n operation,\n reason: cause.message,\n cause,\n });\n}\nfunction isInspectionResultError(value: unknown): value is {\n readonly code: \"inspection-result-invalid\";\n readonly reason: string;\n} {\n return typeof value === \"object\" && value !== null &&\n Reflect.get(value, \"code\") === \"inspection-result-invalid\" &&\n typeof Reflect.get(value, \"reason\") === \"string\";\n}\nfunction selectionMissing(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction operationFailure(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-operation-failed\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction integrityFailure(operation: InspectionOperationId, cause: RecordIntegrityFailure): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-record-integrity-failure\",\n operation,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n });\n}\n"]}