@plurnk/plurnk-service 1.16.4 → 1.17.0

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 (636) hide show
  1. package/.env.defaults +122 -246
  2. package/INSTALL.md +84 -138
  3. package/README.md +9 -5
  4. package/SPEC.md +1710 -1015
  5. package/dist/Paths.d.ts +2 -0
  6. package/dist/Paths.d.ts.map +1 -1
  7. package/dist/Paths.js +2 -0
  8. package/dist/Paths.js.map +1 -1
  9. package/dist/build-info.d.ts.map +1 -1
  10. package/dist/build-info.js +7 -1
  11. package/dist/build-info.js.map +1 -1
  12. package/dist/build-info.json +1 -1
  13. package/dist/content/body-preview.d.ts +8 -0
  14. package/dist/content/body-preview.d.ts.map +1 -0
  15. package/dist/content/body-preview.js +39 -0
  16. package/dist/content/body-preview.js.map +1 -0
  17. package/dist/content/byte-view.d.ts +1 -4
  18. package/dist/content/byte-view.d.ts.map +1 -1
  19. package/dist/content/byte-view.js.map +1 -1
  20. package/dist/content/edit-collision.d.ts.map +1 -1
  21. package/dist/content/edit-collision.js +3 -4
  22. package/dist/content/edit-collision.js.map +1 -1
  23. package/dist/content/line-anchors.d.ts +2 -2
  24. package/dist/content/line-anchors.d.ts.map +1 -1
  25. package/dist/content/line-anchors.js +4 -3
  26. package/dist/content/line-anchors.js.map +1 -1
  27. package/dist/content/line-selection.d.ts +9 -0
  28. package/dist/content/line-selection.d.ts.map +1 -0
  29. package/dist/content/line-selection.js +29 -0
  30. package/dist/content/line-selection.js.map +1 -0
  31. package/dist/content/matcher.d.ts +0 -1
  32. package/dist/content/matcher.d.ts.map +1 -1
  33. package/dist/content/matcher.js +2 -3
  34. package/dist/content/matcher.js.map +1 -1
  35. package/dist/content/pattern-edits.d.ts +39 -0
  36. package/dist/content/pattern-edits.d.ts.map +1 -0
  37. package/dist/content/pattern-edits.js +121 -0
  38. package/dist/content/pattern-edits.js.map +1 -0
  39. package/dist/content/read-projector.d.ts +18 -9
  40. package/dist/content/read-projector.d.ts.map +1 -1
  41. package/dist/content/read-projector.js +132 -35
  42. package/dist/content/read-projector.js.map +1 -1
  43. package/dist/content/read-resolve.d.ts +3 -1
  44. package/dist/content/read-resolve.d.ts.map +1 -1
  45. package/dist/content/read-resolve.js +39 -7
  46. package/dist/content/read-resolve.js.map +1 -1
  47. package/dist/core/AdmittedTurnExecutor.d.ts +3 -5
  48. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  49. package/dist/core/AdmittedTurnExecutor.js +91 -83
  50. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  51. package/dist/core/BareBatchRunner.d.ts +6 -1
  52. package/dist/core/BareBatchRunner.d.ts.map +1 -1
  53. package/dist/core/BareBatchRunner.js +20 -5
  54. package/dist/core/BareBatchRunner.js.map +1 -1
  55. package/dist/core/BudgetReadout.d.ts +2 -3
  56. package/dist/core/BudgetReadout.d.ts.map +1 -1
  57. package/dist/core/BudgetReadout.js +23 -32
  58. package/dist/core/BudgetReadout.js.map +1 -1
  59. package/dist/core/CapabilityPolicies.d.ts +3 -8
  60. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  61. package/dist/core/CapabilityPolicies.js +2 -28
  62. package/dist/core/CapabilityPolicies.js.map +1 -1
  63. package/dist/core/CapabilityResolver.d.ts +10 -10
  64. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  65. package/dist/core/CapabilityResolver.js +87 -65
  66. package/dist/core/CapabilityResolver.js.map +1 -1
  67. package/dist/core/ChannelWrite.d.ts +14 -11
  68. package/dist/core/ChannelWrite.d.ts.map +1 -1
  69. package/dist/core/ChannelWrite.js +11 -12
  70. package/dist/core/ChannelWrite.js.map +1 -1
  71. package/dist/core/ChannelWrite.sql +99 -9
  72. package/dist/core/ClientInteractions.d.ts.map +1 -1
  73. package/dist/core/ClientInteractions.js +7 -0
  74. package/dist/core/ClientInteractions.js.map +1 -1
  75. package/dist/core/CoreSchemeServices.d.ts +13 -10
  76. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  77. package/dist/core/CoreSchemeServices.js +13 -5
  78. package/dist/core/CoreSchemeServices.js.map +1 -1
  79. package/dist/core/DataStatementRunner.d.ts +2 -2
  80. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  81. package/dist/core/DataStatementRunner.js +36 -39
  82. package/dist/core/DataStatementRunner.js.map +1 -1
  83. package/dist/core/Dispatcher.d.ts +19 -26
  84. package/dist/core/Dispatcher.d.ts.map +1 -1
  85. package/dist/core/Dispatcher.js +369 -219
  86. package/dist/core/Dispatcher.js.map +1 -1
  87. package/dist/core/Dispatcher.sql +66 -0
  88. package/dist/core/DurableStatement.d.ts.map +1 -1
  89. package/dist/core/DurableStatement.js +2 -1
  90. package/dist/core/DurableStatement.js.map +1 -1
  91. package/dist/core/EditMutations.d.ts +14 -18
  92. package/dist/core/EditMutations.d.ts.map +1 -1
  93. package/dist/core/EditMutations.js +211 -280
  94. package/dist/core/EditMutations.js.map +1 -1
  95. package/dist/core/EditMutations.sql +15 -0
  96. package/dist/core/EditSequence.d.ts +13 -0
  97. package/dist/core/EditSequence.d.ts.map +1 -0
  98. package/dist/core/EditSequence.js +73 -0
  99. package/dist/core/EditSequence.js.map +1 -0
  100. package/dist/core/Engine.d.ts +17 -23
  101. package/dist/core/Engine.d.ts.map +1 -1
  102. package/dist/core/Engine.js +73 -163
  103. package/dist/core/Engine.js.map +1 -1
  104. package/dist/core/Engine.sql +0 -724
  105. package/dist/core/EntryAddressBinding.d.ts +7 -17
  106. package/dist/core/EntryAddressBinding.d.ts.map +1 -1
  107. package/dist/core/EntryAddressBinding.js +12 -72
  108. package/dist/core/EntryAddressBinding.js.map +1 -1
  109. package/dist/core/ExecutionOutputs.d.ts +9 -0
  110. package/dist/core/ExecutionOutputs.d.ts.map +1 -0
  111. package/dist/core/ExecutionOutputs.js +36 -0
  112. package/dist/core/ExecutionOutputs.js.map +1 -0
  113. package/dist/core/ExecutionOutputs.sql +13 -0
  114. package/dist/core/ExecutorRegistry.d.ts +7 -5
  115. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  116. package/dist/core/ExecutorRegistry.js +36 -32
  117. package/dist/core/ExecutorRegistry.js.map +1 -1
  118. package/dist/core/HostPaths.d.ts +1 -0
  119. package/dist/core/HostPaths.d.ts.map +1 -1
  120. package/dist/core/HostPaths.js +4 -0
  121. package/dist/core/HostPaths.js.map +1 -1
  122. package/dist/core/InferenceCall.d.ts.map +1 -1
  123. package/dist/core/InferenceCall.js +1 -2
  124. package/dist/core/InferenceCall.js.map +1 -1
  125. package/dist/core/InferenceCall.sql +29 -0
  126. package/dist/core/KillHandler.d.ts +1 -0
  127. package/dist/core/KillHandler.d.ts.map +1 -1
  128. package/dist/core/KillHandler.js +24 -21
  129. package/dist/core/KillHandler.js.map +1 -1
  130. package/dist/core/LogBody.d.ts +8 -1
  131. package/dist/core/LogBody.d.ts.map +1 -1
  132. package/dist/core/LogBody.js +42 -11
  133. package/dist/core/LogBody.js.map +1 -1
  134. package/dist/core/LogEntryProjection.d.ts +1 -0
  135. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  136. package/dist/core/LogEntryProjection.js +18 -10
  137. package/dist/core/LogEntryProjection.js.map +1 -1
  138. package/dist/core/LogVisibility.d.ts +1 -0
  139. package/dist/core/LogVisibility.d.ts.map +1 -1
  140. package/dist/core/LogVisibility.js +3 -0
  141. package/dist/core/LogVisibility.js.map +1 -1
  142. package/dist/core/LogWriter.d.ts +2 -3
  143. package/dist/core/LogWriter.d.ts.map +1 -1
  144. package/dist/core/LogWriter.js +25 -32
  145. package/dist/core/LogWriter.js.map +1 -1
  146. package/dist/core/LogWriter.sql +23 -0
  147. package/dist/core/LoopDriver.d.ts +11 -8
  148. package/dist/core/LoopDriver.d.ts.map +1 -1
  149. package/dist/core/LoopDriver.js +163 -189
  150. package/dist/core/LoopDriver.js.map +1 -1
  151. package/dist/core/LoopDriver.sql +11 -0
  152. package/dist/core/LoopLifecycle.d.ts +32 -2
  153. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  154. package/dist/core/LoopLifecycle.js +88 -4
  155. package/dist/core/LoopLifecycle.js.map +1 -1
  156. package/dist/core/LoopLifecycle.sql +145 -28
  157. package/dist/core/LoopPolicyReader.sql +6 -0
  158. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  159. package/dist/core/MembershipMaterialization.js +6 -28
  160. package/dist/core/MembershipMaterialization.js.map +1 -1
  161. package/dist/core/ModelCall.sql +70 -0
  162. package/dist/core/MutationEffects.d.ts +5 -3
  163. package/dist/core/MutationEffects.d.ts.map +1 -1
  164. package/dist/core/MutationEffects.js +10 -28
  165. package/dist/core/MutationEffects.js.map +1 -1
  166. package/dist/core/NativeContent.d.ts +6 -0
  167. package/dist/core/NativeContent.d.ts.map +1 -0
  168. package/dist/core/NativeContent.js +16 -0
  169. package/dist/core/NativeContent.js.map +1 -0
  170. package/dist/core/NativeContent.sql +6 -0
  171. package/dist/core/NoticeChannel.js +1 -1
  172. package/dist/core/NoticeChannel.js.map +1 -1
  173. package/dist/core/OperatorConfig.js +5 -5
  174. package/dist/core/OperatorConfig.js.map +1 -1
  175. package/dist/core/PacketBuilder.d.ts +8 -5
  176. package/dist/core/PacketBuilder.d.ts.map +1 -1
  177. package/dist/core/PacketBuilder.js +117 -81
  178. package/dist/core/PacketBuilder.js.map +1 -1
  179. package/dist/core/PacketBuilder.sql +146 -0
  180. package/dist/core/PatternSelection.d.ts +28 -0
  181. package/dist/core/PatternSelection.d.ts.map +1 -0
  182. package/dist/core/PatternSelection.js +42 -0
  183. package/dist/core/PatternSelection.js.map +1 -0
  184. package/dist/core/ProblemLog.d.ts.map +1 -1
  185. package/dist/core/ProblemLog.js +0 -1
  186. package/dist/core/ProblemLog.js.map +1 -1
  187. package/dist/core/PromptFrames.d.ts +12 -0
  188. package/dist/core/PromptFrames.d.ts.map +1 -0
  189. package/dist/core/PromptFrames.js +28 -0
  190. package/dist/core/PromptFrames.js.map +1 -0
  191. package/dist/core/ProposalLifecycle.d.ts +0 -1
  192. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  193. package/dist/core/ProposalLifecycle.js +20 -19
  194. package/dist/core/ProposalLifecycle.js.map +1 -1
  195. package/dist/core/ProposalLifecycle.sql +33 -0
  196. package/dist/core/ProviderInstantiate.d.ts +1 -1
  197. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  198. package/dist/core/ProviderInstantiate.js +7 -14
  199. package/dist/core/ProviderInstantiate.js.map +1 -1
  200. package/dist/core/ReasoningView.d.ts +9 -0
  201. package/dist/core/ReasoningView.d.ts.map +1 -0
  202. package/dist/core/ReasoningView.js +47 -0
  203. package/dist/core/ReasoningView.js.map +1 -0
  204. package/dist/core/ResourceBindings.d.ts +16 -0
  205. package/dist/core/ResourceBindings.d.ts.map +1 -0
  206. package/dist/core/ResourceBindings.js +45 -0
  207. package/dist/core/ResourceBindings.js.map +1 -0
  208. package/dist/core/ResourceMutations.d.ts +5 -8
  209. package/dist/core/ResourceMutations.d.ts.map +1 -1
  210. package/dist/core/ResourceMutations.js +6 -7
  211. package/dist/core/ResourceMutations.js.map +1 -1
  212. package/dist/core/ResourceSelector.d.ts +2 -2
  213. package/dist/core/ResourceSelector.d.ts.map +1 -1
  214. package/dist/core/ResourceSelector.js +122 -62
  215. package/dist/core/ResourceSelector.js.map +1 -1
  216. package/dist/core/ResourceTransfers.d.ts +4 -2
  217. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  218. package/dist/core/ResourceTransfers.js +95 -26
  219. package/dist/core/ResourceTransfers.js.map +1 -1
  220. package/dist/core/RuntimeWorker.d.ts +5 -0
  221. package/dist/core/RuntimeWorker.d.ts.map +1 -0
  222. package/dist/core/RuntimeWorker.js +10 -0
  223. package/dist/core/RuntimeWorker.js.map +1 -0
  224. package/dist/core/RuntimeWorker.sql +5 -0
  225. package/dist/core/SchemeRegistry.d.ts +12 -16
  226. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  227. package/dist/core/SchemeRegistry.js +58 -84
  228. package/dist/core/SchemeRegistry.js.map +1 -1
  229. package/dist/core/StoredPacket.d.ts +6 -1
  230. package/dist/core/StoredPacket.d.ts.map +1 -1
  231. package/dist/core/StoredPacket.js +30 -10
  232. package/dist/core/StoredPacket.js.map +1 -1
  233. package/dist/core/StrikeRail.d.ts +9 -6
  234. package/dist/core/StrikeRail.d.ts.map +1 -1
  235. package/dist/core/StrikeRail.js +60 -113
  236. package/dist/core/StrikeRail.js.map +1 -1
  237. package/dist/core/StrikeRail.sql +12 -0
  238. package/dist/core/TerminalResult.d.ts +1 -1
  239. package/dist/core/TerminalResult.d.ts.map +1 -1
  240. package/dist/core/TerminalResult.js +2 -2
  241. package/dist/core/TerminalResult.js.map +1 -1
  242. package/dist/core/TokenCalibration.d.ts +1 -6
  243. package/dist/core/TokenCalibration.d.ts.map +1 -1
  244. package/dist/core/TokenCalibration.js +13 -9
  245. package/dist/core/TokenCalibration.js.map +1 -1
  246. package/dist/core/TokenCalibration.sql +15 -0
  247. package/dist/core/ToolInputSchema.d.ts +6 -0
  248. package/dist/core/ToolInputSchema.d.ts.map +1 -0
  249. package/dist/core/ToolInputSchema.js +43 -0
  250. package/dist/core/ToolInputSchema.js.map +1 -0
  251. package/dist/core/ToolResources.d.ts.map +1 -1
  252. package/dist/core/ToolResources.js +76 -52
  253. package/dist/core/ToolResources.js.map +1 -1
  254. package/dist/core/Turn.d.ts +5 -2
  255. package/dist/core/Turn.d.ts.map +1 -1
  256. package/dist/core/Turn.js +13 -11
  257. package/dist/core/Turn.js.map +1 -1
  258. package/dist/core/Turn.sql +25 -39
  259. package/dist/core/{SendBroadcastHandler.d.ts → TurnDispositionHandler.d.ts} +25 -17
  260. package/dist/core/TurnDispositionHandler.d.ts.map +1 -0
  261. package/dist/core/TurnDispositionHandler.js +198 -0
  262. package/dist/core/TurnDispositionHandler.js.map +1 -0
  263. package/dist/core/TurnMaterialization.d.ts +2 -3
  264. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  265. package/dist/core/TurnMaterialization.js +40 -15
  266. package/dist/core/TurnMaterialization.js.map +1 -1
  267. package/dist/core/TurnMaterialization.sql +44 -0
  268. package/dist/core/TurnOps.d.ts.map +1 -1
  269. package/dist/core/TurnOps.js +8 -64
  270. package/dist/core/TurnOps.js.map +1 -1
  271. package/dist/core/TurnRunner.d.ts +9 -12
  272. package/dist/core/TurnRunner.d.ts.map +1 -1
  273. package/dist/core/TurnRunner.js +232 -408
  274. package/dist/core/TurnRunner.js.map +1 -1
  275. package/dist/core/TurnRunner.sql +74 -0
  276. package/dist/core/TurnSources.sql +39 -0
  277. package/dist/core/WorkerControlAddress.d.ts +1 -0
  278. package/dist/core/WorkerControlAddress.d.ts.map +1 -1
  279. package/dist/core/WorkerControlAddress.js +5 -0
  280. package/dist/core/WorkerControlAddress.js.map +1 -1
  281. package/dist/core/WorkerControlHandler.d.ts +1 -3
  282. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  283. package/dist/core/WorkerControlHandler.js +41 -48
  284. package/dist/core/WorkerControlHandler.js.map +1 -1
  285. package/dist/core/WorkerName.d.ts +8 -6
  286. package/dist/core/WorkerName.d.ts.map +1 -1
  287. package/dist/core/WorkerName.js +33 -24
  288. package/dist/core/WorkerName.js.map +1 -1
  289. package/dist/core/WorkerName.sql +7 -10
  290. package/dist/core/WorkspaceGate.d.ts +1 -1
  291. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  292. package/dist/core/WorkspaceGate.js +29 -6
  293. package/dist/core/WorkspaceGate.js.map +1 -1
  294. package/dist/core/ambient.sql +236 -0
  295. package/dist/core/attachments.d.ts +2 -1
  296. package/dist/core/attachments.d.ts.map +1 -1
  297. package/dist/core/attachments.js +5 -4
  298. package/dist/core/attachments.js.map +1 -1
  299. package/dist/core/caps/CapsResolve.d.ts +2 -3
  300. package/dist/core/caps/CapsResolve.d.ts.map +1 -1
  301. package/dist/core/caps/CapsResolve.js +5 -5
  302. package/dist/core/caps/CapsResolve.js.map +1 -1
  303. package/dist/core/caps/DbChannelCaps.d.ts +1 -1
  304. package/dist/core/caps/DbChannelCaps.d.ts.map +1 -1
  305. package/dist/core/caps/DbChannelCaps.js +4 -6
  306. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  307. package/dist/core/caps/DbEntryCaps.d.ts +2 -1
  308. package/dist/core/caps/DbEntryCaps.d.ts.map +1 -1
  309. package/dist/core/caps/DbEntryCaps.js +11 -17
  310. package/dist/core/caps/DbEntryCaps.js.map +1 -1
  311. package/dist/core/caps/DbNotifyCaps.d.ts +1 -1
  312. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  313. package/dist/core/caps/DbNotifyCaps.js +3 -5
  314. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  315. package/dist/core/caps/DbProjectionCaps.js +1 -1
  316. package/dist/core/caps/DbProjectionCaps.js.map +1 -1
  317. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  318. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  319. package/dist/core/caps/DbSubscriptionCaps.js +5 -7
  320. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  321. package/dist/core/caps/SchemeCtxImpl.d.ts +0 -2
  322. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  323. package/dist/core/caps/SchemeCtxImpl.js +4 -20
  324. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  325. package/dist/core/env-defaults.d.ts.map +1 -1
  326. package/dist/core/env-defaults.js +4 -2
  327. package/dist/core/env-defaults.js.map +1 -1
  328. package/dist/core/file-materialization.d.ts +4 -1
  329. package/dist/core/file-materialization.d.ts.map +1 -1
  330. package/dist/core/file-materialization.js +14 -0
  331. package/dist/core/file-materialization.js.map +1 -1
  332. package/dist/core/fork.d.ts +1 -6
  333. package/dist/core/fork.d.ts.map +1 -1
  334. package/dist/core/fork.js +9 -153
  335. package/dist/core/fork.js.map +1 -1
  336. package/dist/core/fork.sql +162 -185
  337. package/dist/core/git-env.d.ts +1 -0
  338. package/dist/core/git-env.d.ts.map +1 -1
  339. package/dist/core/git-env.js +39 -2
  340. package/dist/core/git-env.js.map +1 -1
  341. package/dist/core/git-membership.d.ts.map +1 -1
  342. package/dist/core/git-membership.js +64 -48
  343. package/dist/core/git-membership.js.map +1 -1
  344. package/dist/core/git-state.d.ts.map +1 -1
  345. package/dist/core/git-state.js +25 -19
  346. package/dist/core/git-state.js.map +1 -1
  347. package/dist/core/glob_match.d.ts +4 -0
  348. package/dist/core/glob_match.d.ts.map +1 -0
  349. package/dist/core/glob_match.js +7 -0
  350. package/dist/core/glob_match.js.map +1 -0
  351. package/dist/core/maintenance.sql +6 -0
  352. package/dist/core/mutation-types.d.ts +7 -28
  353. package/dist/core/mutation-types.d.ts.map +1 -1
  354. package/dist/core/packet-inject.d.ts.map +1 -1
  355. package/dist/core/packet-inject.js +2 -3
  356. package/dist/core/packet-inject.js.map +1 -1
  357. package/dist/core/packet-wire.d.ts +8 -6
  358. package/dist/core/packet-wire.d.ts.map +1 -1
  359. package/dist/core/packet-wire.js +131 -163
  360. package/dist/core/packet-wire.js.map +1 -1
  361. package/dist/core/plurnk-uri.d.ts +1 -1
  362. package/dist/core/plurnk-uri.d.ts.map +1 -1
  363. package/dist/core/plurnk-uri.js +5 -12
  364. package/dist/core/plurnk-uri.js.map +1 -1
  365. package/dist/core/scheme-types.d.ts +3 -3
  366. package/dist/core/scheme-types.d.ts.map +1 -1
  367. package/dist/core/scheme-types.js.map +1 -1
  368. package/dist/core/sha256.d.ts +4 -0
  369. package/dist/core/sha256.d.ts.map +1 -0
  370. package/dist/core/sha256.js +6 -0
  371. package/dist/core/sha256.js.map +1 -0
  372. package/dist/core/teaching.js +1 -1
  373. package/dist/core/teaching.js.map +1 -1
  374. package/dist/core/turn-scheduler.d.ts.map +1 -1
  375. package/dist/core/turn-scheduler.js +5 -18
  376. package/dist/core/turn-scheduler.js.map +1 -1
  377. package/dist/core/turn-signals.d.ts +0 -6
  378. package/dist/core/turn-signals.d.ts.map +1 -1
  379. package/dist/core/turn-signals.js +1 -7
  380. package/dist/core/turn-signals.js.map +1 -1
  381. package/dist/core/worker-ops.sql +15 -22
  382. package/dist/core/workspace-settings.d.ts.map +1 -1
  383. package/dist/core/workspace-settings.js +18 -2
  384. package/dist/core/workspace-settings.js.map +1 -1
  385. package/dist/core/workspace-settings.sql +6 -0
  386. package/dist/digest/Digest.d.ts.map +1 -1
  387. package/dist/digest/Digest.js +27 -90
  388. package/dist/digest/Digest.js.map +1 -1
  389. package/dist/digest/DigestRender.d.ts.map +1 -1
  390. package/dist/digest/DigestRender.js +14 -54
  391. package/dist/digest/DigestRender.js.map +1 -1
  392. package/dist/digest/digest-rows.d.ts +10 -32
  393. package/dist/digest/digest-rows.d.ts.map +1 -1
  394. package/dist/digest/digest.sql +43 -18
  395. package/dist/schemes/Exec.d.ts +6 -12
  396. package/dist/schemes/Exec.d.ts.map +1 -1
  397. package/dist/schemes/Exec.js +256 -188
  398. package/dist/schemes/Exec.js.map +1 -1
  399. package/dist/schemes/ExecOutputScheme.d.ts +8 -6
  400. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  401. package/dist/schemes/ExecOutputScheme.js +33 -61
  402. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  403. package/dist/schemes/ExecutionInput.d.ts +12 -0
  404. package/dist/schemes/ExecutionInput.d.ts.map +1 -0
  405. package/dist/schemes/ExecutionInput.js +94 -0
  406. package/dist/schemes/ExecutionInput.js.map +1 -0
  407. package/dist/schemes/File.d.ts +5 -2
  408. package/dist/schemes/File.d.ts.map +1 -1
  409. package/dist/schemes/File.js +62 -92
  410. package/dist/schemes/File.js.map +1 -1
  411. package/dist/schemes/Log.d.ts.map +1 -1
  412. package/dist/schemes/Log.js +84 -79
  413. package/dist/schemes/Log.js.map +1 -1
  414. package/dist/schemes/Log.sql +183 -15
  415. package/dist/schemes/Prompt.d.ts.map +1 -1
  416. package/dist/schemes/Prompt.js +3 -12
  417. package/dist/schemes/Prompt.js.map +1 -1
  418. package/dist/schemes/QuestionTool.d.ts +5 -0
  419. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  420. package/dist/schemes/QuestionTool.js +6 -14
  421. package/dist/schemes/QuestionTool.js.map +1 -1
  422. package/dist/schemes/Skill.d.ts +12 -7
  423. package/dist/schemes/Skill.d.ts.map +1 -1
  424. package/dist/schemes/Skill.js +149 -21
  425. package/dist/schemes/Skill.js.map +1 -1
  426. package/dist/schemes/TurnSource.d.ts +12 -0
  427. package/dist/schemes/TurnSource.d.ts.map +1 -0
  428. package/dist/schemes/TurnSource.js +116 -0
  429. package/dist/schemes/TurnSource.js.map +1 -0
  430. package/dist/schemes/Worker.d.ts +3 -3
  431. package/dist/schemes/Worker.d.ts.map +1 -1
  432. package/dist/schemes/Worker.js +61 -208
  433. package/dist/schemes/Worker.js.map +1 -1
  434. package/dist/schemes/_entry-crud.d.ts +12 -15
  435. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  436. package/dist/schemes/_entry-crud.js +63 -63
  437. package/dist/schemes/_entry-crud.js.map +1 -1
  438. package/dist/schemes/_entry-crud.sql +142 -46
  439. package/dist/schemes/_entry-find.d.ts +1 -3
  440. package/dist/schemes/_entry-find.d.ts.map +1 -1
  441. package/dist/schemes/_entry-find.js +111 -112
  442. package/dist/schemes/_entry-find.js.map +1 -1
  443. package/dist/schemes/_entry-find.sql +22 -14
  444. package/dist/schemes/_entry-fts.d.ts +14 -0
  445. package/dist/schemes/_entry-fts.d.ts.map +1 -0
  446. package/dist/schemes/_entry-fts.js +82 -0
  447. package/dist/schemes/_entry-fts.js.map +1 -0
  448. package/dist/schemes/_entry-fts.sql +31 -0
  449. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  450. package/dist/schemes/_entry-graph.js +6 -14
  451. package/dist/schemes/_entry-graph.js.map +1 -1
  452. package/dist/schemes/_entry-graph.sql +29 -44
  453. package/dist/schemes/_entry-manifest.d.ts +2 -1
  454. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  455. package/dist/schemes/_entry-manifest.js +15 -12
  456. package/dist/schemes/_entry-manifest.js.map +1 -1
  457. package/dist/schemes/_entry-manifest.sql +26 -0
  458. package/dist/schemes/_entry-ops.d.ts +3 -5
  459. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  460. package/dist/schemes/_entry-ops.js +30 -43
  461. package/dist/schemes/_entry-ops.js.map +1 -1
  462. package/dist/schemes/_entry-ops.sql +5 -6
  463. package/dist/schemes/_entry-readable.d.ts +8 -0
  464. package/dist/schemes/_entry-readable.d.ts.map +1 -0
  465. package/dist/schemes/_entry-readable.js +38 -0
  466. package/dist/schemes/_entry-readable.js.map +1 -0
  467. package/dist/schemes/_entry-send.d.ts +1 -1
  468. package/dist/schemes/_entry-send.d.ts.map +1 -1
  469. package/dist/schemes/_entry-send.js +3 -3
  470. package/dist/schemes/_entry-send.js.map +1 -1
  471. package/dist/schemes/_search-index.d.ts +1 -3
  472. package/dist/schemes/_search-index.d.ts.map +1 -1
  473. package/dist/schemes/_search-index.js +79 -110
  474. package/dist/schemes/_search-index.js.map +1 -1
  475. package/dist/schemes/_search-index.sql +30 -0
  476. package/dist/schemes/exec-runtime.d.ts +1 -1
  477. package/dist/schemes/exec-runtime.d.ts.map +1 -1
  478. package/dist/schemes/exec-runtime.js.map +1 -1
  479. package/dist/server/ClientReads.d.ts +2 -2
  480. package/dist/server/ClientReads.d.ts.map +1 -1
  481. package/dist/server/ClientReads.js +5 -8
  482. package/dist/server/ClientReads.js.map +1 -1
  483. package/dist/server/Daemon.d.ts +14 -21
  484. package/dist/server/Daemon.d.ts.map +1 -1
  485. package/dist/server/Daemon.js +135 -156
  486. package/dist/server/Daemon.js.map +1 -1
  487. package/dist/server/DaemonModule.d.ts +23 -21
  488. package/dist/server/DaemonModule.d.ts.map +1 -1
  489. package/dist/server/DrainSupervisor.d.ts +8 -21
  490. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  491. package/dist/server/DrainSupervisor.js +278 -306
  492. package/dist/server/DrainSupervisor.js.map +1 -1
  493. package/dist/server/Functionality.d.ts +11 -12
  494. package/dist/server/Functionality.d.ts.map +1 -1
  495. package/dist/server/Functionality.js +129 -101
  496. package/dist/server/Functionality.js.map +1 -1
  497. package/dist/server/FunctionalityManager.d.ts +3 -5
  498. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  499. package/dist/server/FunctionalityManager.js +20 -58
  500. package/dist/server/FunctionalityManager.js.map +1 -1
  501. package/dist/server/MembersFunctionality.d.ts +5 -4
  502. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  503. package/dist/server/MembersFunctionality.js +24 -37
  504. package/dist/server/MembersFunctionality.js.map +1 -1
  505. package/dist/server/PlurnkSkill.d.ts +11 -0
  506. package/dist/server/PlurnkSkill.d.ts.map +1 -0
  507. package/dist/server/PlurnkSkill.js +41 -0
  508. package/dist/server/PlurnkSkill.js.map +1 -0
  509. package/dist/server/Retention.d.ts +22 -0
  510. package/dist/server/Retention.d.ts.map +1 -0
  511. package/dist/server/Retention.js +54 -0
  512. package/dist/server/Retention.js.map +1 -0
  513. package/dist/server/Retention.sql +36 -0
  514. package/dist/server/ServiceModules.d.ts +5 -0
  515. package/dist/server/ServiceModules.d.ts.map +1 -0
  516. package/dist/server/ServiceModules.js +10 -0
  517. package/dist/server/ServiceModules.js.map +1 -0
  518. package/dist/server/SkillsFunctionality.d.ts +14 -19
  519. package/dist/server/SkillsFunctionality.d.ts.map +1 -1
  520. package/dist/server/SkillsFunctionality.js +97 -104
  521. package/dist/server/SkillsFunctionality.js.map +1 -1
  522. package/dist/server/WorkerModelResolver.d.ts +4 -0
  523. package/dist/server/WorkerModelResolver.d.ts.map +1 -1
  524. package/dist/server/WorkerModelResolver.js +72 -39
  525. package/dist/server/WorkerModelResolver.js.map +1 -1
  526. package/dist/server/WorkspaceCapabilities.d.ts +21 -0
  527. package/dist/server/WorkspaceCapabilities.d.ts.map +1 -0
  528. package/dist/server/{WorkerCapabilities.js → WorkspaceCapabilities.js} +40 -40
  529. package/dist/server/WorkspaceCapabilities.js.map +1 -0
  530. package/dist/server/WorkspaceResidency.d.ts +36 -0
  531. package/dist/server/WorkspaceResidency.d.ts.map +1 -0
  532. package/dist/server/WorkspaceResidency.js +199 -0
  533. package/dist/server/WorkspaceResidency.js.map +1 -0
  534. package/dist/server/client-input.d.ts +1 -4
  535. package/dist/server/client-input.d.ts.map +1 -1
  536. package/dist/server/client-input.js +4 -45
  537. package/dist/server/client-input.js.map +1 -1
  538. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  539. package/dist/server/dispatch-as-plurnk.js +4 -22
  540. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  541. package/dist/server/drain.sql +65 -42
  542. package/dist/server/envelope.d.ts +8 -0
  543. package/dist/server/envelope.d.ts.map +1 -1
  544. package/dist/server/envelope.js +9 -7
  545. package/dist/server/envelope.js.map +1 -1
  546. package/dist/server/envelope.sql +49 -13
  547. package/dist/server/lifecycle-recovery.sql +14 -17
  548. package/dist/server/logEntry.d.ts +1 -1
  549. package/dist/server/logEntry.d.ts.map +1 -1
  550. package/dist/server/logEntry.js +4 -1
  551. package/dist/server/logEntry.js.map +1 -1
  552. package/dist/server/logEntry.sql +25 -1
  553. package/dist/server/loopDocs.d.ts +2 -2
  554. package/dist/server/loopDocs.d.ts.map +1 -1
  555. package/dist/server/loopDocs.js +38 -31
  556. package/dist/server/loopDocs.js.map +1 -1
  557. package/dist/server/loopDocs.sql +1 -3
  558. package/dist/server/model-catalog.d.ts.map +1 -1
  559. package/dist/server/model-catalog.js +2 -1
  560. package/dist/server/model-catalog.js.map +1 -1
  561. package/dist/server/model-route.d.ts +1 -1
  562. package/dist/server/model-route.d.ts.map +1 -1
  563. package/dist/server/model-route.js +4 -2
  564. package/dist/server/model-route.js.map +1 -1
  565. package/dist/server/seam-entry-read.sql +3 -4
  566. package/dist/server/seam-loop.sql +2 -9
  567. package/dist/server/workspace-capabilities.sql +19 -0
  568. package/dist/service.d.ts.map +1 -1
  569. package/dist/service.js +5 -17
  570. package/dist/service.js.map +1 -1
  571. package/docs/members.md +83 -0
  572. package/docs/skills.md +50 -0
  573. package/migrations/001_workspaces.sql +53 -0
  574. package/migrations/002_workers.sql +183 -0
  575. package/migrations/003_loops.sql +326 -0
  576. package/migrations/004_inference.sql +360 -0
  577. package/migrations/005_entries.sql +207 -0
  578. package/migrations/006_log.sql +578 -0
  579. package/migrations/007_subscriptions.sql +175 -0
  580. package/migrations/008_interactions.sql +29 -0
  581. package/package.json +33 -40
  582. package/digest-sql/channel-dispositions/dispositions.sql +0 -15
  583. package/digest-sql/channel-state/state.sql +0 -6
  584. package/digest-sql/curation/curation.sql +0 -6
  585. package/digest-sql/derivations/derivations.sql +0 -4
  586. package/digest-sql/embeddings/embeddings.sql +0 -4
  587. package/digest-sql/entry-dispositions/dispositions.sql +0 -15
  588. package/digest-sql/entry-state/state.sql +0 -6
  589. package/digest-sql/token-counts/token-counts.sql +0 -2
  590. package/dist/core/EmbeddingCall.d.ts +0 -23
  591. package/dist/core/EmbeddingCall.d.ts.map +0 -1
  592. package/dist/core/EmbeddingCall.js +0 -149
  593. package/dist/core/EmbeddingCall.js.map +0 -1
  594. package/dist/core/OverflowTurn.d.ts +0 -11
  595. package/dist/core/OverflowTurn.d.ts.map +0 -1
  596. package/dist/core/OverflowTurn.js +0 -80
  597. package/dist/core/OverflowTurn.js.map +0 -1
  598. package/dist/core/Owner.d.ts +0 -8
  599. package/dist/core/Owner.d.ts.map +0 -1
  600. package/dist/core/Owner.js +0 -46
  601. package/dist/core/Owner.js.map +0 -1
  602. package/dist/core/SendBroadcastHandler.d.ts.map +0 -1
  603. package/dist/core/SendBroadcastHandler.js +0 -159
  604. package/dist/core/SendBroadcastHandler.js.map +0 -1
  605. package/dist/core/VectorPump.d.ts +0 -28
  606. package/dist/core/VectorPump.d.ts.map +0 -1
  607. package/dist/core/VectorPump.js +0 -130
  608. package/dist/core/VectorPump.js.map +0 -1
  609. package/dist/core/owner.sql +0 -11
  610. package/dist/core/worker-settings.d.ts +0 -10
  611. package/dist/core/worker-settings.d.ts.map +0 -1
  612. package/dist/core/worker-settings.js +0 -53
  613. package/dist/core/worker-settings.js.map +0 -1
  614. package/dist/schemes/_entry-chunk.d.ts +0 -14
  615. package/dist/schemes/_entry-chunk.d.ts.map +0 -1
  616. package/dist/schemes/_entry-chunk.js +0 -165
  617. package/dist/schemes/_entry-chunk.js.map +0 -1
  618. package/dist/schemes/_entry-semantic.d.ts +0 -63
  619. package/dist/schemes/_entry-semantic.d.ts.map +0 -1
  620. package/dist/schemes/_entry-semantic.js +0 -299
  621. package/dist/schemes/_entry-semantic.js.map +0 -1
  622. package/dist/schemes/_entry-semantic.sql +0 -99
  623. package/dist/schemes/cosine.d.ts +0 -4
  624. package/dist/schemes/cosine.d.ts.map +0 -1
  625. package/dist/schemes/cosine.js +0 -9
  626. package/dist/schemes/cosine.js.map +0 -1
  627. package/dist/server/WorkerCapabilities.d.ts +0 -21
  628. package/dist/server/WorkerCapabilities.d.ts.map +0 -1
  629. package/dist/server/WorkerCapabilities.js.map +0 -1
  630. package/dist/server/WorkerResidency.d.ts +0 -40
  631. package/dist/server/WorkerResidency.d.ts.map +0 -1
  632. package/dist/server/WorkerResidency.js +0 -283
  633. package/dist/server/WorkerResidency.js.map +0 -1
  634. package/dist/server/seam-log-read.sql +0 -21
  635. package/dist/server/worker-capabilities.sql +0 -28
  636. package/migrations/001_schema.sql +0 -2207
@@ -23,7 +23,6 @@ export type CatalogMatch = [
23
23
  locator?: string;
24
24
  region?: TextRegion;
25
25
  matchLocationCount?: number;
26
- similarity?: number;
27
26
  },
28
27
  ...CatalogChannel[]
29
28
  ];
@@ -54,11 +53,10 @@ export interface FindProjectionResource {
54
53
  readonly match: Match;
55
54
  }
56
55
  interface FindAddress {
57
- readonly ownerId: number;
58
56
  readonly authority?: string;
59
57
  readonly pathname?: string;
60
58
  readonly visible?: (pathname: string) => boolean | Promise<boolean>;
61
- readonly bytes?: (pathname: string) => ByteSource;
59
+ readonly bytes?: (pathname: string, authority: string) => ByteSource;
62
60
  }
63
61
  export declare const emptyFindFields: () => FindFields;
64
62
  export declare const projectFindResult: (statement: FindStatement, scope: PathScope, resources: readonly FindProjectionResource[], scopes?: readonly CatalogScope[]) => FindResult;
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_entry-find.d.ts","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  //
6
6
  // FIND slot semantics (contracts SPEC §4/§7):
7
7
  // target — required scope (path or glob); selects which entries are candidates
8
- // body — matcher (glob/regex/jsonpath/xpath/~semantic/&graph). A content matcher
8
+ // body — matcher (glob/regex/jsonpath/xpath/~full-text/&graph). A content matcher
9
9
  // runs against the addressed channel's CONTENT (Matcher.matchAgainstContent
10
10
  // → the mimetypes plugin) and INCLUDES/EXCLUDES the entry — e.g.
11
11
  // log FIND over `log:///**/error` with `/timeout/i` keeps matching rows.
@@ -20,7 +20,7 @@ import { entryCoordinateOf } from "../core/plurnk-uri.js";
20
20
  import EntryGraph from "./_entry-graph.js";
21
21
  import EntryCrud from "./_entry-crud.js";
22
22
  import EntryManifest from "./_entry-manifest.js";
23
- import EntrySemantic from "./_entry-semantic.js";
23
+ import EntryFts from "./_entry-fts.js";
24
24
  import Results from "../core/results.js";
25
25
  import { resolveSearchCandidates } from "./_search-candidate.js";
26
26
  import { pathFolderSummaries, pathScope, pathScopeMatches } from "./_path-scope.js";
@@ -84,7 +84,7 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
84
84
  matchingPathCount,
85
85
  matchLocationCount,
86
86
  };
87
- const locationMode = statement.body !== null && scope.kind === "exact";
87
+ const locationMode = statement.matcher !== null && scope.kind === "exact";
88
88
  let completeItems;
89
89
  if (locationMode) {
90
90
  completeItems = uniqueMatchLocations(resources.flatMap(({ match }) => match.matches));
@@ -92,18 +92,14 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
92
92
  else {
93
93
  const resourceItems = [
94
94
  ...resources.map(({ item, match }) => {
95
- if (statement.body === null)
95
+ if (statement.matcher === null)
96
96
  return item;
97
97
  const locations = uniqueMatchLocations(match.matches);
98
98
  const single = locations.length === 1 ? locations[0] : undefined;
99
- // {§find-semantic-selection} — a ranked row says why it is ordered: its best cosine, three decimals.
100
- const scores = locations.flatMap((location) => location.score === undefined ? [] : [location.score]);
101
- const similarity = scores.length === 0 ? undefined : Math.round(Math.max(...scores) * 1000) / 1000;
102
99
  return [
103
100
  {
104
101
  ...item[0],
105
102
  matchLocationCount: locations.length,
106
- ...(similarity === undefined ? {} : { similarity }),
107
103
  ...(single?.locator === undefined ? {} : { locator: single.locator }),
108
104
  ...(single?.region === undefined ? {} : { region: single.region }),
109
105
  },
@@ -117,9 +113,7 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
117
113
  }
118
114
  completeItems = resourceItems;
119
115
  }
120
- const marker = statement.body?.dialect === "semantic"
121
- ? EntrySemantic.resultSelection(statement.lineMarker).page
122
- : statement.lineMarker ?? { marks: [1, DEFAULT_RETRIEVAL_LIMIT] };
116
+ const marker = statement.lineMarker ?? { marks: [1, DEFAULT_RETRIEVAL_LIMIT] };
123
117
  const unit = locationMode ? "matchLocation" : "resource";
124
118
  const page = LineMarkerOps.page(completeItems, marker, { unit });
125
119
  if (page.status !== 200) {
@@ -127,7 +121,7 @@ export const projectFindResult = (statement, scope, resources, scopes = []) => {
127
121
  throw new Error("FIND pagination failed without Problem Details");
128
122
  return Results.assert({ status: page.status, problem: page.problem, ...fields, range: page.range });
129
123
  }
130
- if (statement.body !== null && matchingPathCount === 0) {
124
+ if (statement.matcher !== null && matchingPathCount === 0) {
131
125
  return {
132
126
  status: 204,
133
127
  ...fields,
@@ -162,7 +156,7 @@ export default class EntryFind {
162
156
  return entryCoordinateOf(path, manifest.authority ?? "namespace");
163
157
  }
164
158
  // Resolve a FIND to its matched workspace resources — entry-level, unique, in result
165
- // order (rank for ~semantic, candidate order otherwise). Candidate selection (scope +
159
+ // order (rank for ~full-text, candidate order otherwise). Candidate selection (scope +
166
160
  // scope) runs in SQL (find_workspace_entry_candidates); a content matcher then runs against
167
161
  // each candidate's addressed-channel CONTENT (Matcher.matchAgainstContent → the mimetypes
168
162
  // plugin) and INCLUDES/EXCLUDES the entry - 200 keeps it, 204/203 drop it, and a
@@ -180,13 +174,13 @@ export default class EntryFind {
180
174
  },
181
175
  };
182
176
  }
183
- const fragment = statement.target.kind === "url" ? statement.target.fragment : null;
184
- const channel = fragment ?? manifest.defaultChannel;
177
+ const fragment = statement.target.fragment ?? null;
178
+ const channel = fragment;
185
179
  const availableChannels = [...new Set([
186
180
  manifest.defaultChannel,
187
181
  ...Object.keys(manifest.channels),
188
182
  ])].filter((candidate) => candidate.length > 0);
189
- if (channel.length === 0) {
183
+ if (manifest.defaultChannel.length === 0 && Object.keys(manifest.channels).length > 0 && channel === null) {
190
184
  return {
191
185
  status: 400,
192
186
  matches: [],
@@ -200,10 +194,11 @@ export default class EntryFind {
200
194
  };
201
195
  }
202
196
  if (fragment !== null
197
+ && Object.keys(manifest.channels).length > 0
203
198
  && fragment !== manifest.defaultChannel
204
199
  && !Object.hasOwn(manifest.channels, fragment)) {
205
200
  return {
206
- status: 400,
201
+ status: 404,
207
202
  matches: [],
208
203
  code: "channel-not-found",
209
204
  error: `Channel #${fragment} is not declared by the '${manifest.name}' scheme.`,
@@ -226,16 +221,17 @@ export default class EntryFind {
226
221
  const scheme = EntryCrud.identityScheme(manifest);
227
222
  const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
228
223
  const authority = address.authority ?? authoredCoordinate?.authority ?? "";
224
+ const multipleAuthorities = PathSyntax.hasGlob(authority);
225
+ const authorityScope = pathScope(authority, false);
229
226
  const scopePathname = address.pathname ?? authoredCoordinate?.pathname ?? null;
230
227
  const scope = scopePathname === null
231
228
  ? null
232
229
  : pathScope(scopePathname, manifest.folderScopes === true);
233
230
  // {§fs-errno} — an exact-path miss is ENOENT; an empty glob or folder
234
231
  // survey is a successful empty result.
235
- if (scope?.kind === "exact" && scope.pathname.length > 0) {
232
+ if (!multipleAuthorities && scope?.kind === "exact" && scope.pathname.length > 0) {
236
233
  const exact = await ctx.db.crud_find_workspace_entry.get({
237
234
  workspace_id: ctx.workspaceId,
238
- owner_id: address.ownerId,
239
235
  scheme, authority, pathname: scope.pathname,
240
236
  });
241
237
  if (exact === undefined) {
@@ -254,18 +250,36 @@ export default class EntryFind {
254
250
  // cannot cross `/`, while `**` can. A declared folder scope remains a
255
251
  // recursive prefix independent of glob syntax. {§find-scope-prefix-filter}
256
252
  const { db, workspaceId } = ctx;
257
- const semantic = statement.body?.dialect === "semantic";
258
- let candidates = await db[semantic ? "find_workspace_entry_candidate_ids" : "find_workspace_entry_candidates"].all({
253
+ const fulltext = statement.matcher?.dialect === "fts";
254
+ let candidates = await db[fulltext ? "find_workspace_entry_candidate_ids" : "find_workspace_entry_candidates"].all({
259
255
  workspace_id: workspaceId,
260
- owner_id: address.ownerId,
261
256
  scheme,
262
- authority,
257
+ authority: multipleAuthorities ? null : authority,
263
258
  channel,
264
259
  scope_prefix: scope?.candidatePrefix ?? null,
265
260
  });
266
- const candidatePathnames = statement.body === null && scope?.kind === "glob" && scope.shallowPrefix !== null
267
- ? candidates.map((candidate) => candidate.pathname)
268
- : undefined;
261
+ candidates = candidates.filter((candidate) => pathScopeMatches(authorityScope, candidate.authority));
262
+ if (address.visible !== undefined) {
263
+ candidates = (await Promise.all(candidates.map(async (candidate) => ({
264
+ candidate,
265
+ visible: await address.visible(candidate.pathname),
266
+ })))).filter(({ visible }) => visible).map(({ candidate }) => candidate);
267
+ }
268
+ if (ctx.settleDerivations !== undefined && candidates.some((candidate) => candidate.deep_hash === null)) {
269
+ return { status: 503, matches: [], error: "Resource metadata is still being derived.", extensions: { stage: "search-index" } };
270
+ }
271
+ const coordinateByKey = new Map(candidates.map((candidate) => [
272
+ multipleAuthorities ? EntryManifest.toPath(scheme, candidate.authority, candidate.pathname) : candidate.pathname,
273
+ { authority: candidate.authority, pathname: candidate.pathname },
274
+ ]));
275
+ const folders = statement.matcher === null && scope !== null
276
+ ? [...Map.groupBy([...coordinateByKey.entries()], ([, coordinate]) => coordinate.authority)]
277
+ .flatMap(([authority, entries]) => pathFolderSummaries(scope, entries.map(([, coordinate]) => coordinate.pathname))
278
+ .map((folder) => ({
279
+ selector: multipleAuthorities ? EntryManifest.toPath(scheme, authority, folder.selector) : folder.selector,
280
+ pathnames: folder.pathnames.map((pathname) => multipleAuthorities ? EntryManifest.toPath(scheme, authority, pathname) : pathname),
281
+ })))
282
+ : [];
269
283
  if (scope !== null) {
270
284
  try {
271
285
  candidates = candidates.filter((c) => pathScopeMatches(scope, c.pathname));
@@ -283,13 +297,7 @@ export default class EntryFind {
283
297
  };
284
298
  }
285
299
  }
286
- if (address.visible !== undefined) {
287
- candidates = (await Promise.all(candidates.map(async (candidate) => ({
288
- candidate,
289
- visible: await address.visible(candidate.pathname),
290
- })))).filter(({ visible }) => visible).map(({ candidate }) => candidate);
291
- }
292
- if (scope?.kind === "exact" && candidates.length === 0) {
300
+ if (!multipleAuthorities && scope?.kind === "exact" && candidates.length === 0) {
293
301
  const target = EntryFind.#targetPath(scheme, authority, scope.pathname, fragment);
294
302
  return {
295
303
  status: 404,
@@ -299,27 +307,29 @@ export default class EntryFind {
299
307
  extensions: { target },
300
308
  };
301
309
  }
310
+ if (multipleAuthorities) {
311
+ candidates = candidates.map((candidate) => ({
312
+ ...candidate, pathname: EntryManifest.toPath(scheme, candidate.authority, candidate.pathname),
313
+ }));
314
+ }
315
+ const channels = new Map(candidates.map((candidate) => [candidate.pathname, candidate.channel]));
316
+ const channelOf = (key) => {
317
+ const selected = channels.get(key);
318
+ if (selected === undefined)
319
+ throw new Error(`FIND candidate lost its selected channel: ${key}`);
320
+ return selected;
321
+ };
322
+ const effectiveBytes = address.bytes === undefined ? undefined : (key) => {
323
+ const coordinate = coordinateByKey.get(key);
324
+ if (coordinate === undefined)
325
+ throw new Error(`FIND byte source lost coordinate ${key}`);
326
+ return address.bytes(coordinate.pathname, coordinate.authority);
327
+ };
302
328
  // Every dialect resolves to one selection per resource. Content
303
329
  // dialects already carry honest match evidence; relation dialects map
304
330
  // their indexed source spans into readable TextRegions below.
305
331
  let matches;
306
- if (statement.body !== null && statement.body.dialect === "semantic") {
307
- // Semantic rank is exhaustive within the SAME target/tag candidate set as every
308
- // other matcher. Passing entry identities into the ranker preserves ranking meaning:
309
- // constrain first, then rank, never rank the corpus and discard out-of-scope hits.
310
- const { mimetypes } = ctx;
311
- if (mimetypes === undefined) {
312
- return {
313
- status: 501,
314
- matches: [],
315
- error: "Semantic search requires the mimetypes capability.",
316
- extensions: {
317
- stage: "semantic-search",
318
- retryable: false,
319
- },
320
- };
321
- }
322
- const selection = EntrySemantic.resultSelection(statement.lineMarker);
332
+ if (statement.matcher !== null && statement.matcher.dialect === "fts") {
323
333
  const candidateSet = resolveSearchCandidates(candidates.map(({ pathname, deep_hash }) => ({ key: pathname, deepHash: deep_hash })));
324
334
  if (candidateSet.state === "incomplete")
325
335
  return {
@@ -333,37 +343,18 @@ export default class EntryFind {
333
343
  retryable: true,
334
344
  },
335
345
  };
336
- const ranked = await EntrySemantic.rankCandidates(ctx, candidateSet.candidates, statement.body.raw, selection);
337
- if (ranked.status !== 200) {
338
- return {
339
- status: ranked.status,
340
- matches: [],
341
- error: ranked.status === 501
342
- ? "Similarity-threshold search requires an embedding provider."
343
- : "The requested similarity threshold is outside the supported range.",
344
- extensions: {
345
- stage: "semantic-search",
346
- ...(selection.threshold === null ? {} : { threshold: selection.threshold }),
347
- recovery: ranked.status === 501
348
- ? "Remove the decimal similarity threshold while embeddings are unavailable."
349
- : "Use a similarity threshold greater than zero and less than one.",
350
- retryable: false,
351
- },
352
- };
353
- }
354
- matches = await EntryFind.#addTextRegions(ranked.results.map((x) => ({
355
- key: x.key,
356
- span: { lineStart: x.lineStart, lineEnd: x.lineEnd },
357
- ...(x.score === null ? {} : { score: x.score }),
358
- })), ctx, manifest, channel, authority, address.ownerId);
346
+ const ranked = await EntryFts.rankCandidates(ctx.db, candidateSet.candidates, statement.matcher.raw.slice(1), ctx.signal);
347
+ if (ranked.status !== 200)
348
+ return { status: ranked.status, matches: [], problem: ranked.problem };
349
+ matches = ranked.matches.map(({ key, matches: locations }) => ({ pathname: key, matches: locations }));
359
350
  }
360
- else if (statement.body === null) {
351
+ else if (statement.matcher === null) {
361
352
  matches = candidates.map((c) => ({ pathname: c.pathname, matches: [] }));
362
353
  }
363
- else if (statement.body.dialect === "graph") {
354
+ else if (statement.matcher.dialect === "graph") {
364
355
  // {§relation-indexed-dialects} Parser admission owns graph syntax;
365
356
  // this remains a defensive boundary for typed/programmatic callers.
366
- if (!/^&[<>]?[^\s<>]\S*$/.test(statement.body.raw))
357
+ if (!/^&[<>]?[^\s<>]\S*$/.test(statement.matcher.raw))
367
358
  return {
368
359
  status: 400,
369
360
  matches: [],
@@ -406,7 +397,7 @@ export default class EntryFind {
406
397
  retryable: true,
407
398
  },
408
399
  };
409
- const graph = await EntryGraph.matchCandidates(ctx.db, universe.candidates, scopedCandidates.candidates, statement.body.raw);
400
+ const graph = await EntryGraph.matchCandidates(ctx.db, universe.candidates, scopedCandidates.candidates, statement.matcher.raw);
410
401
  if (graph.status !== 200) {
411
402
  return {
412
403
  status: graph.status,
@@ -422,7 +413,7 @@ export default class EntryFind {
422
413
  matches = await EntryFind.#addTextRegions(graph.matches.map((m) => ({
423
414
  key: m.key,
424
415
  span: { lineStart: m.lineStart, lineEnd: m.lineEnd },
425
- })), ctx, manifest, channel, authority, address.ownerId);
416
+ })), ctx, manifest, channelOf, coordinateByKey);
426
417
  }
427
418
  else {
428
419
  const { mimetypes } = ctx;
@@ -441,7 +432,7 @@ export default class EntryFind {
441
432
  if (c.content === undefined || c.mimetype === undefined)
442
433
  throw new Error("EntryFind.#matchPathnames: content candidate is incomplete");
443
434
  if (await MimetypeBinary.isBinaryMimetype(c.mimetype, mimetypes)) {
444
- if (address.bytes !== undefined)
435
+ if (effectiveBytes !== undefined)
445
436
  byteCandidates.push(c.pathname);
446
437
  else if (c.content !== "") {
447
438
  byteCandidates.push(c.pathname);
@@ -451,10 +442,10 @@ export default class EntryFind {
451
442
  else
452
443
  textCandidates.push({ key: c.pathname, content: c.content, mimetype: c.mimetype });
453
444
  }
454
- const byteSupplier = address.bytes ?? ((pathname) => contentBytes.get(pathname));
445
+ const byteSupplier = effectiveBytes ?? ((pathname) => contentBytes.get(pathname));
455
446
  const r = textCandidates.length === 0
456
447
  ? { status: 200, matches: [] }
457
- : await Matcher.matchCandidates(statement.body, textCandidates, mimetypes);
448
+ : await Matcher.matchCandidates(statement.matcher, textCandidates, mimetypes);
458
449
  if (r.status !== 200)
459
450
  return {
460
451
  status: r.status,
@@ -463,7 +454,7 @@ export default class EntryFind {
463
454
  };
464
455
  const bytesMatched = byteCandidates.length === 0
465
456
  ? { status: 200, matches: [] }
466
- : await EntryFind.#matchBytes(statement.body, byteCandidates, byteSupplier, mimetypes, channel);
457
+ : await EntryFind.#matchBytes(statement.matcher, byteCandidates, byteSupplier, mimetypes, channelOf);
467
458
  if (bytesMatched.status !== 200)
468
459
  return {
469
460
  status: bytesMatched.status,
@@ -473,18 +464,21 @@ export default class EntryFind {
473
464
  matches = [
474
465
  ...r.matches.map((match) => ({
475
466
  pathname: match.key,
476
- matches: match.matches.map((evidence) => ({ channel, ...evidence })),
467
+ matches: match.matches.map((evidence) => ({ channel: channelOf(match.key), ...evidence })),
477
468
  })),
478
469
  ...bytesMatched.matches,
479
470
  ];
480
471
  }
481
- return { status: 200, matches, channel, ...(scope === null ? {} : { scope }), ...(candidatePathnames === undefined ? {} : { candidatePathnames }) };
472
+ const projectedScope = multipleAuthorities && scopePathname !== null
473
+ ? pathScope(EntryManifest.toPath(scheme, authority, scopePathname), manifest.folderScopes === true)
474
+ : scope;
475
+ return { status: 200, matches, channel: fragment ?? candidates[0]?.channel, ...(projectedScope === null ? {} : { scope: projectedScope }), folders };
482
476
  }
483
477
  // {§find-bytes} — the matcher runs over the bytes as one character each, so a text pattern
484
478
  // finds strings and `\xNN` escapes find byte sequences; every hit is re-expressed in byte
485
479
  // coordinates that paste into a byte READ. The load is bounded by the mimetypes binary input
486
480
  // ceiling; a larger resource fails by name rather than being skipped.
487
- static async #matchBytes(body, pathnames, bytesOf, mimetypes, channel) {
481
+ static async #matchBytes(body, pathnames, bytesOf, mimetypes, channelOf) {
488
482
  const ceiling = binaryInputMaximum();
489
483
  const matches = [];
490
484
  for (const pathname of pathnames) {
@@ -506,34 +500,36 @@ export default class EntryFind {
506
500
  return { status: match.status, matches: [], problem: match.problem };
507
501
  if (match.status !== 200 || match.matches === undefined)
508
502
  continue;
509
- matches.push({ pathname, matches: ByteView.byteEvidence(latin1, bytes, match.matches).map((evidence) => ({ channel, ...evidence })) });
503
+ matches.push({ pathname, matches: ByteView.byteEvidence(latin1, bytes, match.matches).map((evidence) => ({ channel: channelOf(pathname), ...evidence })) });
510
504
  }
511
505
  return { status: 200, matches };
512
506
  }
513
- static async #addTextRegions(matches, ctx, manifest, channel, authority, ownerId) {
507
+ static async #addTextRegions(matches, ctx, manifest, channelOf, coordinates) {
514
508
  if (matches.every(({ span }) => span === null)) {
515
509
  return [...new Set(matches.map(({ key }) => key))].map((pathname) => ({ pathname, matches: [] }));
516
510
  }
517
511
  const scheme = EntryCrud.identityScheme(manifest);
518
- const candidates = [];
519
- for (const pathname of new Set(matches.filter(({ span }) => span !== null).map(({ key }) => key))) {
520
- const row = await ctx.db.ops_read_channel.get({
521
- workspace_id: ctx.workspaceId,
522
- owner_id: ownerId,
523
- scheme,
524
- authority,
525
- pathname,
526
- channel,
527
- });
528
- if (row === undefined)
529
- throw new Error(`EntryFind.#addTextRegions: matched entry ${pathname} has no selected channel ${channel}`);
530
- candidates.push({ key: pathname, ...row });
531
- }
512
+ const selections = [...new Set(matches.filter(({ span }) => span !== null).map(({ key }) => key))].map((pathname) => {
513
+ const coordinate = coordinates.get(pathname);
514
+ if (coordinate === undefined)
515
+ throw new Error(`FIND graph result lost coordinate ${pathname}`);
516
+ return { key: pathname, ...coordinate, channel: channelOf(pathname) };
517
+ });
518
+ // One statement reads every matched entry's selected channel.
519
+ const candidates = await ctx.db.find_selected_channels.all({
520
+ workspace_id: ctx.workspaceId,
521
+ scheme,
522
+ selections: JSON.stringify(selections),
523
+ });
524
+ const found = new Set(candidates.map(({ key }) => key));
525
+ const missing = selections.find(({ key }) => !found.has(key));
526
+ if (missing !== undefined)
527
+ throw new Error(`EntryFind.#addTextRegions: matched entry ${missing.key} has no selected channel ${missing.channel}`);
532
528
  const resolved = Matcher.addTextRegions(matches, candidates);
533
529
  // {§find-result-projection} — every addressable finding names the channel
534
530
  // it was located in, so line coordinates cannot be mis-attributed across
535
531
  // channels of the same resource.
536
- return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges.map((range) => ({ channel, ...range })) }));
532
+ return resolved.map(({ key, matches: ranges }) => ({ pathname: key, matches: ranges.map((range) => ({ channel: channelOf(key), ...range })) }));
537
533
  }
538
534
  // FIND result = the scheme's default-first channel groups, filtered to the matched
539
535
  // entries and kept in match order. FIND is the filtered, navigable slice of that
@@ -563,15 +559,18 @@ export default class EntryFind {
563
559
  const scheme = EntryCrud.identityScheme(manifest);
564
560
  const authoredCoordinate = EntryFind.#scopeCoordinateOf(statement, manifest);
565
561
  const authority = address.authority ?? authoredCoordinate?.authority ?? "";
562
+ const multipleAuthorities = PathSyntax.hasGlob(authority);
563
+ const addressOf = (pathname) => multipleAuthorities
564
+ ? pathname
565
+ : EntryManifest.toPath(scheme, authority, pathname);
566
566
  // The catalog group's default channel carries its bare addressable path;
567
567
  // align each selected resource through the same EntryManifest.toPath the catalog
568
- // uses. Resource order is preserved (rank for ~semantic).
569
- // {§entry-owner} — the alignment draws from the SAME owner the candidates matched, so a
570
- // match never pairs with a coordinate-twin sibling's catalog metadata.
571
- const byPath = new Map((await EntryManifest.catalogRowsFor(ctx, scheme, address.ownerId, authority)).map((r) => [r[0].path, r]));
568
+ // uses. Resource order is preserved (rank for ~full-text).
569
+ // {§entry-owner} A match and its catalog row must have the same full resource identity.
570
+ const byPath = new Map((await EntryManifest.catalogRowsFor({ ...ctx, defaultChannelFor: (name) => name === scheme ? manifest.defaultChannel : ctx.defaultChannelFor?.(name) ?? "body" }, scheme, multipleAuthorities ? undefined : authority)).map((r) => [r[0].path, r]));
572
571
  const resources = [];
573
572
  for (const m of match.matches) {
574
- const row = byPath.get(EntryManifest.toPath(scheme, authority, m.pathname));
573
+ const row = byPath.get(addressOf(m.pathname));
575
574
  if (row === undefined)
576
575
  continue;
577
576
  resources.push({ item: row, match: m });
@@ -581,19 +580,19 @@ export default class EntryFind {
581
580
  // `dir/**` scopes. The summaries are navigation metadata, not hidden
582
581
  // resource matches.
583
582
  const scopes = [];
584
- if (statement.body === null && match.scope !== undefined && match.candidatePathnames !== undefined) {
585
- for (const folder of pathFolderSummaries(match.scope, match.candidatePathnames)) {
583
+ if (statement.matcher === null) {
584
+ for (const folder of match.folders ?? []) {
586
585
  let weight = 0;
587
586
  let items = 0;
588
587
  for (const pathname of folder.pathnames) {
589
- const row = byPath.get(EntryManifest.toPath(scheme, authority, pathname));
588
+ const row = byPath.get(addressOf(pathname));
590
589
  if (row === undefined)
591
590
  continue;
592
591
  items++;
593
592
  weight += row.reduce((sum, channel) => sum + channel.weight, 0);
594
593
  }
595
594
  if (items > 0) {
596
- scopes.push({ path: EntryManifest.toPath(scheme, authority, folder.selector), items, weight });
595
+ scopes.push({ path: addressOf(folder.selector), items, weight });
597
596
  }
598
597
  }
599
598
  }
@@ -605,7 +604,7 @@ export default class EntryFind {
605
604
  // Exact FIND consumes the same selected canonical producer as exact
606
605
  // READ. Query projection remains core-owned, while the durable selected-
607
606
  // channel outcome survives cold and warm acquisition identically.
608
- const stored = await EntryCrud.readEntry({ authority, pathname: address.pathname }, ctx, scheme, address.ownerId);
607
+ const stored = await EntryCrud.readEntry({ authority, pathname: address.pathname }, ctx, scheme);
609
608
  if (stored.status !== 200 || stored.entry === null) {
610
609
  throw new Error(`EntryFind projected exact entry ${address.pathname} but could not read its canonical representation.`);
611
610
  }
@@ -1 +1 @@
1
- {"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,8CAA8C;AAC9C,kFAAkF;AAClF,sFAAsF;AACtF,wFAAwF;AACxF,6EAA6E;AAC7E,qFAAqF;AACrF,4EAA4E;AAC5E,2EAA2E;AAE3E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,gBAAgB,EAAyD,MAAM,0BAA0B,CAAC;AACxJ,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,QAA6B,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,aAAkE,MAAM,sBAAsB,CAAC;AACtG,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,OAAuD,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAkB,MAAM,kBAAkB,CAAC;AAyBpG,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAU,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;IAChB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAkC7D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAe,EAAE,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,EAAE;IACX,gBAAgB,EAAE,CAAC;IACnB,wBAAwB,EAAE,CAAC;IAC3B,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,SAAmC,EAAmB,EAAE;IAClF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,2EAA2E;AAC3E,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,CAAC,KAA2B,EAAU,EAAE,CAAC,gBAAgB,CAC/E,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CACxF,CAAC;IACN,CAAC,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,CACd,CAAC;AAEF,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,SAAwB,EACxB,KAAgB,EAChB,SAA4C,EAC5C,MAAM,GAA4B,EAAE,EAC1B,EAAE;IACZ,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1B,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC;IAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrH,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;UACrF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAiB;QAC1B,gBAAgB;QAChB,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB;QACjB,kBAAkB;KACrB,CAAC;IAEF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;IACvE,IAAI,aAA0B,CAAC;IAC/B,IAAI,YAAY,EAAE,CAAC;QACf,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACJ,MAAM,aAAa,GAAsB;YACrC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAgB,EAAE;gBAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACzC,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,qGAAqG;gBACrG,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrG,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gBACnG,OAAO;oBACH;wBACI,GAAG,IAAI,CAAC,CAAC,CAAC;wBACV,kBAAkB,EAAE,SAAS,CAAC,MAAM;wBACpC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;wBACnD,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;qBACrE;oBACD,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACnB,CAAC;YACN,CAAC,CAAC;YACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SACrD,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,aAAa,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU;QACjD,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI;QAC1D,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAClG,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAe,CAAC;IACtH,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO;YACH,MAAM,EAAE,GAAG;YACX,GAAG,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC7D,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,wBAAwB,GAAG,YAAY;QACzC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,IAAuB,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,OAAO;QACH,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,qDAAqD;QAC1F,QAAQ,EAAE,kBAAkB;QAC5B,OAAO;QACP,gBAAgB;QAChB,wBAAwB;QACxB,iBAAiB;QACjB,kBAAkB;QAClB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,MAAM,CAAC,WAAW,CAAC,MAAc,EAAE,SAAiB,EAAE,QAAgB,EAAE,QAAuB;QAC3F,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAAwB,EAAE,QAAwB;QACxE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,qFAAqF;IACrF,sFAAsF;IACtF,4FAA4F;IAC5F,0FAA0F;IAC1F,iFAAiF;IACjF,0FAA0F;IAC1F,6FAA6F;IAC7F,MAAM,CAAC,KAAK,CAAC,eAAe,CACxB,SAAwB,EACxB,GAAwB,EACxB,QAAwB,EACxB,OAAoB;QAYpB,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,yBAAyB;gBAChC,UAAU,EAAE;oBACR,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,KAAK;iBACnB;aACJ,CAAC;QACN,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;QACpD,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBAClC,QAAQ,CAAC,cAAc;gBACvB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACpC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,QAAQ,QAAQ,CAAC,IAAI,kCAAkC;gBAC9D,UAAU,EAAE;oBACR,MAAM,EAAE,QAAQ,CAAC,IAAI;oBACrB,QAAQ,EAAE,8CAA8C;oBACxD,SAAS,EAAE,KAAK;iBACnB;aACJ,CAAC;QACN,CAAC;QACD,IACI,QAAQ,KAAK,IAAI;eACd,QAAQ,KAAK,QAAQ,CAAC,cAAc;eACpC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAChD,CAAC;YACC,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,YAAY,QAAQ,4BAA4B,QAAQ,CAAC,IAAI,WAAW;gBAC/E,UAAU,EAAE;oBACR,gBAAgB,EAAE,QAAQ;oBAC1B,iBAAiB;oBACjB,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;wBAC9B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,QAAQ,EAAE,sCAAsC,iBAAiB;iCAC5D,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;iCACnC,IAAI,CAAC,IAAI,CAAC,GAAG;yBACrB,CAAC;oBACN,SAAS,EAAE,KAAK;iBACnB;aACJ,CAAC;QACN,CAAC;QACD,2EAA2E;QAC3E,qFAAqF;QACrF,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,kBAAkB,EAAE,QAAQ,IAAI,IAAI,CAAC;QAC/E,MAAM,KAAK,GAAG,aAAa,KAAK,IAAI;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;QAC/D,sEAAsE;QACtE,uCAAuC;QACvC,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAiB;gBACrE,YAAY,EAAE,GAAG,CAAC,WAAW;gBAC7B,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;aAC9C,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClF,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,sBAAsB,MAAM,GAAG;oBACtC,UAAU,EAAE,EAAE,MAAM,EAAE;iBACzB,CAAC;YACN,CAAC;QACL,CAAC;QACD,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;QAKhC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC;QACxD,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAY;YAC1H,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,MAAM;YACN,SAAS;YACT,OAAO;YACP,YAAY,EAAE,KAAK,EAAE,eAAe,IAAI,IAAI;SAC/C,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;YACxG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,kBAAkB,aAAa,IAAI,EAAE,iBAAiB;oBAC7D,UAAU,EAAE;wBACR,MAAM,EAAE,aAAa,IAAI,EAAE;wBAC3B,QAAQ,EAAE,0BAA0B;wBACpC,SAAS,EAAE,KAAK;qBACnB;iBACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjE,SAAS;gBACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;aACtD,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClF,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,sBAAsB,MAAM,GAAG;gBACtC,UAAU,EAAE,EAAE,MAAM,EAAE;aACzB,CAAC;QACN,CAAC;QAED,gEAAgE;QAChE,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,OAAgB,CAAC;QACrB,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACnE,gFAAgF;YAChF,qFAAqF;YACrF,mFAAmF;YACnF,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAC1B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,oDAAoD;oBAC3D,UAAU,EAAE;wBACR,KAAK,EAAE,iBAAiB;wBACxB,SAAS,EAAE,KAAK;qBACnB;iBACJ,CAAC;YACN,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,uBAAuB,CACxC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACxF,CAAC;YACF,IAAI,YAAY,CAAC,KAAK,KAAK,YAAY;gBAAE,OAAO;oBAC5C,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,sCAAsC,YAAY,CAAC,OAAO,OAAO,YAAY,CAAC,KAAK,oBAAoB;oBAC9G,UAAU,EAAE;wBACR,MAAM,EAAE,YAAY;wBACpB,KAAK,EAAE,cAAc;wBACrB,QAAQ,EAAE,mEAAmE;wBAC7E,SAAS,EAAE,IAAI;qBAClB;iBACJ,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAC7C,GAAG,EACH,YAAY,CAAC,UAAU,EACvB,SAAS,CAAC,IAAI,CAAC,GAAG,EAClB,SAAS,CACZ,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG;wBACxB,CAAC,CAAC,6DAA6D;wBAC/D,CAAC,CAAC,oEAAoE;oBAC1E,UAAU,EAAE;wBACR,KAAK,EAAE,iBAAiB;wBACxB,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;wBAC3E,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,GAAG;4BAC3B,CAAC,CAAC,2EAA2E;4BAC7E,CAAC,CAAC,iEAAiE;wBACvE,SAAS,EAAE,KAAK;qBACnB;iBACJ,CAAC;YACN,CAAC;YACD,OAAO,GAAG,MAAM,SAAS,CAAC,eAAe,CACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC;gBAC7C,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;gBACpD,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aAClD,CAAC,CAAC,EACH,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,CAAC,OAAO,CAClB,CAAC;QACN,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC5C,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO;oBACvD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,yEAAyE;oBAChF,UAAU,EAAE;wBACR,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,KAAK;qBACnB;iBACJ,CAAC;YACF,uFAAuF;YACvF,sFAAsF;YACtF,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,uBAAuB,CAC5C,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACxF,CAAC;YACF,IAAI,gBAAgB,CAAC,KAAK,KAAK,YAAY;gBAAE,OAAO;oBAChD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,sCAAsC,gBAAgB,CAAC,OAAO,OAAO,gBAAgB,CAAC,KAAK,oBAAoB;oBACtH,UAAU,EAAE;wBACR,MAAM,EAAE,gBAAgB;wBACxB,KAAK,EAAE,cAAc;wBACrB,QAAQ,EAAE,mEAAmE;wBAC7E,SAAS,EAAE,IAAI;qBAClB;iBACJ,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,oCAAoC,CAAC,GAAG,CAA4C;gBAClH,YAAY,EAAE,GAAG,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,uBAAuB,CACpC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAC3E,CAAC;YACF,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY;gBAAE,OAAO;oBACxC,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,sCAAsC,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,KAAK,wCAAwC;oBAC1H,UAAU,EAAE;wBACR,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,cAAc;wBACrB,QAAQ,EAAE,mEAAmE;wBAC7E,SAAS,EAAE,IAAI;qBAClB;iBACJ,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,eAAe,CAC1C,GAAG,CAAC,EAAE,EACN,QAAQ,CAAC,UAAU,EACnB,gBAAgB,CAAC,UAAU,EAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,CACrB,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACH,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,yEAAyE;oBAChF,UAAU,EAAE;wBACR,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,KAAK;qBACnB;iBACJ,CAAC;YACN,CAAC;YACD,OAAO,GAAG,MAAM,SAAS,CAAC,eAAe,CACrC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC;gBAC5C,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;aACvD,CAAC,CAAC,EACH,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,CAAC,OAAO,CAClB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAC1B,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;YACjI,yFAAyF;YACzF,4EAA4E;YAC5E,MAAM,cAAc,GAA8D,EAAE,CAAC;YACrF,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,8FAA8F;YAC9F,6FAA6F;YAC7F,+FAA+F;YAC/F,iGAAiG;YACjG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;YACnD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBACvI,IAAI,MAAM,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC/D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;wBAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;yBAC5D,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;wBACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAChC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzE,CAAC;gBACL,CAAC;;oBAAM,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,QAAgB,EAAc,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC;YACtG,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC;gBACjC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAoE,EAAE;gBAChG,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO;oBACzB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,CAAC,OAAO;iBACrB,CAAC;YACF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC;gBAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAa,EAAE;gBACzC,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACpG,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO;oBACpC,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,YAAY,CAAC,OAAO;iBAChC,CAAC;YACF,OAAO,GAAG;gBACN,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzB,QAAQ,EAAE,KAAK,CAAC,GAAG;oBACnB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;iBACvE,CAAC,CAAC;gBACH,GAAG,YAAY,CAAC,OAAO;aAC1B,CAAC;QACN,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;IACxJ,CAAC;IAED,2FAA2F;IAC3F,0FAA0F;IAC1F,6FAA6F;IAC7F,sEAAsE;IACtE,MAAM,CAAC,KAAK,CAAC,WAAW,CACpB,IAAwC,EACxC,SAA4B,EAC5B,OAAyC,EACzC,SAAwD,EACxD,OAAe;QAEf,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO,CACpB,aAAa,EACb,iBAAiB,EACjB,GAAG,EACH,IAAI,QAAQ,WAAW,KAAK,sCAAsC,OAAO,GAAG,EAC5E,EAAE,EACF,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CACjD,CAAC,OAAO;iBACZ,CAAC;YACN,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;YACjH,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;gBAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,SAAS;YAClE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3I,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CACxB,OAAwC,EACxC,GAAwB,EACxB,QAAwB,EACxB,OAAe,EACf,SAAiB,EACjB,OAAe;QAEf,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,UAAU,GAA8D,EAAE,CAAC;QACjF,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAwC;gBACjF,YAAY,EAAE,GAAG,CAAC,WAAW;gBAC7B,QAAQ,EAAE,OAAO;gBACjB,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,OAAO;aACV,CAAC,CAAC;YACH,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,4BAA4B,OAAO,EAAE,CAAC,CAAC;YAClI,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC7D,0EAA0E;QAC1E,yEAAyE;QACzE,iCAAiC;QACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpI,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,kFAAkF;IAClF,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC7B,SAAwB,EACxB,GAAwB,EACxB,QAAwB,EACxB,OAAoB;QAEpB,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/E,gFAAgF;QAChF,6DAA6D;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,cAAc,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC5G,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,GAAG,KAAK;iBACX,CAAe,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,CAAC,MAAM,2CAA2C,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAClB,UAAU,QAAQ,CAAC,IAAI,EAAE,EACzB,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC,EACzH,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,KAAK,EACX,KAAK,EACL,KAAK,CAAC,UAAU,CACL,CAAC;QACpB,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3E,yEAAyE;QACzE,iFAAiF;QACjF,0DAA0D;QAC1D,wFAAwF;QACxF,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,aAAa,CAAC,cAAc,CACtD,GAAG,EACH,MAAM,EACN,OAAO,CAAC,OAAO,EACf,SAAS,CACZ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,oBAAoB;QACpB,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACjG,KAAK,MAAM,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9E,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC1E,IAAI,GAAG,KAAK,SAAS;wBAAE,SAAS;oBAChC,KAAK,EAAE,CAAC;oBACR,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/E,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAErD,oEAAoE;QACpE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CACpC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EACzC,GAAG,EACH,MAAM,EACN,OAAO,CAAC,OAAO,CAClB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACX,mCAAmC,OAAO,CAAC,QAAQ,mDAAmD,CACzG,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACxG,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;QAC5E,OAAO,cAAc,KAAK,SAAS;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,cAAc;gBACjB,GAAG,SAAS;gBACZ,MAAM,EAAE,cAAc,CAAC,MAAM;aAChC,CAAe,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"_entry-find.js","sourceRoot":"","sources":["../../src/schemes/_entry-find.ts"],"names":[],"mappings":"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"}