@faicad/faijs 0.16.1 → 0.18.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 (498) hide show
  1. package/LICENSE +4 -5
  2. package/NOTICE +5 -6
  3. package/dist/api/api-namespace.d.ts.map +1 -1
  4. package/dist/api/api-namespace.js +20 -2
  5. package/dist/api/api-namespace.js.map +1 -1
  6. package/dist/api/assembly/entities.d.ts +1 -1
  7. package/dist/api/assembly/entities.d.ts.map +1 -1
  8. package/dist/api/assembly/entities.js.map +1 -1
  9. package/dist/api/assembly/joints.d.ts +2 -2
  10. package/dist/api/assembly/joints.d.ts.map +1 -1
  11. package/dist/api/assembly/joints.js +2 -2
  12. package/dist/api/assembly/joints.js.map +1 -1
  13. package/dist/api/assembly/lower.d.ts +1 -1
  14. package/dist/api/assembly/lower.d.ts.map +1 -1
  15. package/dist/api/assembly/lower.js.map +1 -1
  16. package/dist/api/assembly/pose.d.ts +3 -3
  17. package/dist/api/assembly/pose.d.ts.map +1 -1
  18. package/dist/api/assembly/pose.js +1 -1
  19. package/dist/api/assembly/pose.js.map +1 -1
  20. package/dist/api/assembly/preview.d.ts +1 -1
  21. package/dist/api/assembly/preview.d.ts.map +1 -1
  22. package/dist/api/assembly/preview.js +1 -1
  23. package/dist/api/assembly/preview.js.map +1 -1
  24. package/dist/api/assembly/solve.d.ts.map +1 -1
  25. package/dist/api/assembly/solve.js +3 -3
  26. package/dist/api/assembly/solve.js.map +1 -1
  27. package/dist/api/assembly/solvers/assembly-tree.d.ts +98 -0
  28. package/dist/api/assembly/solvers/assembly-tree.d.ts.map +1 -0
  29. package/dist/api/assembly/solvers/assembly-tree.js +130 -0
  30. package/dist/api/assembly/solvers/assembly-tree.js.map +1 -0
  31. package/dist/api/assembly/solvers/chain-solver.d.ts +27 -0
  32. package/dist/api/assembly/solvers/chain-solver.d.ts.map +1 -0
  33. package/dist/api/assembly/solvers/chain-solver.js +330 -0
  34. package/dist/api/assembly/solvers/chain-solver.js.map +1 -0
  35. package/dist/api/assembly/solvers/global-solver.js +2 -2
  36. package/dist/api/assembly/solvers/global-solver.js.map +1 -1
  37. package/dist/api/assembly/solvers/joints-kinematics.d.ts +308 -0
  38. package/dist/api/assembly/solvers/joints-kinematics.d.ts.map +1 -0
  39. package/dist/api/assembly/solvers/joints-kinematics.js +643 -0
  40. package/dist/api/assembly/solvers/joints-kinematics.js.map +1 -0
  41. package/dist/api/assembly/solvers/quat.d.ts +35 -0
  42. package/dist/api/assembly/solvers/quat.d.ts.map +1 -0
  43. package/dist/api/assembly/solvers/quat.js +84 -0
  44. package/dist/api/assembly/solvers/quat.js.map +1 -0
  45. package/dist/api/assembly/solvers/types.d.ts +33 -0
  46. package/dist/api/assembly/solvers/types.d.ts.map +1 -1
  47. package/dist/api/assembly/solvers/types.js.map +1 -1
  48. package/dist/api/boolean.d.ts.map +1 -1
  49. package/dist/api/boolean.js +66 -29
  50. package/dist/api/boolean.js.map +1 -1
  51. package/dist/api/brep-mirror/booleanFns.d.ts +40 -0
  52. package/dist/api/brep-mirror/booleanFns.d.ts.map +1 -0
  53. package/dist/api/brep-mirror/booleanFns.js +104 -0
  54. package/dist/api/brep-mirror/booleanFns.js.map +1 -0
  55. package/dist/api/brep-mirror/brepHelpers.d.ts +55 -0
  56. package/dist/api/brep-mirror/brepHelpers.d.ts.map +1 -0
  57. package/dist/api/brep-mirror/brepHelpers.js +131 -0
  58. package/dist/api/brep-mirror/brepHelpers.js.map +1 -0
  59. package/dist/api/brep-mirror/compoundFns.d.ts +47 -0
  60. package/dist/api/brep-mirror/compoundFns.d.ts.map +1 -0
  61. package/dist/api/brep-mirror/compoundFns.js +300 -0
  62. package/dist/api/brep-mirror/compoundFns.js.map +1 -0
  63. package/dist/api/brep-mirror/healingFns.d.ts +78 -0
  64. package/dist/api/brep-mirror/healingFns.d.ts.map +1 -0
  65. package/dist/api/brep-mirror/healingFns.js +294 -0
  66. package/dist/api/brep-mirror/healingFns.js.map +1 -0
  67. package/dist/api/brep-mirror/hullFns.d.ts +20 -0
  68. package/dist/api/brep-mirror/hullFns.d.ts.map +1 -0
  69. package/dist/api/brep-mirror/hullFns.js +46 -0
  70. package/dist/api/brep-mirror/hullFns.js.map +1 -0
  71. package/dist/api/brep-mirror/patternFns.d.ts +43 -0
  72. package/dist/api/brep-mirror/patternFns.d.ts.map +1 -0
  73. package/dist/api/brep-mirror/patternFns.js +178 -0
  74. package/dist/api/brep-mirror/patternFns.js.map +1 -0
  75. package/dist/api/brep-mirror/primitiveFns.d.ts +42 -0
  76. package/dist/api/brep-mirror/primitiveFns.d.ts.map +1 -0
  77. package/dist/api/brep-mirror/primitiveFns.js +104 -0
  78. package/dist/api/brep-mirror/primitiveFns.js.map +1 -0
  79. package/dist/api/brep-mirror/roofFns.d.ts +24 -0
  80. package/dist/api/brep-mirror/roofFns.d.ts.map +1 -0
  81. package/dist/api/brep-mirror/roofFns.js +229 -0
  82. package/dist/api/brep-mirror/roofFns.js.map +1 -0
  83. package/dist/api/brep-mirror/straightSkeleton.d.ts +36 -0
  84. package/dist/api/brep-mirror/straightSkeleton.d.ts.map +1 -0
  85. package/dist/api/brep-mirror/straightSkeleton.js +443 -0
  86. package/dist/api/brep-mirror/straightSkeleton.js.map +1 -0
  87. package/dist/api/brep-mirror/sweepFns.d.ts +55 -0
  88. package/dist/api/brep-mirror/sweepFns.d.ts.map +1 -0
  89. package/dist/api/brep-mirror/sweepFns.js +200 -0
  90. package/dist/api/brep-mirror/sweepFns.js.map +1 -0
  91. package/dist/api/brep-mirror/threadFns.d.ts +15 -0
  92. package/dist/api/brep-mirror/threadFns.d.ts.map +1 -1
  93. package/dist/api/brep-mirror/threadFns.js +37 -2
  94. package/dist/api/brep-mirror/threadFns.js.map +1 -1
  95. package/dist/api/brep-mirror/topologyFns.d.ts +74 -0
  96. package/dist/api/brep-mirror/topologyFns.d.ts.map +1 -0
  97. package/dist/api/brep-mirror/topologyFns.js +276 -0
  98. package/dist/api/brep-mirror/topologyFns.js.map +1 -0
  99. package/dist/api/brep-topology.d.ts +190 -0
  100. package/dist/api/brep-topology.d.ts.map +1 -0
  101. package/dist/api/brep-topology.js +337 -0
  102. package/dist/api/brep-topology.js.map +1 -0
  103. package/dist/api/brepjs-compat/constants.d.ts +11 -0
  104. package/dist/api/brepjs-compat/constants.d.ts.map +1 -0
  105. package/dist/api/brepjs-compat/constants.js +11 -0
  106. package/dist/api/brepjs-compat/constants.js.map +1 -0
  107. package/dist/api/brepjs-compat/index.d.ts +19 -232
  108. package/dist/api/brepjs-compat/index.d.ts.map +1 -1
  109. package/dist/api/brepjs-compat/index.js +19 -286
  110. package/dist/api/brepjs-compat/index.js.map +1 -1
  111. package/dist/api/brepjs-compat/planeOps.d.ts +98 -0
  112. package/dist/api/brepjs-compat/planeOps.d.ts.map +1 -0
  113. package/dist/api/brepjs-compat/planeOps.js +170 -0
  114. package/dist/api/brepjs-compat/planeOps.js.map +1 -0
  115. package/dist/api/brepjs-compat/planeTypes.d.ts +24 -0
  116. package/dist/api/brepjs-compat/planeTypes.d.ts.map +1 -0
  117. package/dist/api/brepjs-compat/planeTypes.js +8 -0
  118. package/dist/api/brepjs-compat/planeTypes.js.map +1 -0
  119. package/dist/api/brepjs-compat/types.d.ts +64 -0
  120. package/dist/api/brepjs-compat/types.d.ts.map +1 -0
  121. package/dist/api/brepjs-compat/types.js +48 -0
  122. package/dist/api/brepjs-compat/types.js.map +1 -0
  123. package/dist/api/brepjs-compat/vecOps.d.ts +124 -0
  124. package/dist/api/brepjs-compat/vecOps.d.ts.map +1 -0
  125. package/dist/api/brepjs-compat/vecOps.js +202 -0
  126. package/dist/api/brepjs-compat/vecOps.js.map +1 -0
  127. package/dist/api/chamfer.d.ts +12 -3
  128. package/dist/api/chamfer.d.ts.map +1 -1
  129. package/dist/api/chamfer.js +54 -20
  130. package/dist/api/chamfer.js.map +1 -1
  131. package/dist/api/compound-geom.d.ts.map +1 -1
  132. package/dist/api/compound-geom.js +8 -2
  133. package/dist/api/compound-geom.js.map +1 -1
  134. package/dist/api/draft.d.ts +69 -0
  135. package/dist/api/draft.d.ts.map +1 -0
  136. package/dist/api/draft.js +109 -0
  137. package/dist/api/draft.js.map +1 -0
  138. package/dist/api/edge-ref.d.ts.map +1 -1
  139. package/dist/api/edge-ref.js +2 -2
  140. package/dist/api/edge-ref.js.map +1 -1
  141. package/dist/api/engrave.d.ts.map +1 -1
  142. package/dist/api/engrave.js +2 -3
  143. package/dist/api/engrave.js.map +1 -1
  144. package/dist/api/extrude.d.ts.map +1 -1
  145. package/dist/api/extrude.js +44 -14
  146. package/dist/api/extrude.js.map +1 -1
  147. package/dist/api/face-ref.d.ts.map +1 -1
  148. package/dist/api/face-ref.js +2 -2
  149. package/dist/api/face-ref.js.map +1 -1
  150. package/dist/api/feature-repair.d.ts +137 -0
  151. package/dist/api/feature-repair.d.ts.map +1 -0
  152. package/dist/api/feature-repair.js +221 -0
  153. package/dist/api/feature-repair.js.map +1 -0
  154. package/dist/api/fillet-variable.d.ts +35 -0
  155. package/dist/api/fillet-variable.d.ts.map +1 -0
  156. package/dist/api/fillet-variable.js +71 -0
  157. package/dist/api/fillet-variable.js.map +1 -0
  158. package/dist/api/fillet.d.ts +3 -0
  159. package/dist/api/fillet.d.ts.map +1 -1
  160. package/dist/api/fillet.js +7 -4
  161. package/dist/api/fillet.js.map +1 -1
  162. package/dist/api/generated/2d.d.ts +1 -13
  163. package/dist/api/generated/2d.d.ts.map +1 -1
  164. package/dist/api/generated/2d.js +6 -1
  165. package/dist/api/generated/2d.js.map +1 -1
  166. package/dist/api/generated/brepjs/index.d.ts +298 -298
  167. package/dist/api/generated/brepjs/index.d.ts.map +1 -1
  168. package/dist/api/generated/brepjs/index.js +183 -183
  169. package/dist/api/generated/brepjs/index.js.map +1 -1
  170. package/dist/api/generated/core.d.ts +3 -123
  171. package/dist/api/generated/core.d.ts.map +1 -1
  172. package/dist/api/generated/core.js +2 -81
  173. package/dist/api/generated/core.js.map +1 -1
  174. package/dist/api/generated/gear.d.ts +1 -15
  175. package/dist/api/generated/gear.d.ts.map +1 -1
  176. package/dist/api/generated/gear.js +6 -3
  177. package/dist/api/generated/gear.js.map +1 -1
  178. package/dist/api/generated/io.d.ts +1 -13
  179. package/dist/api/generated/io.d.ts.map +1 -1
  180. package/dist/api/generated/io.js +6 -1
  181. package/dist/api/generated/io.js.map +1 -1
  182. package/dist/api/generated/kernel.d.ts +1 -39
  183. package/dist/api/generated/kernel.d.ts.map +1 -1
  184. package/dist/api/generated/kernel.js +6 -4
  185. package/dist/api/generated/kernel.js.map +1 -1
  186. package/dist/api/generated/measurement.d.ts +53 -97
  187. package/dist/api/generated/measurement.d.ts.map +1 -1
  188. package/dist/api/generated/measurement.js +48 -143
  189. package/dist/api/generated/measurement.js.map +1 -1
  190. package/dist/api/generated/ns.d.ts +1 -10
  191. package/dist/api/generated/ns.d.ts.map +1 -1
  192. package/dist/api/generated/ns.js +2 -10
  193. package/dist/api/generated/ns.js.map +1 -1
  194. package/dist/api/generated/operations.d.ts +65 -110
  195. package/dist/api/generated/operations.d.ts.map +1 -1
  196. package/dist/api/generated/operations.js +132 -80
  197. package/dist/api/generated/operations.js.map +1 -1
  198. package/dist/api/generated/projection.d.ts +1 -8
  199. package/dist/api/generated/projection.d.ts.map +1 -1
  200. package/dist/api/generated/projection.js +6 -4
  201. package/dist/api/generated/projection.js.map +1 -1
  202. package/dist/api/generated/query.d.ts +1 -9
  203. package/dist/api/generated/query.d.ts.map +1 -1
  204. package/dist/api/generated/query.js +6 -1
  205. package/dist/api/generated/query.js.map +1 -1
  206. package/dist/api/generated/script-face-manifest.d.ts +2 -0
  207. package/dist/api/generated/script-face-manifest.d.ts.map +1 -1
  208. package/dist/api/generated/script-face-manifest.js +22 -10
  209. package/dist/api/generated/script-face-manifest.js.map +1 -1
  210. package/dist/api/generated/script-face.d.ts +52 -27
  211. package/dist/api/generated/script-face.d.ts.map +1 -1
  212. package/dist/api/generated/script-face.js +18 -4
  213. package/dist/api/generated/script-face.js.map +1 -1
  214. package/dist/api/generated/sketching.d.ts +4 -7
  215. package/dist/api/generated/sketching.d.ts.map +1 -1
  216. package/dist/api/generated/sketching.js +10 -8
  217. package/dist/api/generated/sketching.js.map +1 -1
  218. package/dist/api/generated/text.d.ts +1 -6
  219. package/dist/api/generated/text.d.ts.map +1 -1
  220. package/dist/api/generated/text.js +6 -3
  221. package/dist/api/generated/text.js.map +1 -1
  222. package/dist/api/generated/topology.d.ts +77 -175
  223. package/dist/api/generated/topology.d.ts.map +1 -1
  224. package/dist/api/generated/topology.js +172 -131
  225. package/dist/api/generated/topology.js.map +1 -1
  226. package/dist/api/geom.d.ts.map +1 -1
  227. package/dist/api/geom.js +2 -2
  228. package/dist/api/geom.js.map +1 -1
  229. package/dist/api/helix.d.ts +51 -0
  230. package/dist/api/helix.d.ts.map +1 -0
  231. package/dist/api/helix.js +63 -0
  232. package/dist/api/helix.js.map +1 -0
  233. package/dist/api/import-step.d.ts.map +1 -1
  234. package/dist/api/import-step.js +6 -2
  235. package/dist/api/import-step.js.map +1 -1
  236. package/dist/api/index.d.ts +20 -6
  237. package/dist/api/index.d.ts.map +1 -1
  238. package/dist/api/index.js +30 -13
  239. package/dist/api/index.js.map +1 -1
  240. package/dist/api/internal/compat-op.d.ts +10 -0
  241. package/dist/api/internal/compat-op.d.ts.map +1 -1
  242. package/dist/api/internal/compat-op.js +9 -3
  243. package/dist/api/internal/compat-op.js.map +1 -1
  244. package/dist/api/internal/compat-projection.d.ts +4 -4
  245. package/dist/api/internal/compat-projection.js +7 -7
  246. package/dist/api/internal/compat-projection.js.map +1 -1
  247. package/dist/api/internal/l3-bridge.d.ts +75 -42
  248. package/dist/api/internal/l3-bridge.d.ts.map +1 -1
  249. package/dist/api/internal/l3-bridge.js +105 -50
  250. package/dist/api/internal/l3-bridge.js.map +1 -1
  251. package/dist/api/internal/profile-wire.d.ts +31 -0
  252. package/dist/api/internal/profile-wire.d.ts.map +1 -0
  253. package/dist/api/internal/profile-wire.js +37 -0
  254. package/dist/api/internal/profile-wire.js.map +1 -0
  255. package/dist/api/internal/replica-role-table.js +2 -2
  256. package/dist/api/internal/replica-role-table.js.map +1 -1
  257. package/dist/api/loft.d.ts +66 -0
  258. package/dist/api/loft.d.ts.map +1 -0
  259. package/dist/api/loft.js +111 -0
  260. package/dist/api/loft.js.map +1 -0
  261. package/dist/api/measurement/index.d.ts +51 -0
  262. package/dist/api/measurement/index.d.ts.map +1 -0
  263. package/dist/api/measurement/index.js +71 -0
  264. package/dist/api/measurement/index.js.map +1 -0
  265. package/dist/api/occt-kernel-bridge.d.ts +5 -8
  266. package/dist/api/occt-kernel-bridge.d.ts.map +1 -1
  267. package/dist/api/occt-kernel-bridge.js +18 -14
  268. package/dist/api/occt-kernel-bridge.js.map +1 -1
  269. package/dist/api/pattern.d.ts.map +1 -1
  270. package/dist/api/pattern.js +3 -4
  271. package/dist/api/pattern.js.map +1 -1
  272. package/dist/api/place.d.ts.map +1 -1
  273. package/dist/api/place.js +2 -4
  274. package/dist/api/place.js.map +1 -1
  275. package/dist/api/primitives.d.ts.map +1 -1
  276. package/dist/api/primitives.js +3 -4
  277. package/dist/api/primitives.js.map +1 -1
  278. package/dist/api/profile.d.ts +89 -0
  279. package/dist/api/profile.d.ts.map +1 -0
  280. package/dist/api/profile.js +194 -0
  281. package/dist/api/profile.js.map +1 -0
  282. package/dist/api/replicate.d.ts +28 -1
  283. package/dist/api/replicate.d.ts.map +1 -1
  284. package/dist/api/replicate.js +34 -23
  285. package/dist/api/replicate.js.map +1 -1
  286. package/dist/api/result.d.ts +6 -11
  287. package/dist/api/result.d.ts.map +1 -1
  288. package/dist/api/result.js +6 -11
  289. package/dist/api/result.js.map +1 -1
  290. package/dist/api/revolve.d.ts.map +1 -1
  291. package/dist/api/revolve.js +15 -14
  292. package/dist/api/revolve.js.map +1 -1
  293. package/dist/api/screw.d.ts +3 -0
  294. package/dist/api/screw.d.ts.map +1 -1
  295. package/dist/api/screw.js +9 -4
  296. package/dist/api/screw.js.map +1 -1
  297. package/dist/api/sdf.d.ts +1 -1
  298. package/dist/api/section-by-plane.d.ts +42 -0
  299. package/dist/api/section-by-plane.d.ts.map +1 -0
  300. package/dist/api/section-by-plane.js +61 -0
  301. package/dist/api/section-by-plane.js.map +1 -0
  302. package/dist/api/shell.d.ts +45 -0
  303. package/dist/api/shell.d.ts.map +1 -0
  304. package/dist/api/shell.js +73 -0
  305. package/dist/api/shell.js.map +1 -0
  306. package/dist/api/sketch.d.ts +8 -1
  307. package/dist/api/sketch.d.ts.map +1 -1
  308. package/dist/api/sketch.js +12 -7
  309. package/dist/api/sketch.js.map +1 -1
  310. package/dist/api/split-by-plane.d.ts +41 -0
  311. package/dist/api/split-by-plane.d.ts.map +1 -0
  312. package/dist/api/split-by-plane.js +60 -0
  313. package/dist/api/split-by-plane.js.map +1 -0
  314. package/dist/api/split.d.ts +6 -1
  315. package/dist/api/split.d.ts.map +1 -1
  316. package/dist/api/split.js +23 -9
  317. package/dist/api/split.js.map +1 -1
  318. package/dist/api/surface/arg-spec.d.ts +22 -0
  319. package/dist/api/surface/arg-spec.d.ts.map +1 -1
  320. package/dist/api/surface/arg-spec.js +729 -477
  321. package/dist/api/surface/arg-spec.js.map +1 -1
  322. package/dist/api/sweep.d.ts +55 -0
  323. package/dist/api/sweep.d.ts.map +1 -0
  324. package/dist/api/sweep.js +86 -0
  325. package/dist/api/sweep.js.map +1 -0
  326. package/dist/api/thicken.d.ts +36 -0
  327. package/dist/api/thicken.d.ts.map +1 -0
  328. package/dist/api/thicken.js +55 -0
  329. package/dist/api/thicken.js.map +1 -0
  330. package/dist/api/transform.d.ts +8 -0
  331. package/dist/api/transform.d.ts.map +1 -1
  332. package/dist/api/transform.js +15 -4
  333. package/dist/api/transform.js.map +1 -1
  334. package/dist/api/view/cameraFns.d.ts +48 -0
  335. package/dist/api/view/cameraFns.d.ts.map +1 -0
  336. package/dist/api/view/cameraFns.js +75 -0
  337. package/dist/api/view/cameraFns.js.map +1 -0
  338. package/dist/api/view/projectionPlanes.d.ts +25 -0
  339. package/dist/api/view/projectionPlanes.d.ts.map +1 -0
  340. package/dist/api/view/projectionPlanes.js +30 -0
  341. package/dist/api/view/projectionPlanes.js.map +1 -0
  342. package/dist/api/view/view-camera.d.ts +2 -2
  343. package/dist/api/view/view-camera.d.ts.map +1 -1
  344. package/dist/api/view/view-camera.js +3 -3
  345. package/dist/api/view/view-camera.js.map +1 -1
  346. package/dist/api/view/view-projection.d.ts +9 -6
  347. package/dist/api/view/view-projection.d.ts.map +1 -1
  348. package/dist/api/view/view-projection.js +132 -65
  349. package/dist/api/view/view-projection.js.map +1 -1
  350. package/dist/api/wire.d.ts +45 -0
  351. package/dist/api/wire.d.ts.map +1 -0
  352. package/dist/api/wire.js +96 -0
  353. package/dist/api/wire.js.map +1 -0
  354. package/dist/boolean/creased-normals.d.ts +50 -0
  355. package/dist/boolean/creased-normals.d.ts.map +1 -0
  356. package/dist/boolean/creased-normals.js +114 -0
  357. package/dist/boolean/creased-normals.js.map +1 -0
  358. package/dist/boolean/deriveNormals.d.ts +4 -1
  359. package/dist/boolean/deriveNormals.d.ts.map +1 -1
  360. package/dist/boolean/deriveNormals.js +5 -2
  361. package/dist/boolean/deriveNormals.js.map +1 -1
  362. package/dist/brep/brep-ops.d.ts +6 -0
  363. package/dist/brep/brep-ops.d.ts.map +1 -1
  364. package/dist/brep/brep-ops.js +11 -2
  365. package/dist/brep/brep-ops.js.map +1 -1
  366. package/dist/brep/brep-topology.d.ts +4 -0
  367. package/dist/brep/brep-topology.d.ts.map +1 -1
  368. package/dist/brep/brep-topology.js +4 -0
  369. package/dist/brep/brep-topology.js.map +1 -1
  370. package/dist/brep/engine/adapters/brep-mock.d.ts.map +1 -1
  371. package/dist/brep/engine/adapters/brep-mock.js +79 -59
  372. package/dist/brep/engine/adapters/brep-mock.js.map +1 -1
  373. package/dist/brep/engine/adapters/brepkit.d.ts.map +1 -1
  374. package/dist/brep/engine/adapters/brepkit.js +35 -2
  375. package/dist/brep/engine/adapters/brepkit.js.map +1 -1
  376. package/dist/brep/engine/adapters/occt.d.ts +15 -7
  377. package/dist/brep/engine/adapters/occt.d.ts.map +1 -1
  378. package/dist/brep/engine/adapters/occt.js +64 -167
  379. package/dist/brep/engine/adapters/occt.js.map +1 -1
  380. package/dist/brep/engine/primitives.d.ts +93 -130
  381. package/dist/brep/engine/primitives.d.ts.map +1 -1
  382. package/dist/brep/engine/primitives.js +9 -7
  383. package/dist/brep/engine/primitives.js.map +1 -1
  384. package/dist/brep/engine/types.d.ts +14 -1
  385. package/dist/brep/engine/types.d.ts.map +1 -1
  386. package/dist/brep/engine/types.js +11 -1
  387. package/dist/brep/engine/types.js.map +1 -1
  388. package/dist/brep/export/step.d.ts +3 -0
  389. package/dist/brep/export/step.d.ts.map +1 -1
  390. package/dist/brep/export/step.js +7 -1
  391. package/dist/brep/export/step.js.map +1 -1
  392. package/dist/brep/face-evolution.d.ts +8 -0
  393. package/dist/brep/face-evolution.d.ts.map +1 -1
  394. package/dist/brep/face-evolution.js +15 -3
  395. package/dist/brep/face-evolution.js.map +1 -1
  396. package/dist/brep/handle-bridge.d.ts +20 -2
  397. package/dist/brep/handle-bridge.d.ts.map +1 -1
  398. package/dist/brep/handle-bridge.js +25 -2
  399. package/dist/brep/handle-bridge.js.map +1 -1
  400. package/dist/brepkit-kernel/brepkitKernel.d.ts +25 -5
  401. package/dist/brepkit-kernel/brepkitKernel.d.ts.map +1 -1
  402. package/dist/brepkit-kernel/brepkitKernel.js +782 -218
  403. package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
  404. package/dist/brepkit-kernel/multi-version-test.d.ts +40 -0
  405. package/dist/brepkit-kernel/multi-version-test.d.ts.map +1 -0
  406. package/dist/brepkit-kernel/multi-version-test.js +89 -0
  407. package/dist/brepkit-kernel/multi-version-test.js.map +1 -0
  408. package/dist/cad-runtime/admit-compat-lib.d.ts +6 -1
  409. package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -1
  410. package/dist/cad-runtime/admit-compat-lib.js +5 -1
  411. package/dist/cad-runtime/admit-compat-lib.js.map +1 -1
  412. package/dist/cad-runtime/backend-dispatch.d.ts +9 -3
  413. package/dist/cad-runtime/backend-dispatch.d.ts.map +1 -1
  414. package/dist/cad-runtime/backend-dispatch.js +32 -2
  415. package/dist/cad-runtime/backend-dispatch.js.map +1 -1
  416. package/dist/cad-runtime/direct-executor.d.ts.map +1 -1
  417. package/dist/cad-runtime/direct-executor.js +8 -2
  418. package/dist/cad-runtime/direct-executor.js.map +1 -1
  419. package/dist/cad-runtime/runtime.d.ts +3 -0
  420. package/dist/cad-runtime/runtime.d.ts.map +1 -1
  421. package/dist/cad-runtime/runtime.js +3 -1
  422. package/dist/cad-runtime/runtime.js.map +1 -1
  423. package/dist/define-op.d.ts +18 -2
  424. package/dist/define-op.d.ts.map +1 -1
  425. package/dist/define-op.js +29 -1
  426. package/dist/define-op.js.map +1 -1
  427. package/dist/env-agnostic.d.ts +3 -0
  428. package/dist/env-agnostic.d.ts.map +1 -1
  429. package/dist/env-agnostic.js +7 -0
  430. package/dist/env-agnostic.js.map +1 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +3 -4
  433. package/dist/index.js.map +1 -1
  434. package/dist/lang/symbol-table.generated.d.ts +29 -1
  435. package/dist/lang/symbol-table.generated.d.ts.map +1 -1
  436. package/dist/lang/symbol-table.generated.js +30 -2
  437. package/dist/lang/symbol-table.generated.js.map +1 -1
  438. package/dist/occt-kernel/highLevelApi.d.ts.map +1 -1
  439. package/dist/occt-kernel/highLevelApi.js +6 -3
  440. package/dist/occt-kernel/highLevelApi.js.map +1 -1
  441. package/dist/occt-kernel/hullGeometry.d.ts +31 -0
  442. package/dist/occt-kernel/hullGeometry.d.ts.map +1 -0
  443. package/dist/occt-kernel/hullGeometry.js +319 -0
  444. package/dist/occt-kernel/hullGeometry.js.map +1 -0
  445. package/dist/occt-kernel/hullOps.d.ts +24 -0
  446. package/dist/occt-kernel/hullOps.d.ts.map +1 -0
  447. package/dist/occt-kernel/hullOps.js +52 -0
  448. package/dist/occt-kernel/hullOps.js.map +1 -0
  449. package/dist/occt-kernel/occt-primitives.d.ts +14 -0
  450. package/dist/occt-kernel/occt-primitives.d.ts.map +1 -0
  451. package/dist/occt-kernel/occt-primitives.js +351 -0
  452. package/dist/occt-kernel/occt-primitives.js.map +1 -0
  453. package/dist/occt-kernel/occtKernel.d.ts +14 -6
  454. package/dist/occt-kernel/occtKernel.d.ts.map +1 -1
  455. package/dist/occt-kernel/occtKernel.js +11 -3
  456. package/dist/occt-kernel/occtKernel.js.map +1 -1
  457. package/dist/occt-kernel/topologyExt.js +2 -2
  458. package/dist/occt-kernel/topologyExt.js.map +1 -1
  459. package/dist/primitives/brep-primitives.d.ts +4 -0
  460. package/dist/primitives/brep-primitives.d.ts.map +1 -1
  461. package/dist/primitives/brep-primitives.js +4 -0
  462. package/dist/primitives/brep-primitives.js.map +1 -1
  463. package/dist/result/bug.d.ts +22 -0
  464. package/dist/result/bug.d.ts.map +1 -0
  465. package/dist/result/bug.js +28 -0
  466. package/dist/result/bug.js.map +1 -0
  467. package/dist/result/errors.d.ts +270 -0
  468. package/dist/result/errors.d.ts.map +1 -0
  469. package/dist/result/errors.js +317 -0
  470. package/dist/result/errors.js.map +1 -0
  471. package/dist/result/kernelErrorTranslation.d.ts +21 -0
  472. package/dist/result/kernelErrorTranslation.d.ts.map +1 -0
  473. package/dist/result/kernelErrorTranslation.js +102 -0
  474. package/dist/result/kernelErrorTranslation.js.map +1 -0
  475. package/dist/result/result.d.ts +213 -0
  476. package/dist/result/result.d.ts.map +1 -0
  477. package/dist/result/result.js +336 -0
  478. package/dist/result/result.js.map +1 -0
  479. package/dist/result/vec3.d.ts +12 -0
  480. package/dist/result/vec3.d.ts.map +1 -0
  481. package/dist/result/vec3.js +14 -0
  482. package/dist/result/vec3.js.map +1 -0
  483. package/dist/runtime-state.d.ts +9 -0
  484. package/dist/runtime-state.d.ts.map +1 -1
  485. package/dist/runtime-state.js.map +1 -1
  486. package/dist/sdk.d.ts +3 -1
  487. package/dist/sdk.d.ts.map +1 -1
  488. package/dist/sdk.js +2 -1
  489. package/dist/sdk.js.map +1 -1
  490. package/dist/shape.d.ts +43 -1
  491. package/dist/shape.d.ts.map +1 -1
  492. package/dist/shape.js +57 -1
  493. package/dist/shape.js.map +1 -1
  494. package/dist/topology/naming/geom-hint.js +1 -1
  495. package/dist/topology/naming/geom-hint.js.map +1 -1
  496. package/dist/topology/naming/score.js +1 -1
  497. package/dist/topology/naming/score.js.map +1 -1
  498. package/package.json +6 -16
@@ -1 +1 @@
1
- {"version":3,"file":"arg-spec.js","sourceRoot":"","sources":["../../../src/api/surface/arg-spec.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * arg-spec — L3 投影签名适配表(E5 唯一人工维护点)\n *\n * 设计文档:docs/plans/2026-09-02-faijs-api-surface-completion.md §E5 / §5.2\n *\n * 输入:brepjs `src/index.ts`(upstream-surface.json 已按 §2.6 排除)。\n * 作用:为每个保留符号声明「faijs 面投影方式」。生成器\n * `scripts/gen-l3-surface.ts` 读取本表 + surface 清单,产出\n * `api/generated/<module>.ts`(E5:不手写 699 个;本表之外符号按默认规则推导)。\n *\n * 产出类别(对齐 §5.2 / E5 分类表;生成器按本类判别产出):\n * brep-op : defineOp({ brep }) —— Solid 进出(构造/变换/布尔/修饰)\n * query : 普通导出函数(输入 Shape 借入 brepjs handle → 调 vendored → 返回纯数据;\n * 返回非 Shape,不进 defineOp——先例 api/geom.ts,generated/topology.ts getBounds)\n * pure : 无 Shape 参数的纯函数 → 直接 re-export(不进 defineOp,不是 op)\n * type : `export type { … } from '<vendored>'` re-export\n * skip : 登记跳过(divergence:语义 faijs 面无法表达 / 已由 faijs 既有 op 覆盖),带 reason\n *\n * 双形态(E2):同名符号由生成器注入 `normalizeArgs` 判别器(faijs 对象形态 ↔ brepjs\n * 位置形态),适配表给 faijs 形参映射;本文件首批样本聚焦「faijs 无同名」的纯新增符号,\n * 双形态条目随 §5.1 同名处置逐批加入(P14 分批)。\n *\n * P13a 机制验证样本(4 条,覆盖 type / brep-op 构造 / brep-op 布尔 / query 四类产出路径):\n * 1. Bounds3D — type re-export(topology/shapeFns)\n * 2. torus — brep-op 构造(topology/primitiveFns,faijs 无同名)\n * 3. fuse — brep-op 布尔(topology/booleanFns,faijs 用 union,fuse 无同名)\n * 4. getBounds — query(topology/shapeFns,faijs 用 bbox* 但无同名)\n */\n\n/** 生成器可用的投影方式。 */\nexport type ProjectionKind = 'brep-op' | 'query' | 'pure' | 'type' | 'skip' | 'faijs'\n\nimport type { Provenance } from '../../topology/naming/lineage'\nimport type { BrepCapabilityName } from '../../cad-runtime/backend-dispatch'\n// Re-export for arg-spec consumers.\nexport type { Provenance } from '../../topology/naming/lineage'\n\n/** brep-op / query 的时间线消费声明(透传 defineOp 元数据,G3/G4)。 */\n\n/**\n * faijs 面 query 形参描述(P14 机器签名:生成器按此产出函数签名 + JSDoc @param)。\n * 几何位(geometryArgs 索引)在生成器处以 Shape 覆盖;数值/选项位用 `type` 字段原样声明。\n */\nexport interface QueryParam {\n name: string\n /** 非几何位的类型(如 `number`);几何位由生成器覆写为 `Shape`。 */\n type: string\n /** 是否为可选参数(faijs 面签名 `?`),函数缺省值由 vendored 承担。 */\n optional?: boolean\n /** JSDoc 补充说明。 */\n docs?: string\n}\n\n/**\n * D11 参数双形态分类。\n *\n * - A : 单名双形态(位置形态首参非 plain object,判别式有效,如 box/fuse/torus)。\n * - B1 : 单名单形态(brepjs options 对象即唯一对象形态,无需拆名,如 thread)。\n * - B2 : 双名(brepjs 形态占正名,faijs 对象形态加描述性后缀,如 rotate_euler)。\n */\nexport type FormClass = 'A' | 'B1' | 'B2'\n\n/**\n * 单条投影适配。\n *\n * - `name` faijs 面导出名(= brepjs 符号名;同名冲突已在 §5.1 处置后,寻表登记双形态或改名)。\n * - `source` vendored 树内的来源符号,`<相对 vendored 根的模块路径>#<导出名>`(默认同名)。\n * - `kind` 投影类别(见文件头)。\n * - `module` 分片归属(缺省 'topology',P13 兼容;P14 起逐模块登记)。\n * - `args` brep-op/query:调用约定描述,供生成器产出 JSDoc 与 normalizeArgs 占位;\n * type/pure:无需 args(直接 re-export)。\n * - `params` P20: 机器参数名表(从 args 人读串提取),供双形态归一化判别器 resolveArgs 使用。\n * - `formClass` P20: D11 形态分类(A 单名双形态 / B1 单名单形态 / B2 双名)。\n */\nexport interface ArgSpecEntry {\n name: string\n source: string\n kind: ProjectionKind\n /** 分片归属模块(缺省 'topology')。 */\n module?: string\n /** Human-readable call shape for generated JSDoc. */\n args?: string\n /** For kind 'skip': divergence reason (must be non-empty, §8 O4). */\n reason?: string\n /**\n * Machine bridge hints (P13a mechanism sample).\n * For 'brep-op'/'query': which positional parameters are geometry inputs\n * (0-based indices into the brepjs positional-arg list) that the generated\n * code must borrow via `borrowBrepjsShape`. Non-listed params pass through\n * untouched (numbers / option objects are value params).\n */\n geometryArgs?: number[]\n /**\n * P14: 几何数组位(query)——该索引是 Shape 数组形参,逐元素借入 brepjs handle。\n */\n geometryCollectionArgs?: number[]\n /** For brep-op/query: whether a bool `Result` must be unwrapped (err → throw). Default true for ops/query. */\n returnsResult?: boolean\n /** P14: query 侧 faijs 面形参列表(without the case for pure/type;brep-op 保持位置透传 `...args`)。 */\n queryParams?: QueryParam[]\n /** For query only: the vendored return type name (re-exportable from the entry's module) so the generated function can annotate its return type (the export-JSDoc gate requires an explicit annotation + @returns). */\n returnType?: string\n /** P20: 机器参数名表(按位置顺序),供 dual-form-args resolveArgs 映射对象形态→位置数组。 */\n params?: string[]\n /**\n * Phase 1(Brep 引擎可切换重构):该 brep-op 所需的内核能力名(`BrepCapabilityName`:\n * 族级布尔 / `BrepEvolutionKind` 真名 / `BrepMethodKind` 真名)。透传给 defineOp,\n * 由 backend-dispatch 能力路由做执行前静态判定。依据 Phase 0 能力映射表\n * (api/surface/capability-map.json)逐条填写。\n */\n capabilities?: BrepCapabilityName[]\n /** P20: D11 形态分类(A 单名双形态 / B1 单名单形态 / B2 双名)。 */\n formClass?: FormClass\n /**\n * P23: 是否投进 cad 脚本面(§4.2 ②:`cad.*` = ① 面全量**语句级 op** 经\n * compatOp 包装)。缺省 false——入参/出参含 Face/Edge/Wire 子形状句柄的\n * 符号不进脚本面(§6.1),query 返回纯数据也留在 TS 面。\n * 生成器据此产出 api/generated/script-face.ts + script-face-manifest.ts。\n */\n scriptFace?: boolean\n /**\n * Topology identity provenance declaration (plan §4.4 / Phase 2.1).\n * Required for `kind==='brep-op' && scriptFace===true` (generator guard, 2.2);\n * encodes the op's face-mapping category + new-face vocabulary.\n * `import type` from lineage.ts — pure type, no runtime circular dep.\n */\n naming?: Provenance\n}\n\n/**\n * 首批机制验证样本(P13a)。每个样本都选了 faijs 无同名、brepjs 有完整实现的符号,\n * 生成产物可立即 typecheck 并桥接 vendored 跑通(E5 模板:句柄借入 → 调 vendored →\n * Result 翻转 → fromBrep 所有权转入)。\n */\nexport const ARG_SPEC: ArgSpecEntry[] = [\n {\n name: 'Bounds3D',\n source: 'topology/shapeFns.js#Bounds3D',\n kind: 'type',\n },\n {\n name: 'torus',\n source: 'topology/primitiveFns.js#torus',\n kind: 'brep-op',\n capabilities: [\"dispose\",\"makeTorus\"],\n args: '(majorRadius: number, minorRadius: number, options?: TorusOptions)',\n // 构造类:无几何输入(纯数值参数),brepjs 返回裸 ValidSolid(非 Result)。\n geometryArgs: [],\n returnsResult: false,\n params: ['majorRadius', 'minorRadius', 'options'],\n formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n name: 'fuse',\n source: 'topology/booleanFns.js#fuse',\n kind: 'brep-op',\n capabilities: [\"dispose\",\"fuse\",\"fuseWithHistory\",\"isNull\"],\n args: '(a: Shape3D, b: Shape3D, options?: BooleanOptions) -> Result<Shape3D>',\n // 两个输入都是 faijs Shape → 借入 brepjs handle;第三参 options 透传。\n geometryArgs: [0, 1],\n returnsResult: true,\n params: ['a', 'b', 'options'],\n formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'getBounds',\n source: 'topology/shapeFns.js#getBounds',\n kind: 'query',\n args: '(shape: AnyShape) -> Bounds3D',\n // 查询:输入 Shape(借入),返回纯数据 Bounds3D → 不进 defineOp(直接导出函数)。\n geometryArgs: [0],\n returnsResult: false,\n returnType: 'Bounds3D',\n params: ['shape'],\n formClass: 'A',\n },\n\n // ──── P14 第一片:measurement 模块(21 符号,全 query/type,无 brep-op)────\n // 归属模块 measurement:产物 api/generated/measurement.ts。\n // 说明:测量模块全部符号都是「Shape 进 → 纯数据出」的无副作用查询;唯一例外\n // createDistanceQuery(状态化查询工具,闭包引用外部 referenceShape,faijs 面无法\n // 静态建模,登记 skip)。type 侧 8 个类型全部 re-export;query 侧返回类型由生成器\n // `import type` 引入(CurvatureResult 等来自 measureFns / interferenceFns)。\n\n // 8 × type 基础设施\n {\n name: 'CurvatureResult',\n source: 'measurement/measureFns.js#CurvatureResult',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'DistanceProps',\n source: 'measurement/measureFns.js#DistanceProps',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'InterferencePair',\n source: 'measurement/interferenceFns.js#InterferencePair',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'InterferenceResult',\n source: 'measurement/interferenceFns.js#InterferenceResult',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'LinearProps',\n source: 'measurement/measureFns.js#LinearProps',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'PhysicalProps',\n source: 'measurement/measureFns.js#PhysicalProps',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'SurfaceProps',\n source: 'measurement/measureFns.js#SurfaceProps',\n kind: 'type',\n module: 'measurement',\n },\n {\n name: 'VolumeProps',\n source: 'measurement/measureFns.js#VolumeProps',\n kind: 'type',\n module: 'measurement',\n },\n // 1 × skip(状态化查询工具)\n {\n name: 'createDistanceQuery',\n source: 'measurement/measureFns.js#createDistanceQuery',\n kind: 'skip',\n module: 'measurement',\n reason:\n '状态化查询工具:返回带闭包引用(distanceTo/dispose)的 brep 距离工具,faijs 面' +\n '无法静态建模(查询对象生命周期 + 后续 Shape 参数逐次借入);跳过,待宿主适配器手工实现',\n },\n // 12 × query(volume / area / length / distance / curvature / interference)\n {\n name: 'measureVolumeProps',\n source: 'measurement/measureFns.js#measureVolumeProps',\n kind: 'query',\n module: 'measurement',\n args: '(shape: Shape3D) -> Result<VolumeProps>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'VolumeProps',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureSurfaceProps',\n source: 'measurement/measureFns.js#measureSurfaceProps',\n kind: 'query',\n module: 'measurement',\n args: '(shape: Face | Shape3D) -> Result<SurfaceProps>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'SurfaceProps',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureLinearProps',\n source: 'measurement/measureFns.js#measureLinearProps',\n kind: 'query',\n module: 'measurement',\n args: '(shape: AnyShape) -> Result<LinearProps>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'LinearProps',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureVolume',\n source: 'measurement/measureFns.js#measureVolume',\n kind: 'query',\n module: 'measurement',\n args: '(shape: Shape3D) -> Result<number>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureArea',\n source: 'measurement/measureFns.js#measureArea',\n kind: 'query',\n module: 'measurement',\n args: '(shape: Face | Shape3D) -> Result<number>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureLength',\n source: 'measurement/measureFns.js#measureLength',\n kind: 'query',\n module: 'measurement',\n args: '(shape: AnyShape) -> Result<number>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'measureDistance',\n source: 'measurement/measureFns.js#measureDistance',\n kind: 'query',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape) -> Result<number>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被查询形状' },\n { name: 'b', type: 'Shape', docs: '第二个被查询形状' },\n ],\n returnsResult: true,\n returnType: 'number',\n params: ['a', 'b'], formClass: 'A',\n },\n {\n name: 'measureDistanceProps',\n source: 'measurement/measureFns.js#measureDistanceProps',\n kind: 'query',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape) -> Result<DistanceProps>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被查询形状' },\n { name: 'b', type: 'Shape', docs: '第二个被查询形状' },\n ],\n returnsResult: true,\n returnType: 'DistanceProps',\n params: ['a', 'b'], formClass: 'A',\n },\n {\n name: 'measureCurvatureAt',\n source: 'measurement/measureFns.js#measureCurvatureAt',\n kind: 'query',\n module: 'measurement',\n args: '(face: OrientedFace, u: number, v: number) -> Result<CurvatureResult>',\n geometryArgs: [0],\n queryParams: [\n { name: 'face', type: 'Shape', docs: '被查询的曲面/面' },\n { name: 'u', type: 'number', docs: '参数域 u' },\n { name: 'v', type: 'number', docs: '参数域 v' },\n ],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face', 'u', 'v'], formClass: 'A',\n },\n {\n name: 'measureCurvatureAtMid',\n source: 'measurement/measureFns.js#measureCurvatureAtMid',\n kind: 'query',\n module: 'measurement',\n args: '(face: Face) -> Result<CurvatureResult>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face'], formClass: 'A',\n },\n {\n name: 'checkInterference',\n source: 'measurement/interferenceFns.js#checkInterference',\n kind: 'query',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape, tolerance?: number) -> Result<InterferenceResult>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个形状' },\n { name: 'b', type: 'Shape', docs: '第二个形状' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: true,\n returnType: 'InterferenceResult',\n params: ['a', 'b', 'tolerance'], formClass: 'A',\n },\n {\n name: 'checkAllInterferences',\n source: 'measurement/interferenceFns.js#checkAllInterferences',\n kind: 'query',\n module: 'measurement',\n args: '(shapes: AnyShape[], tolerance?: number) -> InterferencePair[]',\n // 数组输入:geometryCollectionArgs 索引对应的 Shape 数组逐元素借入 brepjs handle。\n geometryCollectionArgs: [0],\n queryParams: [\n { name: 'shapes', type: 'Shape[]', docs: '成对检测的形状数组' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: false,\n returnType: 'InterferencePair[]',\n params: ['shapes', 'tolerance'], formClass: 'A',\n },\n\n // ──── P14 第二片:text 模块(8 符号:3 pure + 3 skip + 2 type)────\n // 纯字体/度量函数直接 re-export;字体加载(fetch/ArrayBuffer + 全局注册表\n // 状态)与「返回 brep 侧 DSL 对象」的函数(blueprints/sketches)无法静态透传,\n // 登记 skip + reason(divergence,理由见各条)。\n {\n name: 'FontMetricsResult',\n source: 'text/textMetrics.js#FontMetricsResult',\n kind: 'type',\n module: 'text',\n },\n {\n name: 'TextMetricsResult',\n source: 'text/textMetrics.js#TextMetricsResult',\n kind: 'type',\n module: 'text',\n },\n {\n name: 'fontMetrics',\n source: 'text/textMetrics.js#fontMetrics',\n kind: 'pure',\n module: 'text',\n },\n {\n name: 'getFont',\n source: 'text/fontRegistry.js#getFont',\n kind: 'pure',\n module: 'text',\n },\n {\n name: 'textMetrics',\n source: 'text/textMetrics.js#textMetrics',\n kind: 'pure',\n module: 'text',\n },\n {\n name: 'loadFont',\n source: 'text/fontRegistry.js#loadFont',\n kind: 'skip',\n module: 'text',\n reason:\n '字体加载走 fetch/ArrayBuffer + 全局注册表(FONT_REGISTER)状态副作用;faijs 需 ' +\n 'host 侧提供字体源与生命周期管理(同 faijs HostPorts.fonts 通道),非静态透传函数',\n },\n {\n name: 'sketchText',\n source: 'text/sketchText.js#sketchText',\n kind: 'skip',\n module: 'text',\n reason:\n '返回 brep 域 Sketches DSL 对象(sketchOnPlane/extrude 方法链),并依赖已加载字体 ' +\n '注册表;faijs 面需要单独的 sketch DSL 适配层,跳过(divergence)',\n },\n {\n name: 'textBlueprints',\n source: 'text/textBlueprints.js#textBlueprints',\n kind: 'skip',\n module: 'text',\n reason:\n '返回 brep 域 Blueprints DSL 对象(组织轮廓/孔 + mirror 方法),依赖已加载字体;' +\n 'faijs 面需要单独的 2D sketch 适配层,跳过(divergence)',\n },\n\n // ──── P14 第二片:projection 模块(9 符号,4 pure + 3 type + 2 skip)────\n // 相机/pure 向量数学与平面别名 guard 直接 re-export;projectEdges/makeProjectedEdges\n // 返回「克隆 Edge 句柄数组」且逐条管理所有权(makeProjectedEdges.ts 的 compound 生命周期),\n // faijs 的单一产物再收养模型不匹配,登记 skip(divergence)。\n {\n name: 'Camera',\n source: 'projection/cameraFns.js#Camera',\n kind: 'type',\n module: 'projection',\n },\n {\n name: 'CubeFace',\n source: 'projection/projectionPlanes.js#CubeFace',\n kind: 'type',\n module: 'projection',\n },\n {\n name: 'ProjectionPlane',\n source: 'projection/projectionPlanes.js#ProjectionPlane',\n kind: 'type',\n module: 'projection',\n },\n {\n name: 'cameraFromPlane',\n source: 'projection/cameraFns.js#cameraFromPlane',\n kind: 'pure',\n module: 'projection',\n },\n {\n name: 'cameraLookAt',\n source: 'projection/cameraFns.js#cameraLookAt',\n kind: 'pure',\n module: 'projection',\n },\n {\n name: 'createCamera',\n source: 'projection/cameraFns.js#createCamera',\n kind: 'pure',\n module: 'projection',\n },\n {\n name: 'isProjectionPlane',\n source: 'projection/projectionPlanes.js#isProjectionPlane',\n kind: 'pure',\n module: 'projection',\n },\n {\n name: 'makeProjectedEdges',\n source: 'projection/makeProjectedEdges.js#makeProjectedEdges',\n kind: 'skip',\n module: 'projection',\n reason:\n '返回 { visible: Edge[]; hidden: Edge[] } 克隆句柄数组并管理 compound 生命周期;' +\n 'faijs 单一收养模型不匹配,且属于 2D 投影预览语义,跳过(divergence)',\n },\n {\n name: 'projectEdges',\n source: 'projection/cameraFns.js#projectEdges',\n kind: 'skip',\n module: 'projection',\n reason:\n '同 makeProjectedEdges:返回 Edge 句柄数组 + 所有权生命周期,无法静态收养,跳过(divergence)',\n },\n\n // ──── 视图投影能力(P25):view 模块(3 符号,全部 scriptFace=true)────\n // faijs 自研视图投影 op(方案 docs/plans/2026-09-10-faijs-view-projection-and-screenshot.md\n // §3.2,路径 A):工程线稿,只返回纯数据(SVG 字符串 / 相机对象),不产出 Shape。\n // 实现是手写模块(api/view/,内部借入 brepjs handle → vendored HLR → SVG 序列化),\n // 生成器只负责 re-export 进 L3 面与 cad 脚本面——kind 'faijs' 不入 upstream-surface\n // 基线(faijs 自研符号),也不走 vendored import 模板。\n {\n name: 'viewCamera',\n source: 'view/index.js#viewCamera',\n kind: 'faijs',\n module: 'view',\n args: '(view: ViewSpec) -> Camera',\n scriptFace: true,\n },\n {\n name: 'projectView',\n source: 'view/index.js#projectView',\n kind: 'faijs',\n module: 'view',\n args: '(shape: Shape, view: ViewSpec, opts?: ProjectViewOptions) -> string(SVG)',\n scriptFace: true,\n },\n {\n name: 'projectSheet',\n source: 'view/index.js#projectSheet',\n kind: 'faijs',\n module: 'view',\n args: '(shape: Shape, views: (ViewSpec | SheetView)[], opts?: ProjectSheetOptions) -> string(SVG)',\n scriptFace: true,\n },\n\n // ──── P14 第二片:query 模块(14 符号:7 type + 7 skip)────\n // finder 体系(edge/face/wire/vertex/corner + ShapeFinder 基接口)是「状态化查询工具」:\n // finder 工厂返回带内部闭包状态的 DSL 对象(.when/.inList/.findAll…逐步链式),与\n // createDistanceQuery 同类(§5.2/测量批的 skip 先例)。faijs 面无法以静态函数忠实建模\n // (finder 生命周期 + 逐次 Shape 借入需宿主适配),值侧全部 skip + reason。类型侧仍然\n // re-export:这些类型是可复用查询契约的形态面,无运行时语义。\n {\n name: 'CornerFilter',\n source: 'query/finderFns.js#CornerFilter',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'CornerFinderFn',\n source: 'query/finderFns.js#CornerFinderFn',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'EdgeFinderFn',\n source: 'query/finderFns.js#EdgeFinderFn',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'FaceFinderFn',\n source: 'query/finderFns.js#FaceFinderFn',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'ShapeFinder',\n source: 'query/finderFns.js#ShapeFinder',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'SingleFace',\n source: 'query/helpers.js#SingleFace',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'VertexFinderFn',\n source: 'query/finderFns.js#VertexFinderFn',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'WireFinderFn',\n source: 'query/finderFns.js#WireFinderFn',\n kind: 'type',\n module: 'query',\n },\n {\n name: 'cornerFinder',\n source: 'query/finderFns.js#cornerFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的 2D 角 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模(逐 Shape 借入 + 生命周期),跳过(divergence)',\n },\n {\n name: 'edgeFinder',\n source: 'query/finderFns.js#edgeFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的边 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'faceFinder',\n source: 'query/finderFns.js#faceFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的面 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'getSingleFace',\n source: 'query/helpers.js#getSingleFace',\n kind: 'skip',\n module: 'query',\n reason:\n '接受 SingleFace(finder 对象/Face 回调)并返回 Result<Face>——输入是 finder/findCallable ' +\n '而非纯的子句,且返回值借用输入 shape 的 Face;faijs 面需要 finder 契约适配,跳过(divergence)',\n },\n {\n name: 'vertexFinder',\n source: 'query/finderFns.js#vertexFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的顶点 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'wireFinder',\n source: 'query/finderFns.js#wireFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的线框 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n\n // ──── P14 第四片:ns 模块(9 符号)────\n // 9 个符号均为「命名空间对象」:vendored 根 barrel 以\n // `export * as booleans from './ns/booleans.js'` 形式聚合子命名空间。\n // surface 把每个 namespace 记为 value(file 指向子模块),但实际导出名来自\n // 根 barrel 的 *-as 再导出,故 source 指向 `index.js#<name>`(子文件只有\n // 逐名导出、无名空间值)。faijs 面以 `pure` 整包 re-export 该命名空间对象\n // 即可——保持 brepjs 的组织形态(§5.2 pure 判据:纯导出、无 Shape 参数)。\n {\n name: 'booleans',\n source: 'index.js#booleans',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'construction',\n source: 'index.js#construction',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'io',\n source: 'index.js#io',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'measurement',\n source: 'index.js#measurement',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'modifiers',\n source: 'index.js#modifiers',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'patterns',\n source: 'index.js#patterns',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'primitives',\n source: 'index.js#primitives',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'query',\n source: 'index.js#query',\n kind: 'pure',\n module: 'ns',\n },\n {\n name: 'transforms',\n source: 'index.js#transforms',\n kind: 'pure',\n module: 'ns',\n },\n\n // ──── P14 第五片:gear 模块(17 符号 = 11 type + 3 pure + 3 skip)────\n // 纯数学/校验助手(无 Shape 参数,返回几何数据/校验结果)→ pure 直连 brepjs 函数。\n // 3 个 make*Gear 构造器返回「复合多句柄结果」:GearResult 内含 solid + 计量字段\n // (pitch/base/tip/root 直径 + diagnostics);PlanetaryGearAssembly 内含 sun +\n // planets[] + ring 多个 solid。faijs 面的 ops 模板当前只收「单产物 Shape」\n // (brep-op:adopt 一个 product)或标量查询(query)——复合结果既非单产物\n // 也非标量:需要「结果对象内多句柄收养/再导出」的适配模型,同 makeProjectedEdges\n // 判例(多产物收养模型缺位),故 skip + reason(divergence,留待 E12 宿主层设计)。\n {\n name: 'ExternalGearParams',\n source: 'gear/index.js#ExternalGearParams',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'GearDiagnostic',\n source: 'gear/index.js#GearDiagnostic',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'GearDiagnosticCode',\n source: 'gear/index.js#GearDiagnosticCode',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'GearDiagnosticSeverity',\n source: 'gear/index.js#GearDiagnosticSeverity',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'GearGeometry',\n source: 'gear/index.js#GearGeometry',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'GearResult',\n source: 'gear/index.js#GearResult',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'InternalGearParams',\n source: 'gear/index.js#InternalGearParams',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'PlanetPlacement',\n source: 'gear/index.js#PlanetPlacement',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'PlanetPlacementParams',\n source: 'gear/index.js#PlanetPlacementParams',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'PlanetaryGearAssembly',\n source: 'gear/index.js#PlanetaryGearAssembly',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'PlanetaryGearParams',\n source: 'gear/index.js#PlanetaryGearParams',\n kind: 'type',\n module: 'gear',\n },\n {\n name: 'gearGeometry',\n source: 'gear/index.js#gearGeometry',\n kind: 'pure',\n module: 'gear',\n },\n {\n name: 'planetPlacements',\n source: 'gear/index.js#planetPlacements',\n kind: 'pure',\n module: 'gear',\n },\n {\n name: 'validatePlanetary',\n source: 'gear/index.js#validatePlanetary',\n kind: 'pure',\n module: 'gear',\n },\n {\n name: 'makeExternalGear',\n source: 'gear/index.js#makeExternalGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '复合结果(GearResult:solid + 计量 + diagnostics),faijs ops 模板只有单产物收养/标量查询,' +\n '无「结果对象内收养 solid」模型,跳过(divergence,待 E4 宿主层多产物收养)',\n },\n {\n name: 'makeInternalGear',\n source: 'gear/index.js#makeInternalGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '同 makeExternalGear:复合结果含 solid 句柄 + 计量,需结果内收养模型,跳过(divergence)',\n },\n {\n name: 'makePlanetaryGear',\n source: 'gear/index.js#makePlanetaryGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '返回 PlanetaryGearAssembly:sun + planets[] + ring 多个 solid(多产物收养模型缺位),' +\n '跳过(divergence,同 makeProjectedEdges 判例)',\n },\n\n // ──── P14 第六片:2d 模块(45 符号 = 12 type + 33 skip)────\n // 2d 模块是「2D 制图框架」整体:值侧工厂/变换/布尔操作全部接收或返回\n // kernel-句柄包装对象(Curve2D/Blueprint/Blueprints,均有 registerForCleanup\n // 装饰的析构生命周期),并互相成链(createBlueprint → … → sketchOnPlane2D)。\n // 这些 2D 对象**不是** faijs Shape,也不符合 faijs ops 的单产物收养/标量查询模板;\n // 若朴素 re-export,用户在 faijs 面拿到 kernel 句柄对象 → 所有权/清理逃逸。\n // 与 BlueprintContour 同族:待宿主 2D 制图接入(E12 宿主层)携带它们的生命周期。\n // 类型侧全部 re-export(12 个 type:BS 主类型/句柄/选项),供用户在 faijs 面\n // 对来自宿主接入的 2D 数据做类型标注。\n {\n name: 'Blueprint',\n source: 'index.js#Blueprint',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'Blueprints',\n source: 'index.js#Blueprints',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'BoundingBox2d',\n source: 'index.js#BoundingBox2d',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'CompoundBlueprint',\n source: 'index.js#CompoundBlueprint',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'Curve2D',\n source: 'index.js#Curve2D',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'DrawingInterface',\n source: 'index.js#DrawingInterface',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'GenericSketcher',\n source: 'index.js#GenericSketcher',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'Point2D',\n source: 'index.js#Point2D',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'ScaleMode',\n source: 'index.js#ScaleMode',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'Shape2D',\n source: 'index.js#Shape2D',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'SketchData',\n source: 'index.js#SketchData',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'SplineOptions',\n source: 'index.js#SplineOptions',\n kind: 'type',\n module: '2d',\n },\n {\n name: 'BaseSketcher2d',\n source: 'index.js#BaseSketcher2d',\n kind: 'skip',\n module: '2d',\n reason:\n '2D 制图框架的手写框架层(kernel 2D 对象生命周期),同 Curve2D/Blueprint 族:' +\n 'skip(divergence,待宿主侧 2D 制图接入)',\n },\n {\n name: 'BlueprintSketcher',\n source: 'index.js#BlueprintSketcher',\n kind: 'skip',\n module: '2d',\n reason:\n '同 BaseSketcher2d:2D 框架 DSL 类(kernel-句柄对象 + 链式态),' +\n 'skip(divergence,待宿主侧 2D 制图接入)',\n },\n {\n name: 'createBlueprint',\n source: 'index.js#createBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '工厂返回 kernel-句柄 Blueprint 对象,skip(divergence,同 2D DSL 框架)',\n },\n {\n name: 'createCompoundBlueprint',\n source: 'index.js#createCompoundBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '工厂返回 kernel-句柄 CompoundBlueprint 对象,skip(divergence)',\n },\n {\n name: 'curve2dBoundingBox',\n source: 'index.js#curve2dBoundingBox',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence,同 2D 制图框架)',\n },\n {\n name: 'curve2dDistanceFrom',\n source: 'index.js#curve2dDistanceFrom',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dFirstPoint',\n source: 'index.js#curve2dFirstPoint',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dIsOnCurve',\n source: 'index.js#curve2dIsOnCurve',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dLastPoint',\n source: 'index.js#curve2dLastPoint',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dParameter',\n source: 'index.js#curve2dParameter',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dSplitAt',\n source: 'index.js#curve2dSplitAt',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,返回 Curve2D[](多句柄),skip(divergence)',\n },\n {\n name: 'curve2dTangentAt',\n source: 'index.js#curve2dTangentAt',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'cut2D',\n source: 'index.js#cut2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:输入/输出均为 kernel-2D Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'cutBlueprints',\n source: 'index.js#cutBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 切型,返回句柄对象,skip(divergence)',\n },\n {\n name: 'fuse2D',\n source: 'index.js#fuse2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:Blueprints 句柄对象,skip(divergence)',\n },\n {\n name: 'fuseBlueprints',\n source: 'index.js#fuseBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 返回句柄对象,skip(divergence)',\n },\n {\n name: 'getBounds2D',\n source: 'index.js#getBounds2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint(句柄内可缓存的 BoundingBox2d),skip(divergence)',\n },\n {\n name: 'getOrientation2D',\n source: 'index.js#getOrientation2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint,skip(divergence)',\n },\n {\n name: 'intersect2D',\n source: 'index.js#intersect2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:Blueprints 句柄对象,skip(divergence)',\n },\n {\n name: 'intersectBlueprints',\n source: 'index.js#intersectBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 返回句柄对象,skip(divergence)',\n },\n {\n name: 'isInside2D',\n source: 'index.js#isInside2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint,skip(divergence)',\n },\n {\n name: 'mirror2D',\n source: 'index.js#mirror2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'organiseBlueprints',\n source: 'index.js#organiseBlueprints',\n kind: 'skip',\n module: '2d',\n reason: 'Blueprints 组合/清理 DSL,skip(divergence)',\n },\n {\n name: 'polysidesBlueprint',\n source: 'index.js#polysidesBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '返回 kernel-句柄 Blueprint(边数多边形),skip(divergence)',\n },\n {\n name: 'reverseCurve',\n source: 'index.js#reverseCurve',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Curve2D 句柄对象,skip(divergence)',\n },\n {\n name: 'rotate2D',\n source: 'index.js#rotate2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'roundedRectangleBlueprint',\n source: 'index.js#roundedRectangleBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '返回 kernel-2D Blueprint 对象,skip(divergence)',\n },\n {\n name: 'scale2D',\n source: 'index.js#scale2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'sketchOnFace2D',\n source: 'index.js#sketchOnFace2D',\n kind: 'skip',\n module: '2d',\n reason: '把 Blueprint 映射到 3D 面 UV:跨供 2D+3D 混合 + Sketch 句柄,' +\n 'skip(divergence,待宿主 2D 接入)',\n },\n {\n name: 'sketchOnPlane2D',\n source: 'index.js#sketchOnPlane2D',\n kind: 'skip',\n module: '2d',\n reason: '把 Blueprint 映射到平面返回 Sketch 句柄,skip(divergence)',\n },\n {\n name: 'stretch2D',\n source: 'index.js#stretch2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'toSVGPathD',\n source: 'index.js#toSVGPathD',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'translate2D',\n source: 'index.js#translate2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n\n // ──── P14 第七片:io 模块(27 符号 = 12 type + 15 skip)────\n // plan §5.5/§7.10(禁用 IO 直接搬):export*/import* 全部是宿主侧交互——\n // exportOBJ/exportDXF 输入 ShapeMesh/DXFEntity[](非 faijs Shape 面)、\n // importSVG/importSVGPathD 返回 kernel-句柄 Blueprint(同 2d 家族),所有\n // export*/import* 涉及文件/字节 → 走 faijs node-host/browser-host 端口适配。\n // 类型侧全部 re-export(12 个 type:各格式 options/实体/材料),供 faijs 面\n // 对宿主端口返回的数据做类型标注。\n {\n name: 'DXFEntity',\n source: 'index.js#DXFEntity',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'DXFExportOptions',\n source: 'index.js#DXFExportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'DXFImportOptions',\n source: 'index.js#DXFImportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'GltfExportOptions',\n source: 'index.js#GltfExportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'GltfFace',\n source: 'index.js#GltfFace',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'GltfMaterial',\n source: 'index.js#GltfMaterial',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'MaterialFn',\n source: 'index.js#MaterialFn',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'StepExportOptions',\n source: 'index.js#StepExportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'StepExportPart',\n source: 'index.js#StepExportPart',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'SVGImportOptions',\n source: 'index.js#SVGImportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'ThreeMFExportOptions',\n source: 'index.js#ThreeMFExportOptions',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'ThreeMFMaterial',\n source: 'index.js#ThreeMFMaterial',\n kind: 'type',\n module: 'io',\n },\n {\n name: 'blueprintToDXF',\n source: 'index.js#blueprintToDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节走 host ports(接受 kernel 2D Blueprint + 返回字节 DXF),skip(divergence)',\n },\n {\n name: 'exportDXF',\n source: 'index.js#exportDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节走 host ports(接收 DXFEntity[] + options),skip(divergence)',\n },\n {\n name: 'exportGlb',\n source: 'index.js#exportGlb',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportGltf',\n source: 'index.js#exportGltf',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportOBJ',\n source: 'index.js#exportOBJ',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports(参数是 ShapeMesh 而非 faijs Shape),skip(divergence)',\n },\n {\n name: 'exportSTEPConfigured',\n source: 'index.js#exportSTEPConfigured',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportThreeMF',\n source: 'index.js#exportThreeMF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importDXF',\n source: 'index.js#importDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importGLB',\n source: 'index.js#importGLB',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importIGES',\n source: 'index.js#importIGES',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importOBJ',\n source: 'index.js#importOBJ',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSTEP',\n source: 'index.js#importSTEP',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSTL',\n source: 'index.js#importSTL',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSVG',\n source: 'index.js#importSVG',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports(返回 kernel-2D Blueprint,2d 族),skip(divergence)',\n },\n {\n name: 'importSVGPathD',\n source: 'index.js#importSVGPathD',\n kind: 'skip',\n module: 'io',\n reason: '返回 kernel-句柄 Blueprint(Result<Blueprint>),2d 族宿主模型缺位,skip(divergence)',\n },\n {\n name: 'importThreeMF',\n source: 'index.js#importThreeMF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n\n // ──── P14 第八片:operations 模块(122 符号 = 16 brep-op + 11 pure + 45 skip + 8u/others) ────\n // brep-op:Shapeable<…> 单/双形状入参 → faijs Shape 借入 → vendored Result → adopt 单产物;\n // 数组形状入参(loft/guidedSweep/multiSectionSweep 的 Wire[])与多产物结果(extrudeAll/\n // loftAll = Shape[]/ValidSolid[])不在单产物收养模板内 → skip(与 P14 派生早先判据一致);\n // history/assembly/mate/instance 家族 = 状态化 DSL / kernel 句柄容器 → skip;\n // export*/createAssembly = host IO(同 io 判据)/宿主 API → skip;KernelType raw 句柄入参\n//(supportExtrude)→ skip。joint 构造/数值助手与骨架计算 → pure。\n {\n // ---- 类型(全部 re-export;barrel 别名走 index.js)----\n name: 'AssemblyExporter', source: 'operations/exporters.js#AssemblyExporter', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'AssemblyNode', source: 'operations/assemblyFns.js#AssemblyNode', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'AssemblyNodeOptions', source: 'operations/assemblyFns.js#AssemblyNodeOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'AssemblySolveResult', source: 'operations/mateFns.js#AssemblySolveResult', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'CleanLoftOptions', source: 'index.js#CleanLoftOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'CleanSweepOptions', source: 'index.js#CleanSweepOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'CylindricalOptions', source: 'operations/jointFns.js#CylindricalOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'DHOptions', source: 'operations/dhFns.js#DHOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'DHRow', source: 'operations/dhFns.js#DHRow', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'ExtrudeAllEntry', source: 'operations/extrudeFns.js#ExtrudeAllEntry', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'ExtrusionProfile', source: 'operations/extrudeFns.js#ExtrusionProfile', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'GuidedSweepOptions', source: 'operations/guidedSweepFns.js#GuidedSweepOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'HistoryOperationRegistry', source: 'index.js#HistoryOperationRegistry', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'IKOptions', source: 'operations/ikFns.js#IKOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'IKResult', source: 'operations/ikFns.js#IKResult', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'IKTarget', source: 'operations/ikFns.js#IKTarget', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'InstancedMesh', source: 'operations/instanceFns.js#InstancedMesh', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'InstancedShape', source: 'operations/instanceFns.js#InstancedShape', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'InstanceGridOptions', source: 'operations/instanceFns.js#InstanceGridOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'Joint', source: 'operations/jointFns.js#Joint', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'JointAxis', source: 'operations/jointFns.js#JointAxis', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'JointDOF', source: 'operations/jointFns.js#JointDOF', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'JointOptions', source: 'operations/jointFns.js#JointOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'JointPose', source: 'operations/jointFns.js#JointPose', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'JointType', source: 'operations/jointFns.js#JointType', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'LoftAllEntry', source: 'operations/loftFns.js#LoftAllEntry', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'MateConstraint', source: 'operations/mateFns.js#MateConstraint', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'MateEntity', source: 'operations/mateFns.js#MateEntity', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'MaterializeOptions', source: 'operations/instanceFns.js#MaterializeOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'ModelHistory', source: 'operations/historyFns.js#ModelHistory', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'MultiSweepOptions', source: 'operations/multiSweepFns.js#MultiSweepOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'OperationFn', source: 'operations/historyFns.js#OperationFn', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'OperationStep', source: 'operations/historyFns.js#OperationStep', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'PlanarOptions', source: 'operations/jointFns.js#PlanarOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'RevolveOptions', source: 'operations/api.js#RevolveOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'RoofOptions', source: 'operations/roofFns.js#RoofOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SerializedHistory', source: 'operations/historyFns.js#SerializedHistory', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'ShapeOptions', source: 'operations/exporterFns.js#ShapeOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SkeletonFace', source: 'operations/straightSkeleton.js#SkeletonFace', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SkeletonNode', source: 'operations/straightSkeleton.js#SkeletonNode', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SkPoint2D', source: 'operations/straightSkeleton.js#SkPoint2D', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SphericalOptions', source: 'operations/jointFns.js#SphericalOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'StraightSkeleton', source: 'operations/straightSkeleton.js#StraightSkeleton', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SupportedUnit', source: 'operations/exporterFns.js#SupportedUnit', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SweepOptions', source: 'operations/extrudeFns.js#SweepOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'SweepSectionConfig', source: 'operations/multiSweepFns.js#SweepSectionConfig', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'ThreadOptions', source: 'operations/threadFns.js#ThreadOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'TrajectorySample', source: 'operations/ikFns.js#TrajectorySample', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'UrdfDocument', source: 'operations/urdfFns.js#UrdfDocument', kind: 'type', module: 'operations', reason: '',\n },\n {\n name: 'UrdfExportOptions', source: 'operations/urdfFns.js#UrdfExportOptions', kind: 'type', module: 'operations', reason: '',\n },\n {\n // ---- pure:纯数据/几何构造,直接 re-export ----\n name: 'revoluteJoint', source: 'operations/jointFns.js#revoluteJoint', kind: 'pure', module: 'operations', reason: '纯数据构造(无 kernel/Shape 参数)',\n },\n {\n name: 'prismaticJoint', source: 'operations/jointFns.js#prismaticJoint', kind: 'pure', module: 'operations', reason: '纯数据构造(无 kernel 参数)',\n },\n {\n name: 'cylindricalJoint', source: 'operations/jointFns.js#cylindricalJoint', kind: 'pure', module: 'operations', reason: '纯数据构造(无 kernel 参数)',\n },\n {\n name: 'planarJoint', source: 'operations/jointFns.js#planarJoint', kind: 'pure', module: 'operations', reason: '纯数据构造(无 kernel 参数)',\n },\n {\n name: 'sphericalJoint', source: 'operations/jointFns.js#sphericalJoint', kind: 'pure', module: 'operations', reason: '纯数据构造(无 kernel 参数)',\n },\n {\n name: 'setJointValue', source: 'operations/jointFns.js#setJointValue', kind: 'pure', module: 'operations', reason: 'Joint→Joint 数值更新(纯数据)',\n },\n {\n name: 'setJointValues', source: 'operations/jointFns.js#setJointValues', kind: 'pure', module: 'operations', reason: 'Joint→Joint 数值批量更新(纯数据)',\n },\n {\n name: 'jointTransform', source: 'operations/jointFns.js#jointTransform', kind: 'pure', module: 'operations', reason: 'Joint→JointPose(纯数据)',\n },\n {\n name: 'jointsFromDH', source: 'operations/dhFns.js#jointsFromDH', kind: 'pure', module: 'operations', reason: 'DH 表→Joint[](纯数据)',\n },\n {\n name: 'computeStraightSkeleton', source: 'operations/straightSkeleton.js#computeStraightSkeleton', kind: 'pure', module: 'operations', reason: '纯 2D 骨架计算(无 kernel/Shape 参数)',\n },\n {\n name: 'isInstanced', source: 'operations/instanceFns.js#isInstanced', kind: 'pure', module: 'operations', reason: 'type guard(无 kernel 参数)',\n },\n {\n // ---- brep-op:单/多单形状入参 → 单产物收养 ----\n name: 'extrude', source: 'operations/api.js#extrude', kind: 'brep-op', capabilities: [\"dispose\",\"downcast\",\"extrude\",\"isNull\"], module: 'operations',\n geometryArgs: [0],\n reason: 'faijs 侧 cad.extrude 由手写平台 op 覆盖(api/extrude.ts:对象形态 + upTo 拉伸到面/到支持体端面)。本投影只作为「长度形态」的引擎被手写 op 委托调用(vendored 是唯一拉伸引擎,既有 cad.extrude(face,[x,y,z]) 语义零漂移),生成模块符号不直接进 cad 命名空间 by design(同 fillet 口径)。',\n args: 'extrude(face: Shape, height: number|Vec3) → Shape|extrude(face: Shape, params: { length? | upTo, normal?, mode?, baseFeature?, offset? }) → Shape',\n params: ['face', 'height'], formClass: 'A',\n naming: { kind: 'construct', newFaces: { via: 'explicit', vocab: [{ kind: 'semantic', name: 'top' }, { kind: 'semantic', name: 'bottom' }] } },\n },\n {\n name: 'revolve', source: 'operations/api.js#revolve', kind: 'brep-op', capabilities: [\"dispose\",\"isNull\",\"revolveVec\",\"shapeType\"], module: 'operations',\n geometryArgs: [0], reason: 'shapeable 面 → Result(Shape3D),brep-op',\n args: 'revolve(face: Shape, options?: RevolveOptions): Shape',\n params: ['face', 'options'], formClass: 'A',\n naming: { kind: 'construct', newFaces: { via: 'explicit', vocab: [{ kind: 'semantic', name: 'top' }, { kind: 'semantic', name: 'bottom' }, { kind: 'wall', index: 0 }] } },\n },\n {\n name: 'sweep', source: 'operations/extrudeFns.js#sweep', kind: 'brep-op', capabilities: [\"dispose\",\"shapeType\",\"simplePipe\",\"sweepPipeShell\"], module: 'operations',\n geometryArgs: [0, 1], reason: 'wire + spine → Result(Shape3D|tuple),默认单产物,brep-op',\n args: 'sweep(wire: Shape, spine: Shape, config?: SweepOptions, shellMode?: boolean): Shape',\n params: ['wire', 'spine', 'config', 'shellMode'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'complexExtrude', source: 'operations/extrudeFns.js#complexExtrude', kind: 'brep-op', capabilities: [\"buildExtrusionLaw\",\"dispose\",\"shapeType\",\"simplePipe\",\"sweepPipeShell\"], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(Shape3D),brep-op',\n args: 'complexExtrude(wire: Shape, center: Vec3, normal: Vec3, profile?: ExtrusionProfile): Shape',\n params: ['wire', 'center', 'normal', 'profile'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'twistExtrude', source: 'operations/extrudeFns.js#twistExtrude', kind: 'brep-op', capabilities: [\"buildExtrusionLaw\",\"dispose\",\"shapeType\",\"simplePipe\",\"sweepPipeShell\"], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(Shape3D),brep-op',\n args: 'twistExtrude(wire: Shape, angleDegrees: number, center: Vec3, normal: Vec3): Shape',\n params: ['wire', 'angleDegrees', 'center', 'normal'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'linearPattern', source: 'operations/patternFns.js#linearPattern', kind: 'brep-op', capabilities: [\"dispose\",\"fuseAll\",\"hashCode\",\"isNull\",\"iterShapes\",\"linearPattern\",\"section\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'linearPattern(shape: Shape, direction: Vec3, count: number, spacing: number): Shape',\n params: ['shape', 'direction', 'count', 'spacing'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'circularPattern', source: 'operations/patternFns.js#circularPattern', kind: 'brep-op', capabilities: [\"circularPattern\",\"dispose\",\"fuseAll\",\"hashCode\",\"isNull\",\"iterShapes\",\"section\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'circularPattern(shape: Shape, axis: Vec3, count: number, fullAngle?: number, center?: Vec3): Shape',\n params: ['shape', 'axis', 'count', 'fullAngle', 'center'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'gridPattern', source: 'operations/patternFns.js#gridPattern', kind: 'brep-op', capabilities: [\"dispose\",\"fuseAll\",\"gridPattern\",\"hashCode\",\"isNull\",\"iterShapes\",\"linearPattern\",\"section\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'gridPattern(shape: Shape, directionX: Vec3, directionY: Vec3, countX: number, countY: number, spacingX: number, spacingY: number): Shape',\n params: ['shape', 'directionX', 'directionY', 'countX', 'countY', 'spacingX', 'spacingY'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'roof', source: 'operations/roofFns.js#roof', kind: 'brep-op', capabilities: [\"buildTriFace\",\"dispose\",\"fixShape\",\"isValid\",\"sew\",\"sewAndSolidify\"], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(ValidSolid)→solid,brep-op',\n args: 'roof(wire: Shape, options?: RoofOptions): Shape',\n params: ['wire', 'options'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'drill', source: 'operations/compoundOpsFns.js#drill', kind: 'brep-op', capabilities: [\"boundingBox\",\"cut\",\"cutWithHistory\",\"dispose\",\"isNull\",\"makeCylinder\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'drill(shape: Shape, options: DrillOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'pocket', source: 'operations/compoundOpsFns.js#pocket', kind: 'brep-op', capabilities: [\"addHolesInFace\",\"cut\",\"cutWithHistory\",\"dispose\",\"downcast\",\"extrude\",\"isNull\",\"makeFace\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"translateWithHistory\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'pocket(shape: Shape, options: PocketOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'boss', source: 'operations/compoundOpsFns.js#boss', kind: 'brep-op', capabilities: [\"addHolesInFace\",\"dispose\",\"downcast\",\"extrude\",\"fuse\",\"fuseWithHistory\",\"isNull\",\"makeFace\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"translateWithHistory\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'boss(shape: Shape, options: BossOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'mirrorJoin', source: 'operations/compoundOpsFns.js#mirrorJoin', kind: 'brep-op', capabilities: [\"dispose\",\"fuse\",\"fuseWithHistory\",\"isNull\",\"mirrorWithHistory\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'mirrorJoin(shape: Shape, options?: MirrorJoinOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 2 },\n },\n {\n name: 'rectangularPattern', source: 'operations/compoundOpsFns.js#rectangularPattern', kind: 'brep-op', capabilities: [\"dispose\",\"fuse\",\"fuseAll\",\"fuseWithHistory\",\"hashCode\",\"isNull\",\"iterShapes\",\"section\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"translateWithHistory\",\"uvBounds\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'rectangularPattern(shape: Shape, options: RectangularPatternOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'thread', source: 'operations/threadFns.js#thread', kind: 'brep-op', capabilities: [\"dispose\",\"loftAdvanced\",\"makeLineEdge\",\"makeVertex\",\"makeWireFromMixed\",\"shapeType\"], module: 'operations',\n geometryArgs: [], reason: '仅参数构造 → Result(Shape3D),单产物,brep-op',\n args: 'thread(options: ThreadOptions): Shape',\n params: ['options'], formClass: 'B1',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'convexHull', source: 'operations/convexHullFns.js#convexHull', kind: 'brep-op', capabilities: [\"dispose\",\"hullFromPoints\",\"shapeType\"], module: 'operations',\n geometryArgs: [], reason: '点集构造 → Result(Solid),单产物,brep-op',\n args: 'convexHull(points: Vec3[]): Shape',\n params: ['points'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n // ---- skip:状态 DSL/多产物/数组入参/host IO/kernel 入参 ----\n name: 'addChild', source: 'operations/assemblyFns.js#addChild', kind: 'skip', module: 'operations', reason: '装配树操作(AssemblyNode 含 kernel Shape 引用),skip host 装配适配',\n },\n {\n name: 'collectShapes', source: 'operations/assemblyFns.js#collectShapes', kind: 'skip', module: 'operations', reason: '返回 AnyShape[](kernel 句柄数组),单产物收养缺位,skip',\n },\n {\n name: 'countNodes', source: 'operations/assemblyFns.js#countNodes', kind: 'skip', module: 'operations', reason: '装配场景输入,skip',\n },\n {\n name: 'createAssemblyNode', source: 'operations/assemblyFns.js#createAssemblyNode', kind: 'skip', module: 'operations', reason: 'AssemblyNode 直接持有 kernel Shape 句柄,skip host 装配适配',\n },\n {\n name: 'findNode', source: 'operations/assemblyFns.js#findNode', kind: 'skip', module: 'operations', reason: '装配场景遍历,skip',\n },\n {\n name: 'removeChild', source: 'operations/assemblyFns.js#removeChild', kind: 'skip', module: 'operations', reason: '装配树操作,skip',\n },\n {\n name: 'updateNode', source: 'operations/assemblyFns.js#updateNode', kind: 'skip', module: 'operations', reason: '装配树操作,skip',\n },\n {\n name: 'walkAssembly', source: 'operations/assemblyFns.js#walkAssembly', kind: 'skip', module: 'operations', reason: '装配树遍历(含 kernel 形状),skip',\n },\n {\n name: 'supportExtrude', source: 'operations/extrudeFns.js#supportExtrude', kind: 'skip', module: 'operations', reason: 'support: KernelType raw 内核句柄入参,skip',\n },\n {\n name: 'extrudeAll', source: 'operations/extrudeFns.js#extrudeAll', kind: 'skip', module: 'operations', reason: '返回 ValidSolid[](多产物),单产物收养缺位,skip',\n },\n {\n name: 'loft', source: 'operations/api.js#loft', kind: 'skip', module: 'operations', reason: '入参 Shapeable<Wire>[](形状数组),brep-op 模板单柄借入不适用,skip',\n },\n {\n name: 'loftAll', source: 'operations/loftFns.js#loftAll', kind: 'skip', module: 'operations', reason: '返回 Shape3D 数组(多产物),skip',\n },\n {\n name: 'guidedSweep', source: 'operations/guidedSweepFns.js#guidedSweep', kind: 'skip', module: 'operations', reason: 'guides: Wire[](数组)入参,brefreq 模板无法数组借入,skip',\n },\n {\n name: 'multiSectionSweep', source: 'operations/multiSweepFns.js#multiSectionSweep', kind: 'skip', module: 'operations', reason: 'sections: SweepSectionConfig[](每份含 wire)数组入参,skip',\n },\n {\n name: 'addJoint', source: 'operations/jointFns.js#addJoint', kind: 'skip', module: 'operations', reason: '运动副 DSL(AssemblyNode 输入):P3 起改由 cad.assembly 的 joints[] 约束面暴露(库面 buildJoint 直调,2026-09-07 方案 §3.1),仍不直接暴露',\n },\n {\n name: 'forwardKinematics', source: 'operations/jointFns.js#forwardKinematics', kind: 'skip', module: 'operations', reason: '运动链正解(纯计算):P3 起改由 ExecutionResult.kinematics(assembly 带 joints 求解后)+ cad.mechanismDOF/库面 solveKinematics 暴露(2026-09-07 方案 §3.3),仍不直接暴露',\n },\n {\n name: 'mechanismDOF', source: 'operations/jointFns.js#mechanismDOF', kind: 'skip', module: 'operations', reason: '机构自由度诊断(AssemblyNode 输入):P3 起经 cad.mechanismDOF 查询函数暴露(节点输入隐藏于 joints[] 约束面,2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'addMate', source: 'operations/mateFns.js#addMate', kind: 'skip', module: 'operations', reason: '装配约束 DSL(MateEntity 持 kernel 活句柄,不可序列化):P1 起改由 cad.assembly 的 constraints[] 纯数据约束面暴露(2026-09-06 装配方案 §5),仍不直接暴露',\n },\n {\n name: 'solveAssembly', source: 'operations/mateFns.js#solveAssembly', kind: 'skip', module: 'operations', reason: '命令式求解入口(kernel 句柄输入):P1 起由 asm.solve()/do_assemble() 替代,求解内核复用 vendored solverAdapter.solveConstraints(2026-09-06 装配方案 §4),仍不直接暴露',\n },\n {\n name: 'createHistory', source: 'operations/historyFns.js#createHistory', kind: 'skip', module: 'operations', reason: '状态化历史 DSL,skip host 适配',\n },\n {\n name: 'createRegistry', source: 'operations/historyFns.js#createRegistry', kind: 'skip', module: 'operations', reason: 'OperationRegistry 注册表状态,skip',\n },\n {\n name: 'addStep', source: 'operations/historyFns.js#addStep', kind: 'skip', module: 'operations', reason: '返回历史快照状态,skip',\n },\n {\n name: 'getHistoryShape', source: 'index.js#getHistoryShape', kind: 'skip', module: 'operations', reason: '历史快照查询(kernel Shape 句柄),skip',\n },\n {\n name: 'findStep', source: 'operations/historyFns.js#findStep', kind: 'skip', module: 'operations', reason: '历史注册表查询状态,skip',\n },\n {\n name: 'stepCount', source: 'operations/historyFns.js#stepCount', kind: 'skip', module: 'operations', reason: '历史栈长度(非几何查询),skip',\n },\n {\n name: 'stepsFrom', source: 'operations/historyFns.js#stepsFrom', kind: 'skip', module: 'operations', reason: '历史切片状态,skip',\n },\n {\n name: 'modifyStep', source: 'operations/historyFns.js#modifyStep', kind: 'skip', module: 'operations', reason: '改参+replay DSL,skip',\n },\n {\n name: 'registerShape', source: 'operations/historyFns.js#registerShape', kind: 'skip', module: 'operations', reason: '写入 ShapeMap 快照,skip',\n },\n {\n name: 'registerOperation', source: 'operations/historyFns.js#registerOperation', kind: 'skip', module: 'operations', reason: '注册表状态,skip',\n },\n {\n name: 'replayHistory', source: 'operations/historyFns.js#replayHistory', kind: 'skip', module: 'operations', reason: '重播模式,skip',\n },\n {\n name: 'replayFrom', source: 'operations/historyFns.js#replayFrom', kind: 'skip', module: 'operations', reason: '重播子域,skip',\n },\n {\n name: 'serializeHistory', source: 'operations/historyFns.js#serializeHistory', kind: 'skip', module: 'operations', reason: '序列化需 Shape→BREP 内部表示,skip',\n },\n {\n name: 'deserializeHistory', source: 'operations/historyFns.js#deserializeHistory', kind: 'skip', module: 'operations', reason: '重建 kernel Shapes 状态,skip',\n },\n {\n name: 'undoLast', source: 'operations/historyFns.js#undoLast', kind: 'skip', module: 'operations', reason: '历史回退 DSL,skip',\n },\n {\n name: 'instance', source: 'operations/instanceFns.js#instance', kind: 'skip', module: 'operations', reason: '返回 InstancedShape 容器(source 句柄 ownership),skip host 渲染',\n },\n {\n name: 'instanceGrid', source: 'operations/instanceFns.js#instanceGrid', kind: 'skip', module: 'operations', reason: '返回 InstancedShape(矩阵集),skip',\n },\n {\n name: 'instanceCount', source: 'operations/instanceFns.js#instanceCount', kind: 'skip', module: 'operations', reason: '作用于 InstancedShape 宿主引用,skip',\n },\n {\n name: 'instancedMesh', source: 'operations/instanceFns.js#instancedMesh', kind: 'skip', module: 'operations', reason: '返回 host 渲染数据(geometry+instances),非 Shape,skip',\n },\n {\n name: 'materialize', source: 'operations/instanceFns.js#materialize', kind: 'skip', module: 'operations', reason: 'InstancedShape→多产物(Compound/fused),单产物收养缺位,skip',\n },\n {\n name: 'inverseKinematics', source: 'operations/ikFns.js#inverseKinematics', kind: 'skip', module: 'operations', reason: '装配 IK 场景(AssemblyNode 输入):P3 起经 cad.inverseKinematics 查询函数暴露(2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'jointTrajectory', source: 'operations/ikFns.js#jointTrajectory', kind: 'skip', module: 'operations', reason: '装配 IK 场景:P3 起经 cad.jointTrajectory 查询函数暴露(2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'exportURDF', source: 'operations/urdfFns.js#exportURDF', kind: 'skip', module: 'operations', reason: 'URDF 字符串 host IO,skip(同 IO 判据)',\n },\n {\n name: 'importURDF', source: 'operations/urdfFns.js#importURDF', kind: 'skip', module: 'operations', reason: 'URDF 字符串 host IO,skip',\n },\n {\n name: 'exportAssemblySTEP', source: 'operations/exporterFns.js#exportAssemblySTEP', kind: 'skip', module: 'operations', reason: 'Blob/STEP 字节 host IO,skip',\n },\n {\n name: 'createAssembly', source: 'operations/exporters.js#createAssembly', kind: 'skip', module: 'operations', reason: '返回 AssemblyExporter(kernel 包裹),skip host API',\n },\n\n // ──── P14 batch 9:core 模块(168 = 47 type + 67 pure + 1 query + 53 skip)────\n // core 是 brepjs 的 L0/L1 基础设施层:Result 组合子、错误构造、向量/平面数学、\n // 类型判别与 Shape 类型体系、内核句柄生命周期。faijs 面把「裸 kernel 句柄」排除在\n // 外(Shape 所有权经 l3-bridge 借入/收养),故 disposal/kernelBoundary/kernelCall/\n // shapeTypes 裸句柄族登记 skip;纯数据函数与常量直接 re-export(pure)。\n\n // 47 × type(全量 re-export,无行为)\n {\n name: 'Curve2DHandle', source: 'core/curve2dHandle.js#Curve2DHandle', kind: 'type', module: 'core',\n },\n {\n name: 'DimensionError', source: 'core/dimensionTypes.js#DimensionError', kind: 'type', module: 'core',\n },\n {\n name: 'RequireDimension', source: 'core/dimensionTypes.js#RequireDimension', kind: 'type', module: 'core',\n },\n {\n name: 'SameDimension', source: 'core/dimensionTypes.js#SameDimension', kind: 'type', module: 'core',\n },\n {\n name: 'Deletable', source: 'core/disposal.js#Deletable', kind: 'type', module: 'core',\n },\n {\n name: 'DisposalStats', source: 'core/disposal.js#DisposalStats', kind: 'type', module: 'core',\n },\n {\n name: 'KernelHandle', source: 'core/disposal.js#KernelHandle', kind: 'type', module: 'core',\n },\n {\n name: 'ShapeHandle', source: 'core/disposal.js#ShapeHandle', kind: 'type', module: 'core',\n },\n {\n name: 'BrepError', source: 'core/errors.js#BrepError', kind: 'type', module: 'core',\n },\n {\n name: 'BrepErrorKind', source: 'core/errors.js#BrepErrorKind', kind: 'type', module: 'core',\n },\n {\n name: 'Plane', source: 'core/planeTypes.js#Plane', kind: 'type', module: 'core',\n },\n {\n name: 'PlaneInput', source: 'core/planeTypes.js#PlaneInput', kind: 'type', module: 'core',\n },\n {\n name: 'PlaneName', source: 'core/planeTypes.js#PlaneName', kind: 'type', module: 'core',\n },\n {\n name: 'Err', source: 'core/result.js#Err', kind: 'type', module: 'core',\n },\n {\n name: 'Ok', source: 'core/result.js#Ok', kind: 'type', module: 'core',\n },\n {\n name: 'Result', source: 'core/result.js#Result', kind: 'type', module: 'core',\n },\n {\n name: 'ResultPipeline', source: 'core/result.js#ResultPipeline', kind: 'type', module: 'core',\n },\n {\n name: 'Unit', source: 'core/result.js#Unit', kind: 'type', module: 'core',\n },\n {\n name: 'AnyShape', source: 'core/shapeTypes.js#AnyShape', kind: 'type', module: 'core',\n },\n {\n name: 'ClosedWire', source: 'core/shapeTypes.js#ClosedWire', kind: 'type', module: 'core',\n },\n {\n name: 'Compound', source: 'core/shapeTypes.js#Compound', kind: 'type', module: 'core',\n },\n {\n name: 'CompSolid', source: 'core/shapeTypes.js#CompSolid', kind: 'type', module: 'core',\n },\n {\n name: 'CurveLike', source: 'core/shapeTypes.js#CurveLike', kind: 'type', module: 'core',\n },\n {\n name: 'Dimension', source: 'core/shapeTypes.js#Dimension', kind: 'type', module: 'core',\n },\n {\n name: 'Edge', source: 'core/shapeTypes.js#Edge', kind: 'type', module: 'core',\n },\n {\n name: 'Face', source: 'core/shapeTypes.js#Face', kind: 'type', module: 'core',\n },\n {\n name: 'ManifoldShell', source: 'core/shapeTypes.js#ManifoldShell', kind: 'type', module: 'core',\n },\n {\n name: 'OrientedFace', source: 'core/shapeTypes.js#OrientedFace', kind: 'type', module: 'core',\n },\n {\n name: 'PlanarFace', source: 'core/shapeTypes.js#PlanarFace', kind: 'type', module: 'core',\n },\n {\n name: 'PlanarWire', source: 'core/shapeTypes.js#PlanarWire', kind: 'type', module: 'core',\n },\n {\n name: 'Shape1D', source: 'core/shapeTypes.js#Shape1D', kind: 'type', module: 'core',\n },\n {\n name: 'Shape3D', source: 'core/shapeTypes.js#Shape3D', kind: 'type', module: 'core',\n },\n {\n name: 'ShapeKind', source: 'core/shapeTypes.js#ShapeKind', kind: 'type', module: 'core',\n },\n {\n name: 'Shell', source: 'core/shapeTypes.js#Shell', kind: 'type', module: 'core',\n },\n {\n name: 'Solid', source: 'core/shapeTypes.js#Solid', kind: 'type', module: 'core',\n },\n {\n name: 'UnknownDimShape', source: 'core/shapeTypes.js#UnknownDimShape', kind: 'type', module: 'core',\n },\n {\n name: 'ValidSolid', source: 'core/shapeTypes.js#ValidSolid', kind: 'type', module: 'core',\n },\n {\n name: 'Vertex', source: 'core/shapeTypes.js#Vertex', kind: 'type', module: 'core',\n },\n {\n name: 'Wire', source: 'core/shapeTypes.js#Wire', kind: 'type', module: 'core',\n },\n {\n name: 'CurveType', source: 'core/typeDiscriminants.js#CurveType', kind: 'type', module: 'core',\n },\n {\n // 别名:vendored types.ts 只导出 Direction;根 barrel `Direction as DirectionInput`\n name: 'DirectionInput', source: 'index.js#DirectionInput', kind: 'type', module: 'core',\n },\n {\n name: 'Matrix4x4', source: 'core/types.js#Matrix4x4', kind: 'type', module: 'core',\n },\n {\n name: 'MatrixInput', source: 'core/types.js#MatrixInput', kind: 'type', module: 'core',\n },\n {\n name: 'MatrixTransform', source: 'core/types.js#MatrixTransform', kind: 'type', module: 'core',\n },\n {\n name: 'PointInput', source: 'core/types.js#PointInput', kind: 'type', module: 'core',\n },\n {\n name: 'Vec2', source: 'core/types.js#Vec2', kind: 'type', module: 'core',\n },\n {\n name: 'Vec3', source: 'core/types.js#Vec3', kind: 'type', module: 'core',\n },\n\n // 67 × pure(无 Shape/kernel 参数 → 直接 re-export,不进 defineOp)\n {\n name: 'DEG2RAD', source: 'core/constants.js#DEG2RAD', kind: 'pure', module: 'core', reason: '角度换算常量(纯数据)',\n },\n {\n name: 'RAD2DEG', source: 'core/constants.js#RAD2DEG', kind: 'pure', module: 'core', reason: '角度换算常量(纯数据)',\n },\n {\n name: 'HASH_CODE_MAX', source: 'core/constants.js#HASH_CODE_MAX', kind: 'pure', module: 'core', reason: '哈希上限常量(纯数据)',\n },\n {\n name: 'BrepBugError', source: 'core/errors.js#BrepBugError', kind: 'pure', module: 'core', reason: '错误类(纯构造,无 kernel 参数)',\n },\n {\n name: 'BrepErrorCode', source: 'core/errors.js#BrepErrorCode', kind: 'pure', module: 'core', reason: '错误码常量表(纯数据)',\n },\n {\n name: 'bug', source: 'core/errors.js#bug', kind: 'pure', module: 'core', reason: 'bug 错误构造器(纯函数)',\n },\n {\n name: 'computationError', source: 'core/errors.js#computationError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'ioError', source: 'core/errors.js#ioError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'kernelError', source: 'core/errors.js#kernelError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'moduleInitError', source: 'core/errors.js#moduleInitError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'queryError', source: 'core/errors.js#queryError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'sketcherStateError', source: 'core/errors.js#sketcherStateError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'typeCastError', source: 'core/errors.js#typeCastError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'unsupportedError', source: 'core/errors.js#unsupportedError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'validationError', source: 'core/errors.js#validationError', kind: 'pure', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'createNamedPlane', source: 'core/planeOps.js#createNamedPlane', kind: 'pure', module: 'core', reason: '命名平面构造(PlaneName,无 kernel 参数)',\n },\n {\n name: 'createPlane', source: 'core/planeOps.js#createPlane', kind: 'pure', module: 'core', reason: '平面构造(纯数据)',\n },\n {\n name: 'makePlane', source: 'core/planeOps.js#makePlane', kind: 'pure', module: 'core', reason: '平面构造(纯数据,PlaneInput)',\n },\n {\n name: 'pivotPlane', source: 'core/planeOps.js#pivotPlane', kind: 'pure', module: 'core', reason: '平面旋转变换(纯数据)',\n },\n {\n name: 'resolvePlane', source: 'core/planeOps.js#resolvePlane', kind: 'pure', module: 'core', reason: 'PlaneInput → Result<Plane>(无 Shape 参数)',\n },\n {\n name: 'translatePlane', source: 'core/planeOps.js#translatePlane', kind: 'pure', module: 'core', reason: '平面平移(纯数据)',\n },\n {\n name: 'ok', source: 'core/result.js#ok', kind: 'pure', module: 'core', reason: 'Result Ok 构造(纯函数)',\n },\n {\n name: 'err', source: 'core/result.js#err', kind: 'pure', module: 'core', reason: 'Result Err 构造(纯函数)',\n },\n {\n name: 'OK', source: 'core/result.js#OK', kind: 'pure', module: 'core', reason: 'Ok<Unit> 常量',\n },\n {\n name: 'isOk', source: 'core/result.js#isOk', kind: 'pure', module: 'core', reason: 'Result 判别(纯函数)',\n },\n {\n name: 'isErr', source: 'core/result.js#isErr', kind: 'pure', module: 'core', reason: 'Result 判别(纯函数)',\n },\n {\n name: 'map', source: 'core/result.js#map', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'mapErr', source: 'core/result.js#mapErr', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'mapBoth', source: 'core/result.js#mapBoth', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'andThen', source: 'core/result.js#andThen', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'flatMap', source: 'core/result.js#flatMap', kind: 'pure', module: 'core', reason: 'andThen 别名(纯函数)',\n },\n {\n name: 'or', source: 'core/result.js#or', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'orElse', source: 'core/result.js#orElse', kind: 'pure', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'all', source: 'core/result.js#all', kind: 'pure', module: 'core', reason: 'collect 别名(纯函数)',\n },\n {\n name: 'collect', source: 'core/result.js#collect', kind: 'pure', module: 'core', reason: 'Result[] 收集(纯函数)',\n },\n {\n name: 'tap', source: 'core/result.js#tap', kind: 'pure', module: 'core', reason: 'Result 副作用(纯函数)',\n },\n {\n name: 'tapErr', source: 'core/result.js#tapErr', kind: 'pure', module: 'core', reason: 'Result 副作用(纯函数)',\n },\n {\n name: 'flatten', source: 'core/result.js#flatten', kind: 'pure', module: 'core', reason: 'Result 嵌套展平(纯函数)',\n },\n {\n name: 'fromNullable', source: 'core/result.js#fromNullable', kind: 'pure', module: 'core', reason: 'nullable → Result(纯函数)',\n },\n {\n name: 'unwrap', source: 'core/result.js#unwrap', kind: 'pure', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapOr', source: 'core/result.js#unwrapOr', kind: 'pure', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapOrElse', source: 'core/result.js#unwrapOrElse', kind: 'pure', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapErr', source: 'core/result.js#unwrapErr', kind: 'pure', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'match', source: 'core/result.js#match', kind: 'pure', module: 'core', reason: 'Result 模式匹配(纯函数)',\n },\n {\n name: 'tryCatch', source: 'core/result.js#tryCatch', kind: 'pure', module: 'core', reason: '同步 try→Result(纯函数)',\n },\n {\n name: 'tryCatchAsync', source: 'core/result.js#tryCatchAsync', kind: 'pure', module: 'core', reason: '异步 try→Result(纯函数)',\n },\n {\n name: 'pipeline', source: 'core/result.js#pipeline', kind: 'pure', module: 'core', reason: 'Result 管道入口(纯函数)',\n },\n {\n // 别名:vendored result.ts 导出名 zip;根 barrel `zip as zipResults`\n name: 'zipResults', source: 'index.js#zipResults', kind: 'pure', module: 'core', reason: 'zip 的根 barrel 别名导出(纯函数)',\n },\n {\n name: 'resolveDirection', source: 'core/types.js#resolveDirection', kind: 'pure', module: 'core', reason: '方向简写 → Vec3(纯函数)',\n },\n {\n name: 'toVec2', source: 'core/types.js#toVec2', kind: 'pure', module: 'core', reason: 'PointInput → Vec2(纯函数)',\n },\n {\n name: 'toVec3', source: 'core/types.js#toVec3', kind: 'pure', module: 'core', reason: 'PointInput → Vec3(纯函数)',\n },\n {\n name: 'vecAdd', source: 'core/vecOps.js#vecAdd', kind: 'pure', module: 'core', reason: '向量加法(纯函数)',\n },\n {\n name: 'vecAngle', source: 'core/vecOps.js#vecAngle', kind: 'pure', module: 'core', reason: '向量夹角(纯函数)',\n },\n {\n name: 'vecCross', source: 'core/vecOps.js#vecCross', kind: 'pure', module: 'core', reason: '向量叉积(纯函数)',\n },\n {\n name: 'vecDistance', source: 'core/vecOps.js#vecDistance', kind: 'pure', module: 'core', reason: '向量距离(纯函数)',\n },\n {\n name: 'vecDot', source: 'core/vecOps.js#vecDot', kind: 'pure', module: 'core', reason: '向量点积(纯函数)',\n },\n {\n name: 'vecEquals', source: 'core/vecOps.js#vecEquals', kind: 'pure', module: 'core', reason: '向量相等(纯函数)',\n },\n {\n name: 'vecIsZero', source: 'core/vecOps.js#vecIsZero', kind: 'pure', module: 'core', reason: '零向量判别(纯函数)',\n },\n {\n name: 'vecLength', source: 'core/vecOps.js#vecLength', kind: 'pure', module: 'core', reason: '向量模长(纯函数)',\n },\n {\n name: 'vecLengthSq', source: 'core/vecOps.js#vecLengthSq', kind: 'pure', module: 'core', reason: '向量模长平方(纯函数)',\n },\n {\n name: 'vecNegate', source: 'core/vecOps.js#vecNegate', kind: 'pure', module: 'core', reason: '向量取反(纯函数)',\n },\n {\n name: 'vecNormalize', source: 'core/vecOps.js#vecNormalize', kind: 'pure', module: 'core', reason: '向量归一化(纯函数)',\n },\n {\n name: 'vecProjectToPlane', source: 'core/vecOps.js#vecProjectToPlane', kind: 'pure', module: 'core', reason: '向量平面投影(纯函数)',\n },\n {\n name: 'vecRepr', source: 'core/vecOps.js#vecRepr', kind: 'pure', module: 'core', reason: '向量字符串(纯函数)',\n },\n {\n name: 'vecRotate', source: 'core/vecOps.js#vecRotate', kind: 'pure', module: 'core', reason: '向量绕轴旋转(纯函数)',\n },\n {\n name: 'vecScale', source: 'core/vecOps.js#vecScale', kind: 'pure', module: 'core', reason: '向量缩放(纯函数)',\n },\n {\n name: 'vecSub', source: 'core/vecOps.js#vecSub', kind: 'pure', module: 'core', reason: '向量减法(纯函数)',\n },\n\n // 1 × query:形状判别串查询(Shape 进 → ShapeKind 字符串出,纯数据)\n {\n name: 'getShapeKind', source: 'core/shapeTypes.js#getShapeKind', kind: 'query', module: 'core',\n args: '(shape: AnyShape) -> ShapeKind',\n geometryArgs: [0],\n returnsResult: false,\n returnType: 'ShapeKind',\n params: ['shape'], formClass: 'A',\n },\n\n // 53 × skip(裸 kernel 句柄族;faijs 面 Shape 所有权经 l3-bridge 借入/收养,不暴露裸句柄)\n // disposal:内核句柄生命周期/作用域基础设施\n {\n name: 'createHandle', source: 'core/disposal.js#createHandle', kind: 'skip', module: 'core', reason: '裸 OCCT Shape 句柄注册(KernelShape 入参),skip host 生命周期管理',\n },\n {\n name: 'createKernelHandle', source: 'core/disposal.js#createKernelHandle', kind: 'skip', module: 'core', reason: '裸 OCCT 对象句柄包装,skip',\n },\n {\n name: 'DisposalScope', source: 'core/disposal.js#DisposalScope', kind: 'skip', module: 'core', reason: '内核句柄作用域类(裸句柄注册),skip host 生命周期管理',\n },\n {\n name: 'getDisposalStats', source: 'core/disposal.js#getDisposalStats', kind: 'skip', module: 'core', reason: '裸句柄泄漏统计(内部调试),skip',\n },\n {\n name: 'isLive', source: 'core/disposal.js#isLive', kind: 'skip', module: 'core', reason: '裸句柄存活判别(ShapeHandle/KernelHandle),skip',\n },\n {\n name: 'resetDisposalStats', source: 'core/disposal.js#resetDisposalStats', kind: 'skip', module: 'core', reason: '裸句柄统计清零(内部调试),skip',\n },\n {\n name: 'withScope', source: 'core/disposal.js#withScope', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(DisposalScope 回调),skip host 生命周期管理',\n },\n {\n name: 'withScopeResult', source: 'core/disposal.js#withScopeResult', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(Result 变体),skip',\n },\n {\n name: 'withScopeResultAsync', source: 'core/disposal.js#withScopeResultAsync', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(异步变体),skip',\n },\n // kernelBoundary:OCCT 内核对象 ↔ JS 值 边界转换(Vec/KernelType)\n {\n name: 'toKernelVec', source: 'core/kernelBoundary.js#toKernelVec', kind: 'skip', module: 'core', reason: 'Vec3 → OCCT 内核对象(L0 内部桥),skip',\n },\n {\n name: 'fromKernelVec', source: 'core/kernelBoundary.js#fromKernelVec', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'fromKernelPnt', source: 'core/kernelBoundary.js#fromKernelPnt', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'fromKernelDir', source: 'core/kernelBoundary.js#fromKernelDir', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'withKernelVec', source: 'core/kernelBoundary.js#withKernelVec', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n {\n name: 'withKernelPnt', source: 'core/kernelBoundary.js#withKernelPnt', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n {\n name: 'withKernelDir', source: 'core/kernelBoundary.js#withKernelDir', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n // kernelCall:裸内核调用通道(kernel 句柄/方法名协议)\n {\n name: 'kernelCall', source: 'core/kernelCall.js#kernelCall', kind: 'skip', module: 'core', reason: '裸内核方法调用通道(L0 内部),skip',\n },\n {\n name: 'kernelCallRaw', source: 'core/kernelCall.js#kernelCallRaw', kind: 'skip', module: 'core', reason: '裸内核方法调用(raw 变体,L0 内部),skip',\n },\n {\n name: 'kernelCallScoped', source: 'core/kernelCall.js#kernelCallScoped', kind: 'skip', module: 'core', reason: '裸内核调用 + 句柄作用域(L0 内部),skip',\n },\n // shapeTypes:KernelShape 裸句柄构造/谓词/断言(faijs 面 Shape 经桥接生成,无裸句柄可传)\n {\n name: 'as2D', source: 'core/shapeTypes.js#as2D', kind: 'skip', module: 'core', reason: 'AnyShape → Shape1D 维度收窄(KernelShape 包装),skip',\n },\n {\n name: 'as3D', source: 'core/shapeTypes.js#as3D', kind: 'skip', module: 'core', reason: 'AnyShape → Shape3D 维度收窄(KernelShape 包装),skip',\n },\n {\n name: 'castShape', source: 'core/shapeTypes.js#castShape', kind: 'skip', module: 'core', reason: 'KernelShape → 拓扑类型收窄(裸句柄入参),skip',\n },\n {\n name: 'castShape3D', source: 'core/shapeTypes.js#castShape3D', kind: 'skip', module: 'core', reason: 'KernelShape → Shape3D(裸句柄入参),skip',\n },\n {\n name: 'closedWire', source: 'core/shapeTypes.js#closedWire', kind: 'skip', module: 'core', reason: 'Wire → ClosedWire 判别包装(KernelShape),skip',\n },\n {\n name: 'createCompound', source: 'core/shapeTypes.js#createCompound', kind: 'skip', module: 'core', reason: 'KernelShape → Compound 包装(裸句柄入参),skip',\n },\n {\n name: 'createEdge', source: 'core/shapeTypes.js#createEdge', kind: 'skip', module: 'core', reason: 'KernelShape → Edge 包装(裸句柄入参),skip',\n },\n {\n name: 'createFace', source: 'core/shapeTypes.js#createFace', kind: 'skip', module: 'core', reason: 'KernelShape → Face 包装(裸句柄入参),skip',\n },\n {\n name: 'createShell', source: 'core/shapeTypes.js#createShell', kind: 'skip', module: 'core', reason: 'KernelShape → Shell 包装(裸句柄入参),skip',\n },\n {\n name: 'createSolid', source: 'core/shapeTypes.js#createSolid', kind: 'skip', module: 'core', reason: 'KernelShape → Solid 包装(裸句柄入参),skip',\n },\n {\n name: 'createVertex', source: 'core/shapeTypes.js#createVertex', kind: 'skip', module: 'core', reason: 'KernelShape → Vertex 包装(裸句柄入参),skip',\n },\n {\n name: 'createWire', source: 'core/shapeTypes.js#createWire', kind: 'skip', module: 'core', reason: 'KernelShape → Wire 包装(裸句柄入参),skip',\n },\n {\n name: 'is2D', source: 'core/shapeTypes.js#is2D', kind: 'skip', module: 'core', reason: 'AnyShape 维度判别(KernelShape 谓词),skip',\n },\n {\n name: 'is3D', source: 'core/shapeTypes.js#is3D', kind: 'skip', module: 'core', reason: 'AnyShape 维度判别(KernelShape 谓词),skip',\n },\n {\n name: 'isClosedWire', source: 'core/shapeTypes.js#isClosedWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isCompound', source: 'core/shapeTypes.js#isCompound', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isEdge', source: 'core/shapeTypes.js#isEdge', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isFace', source: 'core/shapeTypes.js#isFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isManifoldShell', source: 'core/shapeTypes.js#isManifoldShell', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isOrientedFace', source: 'core/shapeTypes.js#isOrientedFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isPlanarFace', source: 'core/shapeTypes.js#isPlanarFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isPlanarWire', source: 'core/shapeTypes.js#isPlanarWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShape1D', source: 'core/shapeTypes.js#isShape1D', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShape3D', source: 'core/shapeTypes.js#isShape3D', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShell', source: 'core/shapeTypes.js#isShell', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isSolid', source: 'core/shapeTypes.js#isSolid', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isValidSolid', source: 'core/shapeTypes.js#isValidSolid', kind: 'skip', module: 'core', reason: 'ValidSolid 判别(KernelShape 谓词),skip',\n },\n {\n name: 'isVertex', source: 'core/shapeTypes.js#isVertex', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isWire', source: 'core/shapeTypes.js#isWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'manifoldShell', source: 'core/shapeTypes.js#manifoldShell', kind: 'skip', module: 'core', reason: 'Shell → ManifoldShell 判别包装(KernelShape),skip',\n },\n {\n name: 'orientedFace', source: 'core/shapeTypes.js#orientedFace', kind: 'skip', module: 'core', reason: 'Face → OrientedFace 判别包装(KernelShape),skip',\n },\n {\n name: 'planarFace', source: 'core/shapeTypes.js#planarFace', kind: 'skip', module: 'core', reason: 'Face → PlanarFace 判别包装(KernelShape),skip',\n },\n {\n name: 'planarWire', source: 'core/shapeTypes.js#planarWire', kind: 'skip', module: 'core', reason: 'Wire → PlanarWire 判别包装(KernelShape),skip',\n },\n {\n name: 'validSolid', source: 'core/shapeTypes.js#validSolid', kind: 'skip', module: 'core', reason: 'Solid → ValidSolid 判别包装(KernelShape),skip',\n },\n\n // ──── P14 batch 10:sketching 模块(52 = 3 type + 1 pure + 1 brep-op + 47 skip)────\n // sketching 是 brepjs 的「状态化草图 DSL」层:Sketcher/Sketch/Sketches/FaceSketcher/\n // CompoundSketch 类 + draw*/drawing*/sketch*/compoundSketch* 函数全部消费 brepjs 内部\n // 草图状态对象(内部持有 kernel 引用/草绘平面),faijs 面以 cad 命名空间的声明式 op\n // 表达建模,不暴露草图 DSL 状态机 —— 整层除下列 5 个符号外登记 skip。\n // 保留:Drawing/DrawingPen/SketchInterface 类型 re-export(TS 消费方类型面需要);\n // polysideInnerRadius(纯正多边形内径计算,无 kernel/Shape);makeBaseBox(纯数值\n // 构造 → Shape3D,brep-op 构造类,与 torus 同款模板)。\n\n // 3 × type\n {\n name: 'Drawing', source: 'sketching/drawing.js#Drawing', kind: 'type', module: 'sketching',\n },\n {\n name: 'DrawingPen', source: 'sketching/drawingPen.js#DrawingPen', kind: 'type', module: 'sketching',\n },\n {\n name: 'SketchInterface', source: 'sketching/sketch.js#SketchInterface', kind: 'type', module: 'sketching',\n },\n // 1 × pure\n {\n name: 'polysideInnerRadius', source: 'sketching/cannedSketches.js#polysideInnerRadius', kind: 'pure', module: 'sketching', reason: '正多边形内径计算(纯数学,无 kernel/Shape)',\n },\n // 1 × brep-op(构造类:纯数值参数 → Shape3D,无几何输入)\n {\n name: 'makeBaseBox', source: 'sketching/shortcuts.js#makeBaseBox', kind: 'brep-op', capabilities: [\"addHolesInFace\",\"buildEdgeOnSurface\",\"buildExtrusionLaw\",\"copyShape\",\"curveParameters\",\"curvePointAtParam\",\"curveTangent\",\"dispose\",\"downcast\",\"extrude\",\"isNull\",\"loftAdvanced\",\"makeFace\",\"makeFaceOnSurface\",\"makeVertex\",\"makeWireFromMixed\",\"mirror\",\"revolveVec\",\"shapeType\",\"simplePipe\",\"surfaceType\",\"sweepPipeShell\"], module: 'sketching',\n args: '(xLength: number, yLength: number, zLength: number) -> Shape3D',\n geometryArgs: [],\n returnsResult: false,\n params: ['xLength', 'yLength', 'zLength'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n\n // 47 × skip(状态化草图/绘图 DSL 族)\n {\n name: 'sketchCircle', source: 'sketching/cannedSketches.js#sketchCircle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL(返回 Sketch 状态对象),skip',\n },\n {\n name: 'sketchEllipse', source: 'sketching/cannedSketches.js#sketchEllipse', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchFaceOffset', source: 'sketching/cannedSketches.js#sketchFaceOffset', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL(Face 偏移),skip',\n },\n {\n name: 'sketchHelix', source: 'sketching/cannedSketches.js#sketchHelix', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchParametricFunction', source: 'sketching/cannedSketches.js#sketchParametricFunction', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchPolysides', source: 'sketching/cannedSketches.js#sketchPolysides', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchRectangle', source: 'sketching/cannedSketches.js#sketchRectangle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchRoundedRectangle', source: 'sketching/cannedSketches.js#sketchRoundedRectangle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'CompoundSketch', source: 'sketching/compoundSketch.js#CompoundSketch', kind: 'skip', module: 'sketching', reason: '复合草图状态类(kernel 引用),skip',\n },\n {\n name: 'drawFaceOutline', source: 'sketching/draw3d.js#drawFaceOutline', kind: 'skip', module: 'sketching', reason: '3D 面轮廓绘制 DSL,skip',\n },\n {\n name: 'drawProjection', source: 'sketching/draw3d.js#drawProjection', kind: 'skip', module: 'sketching', reason: '投影绘制 DSL,skip',\n },\n {\n name: 'drawingChamfer', source: 'sketching/drawFns.js#drawingChamfer', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'drawingCut', source: 'sketching/drawFns.js#drawingCut', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingFillet', source: 'sketching/drawFns.js#drawingFillet', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'drawingFuse', source: 'sketching/drawFns.js#drawingFuse', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingIntersect', source: 'sketching/drawFns.js#drawingIntersect', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingToSketchOnPlane', source: 'sketching/drawFns.js#drawingToSketchOnPlane', kind: 'skip', module: 'sketching', reason: 'Drawing → Sketch 状态迁移,skip',\n },\n {\n name: 'mirrorDrawing', source: 'sketching/drawFns.js#mirrorDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'rotateDrawing', source: 'sketching/drawFns.js#rotateDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'scaleDrawing', source: 'sketching/drawFns.js#scaleDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'translateDrawing', source: 'sketching/drawFns.js#translateDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'deserializeDrawing', source: 'sketching/drawing.js#deserializeDrawing', kind: 'skip', module: 'sketching', reason: '绘图序列化重建(状态对象),skip',\n },\n {\n name: 'drawCircle', source: 'sketching/drawingFactories.js#drawCircle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL(Drawing 状态对象),skip',\n },\n {\n name: 'drawEllipse', source: 'sketching/drawingFactories.js#drawEllipse', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL(Drawing 状态对象),skip',\n },\n {\n name: 'drawParametricFunction', source: 'sketching/drawingFactories.js#drawParametricFunction', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawPointsInterpolation', source: 'sketching/drawingFactories.js#drawPointsInterpolation', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawPolysides', source: 'sketching/drawingFactories.js#drawPolysides', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawRectangle', source: 'sketching/drawingFactories.js#drawRectangle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawRoundedRectangle', source: 'sketching/drawingFactories.js#drawRoundedRectangle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawSingleCircle', source: 'sketching/drawingFactories.js#drawSingleCircle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawSingleEllipse', source: 'sketching/drawingFactories.js#drawSingleEllipse', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawText', source: 'sketching/drawingFactories.js#drawText', kind: 'skip', module: 'sketching', reason: '文本绘制 DSL,skip',\n },\n {\n name: 'draw', source: 'sketching/drawingPen.js#draw', kind: 'skip', module: 'sketching', reason: 'DrawingPen 状态入口(段落累积),skip',\n },\n {\n name: 'FaceSketcher', source: 'sketching/faceSketcher.js#FaceSketcher', kind: 'skip', module: 'sketching', reason: '面上草图状态类(kernel Face 引用),skip',\n },\n {\n name: 'Sketch', source: 'sketching/sketch.js#Sketch', kind: 'skip', module: 'sketching', reason: '草图状态类(kernel 草绘平面),skip',\n },\n {\n name: 'compoundSketchExtrude', source: 'sketching/sketchFns.js#compoundSketchExtrude', kind: 'skip', module: 'sketching', reason: '草图状态拉伸(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchFace', source: 'sketching/sketchFns.js#compoundSketchFace', kind: 'skip', module: 'sketching', reason: '草图状态取面(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchLoft', source: 'sketching/sketchFns.js#compoundSketchLoft', kind: 'skip', module: 'sketching', reason: '草图状态放样(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchRevolve', source: 'sketching/sketchFns.js#compoundSketchRevolve', kind: 'skip', module: 'sketching', reason: '草图状态旋转(CompoundSketch 入参),skip',\n },\n {\n name: 'sketchExtrude', source: 'sketching/sketchFns.js#sketchExtrude', kind: 'skip', module: 'sketching', reason: '草图状态拉伸(Sketch 入参),skip',\n },\n {\n name: 'sketchFace', source: 'sketching/sketchFns.js#sketchFace', kind: 'skip', module: 'sketching', reason: '草图状态取面(Sketch 入参),skip',\n },\n {\n name: 'sketchLoft', source: 'sketching/sketchFns.js#sketchLoft', kind: 'skip', module: 'sketching', reason: '草图状态放样(Sketch 数组入参),skip',\n },\n {\n name: 'sketchRevolve', source: 'sketching/sketchFns.js#sketchRevolve', kind: 'skip', module: 'sketching', reason: '草图状态旋转(Sketch 入参),skip',\n },\n {\n name: 'sketchSweep', source: 'sketching/sketchFns.js#sketchSweep', kind: 'skip', module: 'sketching', reason: '草图状态扫掠(Sketch + spine),skip',\n },\n {\n name: 'sketchWires', source: 'sketching/sketchFns.js#sketchWires', kind: 'skip', module: 'sketching', reason: '草图取线框(Sketch 入参),skip',\n },\n {\n name: 'Sketcher', source: 'sketching/sketcher.js#Sketcher', kind: 'skip', module: 'sketching', reason: '草图 DSL 状态类(kernel 句柄),skip',\n },\n {\n name: 'Sketches', source: 'sketching/sketches.js#Sketches', kind: 'skip', module: 'sketching', reason: '草图集合状态类(kernel 引用),skip',\n },\n\n // ──── P14 补批 11:topology 模块(302 = 96 type + 206 value;P13a 4 样本已登)────\n // topology 是 brepjs 建模核心面(primitive/boolean/transform/modifier/shape 查询)。\n // 本批按 surface 基线逐符号登记:类型全量 re-export;整件进出的几何 op 投 brep-op;\n // Shape→纯数据查询投 query;纯函数投 pure;子形状句柄(Face/Edge/Wire/Vertex)入参\n // 或句柄数组/状态机/宿主渲染 DSL 登记 skip(faijs Shape 面只能表达整件,理由见各条)。\n // 条目缺省 module='topology'(与 P13a 样本一致;generator moduleOf 缺省同值)。\n //\n // 95 × type(96 − P13a Bounds3D)\n { name: 'ComposedTransform', source: 'topology/api.js#ComposedTransform', kind: 'type' },\n { name: 'MirrorOptions', source: 'topology/api.js#MirrorOptions', kind: 'type' },\n { name: 'RotateOptions', source: 'topology/api.js#RotateOptions', kind: 'type' },\n { name: 'ScaleOptions', source: 'topology/api.js#ScaleOptions', kind: 'type' },\n { name: 'TransformOp', source: 'topology/api.js#TransformOp', kind: 'type' },\n { name: 'BossOptions', source: 'topology/apiTypes.js#BossOptions', kind: 'type' },\n { name: 'ChamferDistance', source: 'topology/apiTypes.js#ChamferDistance', kind: 'type' },\n { name: 'DraftAngle', source: 'topology/apiTypes.js#DraftAngle', kind: 'type' },\n { name: 'DraftOptions', source: 'topology/apiTypes.js#DraftOptions', kind: 'type' },\n { name: 'DrawingLike', source: 'topology/apiTypes.js#DrawingLike', kind: 'type' },\n { name: 'DrillOptions', source: 'topology/apiTypes.js#DrillOptions', kind: 'type' },\n { name: 'FilletRadius', source: 'topology/apiTypes.js#FilletRadius', kind: 'type' },\n { name: 'FinderFn', source: 'topology/apiTypes.js#FinderFn', kind: 'type' },\n { name: 'MirrorJoinOptions', source: 'topology/apiTypes.js#MirrorJoinOptions', kind: 'type' },\n { name: 'PocketOptions', source: 'topology/apiTypes.js#PocketOptions', kind: 'type' },\n { name: 'RectangularPatternOptions', source: 'topology/apiTypes.js#RectangularPatternOptions', kind: 'type' },\n { name: 'Shapeable', source: 'topology/apiTypes.js#Shapeable', kind: 'type' },\n { name: 'WrappedMarker', source: 'topology/apiTypes.js#WrappedMarker', kind: 'type' },\n { name: 'BatchBisectResult', source: 'topology/booleanBatchFns.js#BatchBisectResult', kind: 'type' },\n { name: 'BatchBisectTelemetry', source: 'topology/booleanBatchFns.js#BatchBisectTelemetry', kind: 'type' },\n { name: 'BooleanOptions', source: 'topology/booleanFns.js#BooleanOptions', kind: 'type' },\n { name: 'BooleanPipelineStep', source: 'topology/booleanFns.js#BooleanPipelineStep', kind: 'type' },\n { name: 'PipelineOp', source: 'topology/booleanFns.js#PipelineOp', kind: 'type' },\n { name: 'ApproximateCurveOptions', source: 'topology/curveFns.js#ApproximateCurveOptions', kind: 'type' },\n { name: 'InterpolateCurveOptions', source: 'topology/curveFns.js#InterpolateCurveOptions', kind: 'type' },\n { name: 'EvolutionResult', source: 'topology/evolutionFns.js#EvolutionResult', kind: 'type' },\n { name: 'PointProjectionResult', source: 'topology/faceFns.js#PointProjectionResult', kind: 'type' },\n { name: 'UVBounds', source: 'topology/faceFns.js#UVBounds', kind: 'type' },\n { name: 'AutoHealOptions', source: 'topology/healingFns.js#AutoHealOptions', kind: 'type' },\n { name: 'HealingReport', source: 'topology/healingFns.js#HealingReport', kind: 'type' },\n { name: 'HealingStepDiagnostic', source: 'topology/healingFns.js#HealingStepDiagnostic', kind: 'type' },\n { name: 'HullOptions', source: 'topology/hullFns.js#HullOptions', kind: 'type' },\n { name: 'ChamferRadius', source: 'topology/index.js#ChamferRadius', kind: 'type' },\n { name: 'GenericTopo', source: 'topology/index.js#GenericTopo', kind: 'type' },\n { name: 'RadiusOptions', source: 'topology/index.js#RadiusOptions', kind: 'type' },\n { name: 'TopoEntity', source: 'topology/index.js#TopoEntity', kind: 'type' },\n { name: 'MeshCacheContext', source: 'topology/meshCache.js#MeshCacheContext', kind: 'type' },\n { name: 'EdgeMesh', source: 'topology/meshFns.js#EdgeMesh', kind: 'type' },\n { name: 'LODMesh', source: 'topology/meshFns.js#LODMesh', kind: 'type' },\n { name: 'MeshLevelFn', source: 'topology/meshFns.js#MeshLevelFn', kind: 'type' },\n { name: 'MeshLODsOptions', source: 'topology/meshFns.js#MeshLODsOptions', kind: 'type' },\n { name: 'MeshLODsProgressiveOptions', source: 'topology/meshFns.js#MeshLODsProgressiveOptions', kind: 'type' },\n { name: 'MeshOptions', source: 'topology/meshFns.js#MeshOptions', kind: 'type' },\n { name: 'MultiLODMesh', source: 'topology/meshFns.js#MultiLODMesh', kind: 'type' },\n { name: 'ShapeMesh', source: 'topology/meshFns.js#ShapeMesh', kind: 'type' },\n { name: 'Color', source: 'topology/metadata/colorFns.js#Color', kind: 'type' },\n { name: 'ColorInput', source: 'topology/metadata/colorFns.js#ColorInput', kind: 'type' },\n { name: 'MinkowskiOptions', source: 'topology/minkowskiFns.js#MinkowskiOptions', kind: 'type' },\n { name: 'VariableFilletRadius', source: 'topology/modifierFns.js#VariableFilletRadius', kind: 'type' },\n { name: 'PolyhedronOptions', source: 'topology/polyhedronFns.js#PolyhedronOptions', kind: 'type' },\n { name: 'BoxOptions', source: 'topology/primitiveFns.js#BoxOptions', kind: 'type' },\n { name: 'CircleOptions', source: 'topology/primitiveFns.js#CircleOptions', kind: 'type' },\n { name: 'ConeOptions', source: 'topology/primitiveFns.js#ConeOptions', kind: 'type' },\n { name: 'CylinderOptions', source: 'topology/primitiveFns.js#CylinderOptions', kind: 'type' },\n { name: 'EllipseArcOptions', source: 'topology/primitiveFns.js#EllipseArcOptions', kind: 'type' },\n { name: 'EllipseOptions', source: 'topology/primitiveFns.js#EllipseOptions', kind: 'type' },\n { name: 'EllipsoidOptions', source: 'topology/primitiveFns.js#EllipsoidOptions', kind: 'type' },\n { name: 'HelixOptions', source: 'topology/primitiveFns.js#HelixOptions', kind: 'type' },\n { name: 'SphereOptions', source: 'topology/primitiveFns.js#SphereOptions', kind: 'type' },\n { name: 'TorusOptions', source: 'topology/primitiveFns.js#TorusOptions', kind: 'type' },\n { name: 'ShapeDescription', source: 'topology/shapeFns.js#ShapeDescription', kind: 'type' },\n { name: 'BrokenDerivedFaceRef', source: 'topology/shapeRef/index.js#BrokenDerivedFaceRef', kind: 'type' },\n { name: 'BrokenEdgeRef', source: 'topology/shapeRef/index.js#BrokenEdgeRef', kind: 'type' },\n { name: 'BrokenReason', source: 'topology/shapeRef/index.js#BrokenReason', kind: 'type' },\n { name: 'BrokenRef', source: 'topology/shapeRef/index.js#BrokenRef', kind: 'type' },\n { name: 'BrokenVertexRef', source: 'topology/shapeRef/index.js#BrokenVertexRef', kind: 'type' },\n { name: 'DerivedFaceHint', source: 'topology/shapeRef/index.js#DerivedFaceHint', kind: 'type' },\n { name: 'DerivedFaceRef', source: 'topology/shapeRef/index.js#DerivedFaceRef', kind: 'type' },\n { name: 'EdgeHint', source: 'topology/shapeRef/index.js#EdgeHint', kind: 'type' },\n { name: 'EdgeRef', source: 'topology/shapeRef/index.js#EdgeRef', kind: 'type' },\n { name: 'FaceScorer', source: 'topology/shapeRef/index.js#FaceScorer', kind: 'type' },\n { name: 'GeometricHint', source: 'topology/shapeRef/index.js#GeometricHint', kind: 'type' },\n { name: 'LineageRef', source: 'topology/shapeRef/index.js#LineageRef', kind: 'type' },\n { name: 'LineageResolution', source: 'topology/shapeRef/index.js#LineageResolution', kind: 'type' },\n { name: 'ResolvedDerivedFaceRef', source: 'topology/shapeRef/index.js#ResolvedDerivedFaceRef', kind: 'type' },\n { name: 'ResolvedEdgeRef', source: 'topology/shapeRef/index.js#ResolvedEdgeRef', kind: 'type' },\n { name: 'ResolvedEntity', source: 'topology/shapeRef/index.js#ResolvedEntity', kind: 'type' },\n { name: 'ResolvedRef', source: 'topology/shapeRef/index.js#ResolvedRef', kind: 'type' },\n { name: 'ResolvedVertexRef', source: 'topology/shapeRef/index.js#ResolvedVertexRef', kind: 'type' },\n { name: 'RoleTable', source: 'topology/shapeRef/index.js#RoleTable', kind: 'type' },\n { name: 'ShapeRef', source: 'topology/shapeRef/index.js#ShapeRef', kind: 'type' },\n { name: 'VertexHint', source: 'topology/shapeRef/index.js#VertexHint', kind: 'type' },\n { name: 'VertexRef', source: 'topology/shapeRef/index.js#VertexRef', kind: 'type' },\n { name: 'SurfaceFromGridOptions', source: 'topology/surfaceFns.js#SurfaceFromGridOptions', kind: 'type' },\n { name: 'SurfaceFromImageOptions', source: 'topology/surfaceFns.js#SurfaceFromImageOptions', kind: 'type' },\n { name: 'BufferGeometryData', source: 'topology/threeHelpers.js#BufferGeometryData', kind: 'type' },\n { name: 'BufferGeometryGroup', source: 'topology/threeHelpers.js#BufferGeometryGroup', kind: 'type' },\n { name: 'GroupedBufferGeometryData', source: 'topology/threeHelpers.js#GroupedBufferGeometryData', kind: 'type' },\n { name: 'LineGeometryData', source: 'topology/threeHelpers.js#LineGeometryData', kind: 'type' },\n { name: 'LODGeometryData', source: 'topology/threeHelpers.js#LODGeometryData', kind: 'type' },\n { name: 'LODGeometryLevel', source: 'topology/threeHelpers.js#LODGeometryLevel', kind: 'type' },\n { name: 'Wrapped', source: 'topology/wrapperFns.js#Wrapped', kind: 'type' },\n { name: 'Wrapped3D', source: 'topology/wrapperFns.js#Wrapped3D', kind: 'type' },\n { name: 'WrappedCurve', source: 'topology/wrapperFns.js#WrappedCurve', kind: 'type' },\n { name: 'WrappedFace', source: 'topology/wrapperFns.js#WrappedFace', kind: 'type' },\n\n // ── topology value 登记(203 = 206 − P13a 的 torus/fuse/getBounds)──\n // brep-op:整件 Shape 进出(构造/变换/布尔/修饰,走 defineOp + borrow/adopt);\n // query:整件 Shape 进 → 纯数据出;pure:无 Shape 参数;skip:divergence 见 reason\n // (子形状句柄入参/句柄数组产物/宿主渲染/状态 DSL 等——faijs Shape 面只有整件值)。\n\n // primitiveFns:box/sphere/cylinder/cone/compound/solid 是 faijs 同名 op(§5.1 双形态\n // 或手写面已覆盖),生成层不重复投影 → skip;曲线/线框/面类构造产物是 Edge/Wire/Face\n // 子形状句柄,faijs Shape 面整件模型无法承载 → skip;ellipsoid 是纯数值整件构造 → brep-op;\n // box(§4.1 A)、cone(§4.1 P)与 cylinder(§4.3 A)自 P3/P4/P5 起由 skip → brep-op:\n // 投影到 brepjs 契约,但**不投 scriptFace**(faijs 侧由手写 dual-op 覆盖,生成模块\n // 符号为孤儿 by design)。\n {\n name: 'box', source: 'topology/primitiveFns.js#box', kind: 'skip',\n args: 'box(width: number, depth: number, height: number, options?: BoxOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (box dual-op, mesh+brep)',\n },\n {\n name: 'sphere', source: 'topology/primitiveFns.js#sphere', kind: 'skip',\n reason: 'faijs 同名 sphere(§5.1 双形态同 box),生成层不重复投影',\n },\n {\n name: 'cylinder', source: 'topology/primitiveFns.js#cylinder', kind: 'skip',\n args: 'cylinder(radius: number, height: number, options?: CylinderOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (cylinder dual-op, mesh+brep)',\n },\n {\n name: 'cone', source: 'topology/primitiveFns.js#cone', kind: 'skip',\n args: 'cone(radiusBottom: number, radiusTop: number, height: number, options?: ConeOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (cone dual-op, mesh+brep)',\n },\n {\n name: 'ellipsoid', source: 'topology/primitiveFns.js#ellipsoid', kind: 'brep-op', capabilities: [\"dispose\",\"makeEllipsoid\",\"translateWithHistory\"],\n geometryArgs: [], returnsResult: false,\n args: 'ellipsoid(rx: number, ry: number, rz: number, options?: EllipsoidOptions): Shape',\n reason: '纯数值整件构造(rx/ry/rz → ValidSolid),brep-op',\n params: ['rx', 'ry', 'rz', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n name: 'addHoles', source: 'topology/primitiveFns.js#addHoles', kind: 'skip',\n reason: 'Face + ClosedWire[] 子形状句柄入参,faijs Shape 面无法提供,skip',\n },\n {\n name: 'subFace', source: 'topology/primitiveFns.js#subFace', kind: 'skip',\n reason: 'Face/ClosedWire 子形状句柄入参,skip',\n },\n {\n name: 'offsetFace', source: 'topology/primitiveFns.js#offsetFace', kind: 'skip',\n reason: 'Face 子形状句柄入参,skip',\n },\n {\n name: 'sewShells', source: 'topology/primitiveFns.js#sewShells', kind: 'skip',\n reason: 'Face|Shell[] 句柄数组入参,skip',\n },\n {\n name: 'face', source: 'topology/primitiveFns.js#face', kind: 'skip',\n reason: 'ClosedWire 子形状入参 → Face 子形状产物,faijs 整件面不承载,skip',\n },\n {\n name: 'filledFace', source: 'topology/primitiveFns.js#filledFace', kind: 'skip',\n reason: 'ClosedWire 入参 → Face 子形状产物,skip',\n },\n {\n name: 'polygon', source: 'topology/primitiveFns.js#polygon', kind: 'skip',\n reason: '产生 Face 子形状产物(2D 面),faijs 整件面不承载,skip',\n },\n {\n name: 'solid', source: 'topology/primitiveFns.js#solid', kind: 'skip',\n reason: 'faijs 同名 solid(手写面已覆盖),且入参 Face|Shell[] 句柄数组,skip',\n },\n {\n name: 'compound', source: 'topology/primitiveFns.js#compound', kind: 'skip',\n reason: 'faijs 同名 compound(手写面已覆盖),且入参 AnyShape[] 句柄数组,skip',\n },\n {\n name: 'wire', source: 'topology/primitiveFns.js#wire', kind: 'skip',\n reason: 'Edge|Wire[] 句柄数组入参 → Wire 子形状产物,skip',\n },\n {\n name: 'wireLoop', source: 'topology/primitiveFns.js#wireLoop', kind: 'skip',\n reason: 'Edge|Wire[] 句柄数组入参 → ClosedWire 子形状产物,skip',\n },\n {\n name: 'line', source: 'topology/primitiveFns.js#line', kind: 'skip',\n reason: '2D 曲线基元(Vec3 → Edge 子形状产物),faijs 整件面不承载,skip',\n },\n {\n name: 'circle', source: 'topology/primitiveFns.js#circle', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'ellipse', source: 'topology/primitiveFns.js#ellipse', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'ellipseArc', source: 'topology/primitiveFns.js#ellipseArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'helix', source: 'topology/primitiveFns.js#helix', kind: 'skip',\n reason: '螺旋线(→ Wire 子形状产物),skip',\n },\n {\n name: 'bezier', source: 'topology/primitiveFns.js#bezier', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'bsplineApprox', source: 'topology/primitiveFns.js#bsplineApprox', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'tangentArc', source: 'topology/primitiveFns.js#tangentArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'threePointArc', source: 'topology/primitiveFns.js#threePointArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'vertex', source: 'topology/primitiveFns.js#vertex', kind: 'skip',\n reason: '点构造(→ Vertex 子形状产物),skip',\n },\n\n // api.js:整件进出的变换/布尔/修饰 op;faijs 同名(translate/scale/intersect/chamfer)skip;\n // rotate 因 faijs 已更名 rotate_euler(§5.1 D-ROTATE)而空出 → 投影 brep-op。\n {\n name: 'translate', source: 'topology/api.js#translate', kind: 'skip',\n reason: 'faijs 同名 translate(§5.1 双形态:对象形态手写面覆盖 + v:Vec3 位置形态并入),生成层不重复投影',\n },\n {\n name: 'rotate', source: 'topology/api.js#rotate', kind: 'brep-op', capabilities: [\"dispose\",\"rotateWithHistory\"],\n geometryArgs: [0], returnsResult: false,\n args: 'rotate(shape: Shape, angle: number, options?: { at?, axis? }): Shape',\n reason: 'faijs rotate 已更名 rotate_euler(faijs 面只导出 rotate_euler),上游轴角 rotate 空出 → brep-op 进脚本面'\n + '(§5.1 D-ROTATE / §4.7)。⚠️ cad.rotate 是 brep-only(compatOp 契约:mesh 模式/断链抛错,从不回退),'\n + '3d_editor UI 不得暴露;将来暴露前必须先补 mesh 实现。',\n params: ['shape', 'angle', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'scale', source: 'topology/api.js#scale', kind: 'skip',\n args: 'scale(shape: Shape, factor: number, options?: { center?: Vec3 }): Shape',\n reason: 'overridden by handwritten api/transform.ts (scale dual-op, mesh+brep)',\n },\n {\n name: 'mirror', source: 'topology/api.js#mirror', kind: 'brep-op', capabilities: [\"dispose\",\"mirrorWithHistory\"],\n geometryArgs: [0], returnsResult: false,\n args: 'mirror(shape: Shape, options?: MirrorOptions): Shape',\n reason: 'faijs 无同名 mirror,整件反射 → brep-op',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'clone', source: 'topology/api.js#clone', kind: 'brep-op', capabilities: [\"copyShape\",\"dispose\"],\n geometryArgs: [0], returnsResult: true,\n args: 'clone(shape: Shape): Shape',\n reason: 'faijs 用 copy(不同名),整件克隆(Result<T>)→ brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'applyMatrix', source: 'topology/api.js#applyMatrix', kind: 'brep-op', capabilities: [\"dispose\",\"generalTransformNonOrthogonal\",\"generalTransformWithHistory\",\"hashCode\",\"iterShapes\",\"surfaceCenterOfMass\",\"surfaceNormal\",\"surfaceType\",\"uvBounds\"],\n geometryArgs: [0], returnsResult: true,\n args: 'applyMatrix(shape: Shape, matrix: unknown): Shape',\n reason: 'faijs 用 applyTransform(不同名),整件矩阵变换 → brep-op',\n params: ['shape', 'matrix'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'transformCopy', source: 'topology/api.js#transformCopy', kind: 'skip',\n geometryArgs: [0], returnsResult: false,\n args: 'transformCopy(shape: Shape, composed: ComposedTransform): Shape',\n reason: 'scriptFace: ComposedTransform holds a kernel WASM handle — not constructible in .fai.js (no literal/params path), so the script-face op is dead. Covered by clone+translate/rotate chains and locate. TS library surface keeps the plain re-export (non-op).',\n params: ['shape', 'composed'], formClass: 'A',\n naming: { kind: 'identity' },\n },\n {\n name: 'locate', source: 'topology/api.js#locate', kind: 'brep-op', capabilities: [\"composeTransform\",\"dispose\",\"hashCode\",\"locate\"],\n geometryArgs: [0], returnsResult: false,\n args: 'locate(shape: Shape, placement: unknown): Shape',\n reason: 'faijs 无同名,整件定位变换 → brep-op',\n params: ['shape', 'placement'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'composeTransforms', source: 'topology/api.js#composeTransforms', kind: 'pure',\n reason: '变换函数组合器(纯数据,无 Shape 参数)',\n },\n {\n name: 'cut', source: 'topology/api.js#cut', kind: 'skip',\n geometryArgs: [0, 1], returnsResult: true,\n args: 'cut(base: Shape, tool: Shape, options?: BooleanOptions): Shape',\n reason: 'overridden by handwritten boolean.ts:cut (Phase 3 roleTable propagation)',\n params: ['base', 'tool', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fuseAll', source: 'topology/api.js#fuseAll', kind: 'skip',\n reason: '入参 Shapeable<T>[](几何数组),brep-op 模板单柄借入不适用;faijs 用 union 变参,skip',\n },\n {\n name: 'cutAll', source: 'topology/api.js#cutAll', kind: 'skip',\n reason: '入参 Shapeable<Shape3D>[](几何数组),skip',\n },\n {\n name: 'intersect', source: 'topology/api.js#intersect', kind: 'skip',\n reason: '禁止投脚本面(§4.8):faijs 侧 cad.intersect 是 variadic、async、带 keepHidden 时间线副作用、roleTable '\n + '合流的 dual-op,mesh+brep 双实现;vendored 的 intersect 是二元同步 Result 契约,仅驻留 compat 面,不共面不投影。'\n + '任何想把上游 intersect 标为 brep-op / scriptFace 的改动,必须同时把 faijs 的 intersect 改名为 intersect_all'\n + '(含 UI ops 与存量迁移)——生成期守卫见 gen-l3-surface.ts(§4.8 触发条件)。',\n },\n {\n name: 'section', source: 'topology/api.js#section', kind: 'brep-op', capabilities: [\"dispose\",\"isNull\",\"section\"],\n geometryArgs: [0], returnsResult: true,\n args: 'section(shape: Shape, plane: PlaneInput): Shape',\n params: ['shape', 'plane'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'sectionToFace', source: 'topology/api.js#sectionToFace', kind: 'skip',\n reason: '返回 Face 子形状产物,faijs 整件面不承载,skip',\n },\n {\n name: 'split', source: 'topology/api.js#split', kind: 'brep-op', capabilities: [\"dispose\",\"isNull\",\"split\"],\n geometryArgs: [0], returnsResult: true,\n args: 'split(shape: Shape, tools: Shape[]): Shape',\n reason: 'faijs split 已更名 fai_split,上游工具切件 split 空出 → brep-op(§5.1 D-SPLIT;tools 暂登记几何首参,数组切件经 faijs 侧适配)',\n params: ['shape', 'tools'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'subdivide' },\n },\n {\n name: 'slice', source: 'topology/api.js#slice', kind: 'skip',\n reason: 'planes 数组入参且返回 AnyShape[](多产物),skip',\n },\n {\n name: 'fillet', source: 'topology/api.js#fillet', kind: 'skip',\n args: 'fillet(shape: Shape, edges?, radius | [r1,r2]): Shape',\n reason: 'overridden by handwritten api/fillet.ts (fillet dual-op, roleTable propagation)',\n },\n {\n name: 'chamfer', source: 'topology/api.js#chamfer', kind: 'skip',\n reason: 'faijs 同名 chamfer(§5.1 O-CHAMFER-1:role 取边已保留,上游 Edge 句柄取边形态待处置),生成层不重复投影',\n },\n {\n name: 'shell', source: 'topology/api.js#shell', kind: 'brep-op', capabilities: [\"dispose\",\"shapeType\",\"shell\",\"shellWithHistory\"],\n geometryArgs: [0], returnsResult: true,\n args: 'shell(shape: Shape, faces?: Shape[], thickness: number): Shape',\n params: ['shape', 'faces', 'thickness'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'offset', source: 'topology/api.js#offset', kind: 'brep-op', capabilities: [\"dispose\",\"offsetWithHistory\",\"shapeType\"],\n geometryArgs: [0], returnsResult: true,\n args: 'offset(shape: Shape, distance: number): Shape',\n reason: 'faijs 无同名偏置 → brep-op',\n params: ['shape', 'distance'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'thicken', source: 'topology/api.js#thicken', kind: 'skip',\n reason: '入参 Face|Shell 子形状句柄,faijs 整件面无法提供,skip',\n },\n {\n name: 'draft', source: 'topology/api.js#draft', kind: 'skip',\n reason: 'DraftOptions 含 NeutralPlane 等 face 引用,faijs 面引用体系不同,skip',\n },\n {\n name: 'heal', source: 'topology/api.js#heal', kind: 'brep-op', capabilities: [\"dispose\",\"healFace\",\"healSolid\",\"healWire\",\"isValid\",\"shapeType\"],\n geometryArgs: [0], returnsResult: true,\n args: 'heal(shape: Shape): Shape',\n reason: 'faijs 无同名整件修复 → brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'simplify', source: 'topology/api.js#simplify', kind: 'brep-op', capabilities: [\"dispose\",\"simplify\"],\n geometryArgs: [0], returnsResult: true,\n args: 'simplify(shape: Shape): Shape',\n reason: 'faijs 无同名整件简化 → brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'mesh', source: 'topology/api.js#mesh', kind: 'skip',\n reason: '返回宿主网格缓冲(ShapeMesh),faijs Shape 自带 mesh 链,宿主渲染数据不入 op 面,skip',\n },\n {\n name: 'meshEdges', source: 'topology/api.js#meshEdges', kind: 'skip',\n reason: '返回宿主边网格缓冲(EdgeMesh),skip',\n },\n {\n name: 'describe', source: 'topology/api.js#describe', kind: 'skip',\n reason: '返回 ShapeDescription 结构(宿主描述 DSL),faijs 以自身 Shape 元数据覆盖,skip',\n },\n {\n name: 'toBREP', source: 'topology/api.js#toBREP', kind: 'skip',\n reason: 'BREP 序列化(string 数据),faijs 无序列化消费面,skip',\n },\n {\n name: 'fromBREP', source: 'topology/api.js#fromBREP', kind: 'skip',\n reason: 'BREP 反序列化(string 入参 → AnyShape),faijs 以 load/asset 体系承担,skip',\n },\n {\n name: 'isValid', source: 'topology/api.js#isValid', kind: 'query',\n geometryArgs: [0], returnsResult: false, returnType: 'boolean',\n args: 'isValid(shape: Shape): boolean',\n reason: '整件合法性检查(Shape → boolean 纯数据),query',\n params: ['shape'], formClass: 'A',\n },\n {\n name: 'isEmpty', source: 'topology/api.js#isEmpty', kind: 'query',\n geometryArgs: [0], returnsResult: false, returnType: 'boolean',\n args: 'isEmpty(shape: Shape): boolean',\n reason: '整件空判(Shape → boolean 纯数据),query',\n params: ['shape'], formClass: 'A',\n },\n\n // shapeFns:整件 Shape 进出的查询/修饰;返回子形状句柄数组(get*/iter*)skip。\n {\n name: 'getSolids', source: 'topology/shapeFns.js#getSolids', kind: 'skip',\n reason: '返回 Solid[] 子形状句柄数组(多产物收养缺位),skip',\n },\n {\n name: 'getShells', source: 'topology/shapeFns.js#getShells', kind: 'skip',\n reason: '返回 Shell[] 子形状句柄数组,skip',\n },\n {\n name: 'getCompSolids', source: 'topology/shapeFns.js#getCompSolids', kind: 'skip',\n reason: '返回 CompSolid[] 子形状句柄数组,skip',\n },\n {\n name: 'getEdges', source: 'topology/shapeFns.js#getEdges', kind: 'skip',\n reason: '返回 Edge[] 子形状句柄数组,faijs 面以 EdgeTopoRef 引用体系表达边,skip',\n },\n {\n name: 'getFaces', source: 'topology/shapeFns.js#getFaces', kind: 'skip',\n reason: '返回 Face[] 子形状句柄数组,faijs 面以面引用体系表达,skip',\n },\n {\n name: 'getWires', source: 'topology/shapeFns.js#getWires', kind: 'skip',\n reason: '返回 Wire[] 子形状句柄数组,skip',\n },\n {\n name: 'getVertices', source: 'topology/shapeFns.js#getVertices', kind: 'skip',\n reason: '返回 Vertex[] 子形状句柄数组,skip',\n },\n {\n name: 'iterSolids', source: 'topology/shapeFns.js#iterSolids', kind: 'skip',\n reason: '迭代器(子形状句柄流),faijs 面以数组/引用体系表达,skip',\n },\n {\n name: 'iterShells', source: 'topology/shapeFns.js#iterShells', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterCompSolids', source: 'topology/shapeFns.js#iterCompSolids', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterEdges', source: 'topology/shapeFns.js#iterEdges', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterFaces', source: 'topology/shapeFns.js#iterFaces', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterWires', source: 'topology/shapeFns.js#iterWires', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterVertices', source: 'topology/shapeFns.js#iterVertices', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'resize', source: 'topology/shapeFns.js#resize', kind: 'skip',\n reason: '非等比 resize(含 edge finder),faijs 以 scale 双形态覆盖语义,skip',\n },\n {\n name: 'setShapeOrigin', source: 'topology/shapeFns.js#setShapeOrigin', kind: 'skip',\n reason: '原点元数据状态操作(内核 side table),skip',\n },\n {\n name: 'getFaceOrigins', source: 'topology/shapeFns.js#getFaceOrigins', kind: 'skip',\n reason: 'face 原点元数据表读取(子形状元数据),skip',\n },\n {\n name: 'invalidateShapeCache', source: 'topology/shapeFns.js#invalidateShapeCache', kind: 'skip',\n reason: '内核形状缓存失效(状态操作),skip',\n },\n {\n name: 'isEqualShape', source: 'topology/shapeFns.js#isEqualShape', kind: 'query',\n geometryArgs: [0, 1], returnsResult: false, returnType: 'boolean',\n args: 'isEqualShape(a: Shape, b: Shape): boolean',\n reason: '两整件几何相等比较(纯数据),query',\n params: ['a', 'b'], formClass: 'A',\n },\n {\n name: 'isSameShape', source: 'topology/shapeFns.js#isSameShape', kind: 'query',\n geometryArgs: [0, 1], returnsResult: false, returnType: 'boolean',\n args: 'isSameShape(a: Shape, b: Shape): boolean',\n reason: '两整件同构比较(纯数据),query',\n params: ['a', 'b'], formClass: 'A',\n },\n {\n name: 'getHashCode', source: 'topology/shapeFns.js#getHashCode', kind: 'skip',\n reason: '内核句柄 hashCode(KernelShape 内部值),faijs Shape 有自身身份体系,skip',\n },\n {\n name: 'vertexPosition', source: 'topology/shapeFns.js#vertexPosition', kind: 'skip',\n reason: 'Vertex 子形状句柄入参,skip',\n },\n\n // adjacencyFns:子形状句柄导航(Face/Edge/Vertex 入参与返回句柄数组)→ 全 skip\n {\n name: 'adjacentFaces', source: 'topology/adjacencyFns.js#adjacentFaces', kind: 'skip',\n reason: '子形状导航(Face 入参 → Face[]),faijs 整件面不承载,skip',\n },\n {\n name: 'edgesOfFace', source: 'topology/adjacencyFns.js#edgesOfFace', kind: 'skip',\n reason: '子形状导航(Face → Edge[]),skip',\n },\n {\n name: 'facesOfEdge', source: 'topology/adjacencyFns.js#facesOfEdge', kind: 'skip',\n reason: '子形状导航(Edge → Face[]),skip',\n },\n {\n name: 'facesOfVertex', source: 'topology/adjacencyFns.js#facesOfVertex', kind: 'skip',\n reason: '子形状导航(Vertex → Face[]),skip',\n },\n {\n name: 'sharedEdges', source: 'topology/adjacencyFns.js#sharedEdges', kind: 'skip',\n reason: '子形状导航(Face×2 → Edge[]),skip',\n },\n {\n name: 'verticesOfEdge', source: 'topology/adjacencyFns.js#verticesOfEdge', kind: 'skip',\n reason: '子形状导航(Edge → Vertex[]),skip',\n },\n {\n name: 'verticesOfFace', source: 'topology/adjacencyFns.js#verticesOfFace', kind: 'skip',\n reason: '子形状导航(Face → Vertex[]),skip',\n },\n {\n name: 'wiresOfFace', source: 'topology/adjacencyFns.js#wiresOfFace', kind: 'skip',\n reason: '子形状导航(Face → Wire[]),skip',\n },\n\n // curveFns:入参 Edge|Wire 子形状句柄 → 全 skip(faijs 整件面无法提供边/线句柄)\n {\n name: 'getCurveType', source: 'topology/curveFns.js#getCurveType', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveStartPoint', source: 'topology/curveFns.js#curveStartPoint', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveEndPoint', source: 'topology/curveFns.js#curveEndPoint', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curvePointAt', source: 'topology/curveFns.js#curvePointAt', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveTangentAt', source: 'topology/curveFns.js#curveTangentAt', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveAxis', source: 'topology/curveFns.js#curveAxis', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveLength', source: 'topology/curveFns.js#curveLength', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveIsClosed', source: 'topology/curveFns.js#curveIsClosed', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveIsPeriodic', source: 'topology/curveFns.js#curveIsPeriodic', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curvePeriod', source: 'topology/curveFns.js#curvePeriod', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'getOrientation', source: 'topology/curveFns.js#getOrientation', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'flipOrientation', source: 'topology/curveFns.js#flipOrientation', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄(翻转朝向),skip',\n },\n {\n name: 'interpolateCurve', source: 'topology/curveFns.js#interpolateCurve', kind: 'skip',\n reason: '点集 → Edge 子形状产物,skip',\n },\n {\n name: 'approximateCurve', source: 'topology/curveFns.js#approximateCurve', kind: 'skip',\n reason: '点集 → Edge 子形状产物,skip',\n },\n {\n name: 'offsetWire2D', source: 'topology/curveFns.js#offsetWire2D', kind: 'skip',\n reason: 'Wire 子形状入参 → Wire 产物(2D 制图体系),skip',\n },\n\n // faceFns:入参 Face 子形状句柄 → 全 skip\n {\n name: 'faceCenter', source: 'topology/faceFns.js#faceCenter', kind: 'skip',\n reason: 'faijs 无同名 op(§4.9):faceCenter 仅作为 api/engrave.ts 与 api/knurl.ts 的参数键(绝对坐标快照)存在,'\n + '不共面、不冲突。若将来要在 cad 面提供质心查询,契约应为 cad.faceCenter(shape, ordinal?)(入参是 faijs Shape + 面'\n + '序号,与 vendored 的 Face 入参不同),两面各持各的契约。',\n },\n {\n name: 'getSurfaceType', source: 'topology/faceFns.js#getSurfaceType', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceAxis', source: 'topology/faceFns.js#faceAxis', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceOrientation', source: 'topology/faceFns.js#faceOrientation', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceGeomType', source: 'topology/faceFns.js#faceGeomType', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'flipFaceOrientation', source: 'topology/faceFns.js#flipFaceOrientation', kind: 'skip',\n reason: '入参 Face 子形状句柄(翻转),skip',\n },\n {\n name: 'outerWire', source: 'topology/faceFns.js#outerWire', kind: 'skip',\n reason: 'Face → Wire 子形状产物,skip',\n },\n {\n name: 'innerWires', source: 'topology/faceFns.js#innerWires', kind: 'skip',\n reason: 'Face → Wire[] 句柄数组,skip',\n },\n {\n name: 'removeHolesFromFace', source: 'topology/faceFns.js#removeHolesFromFace', kind: 'skip',\n reason: 'Face 子形状入参,skip',\n },\n {\n name: 'pointOnSurface', source: 'topology/faceFns.js#pointOnSurface', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'normalAt', source: 'topology/faceFns.js#normalAt', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'uvBounds', source: 'topology/faceFns.js#uvBounds', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'uvCoordinates', source: 'topology/faceFns.js#uvCoordinates', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'projectPointOnFace', source: 'topology/faceFns.js#projectPointOnFace', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'classifyPointOnFace', source: 'topology/faceFns.js#classifyPointOnFace', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n\n // healingFns:整件修复 brep-op;face/wire 级修复与 shell 组装 skip\n {\n name: 'autoHeal', source: 'topology/healingFns.js#autoHeal', kind: 'brep-op', capabilities: [\"dispose\",\"fixSelfIntersection\",\"healFace\",\"healSolid\",\"healWire\",\"isValid\",\"iterShapes\",\"sew\",\"shapeType\"],\n geometryArgs: [0], returnsResult: true,\n args: 'autoHeal(shape: Shape, options?: AutoHealOptions): Shape',\n reason: '整件自动修复(Result<Shape>),brep-op',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fixShape', source: 'topology/healingFns.js#fixShape', kind: 'brep-op', capabilities: [\"fixShape\"],\n geometryArgs: [0], returnsResult: true,\n args: 'fixShape(shape: Shape): Shape',\n reason: '整件修复(Result<Shape>),brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'healSolid', source: 'topology/healingFns.js#healSolid', kind: 'brep-op', capabilities: [\"dispose\",\"healSolid\",\"isValid\",\"shapeType\"],\n geometryArgs: [0], returnsResult: true,\n args: 'healSolid(solid: Shape): Shape',\n reason: 'Solid 修复(Result<ValidSolid>),brep-op',\n params: ['solid'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fixSelfIntersection', source: 'topology/healingFns.js#fixSelfIntersection', kind: 'brep-op', capabilities: [\"dispose\",\"fixSelfIntersection\",\"shapeType\"],\n geometryArgs: [0], returnsResult: true,\n args: 'fixSelfIntersection(shape: Shape): Shape',\n params: ['shape'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'healFace', source: 'topology/healingFns.js#healFace', kind: 'skip',\n reason: 'Face 子形状句柄入参,skip',\n },\n {\n name: 'healWire', source: 'topology/healingFns.js#healWire', kind: 'skip',\n reason: 'Wire 子形状句柄入参,skip',\n },\n {\n name: 'solidFromShell', source: 'topology/healingFns.js#solidFromShell', kind: 'skip',\n reason: 'Shell 子形状句柄入参(closed shell → solid),skip',\n },\n\n // 布尔/批次/诊断 DSL(复合句柄/遥测),全 skip\n {\n name: 'booleanPipeline', source: 'topology/booleanFns.js#booleanPipeline', kind: 'skip',\n reason: '复合布尔管线 DSL(steps 数组 + 遥测),skip',\n },\n {\n name: 'cutAllBisect', source: 'topology/booleanBatchFns.js#cutAllBisect', kind: 'skip',\n reason: '批量二分布尔(tools[] + telemetry 复合结果),skip',\n },\n {\n name: 'fuseAllBisect', source: 'topology/booleanBatchFns.js#fuseAllBisect', kind: 'skip',\n reason: '批量二分布尔(shapes[] + telemetry 复合结果),skip',\n },\n {\n name: 'checkBoolean', source: 'topology/booleanDiagnosticFns.js#checkBoolean', kind: 'skip',\n reason: '布尔诊断(内部 kernel 校验返回 CheckBooleanResult),skip',\n },\n\n // evolutionFns:EvolutionResult 复合(shape + 演化遥测),全 skip\n {\n name: 'fuseWithEvolution', source: 'topology/evolutionFns.js#fuseWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(Result<EvolutionResult<Shape>> 复合产物),skip',\n },\n {\n name: 'cutWithEvolution', source: 'topology/evolutionFns.js#cutWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(复合产物),skip',\n },\n {\n name: 'intersectWithEvolution', source: 'topology/evolutionFns.js#intersectWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(复合产物),skip',\n },\n {\n name: 'filletWithEvolution', source: 'topology/evolutionFns.js#filletWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(edges[] + 复合产物),skip',\n },\n {\n name: 'chamferWithEvolution', source: 'topology/evolutionFns.js#chamferWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(edges[] + 复合产物),skip',\n },\n {\n name: 'shellWithEvolution', source: 'topology/evolutionFns.js#shellWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(复合产物),skip',\n },\n\n // modifierFns:per-edge 回调/变半径 → skip(faijs 以整件 + EdgeTopoRef 体系选择边)\n {\n name: 'variableFillet', source: 'topology/modifierFns.js#variableFillet', kind: 'skip',\n reason: '变半径圆角(per-edge 回调),faijs 边选择引用体系不同,skip',\n },\n\n // apiTypes/index.js:kernel 底层谓词/转换/反序列化 DSL → skip;纯守卫 pure\n {\n name: 'resolve', source: 'topology/apiTypes.js#resolve', kind: 'skip',\n reason: '上游 Shapeable 解包内部工具(Shapeable 包装层),skip',\n },\n {\n name: 'resolve3D', source: 'topology/apiTypes.js#resolve3D', kind: 'skip',\n reason: '上游 Shapeable 解包内部工具,skip',\n },\n {\n name: 'applyGlue', source: 'topology/index.js#applyGlue', kind: 'skip',\n reason: 'kernel 底层粘合 DSL(子形状操作),skip',\n },\n {\n name: 'asTopo', source: 'topology/index.js#asTopo', kind: 'skip',\n reason: 'KernelShape 类型转换底层工具,skip',\n },\n {\n name: 'cast', source: 'topology/index.js#cast', kind: 'skip',\n reason: 'KernelShape 句柄 cast 底层工具,skip',\n },\n {\n name: 'downcast', source: 'topology/index.js#downcast', kind: 'skip',\n reason: 'KernelShape 句柄 downcast 底层工具,skip',\n },\n {\n name: 'deserializeShape', source: 'topology/index.js#deserializeShape', kind: 'skip',\n reason: 'BREP 字节串 → AnyShape(序列化边界,与 fromBREP 同 skip),skip',\n },\n {\n name: 'iterTopo', source: 'topology/index.js#iterTopo', kind: 'skip',\n reason: '拓扑迭代器(子形状句柄流),skip',\n },\n {\n name: 'shapeType', source: 'topology/index.js#shapeType', kind: 'skip',\n reason: 'KernelShape 谓词(返回 TopAbs_ShapeEnum),faijs 以 ShapeKind 体系覆盖,skip',\n },\n {\n name: 'isCompSolid', source: 'topology/index.js#isCompSolid', kind: 'skip',\n reason: 'KernelShape 谓词,faijs 以 isCompound/ShapeKind 覆盖,skip',\n },\n {\n name: 'isNumber', source: 'topology/index.js#isNumber', kind: 'pure',\n reason: '纯类型守卫(无 Shape 参数)',\n },\n {\n name: 'isChamferRadius', source: 'topology/index.js#isChamferRadius', kind: 'pure',\n reason: '纯类型守卫(radius 联合判别,无 Shape 参数)',\n },\n {\n name: 'isFilletRadius', source: 'topology/index.js#isFilletRadius', kind: 'pure',\n reason: '纯类型守卫(radius 联合判别,无 Shape 参数)',\n },\n\n // chamferAngleFns:角-距倒角 DSL → skip(chamfer 同名处置见上)\n {\n name: 'chamferDistAngleShape', source: 'topology/chamferAngleFns.js#chamferDistAngleShape', kind: 'skip',\n reason: '角-距倒角 DSL(上游该名由 chamferDistAngle 别名,属 chamfer 处置 O-CHAMFER-1),skip',\n },\n\n // shapeRef/index.js:持久化形状引用/角色打分 DSL(kernel 引用 + 状态)→ 全 skip\n {\n name: 'createRef', source: 'topology/shapeRef/index.js#createRef', kind: 'skip',\n reason: '形状引用创建(role 表 + kernel 引用),faijs 以 EdgeTopoRef/ShapeSlot 体系覆盖,skip',\n },\n {\n name: 'resolveRef', source: 'topology/shapeRef/index.js#resolveRef', kind: 'skip',\n reason: '形状引用解析(kernel 引用),skip',\n },\n {\n name: 'resolveRefIn', source: 'topology/shapeRef/index.js#resolveRefIn', kind: 'skip',\n reason: '形状引用解析(句柄 + lineage),skip',\n },\n {\n name: 'resolveRefParams', source: 'topology/shapeRef/index.js#resolveRefParams', kind: 'skip',\n reason: '引用参数解析(内部),skip',\n },\n {\n name: 'captureHint', source: 'topology/shapeRef/index.js#captureHint', kind: 'skip',\n reason: '几何提示捕获(子形状哈希),skip',\n },\n {\n name: 'assignRoles', source: 'topology/shapeRef/index.js#assignRoles', kind: 'skip',\n reason: '角色表分配(kernel 状态 DSL),skip',\n },\n {\n name: 'updateRoles', source: 'topology/shapeRef/index.js#updateRoles', kind: 'skip',\n reason: '角色表更新(kernel 状态 DSL),skip',\n },\n {\n name: 'createEdgeRef', source: 'topology/shapeRef/index.js#createEdgeRef', kind: 'skip',\n reason: 'Edge 引用创建(kernel 引用 DSL),faijs 用 EdgeTopoRef,skip',\n },\n {\n name: 'resolveEdgeRef', source: 'topology/shapeRef/index.js#resolveEdgeRef', kind: 'skip',\n reason: 'Edge 引用解析(kernel 引用),skip',\n },\n {\n name: 'createVertexRef', source: 'topology/shapeRef/index.js#createVertexRef', kind: 'skip',\n reason: 'Vertex 引用创建(kernel 引用 DSL),skip',\n },\n {\n name: 'resolveVertexRef', source: 'topology/shapeRef/index.js#resolveVertexRef', kind: 'skip',\n reason: 'Vertex 引用解析(kernel 引用),skip',\n },\n {\n name: 'createDerivedFaceRef', source: 'topology/shapeRef/index.js#createDerivedFaceRef', kind: 'skip',\n reason: '派生 Face 引用创建(kernel 引用 DSL),skip',\n },\n {\n name: 'resolveDerivedFaceRef', source: 'topology/shapeRef/index.js#resolveDerivedFaceRef', kind: 'skip',\n reason: '派生 Face 引用解析(kernel 引用),skip',\n },\n {\n name: 'resolveLineageRef', source: 'topology/shapeRef/index.js#resolveLineageRef', kind: 'skip',\n reason: 'lineage 解析(kernel 引用),skip',\n },\n {\n name: 'isLineageRef', source: 'topology/shapeRef/index.js#isLineageRef', kind: 'pure',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isFaceRef', source: 'topology/shapeRef/index.js#isFaceRef', kind: 'pure',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isEdgeRef', source: 'topology/shapeRef/index.js#isEdgeRef', kind: 'pure',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isVertexRef', source: 'topology/shapeRef/index.js#isVertexRef', kind: 'pure',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isDerivedFaceRef', source: 'topology/shapeRef/index.js#isDerivedFaceRef', kind: 'pure',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'defaultScorer', source: 'topology/shapeRef/index.js#defaultScorer', kind: 'skip',\n reason: '引用打分器(内核几何求值),skip',\n },\n\n // wrapperFns:状态化类型包装 DSL → skip\n {\n name: 'shape', source: 'topology/wrapperFns.js#shape', kind: 'skip',\n reason: '上游类型包装 DSL(Wrapped* 状态对象),faijs 面为纯值模型,skip',\n },\n {\n name: 'BrepWrapperError', source: 'topology/wrapperFns.js#BrepWrapperError', kind: 'skip',\n reason: '包装层错误类(宿主 DSL),skip',\n },\n\n // mesh 宿主面(缓存/LOD/导出/three helpers)→ 全 skip\n {\n name: 'createMeshCache', source: 'topology/meshCache.js#createMeshCache', kind: 'skip',\n reason: '宿主网格缓存(状态对象),faijs Shape 自带网格链,skip',\n },\n {\n name: 'clearMeshCache', source: 'topology/meshCache.js#clearMeshCache', kind: 'skip',\n reason: '宿主网格缓存清空(状态操作),skip',\n },\n {\n name: 'meshLODs', source: 'topology/meshFns.js#meshLODs', kind: 'skip',\n reason: '宿主 LOD 网格(渲染数据),skip',\n },\n {\n name: 'meshLODsProgressive', source: 'topology/meshFns.js#meshLODsProgressive', kind: 'skip',\n reason: '宿主渐进 LOD(渲染数据),skip',\n },\n {\n name: 'meshMultiLOD', source: 'topology/meshFns.js#meshMultiLOD', kind: 'skip',\n reason: '宿主多 LOD(渲染数据),skip',\n },\n {\n name: 'exportIGES', source: 'topology/meshFns.js#exportIGES', kind: 'skip',\n reason: '宿主文件导出(IGES,host ports 边界),skip',\n },\n {\n name: 'exportSTEP', source: 'topology/meshFns.js#exportSTEP', kind: 'skip',\n reason: '宿主文件导出(STEP,host ports 边界),skip',\n },\n {\n name: 'exportSTL', source: 'topology/meshFns.js#exportSTL', kind: 'skip',\n reason: '宿主文件导出(STL,host ports 边界),skip',\n },\n {\n name: 'toBufferGeometryData', source: 'topology/threeHelpers.js#toBufferGeometryData', kind: 'skip',\n reason: 'three.js 宿主缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toGroupedBufferGeometryData', source: 'topology/threeHelpers.js#toGroupedBufferGeometryData', kind: 'skip',\n reason: 'three.js 宿主缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLineGeometryData', source: 'topology/threeHelpers.js#toLineGeometryData', kind: 'skip',\n reason: 'three.js 宿主线缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLODGeometryData', source: 'topology/threeHelpers.js#toLODGeometryData', kind: 'skip',\n reason: 'three.js 宿主 LOD 缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLODGeometryLevels', source: 'topology/threeHelpers.js#toLODGeometryLevels', kind: 'skip',\n reason: 'three.js 宿主 LOD 层级转换(渲染 DSL),skip',\n },\n\n // metadata:颜色/面标签 元数据 DSL(子形状元数据)→ 全 skip\n {\n name: 'colorShape', source: 'topology/metadata/colorFns.js#colorShape', kind: 'skip',\n reason: '形状颜色元数据(宿主视觉面),skip',\n },\n {\n name: 'colorFaces', source: 'topology/metadata/colorFns.js#colorFaces', kind: 'skip',\n reason: '面颜色元数据(子形状 + 宿主视觉),skip',\n },\n {\n name: 'getShapeColor', source: 'topology/metadata/colorFns.js#getShapeColor', kind: 'skip',\n reason: '形状颜色读取(元数据表),skip',\n },\n {\n name: 'getFaceColor', source: 'topology/metadata/colorFns.js#getFaceColor', kind: 'skip',\n reason: '面颜色读取(子形状元数据),skip',\n },\n {\n name: 'tagFaces', source: 'topology/metadata/faceTagFns.js#tagFaces', kind: 'skip',\n reason: '面标签写入(子形状元数据 DSL),skip',\n },\n {\n name: 'findFacesByTag', source: 'topology/metadata/faceTagFns.js#findFacesByTag', kind: 'skip',\n reason: '按标签查面(子形状元数据 DSL),skip',\n },\n {\n name: 'getFaceTags', source: 'topology/metadata/faceTagFns.js#getFaceTags', kind: 'skip',\n reason: '面标签读取(子形状元数据),skip',\n },\n {\n name: 'setTagMetadata', source: 'topology/metadata/faceTagFns.js#setTagMetadata', kind: 'skip',\n reason: '标签元数据写入(状态 DSL),skip',\n },\n {\n name: 'getTagMetadata', source: 'topology/metadata/faceTagFns.js#getTagMetadata', kind: 'skip',\n reason: '标签元数据读取(状态 DSL),skip',\n },\n\n // surface 构建/查询:nurbs/网格曲面/位置查询 → skip(曲面/图像宿主 + 子形状入参)\n {\n name: 'fill', source: 'topology/surfaceBuilders.js#fill', kind: 'skip',\n reason: 'Wire 环绕曲面填充(子形状入参),skip',\n },\n {\n name: 'surfaceFromGrid', source: 'topology/surfaceFns.js#surfaceFromGrid', kind: 'skip',\n reason: '高度网格 → NURBS 曲面(Surface 子形状产物),skip',\n },\n {\n name: 'surfaceFromImage', source: 'topology/surfaceFns.js#surfaceFromImage', kind: 'skip',\n reason: '图像 → 曲面(Blob 宿主输入 + async),skip',\n },\n {\n name: 'positionOnCurve', source: 'topology/positionFns.js#positionOnCurve', kind: 'skip',\n reason: 'Edge 子形状入参(曲线位置),skip',\n },\n {\n name: 'getNurbsCurveData', source: 'topology/nurbsFns.js#getNurbsCurveData', kind: 'skip',\n reason: 'Edge 子形状入参 → NURBS 数据,skip',\n },\n {\n name: 'getNurbsSurfaceData', source: 'topology/nurbsFns.js#getNurbsSurfaceData', kind: 'skip',\n reason: 'Face 子形状入参 → NURBS 数据,skip',\n },\n\n // hull/minkowski/polyhedron:集合/点集构造 DSL → skip(数组入参/内部 kernel 形态)\n {\n name: 'hull', source: 'topology/hullFns.js#hull', kind: 'skip',\n reason: '凸包(点集/形状集数组入参 + 选项 DSL),skip',\n },\n {\n name: 'minkowski', source: 'topology/minkowskiFns.js#minkowski', kind: 'skip',\n reason: 'Minkowski 和(两形状 + 选项 DSL,内部 kernel 形态),skip',\n },\n {\n name: 'polyhedron', source: 'topology/polyhedronFns.js#polyhedron', kind: 'skip',\n reason: '多面体构造(面片选项 DSL,返回 ValidSolid 形态待核),skip',\n },\n\n // ──── P14 补批 12:kernel 模块(57 = 21 value + 36 type;D10 冻结 registry)────\n // kernel 是 L0 注册表面:D10 单实例 occt-wasm 由 faijs occt-kernel-bridge 装配并冻结,\n // 只读/纯数据符号 re-export;registry 生命周期(init/with*/register*/tier/perf)与\n // KernelAdapter 对象谓词登记 skip(理由见各条);上游已剪除符号(BrepkitHandle、\n // PerformanceStats、BrepkitAdapter、init 系等)同样 skip——vendored 树无对应导出。\n //\n // 36 type:34 个 re-export(真身所在文件)+ 2 个 skip(vendored 无此类型)\n { name: 'BooleanDiagnostics', source: 'kernel/types.js#BooleanDiagnostics', kind: 'type', module: 'kernel' },\n { name: 'BooleanIssue', source: 'kernel/types.js#BooleanIssue', kind: 'type', module: 'kernel' },\n { name: 'BooleanOpType', source: 'kernel/types.js#BooleanOpType', kind: 'type', module: 'kernel' },\n { name: 'CheckBooleanResult', source: 'kernel/types.js#CheckBooleanResult', kind: 'type', module: 'kernel' },\n { name: 'NurbsCurveData', source: 'kernel/types.js#NurbsCurveData', kind: 'type', module: 'kernel' },\n { name: 'NurbsSurfaceData', source: 'kernel/types.js#NurbsSurfaceData', kind: 'type', module: 'kernel' },\n { name: 'ShapeEvolution', source: 'kernel/types.js#ShapeEvolution', kind: 'type', module: 'kernel' },\n { name: 'ShapeOrientation', source: 'kernel/types.js#ShapeOrientation', kind: 'type', module: 'kernel' },\n { name: 'ShapeType', source: 'kernel/types.js#ShapeType', kind: 'type', module: 'kernel' },\n { name: 'SurfaceType', source: 'kernel/types.js#SurfaceType', kind: 'type', module: 'kernel' },\n { name: 'ProjectionCapability', source: 'kernel/types.js#ProjectionCapability', kind: 'type', module: 'kernel' },\n { name: 'ConstraintSketchCapability', source: 'kernel/types.js#ConstraintSketchCapability', kind: 'type', module: 'kernel' },\n { name: 'KernelAdapter', source: 'kernel/interfaces/index.js#KernelAdapter', kind: 'type', module: 'kernel' },\n { name: 'KernelCore', source: 'kernel/interfaces/index.js#KernelCore', kind: 'type', module: 'kernel' },\n { name: 'KernelBooleanOps', source: 'kernel/interfaces/index.js#KernelBooleanOps', kind: 'type', module: 'kernel' },\n { name: 'KernelBuilderOps', source: 'kernel/interfaces/index.js#KernelBuilderOps', kind: 'type', module: 'kernel' },\n { name: 'KernelCurveOps', source: 'kernel/interfaces/index.js#KernelCurveOps', kind: 'type', module: 'kernel' },\n { name: 'KernelEvolutionOps', source: 'kernel/interfaces/index.js#KernelEvolutionOps', kind: 'type', module: 'kernel' },\n { name: 'KernelIOOps', source: 'kernel/interfaces/index.js#KernelIOOps', kind: 'type', module: 'kernel' },\n { name: 'KernelMeasureOps', source: 'kernel/interfaces/index.js#KernelMeasureOps', kind: 'type', module: 'kernel' },\n { name: 'KernelMeshOps', source: 'kernel/interfaces/index.js#KernelMeshOps', kind: 'type', module: 'kernel' },\n { name: 'KernelModifierOps', source: 'kernel/interfaces/index.js#KernelModifierOps', kind: 'type', module: 'kernel' },\n { name: 'KernelPrimitiveOps', source: 'kernel/interfaces/index.js#KernelPrimitiveOps', kind: 'type', module: 'kernel' },\n { name: 'KernelRepairOps', source: 'kernel/interfaces/index.js#KernelRepairOps', kind: 'type', module: 'kernel' },\n { name: 'KernelSurfaceOps', source: 'kernel/interfaces/index.js#KernelSurfaceOps', kind: 'type', module: 'kernel' },\n { name: 'KernelSweepOps', source: 'kernel/interfaces/index.js#KernelSweepOps', kind: 'type', module: 'kernel' },\n { name: 'KernelTopologyOps', source: 'kernel/interfaces/index.js#KernelTopologyOps', kind: 'type', module: 'kernel' },\n { name: 'KernelTransformOps', source: 'kernel/interfaces/index.js#KernelTransformOps', kind: 'type', module: 'kernel' },\n { name: 'KernelCapabilities', source: 'kernel/capabilities.js#KernelCapabilities', kind: 'type', module: 'kernel' },\n { name: 'TessellationModel', source: 'kernel/capabilities.js#TessellationModel', kind: 'type', module: 'kernel' },\n { name: 'QualityLevel', source: 'kernel/quality.js#QualityLevel', kind: 'type', module: 'kernel' },\n { name: 'OcctKernelWasm', source: 'kernel/occtWasm/occtWasmTypes.js#OcctKernelWasm', kind: 'type', module: 'kernel' },\n { name: 'OcctWasmHandle', source: 'kernel/occtWasm/occtWasmTypes.js#OcctWasmHandle', kind: 'type', module: 'kernel' },\n { name: 'OcctWasmModule', source: 'kernel/occtWasm/occtWasmTypes.js#OcctWasmModule', kind: 'type', module: 'kernel' },\n {\n name: 'BrepkitHandle', source: 'kernel/index.js#BrepkitHandle', kind: 'skip', module: 'kernel',\n reason: '上游 brepkit 句柄类型(faijs 以 occt-kernel-bridge/OcctWasmHandle 承担),vendored 无此导出,skip',\n },\n {\n name: 'PerformanceStats', source: 'kernel/perfStats.js#PerformanceStats', kind: 'skip', module: 'kernel',\n reason: '性能统计类型,vendored perfStats 模块已剪除,skip',\n },\n\n // 21 value:4 个只读/纯数据 re-export;registry 生命周期与对象谓词 skip\n { name: 'DEFAULT_CAPABILITIES', source: 'kernel/capabilities.js#DEFAULT_CAPABILITIES', kind: 'pure', module: 'kernel', reason: 'kernel 能力常量表(纯数据)' },\n { name: 'EXACT_BREP_CAPABILITIES', source: 'kernel/capabilities.js#EXACT_BREP_CAPABILITIES', kind: 'pure', module: 'kernel', reason: 'kernel 能力常量表(纯数据)' },\n { name: 'currentQuality', source: 'kernel/quality.js#currentQuality', kind: 'pure', module: 'kernel', reason: '当前细分质量档读取(无 Shape 参数,纯读取)' },\n { name: 'getKernelCapabilities', source: 'kernel/index.js#getKernelCapabilities', kind: 'pure', module: 'kernel', reason: 'kernel 能力查询(返回 KernelCapabilities 纯数据)' },\n {\n name: 'getKernel', source: 'kernel/index.js#getKernel', kind: 'skip', module: 'kernel',\n reason: 'L0 kernel 读取器(D10:faijs occt-kernel-bridge 单实例装配并冻结),不向 L3 用户面暴露,skip',\n },\n {\n name: 'registerKernel', source: 'kernel/index.js#registerKernel', kind: 'skip', module: 'kernel',\n reason: 'L0 kernel 注册(D10 冻结后禁止,faijs host 装配期专用),skip',\n },\n {\n name: 'supportsProjection', source: 'kernel/types.js#supportsProjection', kind: 'skip', module: 'kernel',\n reason: 'KernelAdapter 能力谓词(入参为内部 kernel 对象),faijs 面不可达,skip',\n },\n {\n name: 'supportsConstraintSketch', source: 'kernel/types.js#supportsConstraintSketch', kind: 'skip', module: 'kernel',\n reason: 'KernelAdapter 能力谓词(入参为内部 kernel 对象),faijs 面不可达,skip',\n },\n {\n name: 'OcctWasmAdapter', source: 'kernel/occtWasm/occtWasmAdapter.js#OcctWasmAdapter', kind: 'skip', module: 'kernel',\n reason: 'occt-wasm 宿主适配器类(faijs occt-kernel-bridge 装配期构造单实例,D10),skip',\n },\n {\n name: 'BrepkitAdapter', source: 'kernel/index.js#BrepkitAdapter', kind: 'skip', module: 'kernel',\n reason: '上游 brepkit 适配器(faijs 以 occt-kernel-bridge 承担),vendored 无此导出,skip',\n },\n {\n name: 'init', source: 'kernel/index.js#init', kind: 'skip', module: 'kernel',\n reason: '上游 kernel 三档 init(D10 剪除;faijs host 注入 occt-wasm 单实例),skip',\n },\n {\n name: 'initFromOC', source: 'kernel/index.js#initFromOC', kind: 'skip', module: 'kernel',\n reason: '上游 kernel init(D10 剪除),skip',\n },\n {\n name: 'initFromManifold', source: 'kernel/index.js#initFromManifold', kind: 'skip', module: 'kernel',\n reason: '上游 manifold kernel init(D10 剪除),skip',\n },\n {\n name: 'prewarm', source: 'kernel/index.js#prewarm', kind: 'skip', module: 'kernel',\n reason: '上游 kernel 预热(D10 剪除),skip',\n },\n {\n name: 'withKernel', source: 'kernel/index.js#withKernel', kind: 'skip', module: 'kernel',\n reason: '上游运行时切 kernel(D10 剪除:registry 冻结、无运行时切换),skip',\n },\n {\n name: 'withQuality', source: 'kernel/index.js#withQuality', kind: 'skip', module: 'kernel',\n reason: '上游质量档切换(D10 剪除),skip',\n },\n {\n name: 'withTier', source: 'kernel/index.js#withTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 切换(D10 剪除),skip',\n },\n {\n name: 'getKernelTier', source: 'kernel/index.js#getKernelTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 读取(D10 剪除),skip',\n },\n {\n name: 'registerKernelTier', source: 'kernel/index.js#registerKernelTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 注册(D10 剪除),skip',\n },\n {\n name: 'getPerformanceStats', source: 'kernel/index.js#getPerformanceStats', kind: 'skip', module: 'kernel',\n reason: '上游性能统计读取(vendored 剪除),skip',\n },\n {\n name: 'resetPerformanceStats', source: 'kernel/index.js#resetPerformanceStats', kind: 'skip', module: 'kernel',\n reason: '上游性能统计重置(vendored 剪除),skip',\n },\n]\n"]}
1
+ {"version":3,"file":"arg-spec.js","sourceRoot":"","sources":["../../../src/api/surface/arg-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA4HH;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI;QAC/D,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,CAAC,SAAS,EAAC,WAAW,CAAC;QACrC,IAAI,EAAE,oEAAoE;QAC1E,oDAAoD;QACpD,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC;QACjD,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE;KAC9E;IACD;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI;QAC5D,IAAI,EAAE,SAAS;QACf,mEAAmE;QACnE,uEAAuE;QACvE,2BAA2B;QAC3B,IAAI,EAAE,uEAAuE;QAC7E,wDAAwD;QACxD,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QAC7B,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,2DAA2D;QAC3D,wDAAwD;QACxD,yDAAyD;QACzD,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,kDAAkD;QACxD,wDAAwD;QACxD,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,wFAAwF;QACpG,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,SAAS,EAAE,GAAG;KACf;IAED,gEAAgE;IAChE,oDAAoD;IACpD,4CAA4C;IAC5C,8DAA8D;IAC9D,yDAAyD;IACzD,sEAAsE;IAEtE,gBAAgB;IAChB;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,2CAA2C;QACnD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,iDAAiD;QACzD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,mDAAmD;QAC3D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,wCAAwC;QAChD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KACtB;IACD,oBAAoB;IACpB;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,+CAA+C;QACvD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,MAAM,EACJ,wDAAwD;YACxD,kDAAkD;KACrD;IACD,2EAA2E;IAC3E;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,8CAA8C;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,2DAA2D;QACjE,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,uEAAuE;QACnF,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,+CAA+C;QACvD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,2CAA2C;QACjD,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,8CAA8C;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,6CAA6C;QACnD,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,yCAAyC;QAC/C,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,yCAAyC;QAC/C,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,yCAAyC;QAC/C,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,2CAA2C;QACnD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,8CAA8C;QACpD,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/C;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAClC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,gDAAgD;QACxD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,qDAAqD;QAC3D,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/C;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,eAAe;QAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAClC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,8CAA8C;QACtD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,uEAAuE;QAC7E,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YACjD,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;YAC5C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7C;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAC1C,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,iDAAiD;QACzD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,yCAAyC;QAC/C,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG;QAChC,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,kDAAkD;QAC1D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,8EAA8E;QACpF,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;SAC/E;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,sDAAsD;QAC9D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,gEAAgE;QACtE,iEAAiE;QACjE,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC3B,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YACtD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;SAC/E;QACD,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC;KAClB;IAED,yDAAyD;IACzD,mDAAmD;IACnD,kDAAkD;IAClD,sEAAsE;IACtE,wBAAwB;IACxB;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,kDAAkD;QAC1D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,gEAAgE;QACtE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;SAC/E;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,sDAAsD;QAC9D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,6DAA6D;QACnE,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC3B,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YACtD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;SAC/E;QACD,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,8CAA8C;QACtD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,wDAAwD;QAC9D,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YACjD,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;YAC5C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7C;QACD,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAC1C,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,oDAAoD;KAC7D;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,iDAAiD;QACzD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,kCAAkC;QACxC,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QACxE,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,iBAAiB;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG;QAChC,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,oDAAoD;KAC7D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,8CAA8C;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACV,IAAI,EAAE,iEAAiE;QACvE,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QAC1E,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,qFAAqF;QACjG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,sDAAsD;KAC/D;IAED,2DAA2D;IAC3D,oEAAoE;IACpE,gEAAgE;IAChE,mDAAmD;IACnD,gEAAgE;IAChE,2DAA2D;IAC3D;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,IAAI;KACjB;IAED,0DAA0D;IAC1D,sDAAsD;IACtD,wDAAwD;IACxD,sCAAsC;IACtC;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;YAC9D,wDAAwD;KAC3D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,gEAAgE;YAChE,gDAAgD;KACnD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,uCAAuC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,0DAA0D;YAC1D,2CAA2C;KAC9C;IAED,gEAAgE;IAChE,uEAAuE;IACvE,mEAAmE;IACnE,2CAA2C;IAC3C;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,gDAAgD;QACxD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,yCAAyC;QACjD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,sCAAsC;QAC9C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,sCAAsC;QAC9C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,kDAAkD;QAC1D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,qDAAqD;QAC7D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,iEAAiE;YACjE,8CAA8C;KACjD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,sCAAsC;QAC9C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,YAAY;QACpB,MAAM,EACJ,mEAAmE;KACtE;IAED,wDAAwD;IACxD,mFAAmF;IACnF,oDAAoD;IACpD,kEAAkE;IAClE,qEAAqE;IACrE,yCAAyC;IACzC;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0EAA0E;QAChF,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4FAA4F;QAClG,UAAU,EAAE,IAAI;KACjB;IAED,mDAAmD;IACnD,uEAAuE;IACvE,4DAA4D;IAC5D,+DAA+D;IAC/D,4DAA4D;IAC5D,qCAAqC;IACrC;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,+DAA+D;KAClE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,gEAAgE;YAChE,iDAAiD;KACpD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,4DAA4D;YAC5D,8BAA8B;KACjC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,4DAA4D;YAC5D,8BAA8B;KACjC;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,4EAA4E;YAC5E,mEAAmE;KACtE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,6DAA6D;YAC7D,8BAA8B;KACjC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EACJ,6DAA6D;YAC7D,8BAA8B;KACjC;IAED,+BAA+B;IAC/B,sCAAsC;IACtC,4DAA4D;IAC5D,sDAAsD;IACtD,0DAA0D;IAC1D,mDAAmD;IACnD,oDAAoD;IACpD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IAED,8DAA8D;IAC9D,uDAAuD;IACvD,0DAA0D;IAC1D,wEAAwE;IACxE,2DAA2D;IAC3D,oDAAoD;IACpD,oDAAoD;IACpD,0DAA0D;IAC1D;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,kCAAkC;QAC1C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,kCAAkC;QAC1C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,sCAAsC;QAC9C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,kCAAkC;QAC1C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,qCAAqC;QAC7C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,qCAAqC;QAC7C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,8DAA8D;KACjE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,qEAAqE;YACrE,iDAAiD;KACpD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,gCAAgC;QACxC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,gEAAgE;KACnE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,iCAAiC;QACzC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EACJ,sEAAsE;YACtE,wCAAwC;KAC3C;IAED,oDAAoD;IACpD,wCAAwC;IACxC,mEAAmE;IACnE,2DAA2D;IAC3D,2DAA2D;IAC3D,sDAAsD;IACtD,uDAAuD;IACvD,uDAAuD;IACvD,uBAAuB;IACvB;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,wDAAwD;YACxD,+BAA+B;KAClC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,kDAAkD;YAClD,+BAA+B;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,0DAA0D;KACnE;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,kCAAkC;QAC1C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,iDAAiD;KAC1D;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,yDAAyD;KAClE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,4DAA4D;KACrE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,6CAA6C;KACtD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,0CAA0C;KACnD;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,gEAAgE;KACzE;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,yCAAyC;KAClD;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,0CAA0C;KACnD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,yCAAyC;KAClD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,gDAAgD;KACzD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,oCAAoC;QAC5C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,4CAA4C;KACrD;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,kDAAkD;YACxD,4BAA4B;KAC/B;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,gDAAgD;KACzD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,oCAAoC;KAC7C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uCAAuC;KAChD;IAED,oDAAoD;IACpD,wDAAwD;IACxD,iEAAiE;IACjE,8DAA8D;IAC9D,iEAAiE;IACjE,yDAAyD;IACzD,mBAAmB;IACnB;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,wFAAwF;KACjG;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,+EAA+E;KACxF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,oFAAoF;KAC7F;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,mFAAmF;KAC5F;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,uEAAuE;KAChF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,sDAAsD;KAC/D;IAED,uFAAuF;IACvF,+EAA+E;IAC/E,uEAAuE;IACvE,kEAAkE;IAClE,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE;IACpE,8EAA8E;IAChF,mDAAmD;IACjD;QACE,gDAAgD;QAChD,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC7H;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACvH;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACrI;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACjI;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9G;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAChH;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAChI;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC3G;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnG;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC5H;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9H;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtI;IACD;QACE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9H;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC3G;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACzG;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACzG;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACzH;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC3H;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACrI;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtG;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9G;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC5G;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACpH;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9G;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC9G;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnH;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACvH;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC/G;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnI;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtH;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnI;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACpH;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACxH;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtH;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnH;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACjH;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAChI;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACvH;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC5H;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC5H;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtH;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC5H;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACpI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACzH;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACtH;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACrI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACvH;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACzH;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KACnH;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;KAC7H;IACD;QACE,uCAAuC;QACvC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KACzL;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KAC3L;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KAC/L;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KACrL;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KAC3L;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KACzL;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KAC3L;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qEAAqE;KAC3L;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,oCAAoC;KACnJ;IACD;QACE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,wDAAwD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,6DAA6D;KAC7M;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,uBAAuB;KAC1I;IACD;QACE,qCAAqC;QACrC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACxI,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,MAAM,EAAE,qMAAqM;QAC7M,IAAI,EAAE,mJAAmJ;QACzJ,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;KAC/I;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACxI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,uCAAuC;QAClE,IAAI,EAAE,uDAAuD;QAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KAC3K;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACpI,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,EAAE,wKAAwK;QAChL,IAAI,EAAE,qFAAqF;QAC3F,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAChE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACtJ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gCAAgC;QAC3D,IAAI,EAAE,4FAA4F;QAClG,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC/D,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0CAA0C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QAClJ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gCAAgC;QAC3D,IAAI,EAAE,oFAAoF;QAC1F,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG;QACpE,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACtJ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iCAAiC;QAC5D,IAAI,EAAE,qFAAqF;QAC3F,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAClE,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KACpC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,+CAA+C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QAC1J,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iCAAiC;QAC5D,IAAI,EAAE,oGAAoG;QAC1G,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG;QACzE,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KACpC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QAClJ,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iCAAiC;QAC5D,IAAI,EAAE,0IAA0I;QAChJ,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG;QACzG,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KACpC;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,cAAc,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,KAAK,EAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY;QACpM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,yCAAyC;QACpE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC3C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;QAC9F,YAAY,EAAE,CAAC,cAAc,EAAC,SAAS,EAAC,gBAAgB,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY;QACrF,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,wCAAwC;QACnE,IAAI,EAAE,mDAAmD;QACzD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;QAChG,YAAY,EAAE,CAAC,cAAc,EAAC,qBAAqB,EAAC,UAAU,EAAC,eAAe,EAAC,UAAU,EAAC,WAAW,EAAC,SAAS,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY;QAC5I,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,wCAAwC;QACnE,IAAI,EAAE,qDAAqD;QAC3D,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;QAC5F,YAAY,EAAE,CAAC,cAAc,EAAC,qBAAqB,EAAC,UAAU,EAAC,eAAe,EAAC,UAAU,EAAC,WAAW,EAAC,SAAS,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QAC7I,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,wCAAwC;QACnE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;QACxG,YAAY,EAAE,CAAC,QAAQ,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACrD,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,wCAAwC;QACnE,IAAI,EAAE,8DAA8D;QACpE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KACpC;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,kDAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QAChK,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,wCAAwC;QACnE,IAAI,EAAE,6EAA6E;QACnF,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KACpC;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY;QACzI,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,qCAAqC;QAC/D,IAAI,EAAE,uCAAuC;QAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI;QACpC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;QAC5D,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY;QAC5J,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,kCAAkC;QAC5D,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG;QAClC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE;KAC9E;IACD;QACE,mDAAmD;QACnD,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,sDAAsD;KACnK;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,yCAAyC;KAChK;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;KAC9H;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,kDAAkD;KACnL;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;KAC1H;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;KAC/H;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;KAC7H;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,yBAAyB;KAC9I;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC;KAC7J;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mCAAmC;KACnJ;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;QAClF,IAAI,EAAE,oDAAoD;QAC1D,MAAM,EAAE,2IAA2I;KACpJ;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,yBAAyB;KAChI;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,uFAAuF;KAC7M;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,uGAAuG;KACxO;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,2GAA2G;KACrN;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,wIAAwI;KACpQ;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,wGAAwG;KAC1N;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,iHAAiH;KACxN;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mIAAmI;KACtP;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB;KAC9I;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,8BAA8B;KACtJ;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe;KACzH;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,8BAA8B;KACxI;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB;KAC5H;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB;KACjI;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;KAC3H;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB;KACpI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB;KAC3I;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY;KAC1I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;KACjI;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;KAC3H;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,2BAA2B;KACvJ;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,0BAA0B;KAC1J;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe;KAC3H;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,wDAAwD;KACrK;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,6BAA6B;KAClJ;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,8BAA8B;KACrJ;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,+CAA+C;KACtK;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,iDAAiD;KACpK;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,yFAAyF;KAClN;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,sEAAsE;KAC3L;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gCAAgC;KAC7I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,uBAAuB;KACpI;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,2BAA2B;KAC5J;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,8CAA8C;KACrK;IAED,4EAA4E;IAC5E,uDAAuD;IACvD,qDAAqD;IACrD,sEAAsE;IACtE,qDAAqD;IAErD,8BAA8B;IAC9B;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACnG;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACtG;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1G;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACpG;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACtF;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9F;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC5F;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACpF;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC5F;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAChF;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxE;IACD;QACE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACtE;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9E;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9F;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1E;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACtF;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACtF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9E;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9E;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAChG;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9F;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACpF;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACpF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAChF;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAChF;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACpG;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC1F;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAClF;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC9E;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC/F;IACD;QACE,4EAA4E;QAC5E,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACxF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACnF;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACvF;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KAC/F;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACrF;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACzE;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;KACzE;IAED,0DAA0D;IAC1D;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC1G;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC1G;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KACtH;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB;KAC1H;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KACnH;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KAClG;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACxH;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACtG;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAC9G;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACtH;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAC5G;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAC5H;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAClH;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACxH;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACtH;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B;KAC7I;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KAC/G;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB;KACtH;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC/G;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC;KAC9I;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACrH;IACD;QACE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB;KACnG;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KACtG;IACD;QACE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC7F;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KACpG;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KACtG;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACnG;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACzG;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KAC3G;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KAC3G;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KAC3G;IACD;QACE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACjG;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACzG;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACnG;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;KAC5G;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACnG;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;KACzG;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;KAC5G;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC5H;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KACxG;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KAC5G;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KACpH;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;KAC9G;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;KACxG;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KAChH;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KAC1H;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;KAC9G;IACD;QACE,6DAA6D;QAC7D,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;KACnH;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;KAC7H;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC/G;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC/G;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACnG;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACvG;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACvG;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KAC7G;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACnG;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACzG;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAC1G;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACzG;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC/G;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACzG;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KAChH;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC3H;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;KACtG;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;KAC3G;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACvG;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACnG;IAED,kDAAkD;IAClD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QAC7F,IAAI,EAAE,gCAAgC;QACtC,YAAY,EAAE,CAAC,CAAC,CAAC;QACjB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,qFAAqF;KAC9F;IAED,oEAAoE;IACpE,4BAA4B;IAC5B;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oDAAoD;KAC1J;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KACtI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC;KAC1I;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KAClI;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC;KAClI;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;KACtI;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6CAA6C;KAC7I;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B;KACtI;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB;KAC3I;IACD,uDAAuD;IACvD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B;KACzI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B;KAC7I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B;KAC7I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B;KAC7I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B;KAC3I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B;KAC3I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B;KAC3I;IACD,sCAAsC;IACtC;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB;KAC3H;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B;KACtI;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B;KAC3I;IACD,iEAAiE;IACjE;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C;KACtI;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C;KACtI;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC;KACpI;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC;KACzI;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C;KAC9I;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC;KACnJ;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC;KACvI;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC;KACvI;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC;KAC1I;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC;KAC1I;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC;KAC7I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC;KACvI;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC;KAC5H;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC;KAC5H;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAChI;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC5H;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACpH;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACpH;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACtI;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACpI;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAChI;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAChI;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC1H;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KAC1H;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACtH;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACtH;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC;KAC5I;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACxH;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB;KACpH;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C;KACxJ;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,4CAA4C;KACpJ;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C;KAC9I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C;KAC9I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C;KAC/I;IAED,iFAAiF;IACjF,0EAA0E;IAC1E,6EAA6E;IAC7E,uDAAuD;IACvD,6CAA6C;IAC7C,mEAAmE;IACnE,gEAAgE;IAChE,0CAA0C;IAE1C,WAAW;IACX;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KAC3F;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KACpG;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;KAC1G;IACD,WAAW;IACX;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB;KAC3J;IACD,yCAAyC;IACzC;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW;QAC5K,IAAI,EAAE,gEAAgE;QACtE,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QACzD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE;KAC9E;IAED,4BAA4B;IAC5B;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;KACtJ;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KACxI;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,yBAAyB;KACvJ;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KACpI;IACD;QACE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,sDAAsD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KAC9J;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KAC5I;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KAC5I;IACD;QACE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,oDAAoD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB;KAC1J;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,yBAAyB;KACnJ;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB;KACvI;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KACjI;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KACjJ;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KACzI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAC/I;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAC3I;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KACrJ;IACD;QACE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B;KAC/J;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAC/I;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAC/I;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAC7I;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KACrJ;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB;KAC/I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B;KACjJ;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B;KACnJ;IACD;QACE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,sDAAsD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KAC3J;IACD;QACE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,uDAAuD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KAC7J;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KACzI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KACzI;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oDAAoD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KACvJ;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KAC/I;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KACjJ;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;KAC/H;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B;KAC9H;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,8BAA8B;KAClJ;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,yBAAyB;KAC3H;IACD;QACE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;KACnK;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;KAC7J;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;KAC7J;IACD;QACE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;KACnK;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,wBAAwB;KAC3I;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,wBAAwB;KACrI;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B;KACvI;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,wBAAwB;KAC3I;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B;KAC5I;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB;KACtI;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B;KACpI;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,yBAAyB;KACjI;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,2DAA2D;IAC3D,8DAA8D;IAC9D,yDAAyD;IACzD,+DAA+D;IAC/D,EAAE;IACF,gCAAgC;IAChC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;IACxF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;IAChF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;IAChF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9E,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5E,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACzF,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/E,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3E,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7G,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7E,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE;IACpG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,kDAAkD,EAAE,IAAI,EAAE,MAAM,EAAE;IAC1G,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACzF,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE;IACnG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACzG,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACzG,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IACpG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC1E,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACvF,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACvG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAChF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAClF,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9E,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAClF,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5E,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5F,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC1E,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE;IACxE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAChF,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IACxF,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9G,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE;IAChF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;IAClF,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5E,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC9E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IACxF,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACtG,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE;IAClG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IACzF,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE;IACjG,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACvF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IACzF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACvF,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE;IACzG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE;IACzF,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3F,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACnG,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,mDAAmD,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7G,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE;IACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACnG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjF,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE;IACnF,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE;IACzG,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3G,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE;IACnG,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE;IACrG,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,oDAAoD,EAAE,IAAI,EAAE,MAAM,EAAE;IACjH,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7F,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/E,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE;IACrF,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;IAEnF,kEAAkE;IAClE,8DAA8D;IAC9D,mEAAmE;IACnE,sDAAsD;IAEtD,8EAA8E;IAC9E,wDAAwD;IACxD,mEAAmE;IACnE,0EAA0E;IAC1E,8DAA8D;IAC9D,oBAAoB;IACpB;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACjE,IAAI,EAAE,gFAAgF;QACtF,MAAM,EAAE,sEAAsE;KAC/E;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,yCAAyC;KAClD;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC3E,IAAI,EAAE,4EAA4E;QAClF,MAAM,EAAE,2EAA2E;KACpF;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACnE,IAAI,EAAE,6FAA6F;QACnG,MAAM,EAAE,uEAAuE;KAChF;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC;QACrJ,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK;QACtC,IAAI,EAAE,kFAAkF;QACxF,MAAM,EAAE,wCAAwC;QAChD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QACrD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE;KAC9E;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC3E,MAAM,EAAE,oDAAoD;KAC7D;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACnE,MAAM,EAAE,iDAAiD;KAC1D;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACrE,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC3E,MAAM,EAAE,oDAAoD;KAC7D;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACnE,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC3E,MAAM,EAAE,4CAA4C;KACrD;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACnE,MAAM,EAAE,8CAA8C;KACvD;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACrE,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,0BAA0B;KACnC;IAED,2EAA2E;IAC3E,kEAAkE;IAClE;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,iEAAiE;KAC1E;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC;QAC7H,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK;QACvC,IAAI,EAAE,sEAAsE;QAC5E,MAAM,EAAE,sFAAsF;cAC1F,kFAAkF;cAClF,sCAAsC;QAC1C,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QACrD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM;QAC5D,IAAI,EAAE,yEAAyE;QAC/E,MAAM,EAAE,uEAAuE;KAChF;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC;QAC1H,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK;QACvC,IAAI,EAAE,sDAAsD;QAC5D,MAAM,EAAE,iCAAiC;QACzC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3H,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,kJAAkJ;QAC1J,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,4CAA4C,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAC3J,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,mDAAmD;QACzD,MAAM,EAAE,8CAA8C;QACtD,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG;QAC3C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QAC5E,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK;QACvC,IAAI,EAAE,iEAAiE;QACvE,MAAM,EAAE,8PAA8P;QACtQ,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,kBAAkB,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,CAAC;QAClK,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK;QACvC,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QAC9C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAC7B;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM;QACxD,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACzC,IAAI,EAAE,gEAAgE;QACtE,MAAM,EAAE,0EAA0E;QAClF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QACnD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM;QAChE,MAAM,EAAE,iEAAiE;KAC1E;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM;QAC9D,MAAM,EAAE,oCAAoC;KAC7C;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,oFAAoF;cACxF,qFAAqF;cACrF,wFAAwF;cACxF,wDAAwD;KAC7D;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;QACjG,YAAY,EAAE,CAAC,gBAAgB,EAAC,cAAc,CAAC;QAC/C,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QAC5E,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QAChH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,4CAA4C;QAClD,MAAM,EAAE,iGAAiG;QACzG,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QAC1C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KAC9B;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM;QAC5D,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM;QAC9D,IAAI,EAAE,uDAAuD;QAC7D,MAAM,EAAE,iFAAiF;KAC1F;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM;QAChE,MAAM,EAAE,0EAA0E;KACnF;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QACjH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,MAAM,EAAE,qOAAqO;QAC7O,IAAI,EAAE,gEAAgE;QACtE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG;QACvD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QACnH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG;QAC7C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM;QAChE,MAAM,EAAE,uIAAuI;KAChJ;IACD;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM;QAC5D,MAAM,EAAE,0KAA0K;KACnL;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QAC9G,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QACtH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM;QAC1D,MAAM,EAAE,8DAA8D;KACvE;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM;QAClE,MAAM,EAAE,6DAA6D;KACtE;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM;QAC9D,MAAM,EAAE,wCAAwC;KACjD;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM;QAClE,MAAM,EAAE,8DAA8D;KACvE;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;QAClF,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;QAC9D,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,oCAAoC;QAC5C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM;QAChE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;QAC9D,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,qFAAqF;KAC9F;IAED,wDAAwD;IACxD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,wCAAwC;KACjD;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACvE,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QAC3E,MAAM,EAAE,oCAAoC;KAC7C;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QAC3E,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,kBAAkB;KAC3B;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM;QACnE,MAAM,EAAE,sDAAsD;KAC/D;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,+BAA+B;KACxC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM;QAC/F,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;QACjE,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAClC,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/C;QACD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,qFAAqF;KAC9F;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;QAC1F,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;QACjE,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG;QAClC,WAAW,EAAE;YACX,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/C;QACD,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,yDAAyD;KAClE;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,qBAAqB;KAC9B;IAED,2DAA2D;IAC3D;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,2BAA2B;KACpC;IAED,2DAA2D;IAC3D;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,+BAA+B;KACxC;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,oCAAoC;KAC7C;IAED,iCAAiC;IACjC;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QAC1E,MAAM,EAAE,iFAAiF;cACrF,oFAAoF;cACpF,sCAAsC;KAC3C;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QAClF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC9E,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACxE,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QAC1E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,kHAAkH;KAC3H;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QAClF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAChF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QAC1F,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,oBAAoB;KAC7B;IAED,uDAAuD;IACvD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QACtH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC;QAC1D,IAAI,EAAE,6EAA6E;QACnF,MAAM,EAAE,+BAA+B;QACvC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG;QAC5C,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC;QAC/H,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC;QAClI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,sCAAsC;QAC9C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;KAC7D;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,mDAAmD,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;QAC5I,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI;QACtC,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;QAC5D,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,0CAA0C;KACnD;IAED,+BAA+B;IAC/B;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,gCAAgC;KACzC;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QACtF,MAAM,EAAE,uCAAuC;KAChD;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM;QACxF,MAAM,EAAE,wCAAwC;KACjD;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM;QAC3F,MAAM,EAAE,8CAA8C;KACvD;IAED,uDAAuD;IACvD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,kDAAkD;KAC3D;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM;QAC3F,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM;QACvG,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM;QACjG,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM;QACnG,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC/F,MAAM,EAAE,mBAAmB;KAC5B;IAED,oEAAoE;IACpE;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACtF,MAAM,EAAE,yCAAyC;KAClD;IAED,4DAA4D;IAC5D;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACrE,MAAM,EAAE,yCAAyC;KAClD;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QACzE,MAAM,EAAE,0BAA0B;KACnC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM;QAChE,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM;QAC5D,MAAM,EAAE,+BAA+B;KACxC;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,mCAAmC;KAC5C;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,iEAAiE;KAC1E;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QAC1E,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM;QACpE,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM;QAClF,MAAM,EAAE,+BAA+B;KACxC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAChF,MAAM,EAAE,+BAA+B;KACxC;IAED,mDAAmD;IACnD;QACE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,mDAAmD,EAAE,IAAI,EAAE,MAAM;QACxG,MAAM,EAAE,oEAAoE;KAC7E;IAED,6DAA6D;IAC7D;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,oEAAoE;KAC7E;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM;QACjF,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,iBAAiB;KAC1B;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM;QAC3F,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM;QACrG,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,kDAAkD,EAAE,IAAI,EAAE,MAAM;QACvG,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM;QAC/F,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACrF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QAC/E,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACnF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,oBAAoB;KAC7B;IAED,gCAAgC;IAChC;QACE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACnE,MAAM,EAAE,6CAA6C;KACtD;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,qBAAqB;KAC9B;IAED,4CAA4C;IAC5C;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM;QACtF,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QAC5F,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QAC9E,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QAC1E,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM;QAC1E,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM;QACxE,MAAM,EAAE,gCAAgC;KACzC;IACD;QACE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM;QACnG,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,sDAAsD,EAAE,IAAI,EAAE,MAAM;QACjH,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC/F,MAAM,EAAE,+BAA+B;KACxC;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,mCAAmC;KAC5C;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM;QACjG,MAAM,EAAE,mCAAmC;KAC5C;IAED,0CAA0C;IAC1C;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,qBAAqB;KAC9B;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QACpF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QAC1F,MAAM,EAAE,mBAAmB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM;QACxF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QAClF,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM;QAC9F,MAAM,EAAE,wBAAwB;KACjC;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM;QACxF,MAAM,EAAE,oBAAoB;KAC7B;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM;QAC9F,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM;QAC9F,MAAM,EAAE,sBAAsB;KAC/B;IAED,wDAAwD;IACxD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM;QACtE,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACvF,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,iCAAiC;KAC1C;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM;QACxF,MAAM,EAAE,uBAAuB;KAChC;IACD;QACE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM;QACzF,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM;QAC7F,MAAM,EAAE,4BAA4B;KACrC;IAED,kEAAkE;IAClE;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM;QAC9D,MAAM,EAAE,8BAA8B;KACvC;IACD;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM;QAC7E,MAAM,EAAE,6CAA6C;KACtD;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM;QAChF,MAAM,EAAE,yCAAyC;KAClD;IAED,wEAAwE;IACxE,oHAAoH;IACpH,oEAAoE;IACpE,0DAA0D;IAC1D,oEAAoE;IACpE,EAAE;IACF,0DAA0D;IAC1D,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACtL,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC1K,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC5K,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACtL,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC9K,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAClL,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC9K,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAClL,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACpK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACxK,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC1L,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACtM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACvL,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACjL,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC7L,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC7L,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACzL,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACjM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,wCAAwC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACnL,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC7L,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACvL,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC/L,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACjM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC3L,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC7L,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACzL,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC/L,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IACjM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC7L,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC3L,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC5K,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC/L,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC/L,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iDAAiD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gEAAgE,EAAE;IAC/L;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC9F,MAAM,EAAE,+DAA+D;KACxE;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxG,MAAM,EAAE,sCAAsC;KAC/C;IAED,uDAAuD;IACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAEpJ,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,gDAAgD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAE1J,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE;IAE3I,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,wCAAwC,EAAE;IAEpK;QACE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACtF,MAAM,EAAE,oEAAoE;KAC7E;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAChG,MAAM,EAAE,+CAA+C;KACxD;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxG,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,0CAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACpH,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,oDAAoD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACrH,MAAM,EAAE,4CAA4C;KACrD;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAChG,MAAM,EAAE,qDAAqD;KAC9D;IACD;QACE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC5E,MAAM,EAAE,4DAA4D;KACrE;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxF,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACpG,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAClF,MAAM,EAAE,2BAA2B;KACpC;IACD;QACE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxF,MAAM,EAAE,+CAA+C;KACxD;IACD;QACE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC1F,MAAM,EAAE,sBAAsB;KAC/B;IACD;QACE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACpF,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC9F,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxG,MAAM,EAAE,yBAAyB;KAClC;IACD;QACE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC1G,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;QAC9G,MAAM,EAAE,4BAA4B;KACrC;CACF,CAAA","sourcesContent":["/**\n * arg-spec — L3 投影签名适配表(E5 唯一人工维护点)\n *\n * 设计文档:docs/plans/2026-09-02-faijs-api-surface-completion.md §E5 / §5.2\n *\n * 输入:brepjs `src/index.ts`(upstream-surface.json 已按 §2.6 排除)。\n * 作用:为每个保留符号声明「faijs 面投影方式」。生成器\n * `scripts/gen-l3-surface.ts` 读取本表 + surface 清单,产出\n * `api/generated/<module>.ts`(E5:不手写 699 个;本表之外符号按默认规则推导)。\n *\n * 产出类别(对齐 §5.2 / E5 分类表;生成器按本类判别产出):\n * brep-op : defineOp({ brep }) —— Solid 进出(构造/变换/布尔/修饰)\n * query : 普通导出函数(输入 Shape 借入 brepjs handle → 调 vendored → 返回纯数据;\n * 返回非 Shape,不进 defineOp——先例 api/geom.ts,generated/topology.ts getBounds)\n * pure : 无 Shape 参数的纯函数 → 直接 re-export(不进 defineOp,不是 op)\n * type : `export type { … } from '<vendored>'` re-export\n * skip : 登记跳过(divergence:语义 faijs 面无法表达 / 已由 faijs 既有 op 覆盖),带 reason\n *\n * 双形态(E2):同名符号由生成器注入 `normalizeArgs` 判别器(faijs 对象形态 ↔ brepjs\n * 位置形态),适配表给 faijs 形参映射;本文件首批样本聚焦「faijs 无同名」的纯新增符号,\n * 双形态条目随 §5.1 同名处置逐批加入(P14 分批)。\n *\n * P13a 机制验证样本(4 条,覆盖 type / brep-op 构造 / brep-op 布尔 / query 四类产出路径):\n * 1. Bounds3D — type re-export(topology/shapeFns)\n * 2. torus — brep-op 构造(topology/primitiveFns,faijs 无同名)\n * 3. fuse — brep-op 布尔(topology/booleanFns,faijs 用 union,fuse 无同名)\n * 4. getBounds — query(topology/shapeFns,faijs 用 bbox* 但无同名)\n */\n\n/** 生成器可用的投影方式。 */\nexport type ProjectionKind = 'brep-op' | 'query' | 'pure' | 'type' | 'skip' | 'faijs'\n\nimport type { Provenance } from '../../topology/naming/lineage'\nimport type { BrepEngineId } from '../../brep/engine/types'\nimport type { BrepCapabilityName } from '../../cad-runtime/backend-dispatch'\n// Re-export for arg-spec consumers.\nexport type { Provenance } from '../../topology/naming/lineage'\n\n/** brep-op / query 的时间线消费声明(透传 defineOp 元数据,G3/G4)。 */\n\n/**\n * faijs 面 query 形参描述(P14 机器签名:生成器按此产出函数签名 + JSDoc @param)。\n * 几何位(geometryArgs 索引)在生成器处以 Shape 覆盖;数值/选项位用 `type` 字段原样声明。\n */\nexport interface QueryParam {\n name: string\n /** 非几何位的类型(如 `number`);几何位由生成器覆写为 `Shape`。 */\n type: string\n /** 是否为可选参数(faijs 面签名 `?`),函数缺省值由 vendored 承担。 */\n optional?: boolean\n /** JSDoc 补充说明。 */\n docs?: string\n}\n\n/**\n * D11 参数双形态分类。\n *\n * - A : 单名双形态(位置形态首参非 plain object,判别式有效,如 box/fuse/torus)。\n * - B1 : 单名单形态(brepjs options 对象即唯一对象形态,无需拆名,如 thread)。\n * - B2 : 双名(brepjs 形态占正名,faijs 对象形态加描述性后缀,如 rotate_euler)。\n */\nexport type FormClass = 'A' | 'B1' | 'B2'\n\n/**\n * 单条投影适配。\n *\n * - `name` faijs 面导出名(= brepjs 符号名;同名冲突已在 §5.1 处置后,寻表登记双形态或改名)。\n * - `source` vendored 树内的来源符号,`<相对 vendored 根的模块路径>#<导出名>`(默认同名)。\n * - `kind` 投影类别(见文件头)。\n * - `module` 分片归属(缺省 'topology',P13 兼容;P14 起逐模块登记)。\n * - `args` brep-op/query:调用约定描述,供生成器产出 JSDoc 与 normalizeArgs 占位;\n * type/pure:无需 args(直接 re-export)。\n * - `params` P20: 机器参数名表(从 args 人读串提取),供双形态归一化判别器 resolveArgs 使用。\n * - `formClass` P20: D11 形态分类(A 单名双形态 / B1 单名单形态 / B2 双名)。\n */\nexport interface ArgSpecEntry {\n name: string\n source: string\n kind: ProjectionKind\n /** 分片归属模块(缺省 'topology')。 */\n module?: string\n /** Human-readable call shape for generated JSDoc. */\n args?: string\n /** For kind 'skip': divergence reason (must be non-empty, §8 O4). */\n reason?: string\n /**\n * Machine bridge hints (P13a mechanism sample).\n * For 'brep-op'/'query': which positional parameters are geometry inputs\n * (0-based indices into the brepjs positional-arg list) that the generated\n * code must borrow via `borrowBrepjsShape`. Non-listed params pass through\n * untouched (numbers / option objects are value params).\n */\n geometryArgs?: number[]\n /**\n * P14: 几何数组位(query)——该索引是 Shape 数组形参,逐元素借入 brepjs handle。\n */\n geometryCollectionArgs?: number[]\n /** For brep-op/query: whether a bool `Result` must be unwrapped (err → throw). Default true for ops/query. */\n returnsResult?: boolean\n /** P14: query 侧 faijs 面形参列表(without the case for pure/type;brep-op 保持位置透传 `...args`)。 */\n queryParams?: QueryParam[]\n /** For query only: the vendored return type name (re-exportable from the entry's module) so the generated function can annotate its return type (the export-JSDoc gate requires an explicit annotation + @returns). */\n returnType?: string\n /** P20: 机器参数名表(按位置顺序),供 dual-form-args resolveArgs 映射对象形态→位置数组。 */\n params?: string[]\n /**\n * Phase 1(Brep 引擎可切换重构):该 brep-op 所需的内核能力名(`BrepCapabilityName`:\n * 族级布尔 / `BrepEvolutionKind` 真名 / `BrepMethodKind` 真名)。透传给 defineOp,\n * 由 backend-dispatch 能力路由做执行前静态判定。依据 Phase 0 能力映射表\n * (api/surface/capability-map.json)逐条填写。\n */\n capabilities?: BrepCapabilityName[]\n /**\n * Phase 5(narrowing plan D11):平台身份声明——该 brep-op 只在列出的引擎上\n * 实现(如 vendored op 调 occt-only 方法 isNull/section/loft → ['occt'])。\n * 缺省 = 全平台中立。可与 capabilities 并存(2026-09-24 撤销 D11-7 互斥):\n * engines 是引擎白名单,capabilities 是能力依赖,判定 engines 在先(D11-2)。\n * 生成器透传给 compatOp → defineOp engines,并写进 script-face-manifest。\n */\n engines?: readonly BrepEngineId[]\n /** P20: D11 形态分类(A 单名双形态 / B1 单名单形态 / B2 双名)。 */\n formClass?: FormClass\n /**\n * P23: 是否投进 cad 脚本面(§4.2 ②:`cad.*` = ① 面全量**语句级 op** 经\n * compatOp 包装)。缺省 false——入参/出参含 Face/Edge/Wire 子形状句柄的\n * 符号不进脚本面(§6.1),query 返回纯数据也留在 TS 面。\n * 生成器据此产出 api/generated/script-face.ts + script-face-manifest.ts。\n */\n scriptFace?: boolean\n /**\n * Topology identity provenance declaration (plan §4.4 / Phase 2.1).\n * Required for `kind==='brep-op' && scriptFace===true` (generator guard, 2.2);\n * encodes the op's face-mapping category + new-face vocabulary.\n * `import type` from lineage.ts — pure type, no runtime circular dep.\n */\n naming?: Provenance\n /**\n * Phase 3(core-decouple plan §5.4):core 自有实现标记——source 指向\n * \u0007pi/brep-mirror/<file>.ts#<fn>(core 第一方实现),生成器走 selfhost 分支\n * (defineOp({ brep: __own_<fn>, … }),无 vendored import、无 compatOp/\n * projectBrepOp 桥;D11 归一在自有实现内部完成)。\n */\n selfhost?: boolean\n /** Named multi-product outputs(defineOp 的 outputs 选项,分片 op 用)。 */\n outputs?: string[]\n /** L3 schema per named parameter(G1 codegen + UI panel)。 */\n schema?: Record<string, string>\n /** D11 slot-map 声明(positional→object 装箱表)。 */\n slotMap?: import('../../api/internal/dual-form-args').SlotMap\n}\n\n/**\n * 首批机制验证样本(P13a)。每个样本都选了 faijs 无同名、brepjs 有完整实现的符号,\n * 生成产物可立即 typecheck 并桥接 vendored 跑通(E5 模板:句柄借入 → 调 vendored →\n * Result 翻转 → fromBrep 所有权转入)。\n */\nexport const ARG_SPEC: ArgSpecEntry[] = [\n {\n name: 'Bounds3D',\n source: 'topology/shapeFns.js#Bounds3D',\n kind: 'skip',\n },\n {\n name: 'torus',\n source: 'brep-mirror/primitiveFns.ts#torusBrep', selfhost: true,\n kind: 'brep-op',\n capabilities: [\"dispose\",\"makeTorus\"],\n args: '(majorRadius: number, minorRadius: number, options?: TorusOptions)',\n // 构造类:无几何输入(纯数值参数),brepjs 返回裸 ValidSolid(非 Result)。\n geometryArgs: [],\n returnsResult: false,\n params: ['majorRadius', 'minorRadius', 'options'],\n formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n name: 'fuse',\n source: 'brep-mirror/booleanFns.ts#fuseBrep', selfhost: true,\n kind: 'brep-op',\n // Phase 5 补漏(§1.5 推论 1 / D11):vendored fuse 默认 trackEvolution 路径依赖\n // kernel.isNull / kernel.dispose(occt 平台面)→ 平台 op,声明 engines: ['occt']\n // 在 brepkit 下执行前报错(D11-4)。\n args: '(a: Shape3D, b: Shape3D, options?: BooleanOptions) -> Result<Shape3D>',\n // 两个输入都是 faijs Shape → 借入 brepjs handle;第三参 options 透传。\n geometryArgs: [0, 1],\n returnsResult: true,\n params: ['a', 'b', 'options'],\n formClass: 'A',\n scriptFace: true,\n // 依赖声明(诚实原则):isNull / dispose 是 vendored fuse 的真实内核依赖,二者都在\n // BrepMethodKind 逐核真名里。本条目早前因 D11-7 互斥被迫只留 engines;互斥已于\n // 2026-09-24 撤销,两条轴可并存,届时按 capability-map.json 实证补回依赖清单。\n engines: ['occt'],\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'getBounds',\n source: 'core:brep-mirror#getBounds',\n kind: 'query',\n selfhost: true,\n args: '(shape: Shape) -> BrepBoundingBox(core selfhost)',\n // 查询:输入 Shape(借入),返回纯数据 Bounds3D → 不进 defineOp(直接导出函数)。\n geometryArgs: [0],\n returnsResult: false,\n returnType: '{ xmin: number; ymin: number; zmin: number; xmax: number; ymax: number; zmax: number }',\n params: ['shape'],\n formClass: 'A',\n },\n\n // ──── P14 第一片:measurement 模块(21 符号,全 query/type,无 brep-op)────\n // 归属模块 measurement:产物 api/generated/measurement.ts。\n // 说明:测量模块全部符号都是「Shape 进 → 纯数据出」的无副作用查询;唯一例外\n // createDistanceQuery(状态化查询工具,闭包引用外部 referenceShape,faijs 面无法\n // 静态建模,登记 skip)。type 侧 8 个类型全部 re-export;query 侧返回类型由生成器\n // `import type` 引入(CurvatureResult 等来自 measureFns / interferenceFns)。\n\n // 8 × type 基础设施\n {\n name: 'CurvatureResult',\n source: 'measurement/measureFns.js#CurvatureResult',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'DistanceProps',\n source: 'measurement/measureFns.js#DistanceProps',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'InterferencePair',\n source: 'measurement/interferenceFns.js#InterferencePair',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'InterferenceResult',\n source: 'measurement/interferenceFns.js#InterferenceResult',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'LinearProps',\n source: 'measurement/measureFns.js#LinearProps',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'PhysicalProps',\n source: 'measurement/measureFns.js#PhysicalProps',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'SurfaceProps',\n source: 'measurement/measureFns.js#SurfaceProps',\n kind: 'skip',\n module: 'measurement',\n },\n {\n name: 'VolumeProps',\n source: 'measurement/measureFns.js#VolumeProps',\n kind: 'skip',\n module: 'measurement',\n },\n // 1 × skip(状态化查询工具)\n {\n name: 'createDistanceQuery',\n source: 'measurement/measureFns.js#createDistanceQuery',\n kind: 'skip',\n module: 'measurement',\n reason:\n '状态化查询工具:返回带闭包引用(distanceTo/dispose)的 brep 距离工具,faijs 面' +\n '无法静态建模(查询对象生命周期 + 后续 Shape 参数逐次借入);跳过,待宿主适配器手工实现',\n },\n // 12 × query(volume / area / length / distance / curvature / interference)\n {\n name: 'measureVolumeProps',\n source: 'measurement/measureFns.js#measureVolumeProps',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> { volume, centerOfMass }(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: '{ volume: number; centerOfMass: { x: number; y: number; z: number } }',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureSurfaceProps',\n source: 'measurement/measureFns.js#measureSurfaceProps',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> { area }(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: '{ area: number }',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureLinearProps',\n source: 'measurement/measureFns.js#measureLinearProps',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> { length }(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: '{ length: number }',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureVolume',\n source: 'measurement/measureFns.js#measureVolume',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> number(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureArea',\n source: 'measurement/measureFns.js#measureArea',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> number(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureLength',\n source: 'measurement/measureFns.js#measureLength',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> number(core selfhost)',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'number',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureDistance',\n source: 'measurement/measureFns.js#measureDistance',\n kind: 'skip',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape) -> Result<number>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被查询形状' },\n { name: 'b', type: 'Shape', docs: '第二个被查询形状' },\n ],\n returnsResult: true,\n returnType: 'number',\n params: ['a', 'b'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureDistanceProps',\n source: 'measurement/measureFns.js#measureDistanceProps',\n kind: 'skip',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape) -> Result<DistanceProps>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被查询形状' },\n { name: 'b', type: 'Shape', docs: '第二个被查询形状' },\n ],\n returnsResult: true,\n returnType: 'DistanceProps',\n params: ['a', 'b'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureCurvatureAt',\n source: 'measurement/measureFns.js#measureCurvatureAt',\n kind: 'skip',\n module: 'measurement',\n args: '(face: OrientedFace, u: number, v: number) -> Result<CurvatureResult>',\n geometryArgs: [0],\n queryParams: [\n { name: 'face', type: 'Shape', docs: '被查询的曲面/面' },\n { name: 'u', type: 'number', docs: '参数域 u' },\n { name: 'v', type: 'number', docs: '参数域 v' },\n ],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face', 'u', 'v'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'measureCurvatureAtMid',\n source: 'measurement/measureFns.js#measureCurvatureAtMid',\n kind: 'skip',\n module: 'measurement',\n args: '(face: Face) -> Result<CurvatureResult>',\n geometryArgs: [0],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'checkInterference',\n source: 'measurement/interferenceFns.js#checkInterference',\n kind: 'skip',\n module: 'measurement',\n args: '(a: AnyShape, b: AnyShape, tolerance?: number) -> Result<InterferenceResult>',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个形状' },\n { name: 'b', type: 'Shape', docs: '第二个形状' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: true,\n returnType: 'InterferenceResult',\n params: ['a', 'b', 'tolerance'], formClass: 'A',\n engines: ['occt'],\n },\n {\n name: 'checkAllInterferences',\n source: 'measurement/interferenceFns.js#checkAllInterferences',\n kind: 'skip',\n module: 'measurement',\n args: '(shapes: AnyShape[], tolerance?: number) -> InterferencePair[]',\n // 数组输入:geometryCollectionArgs 索引对应的 Shape 数组逐元素借入 brepjs handle。\n geometryCollectionArgs: [0],\n queryParams: [\n { name: 'shapes', type: 'Shape[]', docs: '成对检测的形状数组' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: false,\n returnType: 'InterferencePair[]',\n params: ['shapes', 'tolerance'], formClass: 'A',\n engines: ['occt'],\n },\n\n // Phase 7 待裁决 4(方案 §7.1 建议 4,2026-09-24):occt 独占诊断族进脚本面,\n // 统一 `inspect*` 命名(不走 measure*——避免与中立量形成误导性双轨)。三条无\n // 中立替代的族:干涉 / 曲率 / 质量属性(惯量/主轴)。name 与 vendored 导出\n // 解耦(renderQuery 按 source 的 exportName 导入、按 name 声明),engines:['occt']\n // → 函数体第一行执行前断言(D11-4)。\n {\n name: 'inspectInterference',\n source: 'measurement/interferenceFns.js#checkInterference',\n kind: 'skip',\n module: 'measurement',\n args: '(a: Shape, b: Shape, tolerance?: number) -> InterferenceResult',\n geometryArgs: [0, 1],\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个形状' },\n { name: 'b', type: 'Shape', docs: '第二个形状' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: true,\n returnType: 'InterferenceResult',\n params: ['a', 'b', 'tolerance'], formClass: 'A',\n engines: ['occt'],\n scriptFace: true,\n reason: 'occt 独占诊断(装配/公差刚需,无中立替代)→ inspect* 命名进脚本面(§7 待裁决 4)',\n },\n {\n name: 'inspectAllInterferences',\n source: 'measurement/interferenceFns.js#checkAllInterferences',\n kind: 'skip',\n module: 'measurement',\n args: '(shapes: Shape[], tolerance?: number) -> InterferencePair[]',\n geometryCollectionArgs: [0],\n queryParams: [\n { name: 'shapes', type: 'Shape[]', docs: '成对检测的形状数组' },\n { name: 'tolerance', type: 'number', optional: true, docs: '干涉距离阈值(缺省 1e-6)' },\n ],\n returnsResult: false,\n returnType: 'InterferencePair[]',\n params: ['shapes', 'tolerance'], formClass: 'A',\n engines: ['occt'],\n scriptFace: true,\n reason: 'occt 独占诊断(装配/公差刚需,无中立替代)→ inspect* 命名进脚本面(§7 待裁决 4)',\n },\n {\n name: 'inspectCurvature',\n source: 'measurement/measureFns.js#measureCurvatureAt',\n kind: 'skip',\n module: 'measurement',\n args: '(face: Shape, u: number, v: number) -> CurvatureResult',\n geometryArgs: [0],\n queryParams: [\n { name: 'face', type: 'Shape', docs: '被查询的曲面/面' },\n { name: 'u', type: 'number', docs: '参数域 u' },\n { name: 'v', type: 'number', docs: '参数域 v' },\n ],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face', 'u', 'v'], formClass: 'A',\n engines: ['occt'],\n scriptFace: true,\n reason: 'occt 独占诊断(曲面质量诊断,无中立替代)→ inspect* 命名进脚本面(§7 待裁决 4)',\n },\n {\n name: 'inspectCurvatureAtMid',\n source: 'measurement/measureFns.js#measureCurvatureAtMid',\n kind: 'skip',\n module: 'measurement',\n args: '(face: Shape) -> CurvatureResult',\n geometryArgs: [0],\n queryParams: [{ name: 'face', type: 'Shape', docs: '被查询的曲面/面(取参数域中点)' }],\n returnsResult: true,\n returnType: 'CurvatureResult',\n params: ['face'], formClass: 'A',\n engines: ['occt'],\n scriptFace: true,\n reason: 'occt 独占诊断(曲面质量诊断,无中立替代)→ inspect* 命名进脚本面(§7 待裁决 4)',\n },\n {\n name: 'inspectMassProps',\n source: 'measurement/measureFns.js#measureVolumeProps',\n kind: 'query',\n module: 'measurement',\nselfhost: true,\n args: '(shape: Shape) -> { volume, area, centerOfMass }(core selfhost)',\n geometryArgs: [0],\n queryParams: [{ name: 'shape', type: 'Shape', docs: '目标实体(体积/质心/惯量/主轴)' }],\n returnsResult: true,\n returnType: '{ volume: number; area: number; centerOfMass: { x: number; y: number; z: number } }',\n params: ['shape'], formClass: 'A',\n engines: ['occt'],\n scriptFace: true,\n reason: 'occt 独占诊断(绕轴惯性矩/主轴,中立面没有)→ inspect* 命名进脚本面(§7 待裁决 4)',\n },\n\n // Phase 7(narrowing plan §Phase 7 / Q4):cad 脚本面测量 op(手写实现,\n // kind 'faijs'——api/measurement/index.ts)。直接调 getBrepApi() 的 L1 测量面\n // (getSurfaceArea / getLength),无 vendored 借入层、无引擎绑定 → **中立 op**\n // (occt / brepkit 同一份 .fai.js 可跑)。返回纯数字,不产出 Shape。\n // 三源一致(B1):scriptFace: true → gen-l3-surface 进 script-face.ts /\n // script-face-manifest.ts,gen-symbol-table 同步 check() 符号表。\n {\n name: 'area',\n source: 'measurement/index.js#area',\n kind: 'faijs',\n module: 'measurement',\n args: '(shape: Shape) -> number(面积 mm²)',\n scriptFace: true,\n },\n {\n name: 'length',\n source: 'measurement/index.js#length',\n kind: 'faijs',\n module: 'measurement',\n args: '(shape: Shape) -> number(长度 mm)',\n scriptFace: true,\n },\n {\n name: 'volume',\n source: 'measurement/index.js#volume',\n kind: 'faijs',\n module: 'measurement',\n args: '(shape: Shape) -> number(体积 mm³)',\n scriptFace: true,\n },\n {\n name: 'centerOfMass',\n source: 'measurement/index.js#centerOfMass',\n kind: 'faijs',\n module: 'measurement',\n args: '(shape: Shape) -> BrepVec3(质心 mm)',\n scriptFace: true,\n },\n\n // ──── P14 第二片:text 模块(8 符号:3 pure + 3 skip + 2 type)────\n // 纯字体/度量函数直接 re-export;字体加载(fetch/ArrayBuffer + 全局注册表\n // 状态)与「返回 brep 侧 DSL 对象」的函数(blueprints/sketches)无法静态透传,\n // 登记 skip + reason(divergence,理由见各条)。\n {\n name: 'FontMetricsResult',\n source: 'text/textMetrics.js#FontMetricsResult',\n kind: 'skip',\n module: 'text',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/text.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'TextMetricsResult',\n source: 'text/textMetrics.js#TextMetricsResult',\n kind: 'skip',\n module: 'text',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/text.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'fontMetrics',\n source: 'text/textMetrics.js#fontMetrics',\n kind: 'skip',\n module: 'text',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/text.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'getFont',\n source: 'text/fontRegistry.js#getFont',\n kind: 'skip',\n module: 'text',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/text.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'textMetrics',\n source: 'text/textMetrics.js#textMetrics',\n kind: 'skip',\n module: 'text',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/text.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'loadFont',\n source: 'text/fontRegistry.js#loadFont',\n kind: 'skip',\n module: 'text',\n reason:\n '字体加载走 fetch/ArrayBuffer + 全局注册表(FONT_REGISTER)状态副作用;faijs 需 ' +\n 'host 侧提供字体源与生命周期管理(同 faijs HostPorts.fonts 通道),非静态透传函数',\n },\n {\n name: 'sketchText',\n source: 'text/sketchText.js#sketchText',\n kind: 'skip',\n module: 'text',\n reason:\n '返回 brep 域 Sketches DSL 对象(sketchOnPlane/extrude 方法链),并依赖已加载字体 ' +\n '注册表;faijs 面需要单独的 sketch DSL 适配层,跳过(divergence)',\n },\n {\n name: 'textBlueprints',\n source: 'text/textBlueprints.js#textBlueprints',\n kind: 'skip',\n module: 'text',\n reason:\n '返回 brep 域 Blueprints DSL 对象(组织轮廓/孔 + mirror 方法),依赖已加载字体;' +\n 'faijs 面需要单独的 2D sketch 适配层,跳过(divergence)',\n },\n\n // ──── P14 第二片:projection 模块(9 符号,4 pure + 3 type + 2 skip)────\n // 相机/pure 向量数学与平面别名 guard 直接 re-export;projectEdges/makeProjectedEdges\n // 返回「克隆 Edge 句柄数组」且逐条管理所有权(makeProjectedEdges.ts 的 compound 生命周期),\n // faijs 的单一产物再收养模型不匹配,登记 skip(divergence)。\n {\n name: 'Camera',\n source: 'projection/cameraFns.js#Camera',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'CubeFace',\n source: 'projection/projectionPlanes.js#CubeFace',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'ProjectionPlane',\n source: 'projection/projectionPlanes.js#ProjectionPlane',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'cameraFromPlane',\n source: 'projection/cameraFns.js#cameraFromPlane',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'cameraLookAt',\n source: 'projection/cameraFns.js#cameraLookAt',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'createCamera',\n source: 'projection/cameraFns.js#createCamera',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'isProjectionPlane',\n source: 'projection/projectionPlanes.js#isProjectionPlane',\n kind: 'skip',\n module: 'projection',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/projection.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'makeProjectedEdges',\n source: 'projection/makeProjectedEdges.js#makeProjectedEdges',\n kind: 'skip',\n module: 'projection',\n reason:\n '返回 { visible: Edge[]; hidden: Edge[] } 克隆句柄数组并管理 compound 生命周期;' +\n 'faijs 单一收养模型不匹配,且属于 2D 投影预览语义,跳过(divergence)',\n },\n {\n name: 'projectEdges',\n source: 'projection/cameraFns.js#projectEdges',\n kind: 'skip',\n module: 'projection',\n reason:\n '同 makeProjectedEdges:返回 Edge 句柄数组 + 所有权生命周期,无法静态收养,跳过(divergence)',\n },\n\n // ──── 视图投影能力(P25):view 模块(3 符号,全部 scriptFace=true)────\n // faijs 自研视图投影 op(方案 docs/plans/2026-09-10-faijs-view-projection-and-screenshot.md\n // §3.2,路径 A):工程线稿,只返回纯数据(SVG 字符串 / 相机对象),不产出 Shape。\n // 实现是手写模块(api/view/,内部借入 brepjs handle → vendored HLR → SVG 序列化),\n // 生成器只负责 re-export 进 L3 面与 cad 脚本面——kind 'faijs' 不入 upstream-surface\n // 基线(faijs 自研符号),也不走 vendored import 模板。\n {\n name: 'viewCamera',\n source: 'view/index.js#viewCamera',\n kind: 'faijs',\n module: 'view',\n args: '(view: ViewSpec) -> Camera',\n scriptFace: true,\n },\n {\n name: 'projectView',\n source: 'view/index.js#projectView',\n kind: 'faijs',\n module: 'view',\n args: '(shape: Shape, view: ViewSpec, opts?: ProjectViewOptions) -> string(SVG)',\n scriptFace: true,\n },\n {\n name: 'projectSheet',\n source: 'view/index.js#projectSheet',\n kind: 'faijs',\n module: 'view',\n args: '(shape: Shape, views: (ViewSpec | SheetView)[], opts?: ProjectSheetOptions) -> string(SVG)',\n scriptFace: true,\n },\n\n // ──── P14 第二片:query 模块(14 符号:7 type + 7 skip)────\n // finder 体系(edge/face/wire/vertex/corner + ShapeFinder 基接口)是「状态化查询工具」:\n // finder 工厂返回带内部闭包状态的 DSL 对象(.when/.inList/.findAll…逐步链式),与\n // createDistanceQuery 同类(§5.2/测量批的 skip 先例)。faijs 面无法以静态函数忠实建模\n // (finder 生命周期 + 逐次 Shape 借入需宿主适配),值侧全部 skip + reason。类型侧仍然\n // re-export:这些类型是可复用查询契约的形态面,无运行时语义。\n {\n name: 'CornerFilter',\n source: 'query/finderFns.js#CornerFilter',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'CornerFinderFn',\n source: 'query/finderFns.js#CornerFinderFn',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'EdgeFinderFn',\n source: 'query/finderFns.js#EdgeFinderFn',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'FaceFinderFn',\n source: 'query/finderFns.js#FaceFinderFn',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'ShapeFinder',\n source: 'query/finderFns.js#ShapeFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'SingleFace',\n source: 'query/helpers.js#SingleFace',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'VertexFinderFn',\n source: 'query/finderFns.js#VertexFinderFn',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'WireFinderFn',\n source: 'query/finderFns.js#WireFinderFn',\n kind: 'skip',\n module: 'query',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/query.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'cornerFinder',\n source: 'query/finderFns.js#cornerFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的 2D 角 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模(逐 Shape 借入 + 生命周期),跳过(divergence)',\n },\n {\n name: 'edgeFinder',\n source: 'query/finderFns.js#edgeFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的边 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'faceFinder',\n source: 'query/finderFns.js#faceFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的面 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'getSingleFace',\n source: 'query/helpers.js#getSingleFace',\n kind: 'skip',\n module: 'query',\n reason:\n '接受 SingleFace(finder 对象/Face 回调)并返回 Result<Face>——输入是 finder/findCallable ' +\n '而非纯的子句,且返回值借用输入 shape 的 Face;faijs 面需要 finder 契约适配,跳过(divergence)',\n },\n {\n name: 'vertexFinder',\n source: 'query/finderFns.js#vertexFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的顶点 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n {\n name: 'wireFinder',\n source: 'query/finderFns.js#wireFinder',\n kind: 'skip',\n module: 'query',\n reason:\n '返回带状态链式的线框 finder 对象(builder DSL),同 createDistanceQuery 判例:' +\n 'faijs 面无法静态建模,跳过(divergence)',\n },\n\n // ──── P14 第四片:ns 模块(9 符号)────\n // 9 个符号均为「命名空间对象」:vendored 根 barrel 以\n // `export * as booleans from './ns/booleans.js'` 形式聚合子命名空间。\n // surface 把每个 namespace 记为 value(file 指向子模块),但实际导出名来自\n // 根 barrel 的 *-as 再导出,故 source 指向 `index.js#<name>`(子文件只有\n // 逐名导出、无名空间值)。faijs 面以 `pure` 整包 re-export 该命名空间对象\n // 即可——保持 brepjs 的组织形态(§5.2 pure 判据:纯导出、无 Shape 参数)。\n {\n name: 'booleans',\n source: 'index.js#booleans',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'construction',\n source: 'index.js#construction',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'io',\n source: 'index.js#io',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'measurement',\n source: 'index.js#measurement',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'modifiers',\n source: 'index.js#modifiers',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'patterns',\n source: 'index.js#patterns',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'primitives',\n source: 'index.js#primitives',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'query',\n source: 'index.js#query',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'transforms',\n source: 'index.js#transforms',\n kind: 'skip',\n module: 'ns',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/ns.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n\n // ──── P14 第五片:gear 模块(17 符号 = 11 type + 3 pure + 3 skip)────\n // 纯数学/校验助手(无 Shape 参数,返回几何数据/校验结果)→ pure 直连 brepjs 函数。\n // 3 个 make*Gear 构造器返回「复合多句柄结果」:GearResult 内含 solid + 计量字段\n // (pitch/base/tip/root 直径 + diagnostics);PlanetaryGearAssembly 内含 sun +\n // planets[] + ring 多个 solid。faijs 面的 ops 模板当前只收「单产物 Shape」\n // (brep-op:adopt 一个 product)或标量查询(query)——复合结果既非单产物\n // 也非标量:需要「结果对象内多句柄收养/再导出」的适配模型,同 makeProjectedEdges\n // 判例(多产物收养模型缺位),故 skip + reason(divergence,留待 E12 宿主层设计)。\n {\n name: 'ExternalGearParams',\n source: 'gear/index.js#ExternalGearParams',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GearDiagnostic',\n source: 'gear/index.js#GearDiagnostic',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GearDiagnosticCode',\n source: 'gear/index.js#GearDiagnosticCode',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GearDiagnosticSeverity',\n source: 'gear/index.js#GearDiagnosticSeverity',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GearGeometry',\n source: 'gear/index.js#GearGeometry',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GearResult',\n source: 'gear/index.js#GearResult',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'InternalGearParams',\n source: 'gear/index.js#InternalGearParams',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'PlanetPlacement',\n source: 'gear/index.js#PlanetPlacement',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'PlanetPlacementParams',\n source: 'gear/index.js#PlanetPlacementParams',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'PlanetaryGearAssembly',\n source: 'gear/index.js#PlanetaryGearAssembly',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'PlanetaryGearParams',\n source: 'gear/index.js#PlanetaryGearParams',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'gearGeometry',\n source: 'gear/index.js#gearGeometry',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'planetPlacements',\n source: 'gear/index.js#planetPlacements',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'validatePlanetary',\n source: 'gear/index.js#validatePlanetary',\n kind: 'skip',\n module: 'gear',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/gear.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'makeExternalGear',\n source: 'gear/index.js#makeExternalGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '复合结果(GearResult:solid + 计量 + diagnostics),faijs ops 模板只有单产物收养/标量查询,' +\n '无「结果对象内收养 solid」模型,跳过(divergence,待 E4 宿主层多产物收养)',\n },\n {\n name: 'makeInternalGear',\n source: 'gear/index.js#makeInternalGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '同 makeExternalGear:复合结果含 solid 句柄 + 计量,需结果内收养模型,跳过(divergence)',\n },\n {\n name: 'makePlanetaryGear',\n source: 'gear/index.js#makePlanetaryGear',\n kind: 'skip',\n module: 'gear',\n reason:\n '返回 PlanetaryGearAssembly:sun + planets[] + ring 多个 solid(多产物收养模型缺位),' +\n '跳过(divergence,同 makeProjectedEdges 判例)',\n },\n\n // ──── P14 第六片:2d 模块(45 符号 = 12 type + 33 skip)────\n // 2d 模块是「2D 制图框架」整体:值侧工厂/变换/布尔操作全部接收或返回\n // kernel-句柄包装对象(Curve2D/Blueprint/Blueprints,均有 registerForCleanup\n // 装饰的析构生命周期),并互相成链(createBlueprint → … → sketchOnPlane2D)。\n // 这些 2D 对象**不是** faijs Shape,也不符合 faijs ops 的单产物收养/标量查询模板;\n // 若朴素 re-export,用户在 faijs 面拿到 kernel 句柄对象 → 所有权/清理逃逸。\n // 与 BlueprintContour 同族:待宿主 2D 制图接入(E12 宿主层)携带它们的生命周期。\n // 类型侧全部 re-export(12 个 type:BS 主类型/句柄/选项),供用户在 faijs 面\n // 对来自宿主接入的 2D 数据做类型标注。\n {\n name: 'Blueprint',\n source: 'index.js#Blueprint',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'Blueprints',\n source: 'index.js#Blueprints',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'BoundingBox2d',\n source: 'index.js#BoundingBox2d',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'CompoundBlueprint',\n source: 'index.js#CompoundBlueprint',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'Curve2D',\n source: 'index.js#Curve2D',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'DrawingInterface',\n source: 'index.js#DrawingInterface',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GenericSketcher',\n source: 'index.js#GenericSketcher',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'Point2D',\n source: 'index.js#Point2D',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'ScaleMode',\n source: 'index.js#ScaleMode',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'Shape2D',\n source: 'index.js#Shape2D',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'SketchData',\n source: 'index.js#SketchData',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'SplineOptions',\n source: 'index.js#SplineOptions',\n kind: 'skip',\n module: '2d',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/2d.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'BaseSketcher2d',\n source: 'index.js#BaseSketcher2d',\n kind: 'skip',\n module: '2d',\n reason:\n '2D 制图框架的手写框架层(kernel 2D 对象生命周期),同 Curve2D/Blueprint 族:' +\n 'skip(divergence,待宿主侧 2D 制图接入)',\n },\n {\n name: 'BlueprintSketcher',\n source: 'index.js#BlueprintSketcher',\n kind: 'skip',\n module: '2d',\n reason:\n '同 BaseSketcher2d:2D 框架 DSL 类(kernel-句柄对象 + 链式态),' +\n 'skip(divergence,待宿主侧 2D 制图接入)',\n },\n {\n name: 'createBlueprint',\n source: 'index.js#createBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '工厂返回 kernel-句柄 Blueprint 对象,skip(divergence,同 2D DSL 框架)',\n },\n {\n name: 'createCompoundBlueprint',\n source: 'index.js#createCompoundBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '工厂返回 kernel-句柄 CompoundBlueprint 对象,skip(divergence)',\n },\n {\n name: 'curve2dBoundingBox',\n source: 'index.js#curve2dBoundingBox',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence,同 2D 制图框架)',\n },\n {\n name: 'curve2dDistanceFrom',\n source: 'index.js#curve2dDistanceFrom',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dFirstPoint',\n source: 'index.js#curve2dFirstPoint',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dIsOnCurve',\n source: 'index.js#curve2dIsOnCurve',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dLastPoint',\n source: 'index.js#curve2dLastPoint',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dParameter',\n source: 'index.js#curve2dParameter',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'curve2dSplitAt',\n source: 'index.js#curve2dSplitAt',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,返回 Curve2D[](多句柄),skip(divergence)',\n },\n {\n name: 'curve2dTangentAt',\n source: 'index.js#curve2dTangentAt',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Curve2D,skip(divergence)',\n },\n {\n name: 'cut2D',\n source: 'index.js#cut2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:输入/输出均为 kernel-2D Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'cutBlueprints',\n source: 'index.js#cutBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 切型,返回句柄对象,skip(divergence)',\n },\n {\n name: 'fuse2D',\n source: 'index.js#fuse2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:Blueprints 句柄对象,skip(divergence)',\n },\n {\n name: 'fuseBlueprints',\n source: 'index.js#fuseBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 返回句柄对象,skip(divergence)',\n },\n {\n name: 'getBounds2D',\n source: 'index.js#getBounds2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint(句柄内可缓存的 BoundingBox2d),skip(divergence)',\n },\n {\n name: 'getOrientation2D',\n source: 'index.js#getOrientation2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint,skip(divergence)',\n },\n {\n name: 'intersect2D',\n source: 'index.js#intersect2D',\n kind: 'skip',\n module: '2d',\n reason: '2D 布尔 op:Blueprints 句柄对象,skip(divergence)',\n },\n {\n name: 'intersectBlueprints',\n source: 'index.js#intersectBlueprints',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint[] + 返回句柄对象,skip(divergence)',\n },\n {\n name: 'isInside2D',\n source: 'index.js#isInside2D',\n kind: 'skip',\n module: '2d',\n reason: '接受 kernel-句柄 Blueprint,skip(divergence)',\n },\n {\n name: 'mirror2D',\n source: 'index.js#mirror2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'organiseBlueprints',\n source: 'index.js#organiseBlueprints',\n kind: 'skip',\n module: '2d',\n reason: 'Blueprints 组合/清理 DSL,skip(divergence)',\n },\n {\n name: 'polysidesBlueprint',\n source: 'index.js#polysidesBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '返回 kernel-句柄 Blueprint(边数多边形),skip(divergence)',\n },\n {\n name: 'reverseCurve',\n source: 'index.js#reverseCurve',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Curve2D 句柄对象,skip(divergence)',\n },\n {\n name: 'rotate2D',\n source: 'index.js#rotate2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'roundedRectangleBlueprint',\n source: 'index.js#roundedRectangleBlueprint',\n kind: 'skip',\n module: '2d',\n reason: '返回 kernel-2D Blueprint 对象,skip(divergence)',\n },\n {\n name: 'scale2D',\n source: 'index.js#scale2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'sketchOnFace2D',\n source: 'index.js#sketchOnFace2D',\n kind: 'skip',\n module: '2d',\n reason: '把 Blueprint 映射到 3D 面 UV:跨供 2D+3D 混合 + Sketch 句柄,' +\n 'skip(divergence,待宿主 2D 接入)',\n },\n {\n name: 'sketchOnPlane2D',\n source: 'index.js#sketchOnPlane2D',\n kind: 'skip',\n module: '2d',\n reason: '把 Blueprint 映射到平面返回 Sketch 句柄,skip(divergence)',\n },\n {\n name: 'stretch2D',\n source: 'index.js#stretch2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'toSVGPathD',\n source: 'index.js#toSVGPathD',\n kind: 'skip',\n module: '2d',\n reason: '接受 Blueprint 句柄对象,skip(divergence)',\n },\n {\n name: 'translate2D',\n source: 'index.js#translate2D',\n kind: 'skip',\n module: '2d',\n reason: '接受/返回 Blueprint 句柄对象,skip(divergence)',\n },\n\n // ──── P14 第七片:io 模块(27 符号 = 12 type + 15 skip)────\n // plan §5.5/§7.10(禁用 IO 直接搬):export*/import* 全部是宿主侧交互——\n // exportOBJ/exportDXF 输入 ShapeMesh/DXFEntity[](非 faijs Shape 面)、\n // importSVG/importSVGPathD 返回 kernel-句柄 Blueprint(同 2d 家族),所有\n // export*/import* 涉及文件/字节 → 走 faijs node-host/browser-host 端口适配。\n // 类型侧全部 re-export(12 个 type:各格式 options/实体/材料),供 faijs 面\n // 对宿主端口返回的数据做类型标注。\n {\n name: 'DXFEntity',\n source: 'index.js#DXFEntity',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'DXFExportOptions',\n source: 'index.js#DXFExportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'DXFImportOptions',\n source: 'index.js#DXFImportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GltfExportOptions',\n source: 'index.js#GltfExportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GltfFace',\n source: 'index.js#GltfFace',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'GltfMaterial',\n source: 'index.js#GltfMaterial',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'MaterialFn',\n source: 'index.js#MaterialFn',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'StepExportOptions',\n source: 'index.js#StepExportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'StepExportPart',\n source: 'index.js#StepExportPart',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'SVGImportOptions',\n source: 'index.js#SVGImportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'ThreeMFExportOptions',\n source: 'index.js#ThreeMFExportOptions',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'ThreeMFMaterial',\n source: 'index.js#ThreeMFMaterial',\n kind: 'skip',\n module: 'io',\n reason:\n '零引用死分片(§5.5 第 1 条):generated/io.ts 已随 brepjs 删除,无接收方(裁决 9)',\n },\n {\n name: 'blueprintToDXF',\n source: 'index.js#blueprintToDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节走 host ports(接受 kernel 2D Blueprint + 返回字节 DXF),skip(divergence)',\n },\n {\n name: 'exportDXF',\n source: 'index.js#exportDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节走 host ports(接收 DXFEntity[] + options),skip(divergence)',\n },\n {\n name: 'exportGlb',\n source: 'index.js#exportGlb',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportGltf',\n source: 'index.js#exportGltf',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportOBJ',\n source: 'index.js#exportOBJ',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports(参数是 ShapeMesh 而非 faijs Shape),skip(divergence)',\n },\n {\n name: 'exportSTEPConfigured',\n source: 'index.js#exportSTEPConfigured',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'exportThreeMF',\n source: 'index.js#exportThreeMF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importDXF',\n source: 'index.js#importDXF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importGLB',\n source: 'index.js#importGLB',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importIGES',\n source: 'index.js#importIGES',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importOBJ',\n source: 'index.js#importOBJ',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSTEP',\n source: 'index.js#importSTEP',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSTL',\n source: 'index.js#importSTL',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n {\n name: 'importSVG',\n source: 'index.js#importSVG',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports(返回 kernel-2D Blueprint,2d 族),skip(divergence)',\n },\n {\n name: 'importSVGPathD',\n source: 'index.js#importSVGPathD',\n kind: 'skip',\n module: 'io',\n reason: '返回 kernel-句柄 Blueprint(Result<Blueprint>),2d 族宿主模型缺位,skip(divergence)',\n },\n {\n name: 'importThreeMF',\n source: 'index.js#importThreeMF',\n kind: 'skip',\n module: 'io',\n reason: 'plan §5.5/§7.10: IO/字节 → host ports,skip(divergence)',\n },\n\n // ──── P14 第八片:operations 模块(122 符号 = 16 brep-op + 11 pure + 45 skip + 8u/others) ────\n // brep-op:Shapeable<…> 单/双形状入参 → faijs Shape 借入 → vendored Result → adopt 单产物;\n // 数组形状入参(loft/guidedSweep/multiSectionSweep 的 Wire[])已无障碍——compat-op 的\n // borrowDeep 递归借入数组/对象内的 Shape(2026-09-24 校正:loft 已由手写平台 op 上脚本面,\n // guidedSweep/multiSectionSweep 的真障碍是 wire 输入 + 多截面/导轨语义,见各自条目);\n // 多产物结果(extrudeAll/loftAll = Shape[]/ValidSolid[])不在单产物收养模板内 → skip;\n // history/assembly/mate/instance 家族 = 状态化 DSL / kernel 句柄容器 → skip;\n // export*/createAssembly = host IO(同 io 判据)/宿主 API → skip;KernelType raw 句柄入参\n//(supportExtrude)→ skip。joint 构造/数值助手与骨架计算 → pure。\n {\n // ---- 类型(全部 re-export;barrel 别名走 index.js)----\n name: 'AssemblyExporter', source: 'operations/exporters.js#AssemblyExporter', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'AssemblyNode', source: 'operations/assemblyFns.js#AssemblyNode', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'AssemblyNodeOptions', source: 'operations/assemblyFns.js#AssemblyNodeOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'AssemblySolveResult', source: 'operations/mateFns.js#AssemblySolveResult', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'CleanLoftOptions', source: 'index.js#CleanLoftOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'CleanSweepOptions', source: 'index.js#CleanSweepOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'CylindricalOptions', source: 'operations/jointFns.js#CylindricalOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'DHOptions', source: 'operations/dhFns.js#DHOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'DHRow', source: 'operations/dhFns.js#DHRow', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'ExtrudeAllEntry', source: 'operations/extrudeFns.js#ExtrudeAllEntry', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'ExtrusionProfile', source: 'operations/extrudeFns.js#ExtrusionProfile', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'GuidedSweepOptions', source: 'operations/guidedSweepFns.js#GuidedSweepOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'HistoryOperationRegistry', source: 'index.js#HistoryOperationRegistry', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'IKOptions', source: 'operations/ikFns.js#IKOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'IKResult', source: 'operations/ikFns.js#IKResult', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'IKTarget', source: 'operations/ikFns.js#IKTarget', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'InstancedMesh', source: 'operations/instanceFns.js#InstancedMesh', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'InstancedShape', source: 'operations/instanceFns.js#InstancedShape', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'InstanceGridOptions', source: 'operations/instanceFns.js#InstanceGridOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'Joint', source: 'operations/jointFns.js#Joint', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'JointAxis', source: 'operations/jointFns.js#JointAxis', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'JointDOF', source: 'operations/jointFns.js#JointDOF', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'JointOptions', source: 'operations/jointFns.js#JointOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'JointPose', source: 'operations/jointFns.js#JointPose', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'JointType', source: 'operations/jointFns.js#JointType', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'LoftAllEntry', source: 'operations/loftFns.js#LoftAllEntry', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'MateConstraint', source: 'operations/mateFns.js#MateConstraint', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'MateEntity', source: 'operations/mateFns.js#MateEntity', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'MaterializeOptions', source: 'operations/instanceFns.js#MaterializeOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'ModelHistory', source: 'operations/historyFns.js#ModelHistory', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'MultiSweepOptions', source: 'operations/multiSweepFns.js#MultiSweepOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'OperationFn', source: 'operations/historyFns.js#OperationFn', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'OperationStep', source: 'operations/historyFns.js#OperationStep', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'PlanarOptions', source: 'operations/jointFns.js#PlanarOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'RevolveOptions', source: 'operations/api.js#RevolveOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'RoofOptions', source: 'operations/roofFns.js#RoofOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SerializedHistory', source: 'operations/historyFns.js#SerializedHistory', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'ShapeOptions', source: 'operations/exporterFns.js#ShapeOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SkeletonFace', source: 'operations/straightSkeleton.js#SkeletonFace', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SkeletonNode', source: 'operations/straightSkeleton.js#SkeletonNode', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SkPoint2D', source: 'operations/straightSkeleton.js#SkPoint2D', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SphericalOptions', source: 'operations/jointFns.js#SphericalOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'StraightSkeleton', source: 'operations/straightSkeleton.js#StraightSkeleton', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SupportedUnit', source: 'operations/exporterFns.js#SupportedUnit', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SweepOptions', source: 'operations/extrudeFns.js#SweepOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'SweepSectionConfig', source: 'operations/multiSweepFns.js#SweepSectionConfig', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'ThreadOptions', source: 'operations/threadFns.js#ThreadOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'TrajectorySample', source: 'operations/ikFns.js#TrajectorySample', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'UrdfDocument', source: 'operations/urdfFns.js#UrdfDocument', kind: 'skip', module: 'operations', reason: '',\n },\n {\n name: 'UrdfExportOptions', source: 'operations/urdfFns.js#UrdfExportOptions', kind: 'skip', module: 'operations', reason: '',\n },\n {\n // ---- pure:纯数据/几何构造,直接 re-export ----\n name: 'revoluteJoint', source: 'operations/jointFns.js#revoluteJoint', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'prismaticJoint', source: 'operations/jointFns.js#prismaticJoint', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'cylindricalJoint', source: 'operations/jointFns.js#cylindricalJoint', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'planarJoint', source: 'operations/jointFns.js#planarJoint', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'sphericalJoint', source: 'operations/jointFns.js#sphericalJoint', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'setJointValue', source: 'operations/jointFns.js#setJointValue', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'setJointValues', source: 'operations/jointFns.js#setJointValues', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'jointTransform', source: 'operations/jointFns.js#jointTransform', kind: 'skip', module: 'operations', reason: '§5.6 自有化 core solvers/joints-kinematics(未平铺,generated re-export 冗余)',\n },\n {\n name: 'jointsFromDH', source: 'operations/dhFns.js#jointsFromDH', kind: 'skip', module: 'operations', reason: '§5.6 后 dhFns 未自有化、未平铺(唯一消费方 p5 随删)',\n },\n {\n name: 'computeStraightSkeleton', source: 'operations/straightSkeleton.js#computeStraightSkeleton', kind: 'skip', module: 'operations', reason: 'core brep-mirror 有自有版;operations vendored 版未平铺(唯一消费方 p5 随删)',\n },\n {\n name: 'isInstanced', source: 'operations/instanceFns.js#isInstanced', kind: 'skip', module: 'operations', reason: '未自有化、未平铺(唯一消费方 p5 随删)',\n },\n {\n // ---- brep-op:单/多单形状入参 → 单产物收养 ----\n name: 'extrude', source: 'brep-mirror/sweepFns.ts#extrudeBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0],\n reason: 'faijs 侧 cad.extrude 由手写平台 op 覆盖(api/extrude.ts:对象形态 + upTo 拉伸到面/到支持体端面)。本投影只作为「长度形态」的引擎被手写 op 委托调用(vendored 是唯一拉伸引擎,既有 cad.extrude(face,[x,y,z]) 语义零漂移),生成模块符号不直接进 cad 命名空间 by design(同 fillet 口径)。',\n args: 'extrude(face: Shape, height: number|Vec3) → Shape|extrude(face: Shape, params: { length? | upTo, normal?, mode?, baseFeature?, offset? }) → Shape',\n params: ['face', 'height'], formClass: 'A',\n naming: { kind: 'construct', newFaces: { via: 'explicit', vocab: [{ kind: 'semantic', name: 'top' }, { kind: 'semantic', name: 'bottom' }] } },\n },\n {\n name: 'revolve', source: 'brep-mirror/sweepFns.ts#revolveBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'shapeable 面 → Result(Shape3D),brep-op',\n args: 'revolve(face: Shape, options?: RevolveOptions): Shape',\n params: ['face', 'options'], formClass: 'A',\n naming: { kind: 'construct', newFaces: { via: 'explicit', vocab: [{ kind: 'semantic', name: 'top' }, { kind: 'semantic', name: 'bottom' }, { kind: 'wall', index: 0 }] } },\n },\n {\n name: 'sweep', source: 'brep-mirror/sweepFns.ts#sweepBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0, 1],\n reason: 'faijs 侧 cad.sweep 由手写平台 op 覆盖(api/sweep.ts:截面接受 face → 取外环;shellMode 元组产物不暴露,§2.4 ①)。本投影保留为引擎记录(capability-map),生成模块符号不直接进 cad 命名空间 by design(同 revolve / extrude 口径)。',\n args: 'sweep(wire: Shape, spine: Shape, config?: SweepOptions, shellMode?: boolean): Shape',\n params: ['wire', 'spine', 'config', 'shellMode'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'complexExtrude', source: 'brep-mirror/sweepFns.ts#complexExtrudeBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(Shape3D),brep-op',\n args: 'complexExtrude(wire: Shape, center: Vec3, normal: Vec3, profile?: ExtrusionProfile): Shape',\n params: ['wire', 'center', 'normal', 'profile'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'twistExtrude', source: 'brep-mirror/sweepFns.ts#twistExtrudeBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(Shape3D),brep-op',\n args: 'twistExtrude(wire: Shape, angleDegrees: number, center: Vec3, normal: Vec3): Shape',\n params: ['wire', 'angleDegrees', 'center', 'normal'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'linearPattern', source: 'brep-mirror/patternFns.ts#linearPatternBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'linearPattern(shape: Shape, direction: Vec3, count: number, spacing: number): Shape',\n params: ['shape', 'direction', 'count', 'spacing'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'circularPattern', source: 'brep-mirror/patternFns.ts#circularPatternBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'circularPattern(shape: Shape, axis: Vec3, count: number, fullAngle?: number, center?: Vec3): Shape',\n params: ['shape', 'axis', 'count', 'fullAngle', 'center'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'gridPattern', source: 'brep-mirror/patternFns.ts#gridPatternBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'shape → Result(Shape3D),brep-op',\n args: 'gridPattern(shape: Shape, directionX: Vec3, directionY: Vec3, countX: number, countY: number, spacingX: number, spacingY: number): Shape',\n params: ['shape', 'directionX', 'directionY', 'countX', 'countY', 'spacingX', 'spacingY'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'roof', source: 'brep-mirror/roofFns.ts#roofBrep', selfhost: true, kind: 'brep-op', capabilities: [\"buildTriFace\",\"dispose\",\"fixShape\",\"isValid\",\"sew\",\"sewAndSolidify\"], module: 'operations',\n geometryArgs: [0], reason: 'wire → Result(ValidSolid)→solid,brep-op',\n args: 'roof(wire: Shape, options?: RoofOptions): Shape',\n params: ['wire', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'drill', source: 'brep-mirror/compoundFns.ts#drillBrep', selfhost: true, kind: 'brep-op',\n capabilities: [\"makeCylinder\",\"located\",\"getBoundingBox\",\"cut\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'drill(shape: Shape, options: DrillOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'pocket', source: 'brep-mirror/compoundFns.ts#pocketBrep', selfhost: true, kind: 'brep-op',\n capabilities: [\"getSubShapes\",\"surfaceCenterOfMass\",\"uvBounds\",\"surfaceNormal\",\"makeFace\",\"translate\",\"extrude\",\"cut\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'pocket(shape: Shape, options: PocketOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'boss', source: 'brep-mirror/compoundFns.ts#bossBrep', selfhost: true, kind: 'brep-op',\n capabilities: [\"getSubShapes\",\"surfaceCenterOfMass\",\"uvBounds\",\"surfaceNormal\",\"makeFace\",\"translate\",\"extrude\",\"fuse\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'boss(shape: Shape, options: BossOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'mirrorJoin', source: 'brep-mirror/compoundFns.ts#mirrorJoinBrep', selfhost: true, kind: 'brep-op',\n capabilities: [\"mirror\",\"fuse\"], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'mirrorJoin(shape: Shape, options?: MirrorJoinOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 2 },\n },\n {\n name: 'rectangularPattern', source: 'brep-mirror/patternFns.ts#rectangularPatternBrep', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [0], reason: 'Shapeable<Shape3D> → Result<T>,brep-op',\n args: 'rectangularPattern(shape: Shape, options: RectangularPatternOptions): Shape',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'replicate', k: 0 },\n },\n {\n name: 'thread', source: 'brep-mirror/threadFns.ts#threadBrepOp', selfhost: true, kind: 'brep-op', engines: ['occt'], module: 'operations',\n geometryArgs: [], reason: '仅参数构造 → Result(Shape3D),单产物,brep-op',\n args: 'thread(options: ThreadOptions): Shape',\n params: ['options'], formClass: 'B1',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n scriptFace: true,\n },\n {\n name: 'convexHull', source: 'brep-mirror/hullFns.ts#convexHullBrep', selfhost: true, kind: 'brep-op', capabilities: ['hullFromPoints'], module: 'operations',\n geometryArgs: [], reason: '点集构造 → Result(Solid),单产物,brep-op',\n args: 'convexHull(points: Vec3[]): Shape',\n params: ['points'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n // ---- skip:状态 DSL/多产物/数组入参/host IO/kernel 入参 ----\n name: 'addChild', source: 'operations/assemblyFns.js#addChild', kind: 'skip', module: 'operations', reason: '装配树操作(AssemblyNode 含 kernel Shape 引用),skip host 装配适配',\n },\n {\n name: 'collectShapes', source: 'operations/assemblyFns.js#collectShapes', kind: 'skip', module: 'operations', reason: '返回 AnyShape[](kernel 句柄数组),单产物收养缺位,skip',\n },\n {\n name: 'countNodes', source: 'operations/assemblyFns.js#countNodes', kind: 'skip', module: 'operations', reason: '装配场景输入,skip',\n },\n {\n name: 'createAssemblyNode', source: 'operations/assemblyFns.js#createAssemblyNode', kind: 'skip', module: 'operations', reason: 'AssemblyNode 直接持有 kernel Shape 句柄,skip host 装配适配',\n },\n {\n name: 'findNode', source: 'operations/assemblyFns.js#findNode', kind: 'skip', module: 'operations', reason: '装配场景遍历,skip',\n },\n {\n name: 'removeChild', source: 'operations/assemblyFns.js#removeChild', kind: 'skip', module: 'operations', reason: '装配树操作,skip',\n },\n {\n name: 'updateNode', source: 'operations/assemblyFns.js#updateNode', kind: 'skip', module: 'operations', reason: '装配树操作,skip',\n },\n {\n name: 'walkAssembly', source: 'operations/assemblyFns.js#walkAssembly', kind: 'skip', module: 'operations', reason: '装配树遍历(含 kernel 形状),skip',\n },\n {\n name: 'supportExtrude', source: 'operations/extrudeFns.js#supportExtrude', kind: 'skip', module: 'operations', reason: 'support: KernelType raw 内核句柄入参,skip',\n },\n {\n name: 'extrudeAll', source: 'operations/extrudeFns.js#extrudeAll', kind: 'skip', module: 'operations', reason: '返回 ValidSolid[](多产物),单产物收养缺位,skip',\n },\n {\n name: 'loft', source: 'operations/api.js#loft', kind: 'skip', module: 'operations',\n args: 'loft(sections: Shape[], opts?: LoftOptions): Shape',\n reason: 'overridden by handwritten api/loft.ts (faijs 侧平台 op engines:[occt]:截面接受 face → 取外环;数组入参本身已无障碍——compat-op 的 borrowDeep 递归借入数组,不适用的是输入形态适配)',\n },\n {\n name: 'loftAll', source: 'operations/loftFns.js#loftAll', kind: 'skip', module: 'operations', reason: '返回 Shape3D 数组(多产物),skip',\n },\n {\n name: 'guidedSweep', source: 'operations/guidedSweepFns.js#guidedSweep', kind: 'skip', module: 'operations', reason: 'guides: Wire[] 数组入参本身已无障碍(compat-op 的 borrowDeep 递归借入);faijs 侧尚未手写对应 op(长尾,本轮不做),skip',\n },\n {\n name: 'multiSectionSweep', source: 'operations/multiSweepFns.js#multiSectionSweep', kind: 'skip', module: 'operations', reason: 'sections: SweepSectionConfig[] 数组入参本身已无障碍(compat-op 的 borrowDeep 递归借入);faijs 侧尚未手写对应 op(长尾,本轮不做),skip',\n },\n {\n name: 'addJoint', source: 'operations/jointFns.js#addJoint', kind: 'skip', module: 'operations', reason: '运动副 DSL(AssemblyNode 输入):P3 起改由 cad.assembly 的 joints[] 约束面暴露(库面 buildJoint 直调,2026-09-07 方案 §3.1),仍不直接暴露',\n },\n {\n name: 'forwardKinematics', source: 'operations/jointFns.js#forwardKinematics', kind: 'skip', module: 'operations', reason: '运动链正解(纯计算):P3 起改由 ExecutionResult.kinematics(assembly 带 joints 求解后)+ cad.mechanismDOF/库面 solveKinematics 暴露(2026-09-07 方案 §3.3),仍不直接暴露',\n },\n {\n name: 'mechanismDOF', source: 'operations/jointFns.js#mechanismDOF', kind: 'skip', module: 'operations', reason: '机构自由度诊断(AssemblyNode 输入):P3 起经 cad.mechanismDOF 查询函数暴露(节点输入隐藏于 joints[] 约束面,2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'addMate', source: 'operations/mateFns.js#addMate', kind: 'skip', module: 'operations', reason: '装配约束 DSL(MateEntity 持 kernel 活句柄,不可序列化):P1 起改由 cad.assembly 的 constraints[] 纯数据约束面暴露(2026-09-06 装配方案 §5),仍不直接暴露',\n },\n {\n name: 'solveAssembly', source: 'operations/mateFns.js#solveAssembly', kind: 'skip', module: 'operations', reason: '命令式求解入口(kernel 句柄输入):P1 起由 asm.solve()/do_assemble() 替代,求解内核复用 vendored solverAdapter.solveConstraints(2026-09-06 装配方案 §4),仍不直接暴露',\n },\n {\n name: 'createHistory', source: 'operations/historyFns.js#createHistory', kind: 'skip', module: 'operations', reason: '状态化历史 DSL,skip host 适配',\n },\n {\n name: 'createRegistry', source: 'operations/historyFns.js#createRegistry', kind: 'skip', module: 'operations', reason: 'OperationRegistry 注册表状态,skip',\n },\n {\n name: 'addStep', source: 'operations/historyFns.js#addStep', kind: 'skip', module: 'operations', reason: '返回历史快照状态,skip',\n },\n {\n name: 'getHistoryShape', source: 'index.js#getHistoryShape', kind: 'skip', module: 'operations', reason: '历史快照查询(kernel Shape 句柄),skip',\n },\n {\n name: 'findStep', source: 'operations/historyFns.js#findStep', kind: 'skip', module: 'operations', reason: '历史注册表查询状态,skip',\n },\n {\n name: 'stepCount', source: 'operations/historyFns.js#stepCount', kind: 'skip', module: 'operations', reason: '历史栈长度(非几何查询),skip',\n },\n {\n name: 'stepsFrom', source: 'operations/historyFns.js#stepsFrom', kind: 'skip', module: 'operations', reason: '历史切片状态,skip',\n },\n {\n name: 'modifyStep', source: 'operations/historyFns.js#modifyStep', kind: 'skip', module: 'operations', reason: '改参+replay DSL,skip',\n },\n {\n name: 'registerShape', source: 'operations/historyFns.js#registerShape', kind: 'skip', module: 'operations', reason: '写入 ShapeMap 快照,skip',\n },\n {\n name: 'registerOperation', source: 'operations/historyFns.js#registerOperation', kind: 'skip', module: 'operations', reason: '注册表状态,skip',\n },\n {\n name: 'replayHistory', source: 'operations/historyFns.js#replayHistory', kind: 'skip', module: 'operations', reason: '重播模式,skip',\n },\n {\n name: 'replayFrom', source: 'operations/historyFns.js#replayFrom', kind: 'skip', module: 'operations', reason: '重播子域,skip',\n },\n {\n name: 'serializeHistory', source: 'operations/historyFns.js#serializeHistory', kind: 'skip', module: 'operations', reason: '序列化需 Shape→BREP 内部表示,skip',\n },\n {\n name: 'deserializeHistory', source: 'operations/historyFns.js#deserializeHistory', kind: 'skip', module: 'operations', reason: '重建 kernel Shapes 状态,skip',\n },\n {\n name: 'undoLast', source: 'operations/historyFns.js#undoLast', kind: 'skip', module: 'operations', reason: '历史回退 DSL,skip',\n },\n {\n name: 'instance', source: 'operations/instanceFns.js#instance', kind: 'skip', module: 'operations', reason: '返回 InstancedShape 容器(source 句柄 ownership),skip host 渲染',\n },\n {\n name: 'instanceGrid', source: 'operations/instanceFns.js#instanceGrid', kind: 'skip', module: 'operations', reason: '返回 InstancedShape(矩阵集),skip',\n },\n {\n name: 'instanceCount', source: 'operations/instanceFns.js#instanceCount', kind: 'skip', module: 'operations', reason: '作用于 InstancedShape 宿主引用,skip',\n },\n {\n name: 'instancedMesh', source: 'operations/instanceFns.js#instancedMesh', kind: 'skip', module: 'operations', reason: '返回 host 渲染数据(geometry+instances),非 Shape,skip',\n },\n {\n name: 'materialize', source: 'operations/instanceFns.js#materialize', kind: 'skip', module: 'operations', reason: 'InstancedShape→多产物(Compound/fused),单产物收养缺位,skip',\n },\n {\n name: 'inverseKinematics', source: 'operations/ikFns.js#inverseKinematics', kind: 'skip', module: 'operations', reason: '装配 IK 场景(AssemblyNode 输入):P3 起经 cad.inverseKinematics 查询函数暴露(2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'jointTrajectory', source: 'operations/ikFns.js#jointTrajectory', kind: 'skip', module: 'operations', reason: '装配 IK 场景:P3 起经 cad.jointTrajectory 查询函数暴露(2026-09-07 方案 §3.2),仍不直接暴露',\n },\n {\n name: 'exportURDF', source: 'operations/urdfFns.js#exportURDF', kind: 'skip', module: 'operations', reason: 'URDF 字符串 host IO,skip(同 IO 判据)',\n },\n {\n name: 'importURDF', source: 'operations/urdfFns.js#importURDF', kind: 'skip', module: 'operations', reason: 'URDF 字符串 host IO,skip',\n },\n {\n name: 'exportAssemblySTEP', source: 'operations/exporterFns.js#exportAssemblySTEP', kind: 'skip', module: 'operations', reason: 'Blob/STEP 字节 host IO,skip',\n },\n {\n name: 'createAssembly', source: 'operations/exporters.js#createAssembly', kind: 'skip', module: 'operations', reason: '返回 AssemblyExporter(kernel 包裹),skip host API',\n },\n\n // ──── P14 batch 9:core 模块(168 = 47 type + 67 pure + 1 query + 53 skip)────\n // core 是 brepjs 的 L0/L1 基础设施层:Result 组合子、错误构造、向量/平面数学、\n // 类型判别与 Shape 类型体系、内核句柄生命周期。faijs 面把「裸 kernel 句柄」排除在\n // 外(Shape 所有权经 l3-bridge 借入/收养),故 disposal/kernelBoundary/kernelCall/\n // shapeTypes 裸句柄族登记 skip;纯数据函数与常量直接 re-export(pure)。\n\n // 47 × type(全量 re-export,无行为)\n {\n name: 'Curve2DHandle', source: 'core/curve2dHandle.js#Curve2DHandle', kind: 'skip', module: 'core',\n },\n {\n name: 'DimensionError', source: 'core/dimensionTypes.js#DimensionError', kind: 'skip', module: 'core',\n },\n {\n name: 'RequireDimension', source: 'core/dimensionTypes.js#RequireDimension', kind: 'skip', module: 'core',\n },\n {\n name: 'SameDimension', source: 'core/dimensionTypes.js#SameDimension', kind: 'skip', module: 'core',\n },\n {\n name: 'Deletable', source: 'core/disposal.js#Deletable', kind: 'skip', module: 'core',\n },\n {\n name: 'DisposalStats', source: 'core/disposal.js#DisposalStats', kind: 'skip', module: 'core',\n },\n {\n name: 'KernelHandle', source: 'core/disposal.js#KernelHandle', kind: 'skip', module: 'core',\n },\n {\n name: 'ShapeHandle', source: 'core/disposal.js#ShapeHandle', kind: 'skip', module: 'core',\n },\n {\n name: 'BrepError', source: 'core/errors.js#BrepError', kind: 'skip', module: 'core',\n },\n {\n name: 'BrepErrorKind', source: 'core/errors.js#BrepErrorKind', kind: 'skip', module: 'core',\n },\n {\n name: 'Plane', source: 'core/planeTypes.js#Plane', kind: 'skip', module: 'core',\n },\n {\n name: 'PlaneInput', source: 'core/planeTypes.js#PlaneInput', kind: 'skip', module: 'core',\n },\n {\n name: 'PlaneName', source: 'core/planeTypes.js#PlaneName', kind: 'skip', module: 'core',\n },\n {\n name: 'Err', source: 'core/result.js#Err', kind: 'skip', module: 'core',\n },\n {\n name: 'Ok', source: 'core/result.js#Ok', kind: 'skip', module: 'core',\n },\n {\n name: 'Result', source: 'core/result.js#Result', kind: 'skip', module: 'core',\n },\n {\n name: 'ResultPipeline', source: 'core/result.js#ResultPipeline', kind: 'skip', module: 'core',\n },\n {\n name: 'Unit', source: 'core/result.js#Unit', kind: 'skip', module: 'core',\n },\n {\n name: 'AnyShape', source: 'core/shapeTypes.js#AnyShape', kind: 'skip', module: 'core',\n },\n {\n name: 'ClosedWire', source: 'core/shapeTypes.js#ClosedWire', kind: 'skip', module: 'core',\n },\n {\n name: 'Compound', source: 'core/shapeTypes.js#Compound', kind: 'skip', module: 'core',\n },\n {\n name: 'CompSolid', source: 'core/shapeTypes.js#CompSolid', kind: 'skip', module: 'core',\n },\n {\n name: 'CurveLike', source: 'core/shapeTypes.js#CurveLike', kind: 'skip', module: 'core',\n },\n {\n name: 'Dimension', source: 'core/shapeTypes.js#Dimension', kind: 'skip', module: 'core',\n },\n {\n name: 'Edge', source: 'core/shapeTypes.js#Edge', kind: 'skip', module: 'core',\n },\n {\n name: 'Face', source: 'core/shapeTypes.js#Face', kind: 'skip', module: 'core',\n },\n {\n name: 'ManifoldShell', source: 'core/shapeTypes.js#ManifoldShell', kind: 'skip', module: 'core',\n },\n {\n name: 'OrientedFace', source: 'core/shapeTypes.js#OrientedFace', kind: 'skip', module: 'core',\n },\n {\n name: 'PlanarFace', source: 'core/shapeTypes.js#PlanarFace', kind: 'skip', module: 'core',\n },\n {\n name: 'PlanarWire', source: 'core/shapeTypes.js#PlanarWire', kind: 'skip', module: 'core',\n },\n {\n name: 'Shape1D', source: 'core/shapeTypes.js#Shape1D', kind: 'skip', module: 'core',\n },\n {\n name: 'Shape3D', source: 'core/shapeTypes.js#Shape3D', kind: 'skip', module: 'core',\n },\n {\n name: 'ShapeKind', source: 'core/shapeTypes.js#ShapeKind', kind: 'skip', module: 'core',\n },\n {\n name: 'Shell', source: 'core/shapeTypes.js#Shell', kind: 'skip', module: 'core',\n },\n {\n name: 'Solid', source: 'core/shapeTypes.js#Solid', kind: 'skip', module: 'core',\n },\n {\n name: 'UnknownDimShape', source: 'core/shapeTypes.js#UnknownDimShape', kind: 'skip', module: 'core',\n },\n {\n name: 'ValidSolid', source: 'core/shapeTypes.js#ValidSolid', kind: 'skip', module: 'core',\n },\n {\n name: 'Vertex', source: 'core/shapeTypes.js#Vertex', kind: 'skip', module: 'core',\n },\n {\n name: 'Wire', source: 'core/shapeTypes.js#Wire', kind: 'skip', module: 'core',\n },\n {\n name: 'CurveType', source: 'core/typeDiscriminants.js#CurveType', kind: 'skip', module: 'core',\n },\n {\n // 别名:vendored types.ts 只导出 Direction;根 barrel `Direction as DirectionInput`\n name: 'DirectionInput', source: 'index.js#DirectionInput', kind: 'skip', module: 'core',\n },\n {\n name: 'Matrix4x4', source: 'core/types.js#Matrix4x4', kind: 'skip', module: 'core',\n },\n {\n name: 'MatrixInput', source: 'core/types.js#MatrixInput', kind: 'skip', module: 'core',\n },\n {\n name: 'MatrixTransform', source: 'core/types.js#MatrixTransform', kind: 'skip', module: 'core',\n },\n {\n name: 'PointInput', source: 'core/types.js#PointInput', kind: 'skip', module: 'core',\n },\n {\n name: 'Vec2', source: 'core/types.js#Vec2', kind: 'skip', module: 'core',\n },\n {\n name: 'Vec3', source: 'core/types.js#Vec3', kind: 'skip', module: 'core',\n },\n\n // 67 × pure(无 Shape/kernel 参数 → 直接 re-export,不进 defineOp)\n {\n name: 'DEG2RAD', source: 'core/constants.js#DEG2RAD', kind: 'skip', module: 'core', reason: '角度换算常量(纯数据)',\n },\n {\n name: 'RAD2DEG', source: 'core/constants.js#RAD2DEG', kind: 'skip', module: 'core', reason: '角度换算常量(纯数据)',\n },\n {\n name: 'HASH_CODE_MAX', source: 'core/constants.js#HASH_CODE_MAX', kind: 'skip', module: 'core', reason: '哈希上限常量(纯数据)',\n },\n {\n name: 'BrepBugError', source: 'core/errors.js#BrepBugError', kind: 'skip', module: 'core', reason: '错误类(纯构造,无 kernel 参数)',\n },\n {\n name: 'BrepErrorCode', source: 'core/errors.js#BrepErrorCode', kind: 'skip', module: 'core', reason: '错误码常量表(纯数据)',\n },\n {\n name: 'bug', source: 'core/errors.js#bug', kind: 'skip', module: 'core', reason: 'bug 错误构造器(纯函数)',\n },\n {\n name: 'computationError', source: 'core/errors.js#computationError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'ioError', source: 'core/errors.js#ioError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'kernelError', source: 'core/errors.js#kernelError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'moduleInitError', source: 'core/errors.js#moduleInitError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'queryError', source: 'core/errors.js#queryError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'sketcherStateError', source: 'core/errors.js#sketcherStateError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'typeCastError', source: 'core/errors.js#typeCastError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'unsupportedError', source: 'core/errors.js#unsupportedError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'validationError', source: 'core/errors.js#validationError', kind: 'skip', module: 'core', reason: '错误构造器(纯函数)',\n },\n {\n name: 'createNamedPlane', source: 'core/planeOps.js#createNamedPlane', kind: 'skip', module: 'core', reason: '命名平面构造(PlaneName,无 kernel 参数)',\n },\n {\n name: 'createPlane', source: 'core/planeOps.js#createPlane', kind: 'skip', module: 'core', reason: '平面构造(纯数据)',\n },\n {\n name: 'makePlane', source: 'core/planeOps.js#makePlane', kind: 'skip', module: 'core', reason: '平面构造(纯数据,PlaneInput)',\n },\n {\n name: 'pivotPlane', source: 'core/planeOps.js#pivotPlane', kind: 'skip', module: 'core', reason: '平面旋转变换(纯数据)',\n },\n {\n name: 'resolvePlane', source: 'core/planeOps.js#resolvePlane', kind: 'skip', module: 'core', reason: 'PlaneInput → Result<Plane>(无 Shape 参数)',\n },\n {\n name: 'translatePlane', source: 'core/planeOps.js#translatePlane', kind: 'skip', module: 'core', reason: '平面平移(纯数据)',\n },\n {\n name: 'ok', source: 'core/result.js#ok', kind: 'skip', module: 'core', reason: 'Result Ok 构造(纯函数)',\n },\n {\n name: 'err', source: 'core/result.js#err', kind: 'skip', module: 'core', reason: 'Result Err 构造(纯函数)',\n },\n {\n name: 'OK', source: 'core/result.js#OK', kind: 'skip', module: 'core', reason: 'Ok<Unit> 常量',\n },\n {\n name: 'isOk', source: 'core/result.js#isOk', kind: 'skip', module: 'core', reason: 'Result 判别(纯函数)',\n },\n {\n name: 'isErr', source: 'core/result.js#isErr', kind: 'skip', module: 'core', reason: 'Result 判别(纯函数)',\n },\n {\n name: 'map', source: 'core/result.js#map', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'mapErr', source: 'core/result.js#mapErr', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'mapBoth', source: 'core/result.js#mapBoth', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'andThen', source: 'core/result.js#andThen', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'flatMap', source: 'core/result.js#flatMap', kind: 'skip', module: 'core', reason: 'andThen 别名(纯函数)',\n },\n {\n name: 'or', source: 'core/result.js#or', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'orElse', source: 'core/result.js#orElse', kind: 'skip', module: 'core', reason: 'Result 组合子(纯函数)',\n },\n {\n name: 'all', source: 'core/result.js#all', kind: 'skip', module: 'core', reason: 'collect 别名(纯函数)',\n },\n {\n name: 'collect', source: 'core/result.js#collect', kind: 'skip', module: 'core', reason: 'Result[] 收集(纯函数)',\n },\n {\n name: 'tap', source: 'core/result.js#tap', kind: 'skip', module: 'core', reason: 'Result 副作用(纯函数)',\n },\n {\n name: 'tapErr', source: 'core/result.js#tapErr', kind: 'skip', module: 'core', reason: 'Result 副作用(纯函数)',\n },\n {\n name: 'flatten', source: 'core/result.js#flatten', kind: 'skip', module: 'core', reason: 'Result 嵌套展平(纯函数)',\n },\n {\n name: 'fromNullable', source: 'core/result.js#fromNullable', kind: 'skip', module: 'core', reason: 'nullable → Result(纯函数)',\n },\n {\n name: 'unwrap', source: 'core/result.js#unwrap', kind: 'skip', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapOr', source: 'core/result.js#unwrapOr', kind: 'skip', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapOrElse', source: 'core/result.js#unwrapOrElse', kind: 'skip', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'unwrapErr', source: 'core/result.js#unwrapErr', kind: 'skip', module: 'core', reason: 'Result 解包(纯函数)',\n },\n {\n name: 'match', source: 'core/result.js#match', kind: 'skip', module: 'core', reason: 'Result 模式匹配(纯函数)',\n },\n {\n name: 'tryCatch', source: 'core/result.js#tryCatch', kind: 'skip', module: 'core', reason: '同步 try→Result(纯函数)',\n },\n {\n name: 'tryCatchAsync', source: 'core/result.js#tryCatchAsync', kind: 'skip', module: 'core', reason: '异步 try→Result(纯函数)',\n },\n {\n name: 'pipeline', source: 'core/result.js#pipeline', kind: 'skip', module: 'core', reason: 'Result 管道入口(纯函数)',\n },\n {\n // 别名:vendored result.ts 导出名 zip;根 barrel `zip as zipResults`\n name: 'zipResults', source: 'index.js#zipResults', kind: 'skip', module: 'core', reason: 'zip 的根 barrel 别名导出(纯函数)',\n },\n {\n name: 'resolveDirection', source: 'core/types.js#resolveDirection', kind: 'skip', module: 'core', reason: '方向简写 → Vec3(纯函数)',\n },\n {\n name: 'toVec2', source: 'core/types.js#toVec2', kind: 'skip', module: 'core', reason: 'PointInput → Vec2(纯函数)',\n },\n {\n name: 'toVec3', source: 'core/types.js#toVec3', kind: 'skip', module: 'core', reason: 'PointInput → Vec3(纯函数)',\n },\n {\n name: 'vecAdd', source: 'core/vecOps.js#vecAdd', kind: 'skip', module: 'core', reason: '向量加法(纯函数)',\n },\n {\n name: 'vecAngle', source: 'core/vecOps.js#vecAngle', kind: 'skip', module: 'core', reason: '向量夹角(纯函数)',\n },\n {\n name: 'vecCross', source: 'core/vecOps.js#vecCross', kind: 'skip', module: 'core', reason: '向量叉积(纯函数)',\n },\n {\n name: 'vecDistance', source: 'core/vecOps.js#vecDistance', kind: 'skip', module: 'core', reason: '向量距离(纯函数)',\n },\n {\n name: 'vecDot', source: 'core/vecOps.js#vecDot', kind: 'skip', module: 'core', reason: '向量点积(纯函数)',\n },\n {\n name: 'vecEquals', source: 'core/vecOps.js#vecEquals', kind: 'skip', module: 'core', reason: '向量相等(纯函数)',\n },\n {\n name: 'vecIsZero', source: 'core/vecOps.js#vecIsZero', kind: 'skip', module: 'core', reason: '零向量判别(纯函数)',\n },\n {\n name: 'vecLength', source: 'core/vecOps.js#vecLength', kind: 'skip', module: 'core', reason: '向量模长(纯函数)',\n },\n {\n name: 'vecLengthSq', source: 'core/vecOps.js#vecLengthSq', kind: 'skip', module: 'core', reason: '向量模长平方(纯函数)',\n },\n {\n name: 'vecNegate', source: 'core/vecOps.js#vecNegate', kind: 'skip', module: 'core', reason: '向量取反(纯函数)',\n },\n {\n name: 'vecNormalize', source: 'core/vecOps.js#vecNormalize', kind: 'skip', module: 'core', reason: '向量归一化(纯函数)',\n },\n {\n name: 'vecProjectToPlane', source: 'core/vecOps.js#vecProjectToPlane', kind: 'skip', module: 'core', reason: '向量平面投影(纯函数)',\n },\n {\n name: 'vecRepr', source: 'core/vecOps.js#vecRepr', kind: 'skip', module: 'core', reason: '向量字符串(纯函数)',\n },\n {\n name: 'vecRotate', source: 'core/vecOps.js#vecRotate', kind: 'skip', module: 'core', reason: '向量绕轴旋转(纯函数)',\n },\n {\n name: 'vecScale', source: 'core/vecOps.js#vecScale', kind: 'skip', module: 'core', reason: '向量缩放(纯函数)',\n },\n {\n name: 'vecSub', source: 'core/vecOps.js#vecSub', kind: 'skip', module: 'core', reason: '向量减法(纯函数)',\n },\n\n // 1 × query:形状判别串查询(Shape 进 → ShapeKind 字符串出,纯数据)\n {\n name: 'getShapeKind', source: 'core/shapeTypes.js#getShapeKind', kind: 'skip', module: 'core',\n args: '(shape: AnyShape) -> ShapeKind',\n geometryArgs: [0],\n returnsResult: false,\n returnType: 'ShapeKind',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n reason: 'core 引擎无等价方法(occt-wasm 无 isEmpty;getShapeType/isEqual 未进 L1),未平铺未公开(§5.5 第 2 条裁定删除)',\n },\n\n // 53 × skip(裸 kernel 句柄族;faijs 面 Shape 所有权经 l3-bridge 借入/收养,不暴露裸句柄)\n // disposal:内核句柄生命周期/作用域基础设施\n {\n name: 'createHandle', source: 'core/disposal.js#createHandle', kind: 'skip', module: 'core', reason: '裸 OCCT Shape 句柄注册(KernelShape 入参),skip host 生命周期管理',\n },\n {\n name: 'createKernelHandle', source: 'core/disposal.js#createKernelHandle', kind: 'skip', module: 'core', reason: '裸 OCCT 对象句柄包装,skip',\n },\n {\n name: 'DisposalScope', source: 'core/disposal.js#DisposalScope', kind: 'skip', module: 'core', reason: '内核句柄作用域类(裸句柄注册),skip host 生命周期管理',\n },\n {\n name: 'getDisposalStats', source: 'core/disposal.js#getDisposalStats', kind: 'skip', module: 'core', reason: '裸句柄泄漏统计(内部调试),skip',\n },\n {\n name: 'isLive', source: 'core/disposal.js#isLive', kind: 'skip', module: 'core', reason: '裸句柄存活判别(ShapeHandle/KernelHandle),skip',\n },\n {\n name: 'resetDisposalStats', source: 'core/disposal.js#resetDisposalStats', kind: 'skip', module: 'core', reason: '裸句柄统计清零(内部调试),skip',\n },\n {\n name: 'withScope', source: 'core/disposal.js#withScope', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(DisposalScope 回调),skip host 生命周期管理',\n },\n {\n name: 'withScopeResult', source: 'core/disposal.js#withScopeResult', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(Result 变体),skip',\n },\n {\n name: 'withScopeResultAsync', source: 'core/disposal.js#withScopeResultAsync', kind: 'skip', module: 'core', reason: '裸句柄作用域执行(异步变体),skip',\n },\n // kernelBoundary:OCCT 内核对象 ↔ JS 值 边界转换(Vec/KernelType)\n {\n name: 'toKernelVec', source: 'core/kernelBoundary.js#toKernelVec', kind: 'skip', module: 'core', reason: 'Vec3 → OCCT 内核对象(L0 内部桥),skip',\n },\n {\n name: 'fromKernelVec', source: 'core/kernelBoundary.js#fromKernelVec', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'fromKernelPnt', source: 'core/kernelBoundary.js#fromKernelPnt', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'fromKernelDir', source: 'core/kernelBoundary.js#fromKernelDir', kind: 'skip', module: 'core', reason: 'OCCT 内核对象 → Vec3(L0 内部桥),skip',\n },\n {\n name: 'withKernelVec', source: 'core/kernelBoundary.js#withKernelVec', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n {\n name: 'withKernelPnt', source: 'core/kernelBoundary.js#withKernelPnt', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n {\n name: 'withKernelDir', source: 'core/kernelBoundary.js#withKernelDir', kind: 'skip', module: 'core', reason: 'OCCT 对象生命周期作用域(L0 内部桥),skip',\n },\n // kernelCall:裸内核调用通道(kernel 句柄/方法名协议)\n {\n name: 'kernelCall', source: 'core/kernelCall.js#kernelCall', kind: 'skip', module: 'core', reason: '裸内核方法调用通道(L0 内部),skip',\n },\n {\n name: 'kernelCallRaw', source: 'core/kernelCall.js#kernelCallRaw', kind: 'skip', module: 'core', reason: '裸内核方法调用(raw 变体,L0 内部),skip',\n },\n {\n name: 'kernelCallScoped', source: 'core/kernelCall.js#kernelCallScoped', kind: 'skip', module: 'core', reason: '裸内核调用 + 句柄作用域(L0 内部),skip',\n },\n // shapeTypes:KernelShape 裸句柄构造/谓词/断言(faijs 面 Shape 经桥接生成,无裸句柄可传)\n {\n name: 'as2D', source: 'core/shapeTypes.js#as2D', kind: 'skip', module: 'core', reason: 'AnyShape → Shape1D 维度收窄(KernelShape 包装),skip',\n },\n {\n name: 'as3D', source: 'core/shapeTypes.js#as3D', kind: 'skip', module: 'core', reason: 'AnyShape → Shape3D 维度收窄(KernelShape 包装),skip',\n },\n {\n name: 'castShape', source: 'core/shapeTypes.js#castShape', kind: 'skip', module: 'core', reason: 'KernelShape → 拓扑类型收窄(裸句柄入参),skip',\n },\n {\n name: 'castShape3D', source: 'core/shapeTypes.js#castShape3D', kind: 'skip', module: 'core', reason: 'KernelShape → Shape3D(裸句柄入参),skip',\n },\n {\n name: 'closedWire', source: 'core/shapeTypes.js#closedWire', kind: 'skip', module: 'core', reason: 'Wire → ClosedWire 判别包装(KernelShape),skip',\n },\n {\n name: 'createCompound', source: 'core/shapeTypes.js#createCompound', kind: 'skip', module: 'core', reason: 'KernelShape → Compound 包装(裸句柄入参),skip',\n },\n {\n name: 'createEdge', source: 'core/shapeTypes.js#createEdge', kind: 'skip', module: 'core', reason: 'KernelShape → Edge 包装(裸句柄入参),skip',\n },\n {\n name: 'createFace', source: 'core/shapeTypes.js#createFace', kind: 'skip', module: 'core', reason: 'KernelShape → Face 包装(裸句柄入参),skip',\n },\n {\n name: 'createShell', source: 'core/shapeTypes.js#createShell', kind: 'skip', module: 'core', reason: 'KernelShape → Shell 包装(裸句柄入参),skip',\n },\n {\n name: 'createSolid', source: 'core/shapeTypes.js#createSolid', kind: 'skip', module: 'core', reason: 'KernelShape → Solid 包装(裸句柄入参),skip',\n },\n {\n name: 'createVertex', source: 'core/shapeTypes.js#createVertex', kind: 'skip', module: 'core', reason: 'KernelShape → Vertex 包装(裸句柄入参),skip',\n },\n {\n name: 'createWire', source: 'core/shapeTypes.js#createWire', kind: 'skip', module: 'core', reason: 'KernelShape → Wire 包装(裸句柄入参),skip',\n },\n {\n name: 'is2D', source: 'core/shapeTypes.js#is2D', kind: 'skip', module: 'core', reason: 'AnyShape 维度判别(KernelShape 谓词),skip',\n },\n {\n name: 'is3D', source: 'core/shapeTypes.js#is3D', kind: 'skip', module: 'core', reason: 'AnyShape 维度判别(KernelShape 谓词),skip',\n },\n {\n name: 'isClosedWire', source: 'core/shapeTypes.js#isClosedWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isCompound', source: 'core/shapeTypes.js#isCompound', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isEdge', source: 'core/shapeTypes.js#isEdge', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isFace', source: 'core/shapeTypes.js#isFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isManifoldShell', source: 'core/shapeTypes.js#isManifoldShell', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isOrientedFace', source: 'core/shapeTypes.js#isOrientedFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isPlanarFace', source: 'core/shapeTypes.js#isPlanarFace', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isPlanarWire', source: 'core/shapeTypes.js#isPlanarWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShape1D', source: 'core/shapeTypes.js#isShape1D', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShape3D', source: 'core/shapeTypes.js#isShape3D', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isShell', source: 'core/shapeTypes.js#isShell', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isSolid', source: 'core/shapeTypes.js#isSolid', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isValidSolid', source: 'core/shapeTypes.js#isValidSolid', kind: 'skip', module: 'core', reason: 'ValidSolid 判别(KernelShape 谓词),skip',\n },\n {\n name: 'isVertex', source: 'core/shapeTypes.js#isVertex', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'isWire', source: 'core/shapeTypes.js#isWire', kind: 'skip', module: 'core', reason: '拓扑谓词(KernelShape),skip',\n },\n {\n name: 'manifoldShell', source: 'core/shapeTypes.js#manifoldShell', kind: 'skip', module: 'core', reason: 'Shell → ManifoldShell 判别包装(KernelShape),skip',\n },\n {\n name: 'orientedFace', source: 'core/shapeTypes.js#orientedFace', kind: 'skip', module: 'core', reason: 'Face → OrientedFace 判别包装(KernelShape),skip',\n },\n {\n name: 'planarFace', source: 'core/shapeTypes.js#planarFace', kind: 'skip', module: 'core', reason: 'Face → PlanarFace 判别包装(KernelShape),skip',\n },\n {\n name: 'planarWire', source: 'core/shapeTypes.js#planarWire', kind: 'skip', module: 'core', reason: 'Wire → PlanarWire 判别包装(KernelShape),skip',\n },\n {\n name: 'validSolid', source: 'core/shapeTypes.js#validSolid', kind: 'skip', module: 'core', reason: 'Solid → ValidSolid 判别包装(KernelShape),skip',\n },\n\n // ──── P14 batch 10:sketching 模块(52 = 3 type + 1 pure + 1 brep-op + 47 skip)────\n // sketching 是 brepjs 的「状态化草图 DSL」层:Sketcher/Sketch/Sketches/FaceSketcher/\n // CompoundSketch 类 + draw*/drawing*/sketch*/compoundSketch* 函数全部消费 brepjs 内部\n // 草图状态对象(内部持有 kernel 引用/草绘平面),faijs 面以 cad 命名空间的声明式 op\n // 表达建模,不暴露草图 DSL 状态机 —— 整层除下列 5 个符号外登记 skip。\n // 保留:Drawing/DrawingPen/SketchInterface 类型 re-export(TS 消费方类型面需要);\n // polysideInnerRadius(纯正多边形内径计算,无 kernel/Shape);makeBaseBox(纯数值\n // 构造 → Shape3D,brep-op 构造类,与 torus 同款模板)。\n\n // 3 × type\n {\n name: 'Drawing', source: 'sketching/drawing.js#Drawing', kind: 'skip', module: 'sketching',\n },\n {\n name: 'DrawingPen', source: 'sketching/drawingPen.js#DrawingPen', kind: 'skip', module: 'sketching',\n },\n {\n name: 'SketchInterface', source: 'sketching/sketch.js#SketchInterface', kind: 'skip', module: 'sketching',\n },\n // 1 × pure\n {\n name: 'polysideInnerRadius', source: 'sketching/cannedSketches.js#polysideInnerRadius', kind: 'skip', module: 'sketching', reason: '未自有化、未平铺(唯一消费方 p5 随删)',\n },\n // 1 × brep-op(构造类:纯数值参数 → Shape3D,无几何输入)\n {\n name: 'makeBaseBox', source: 'brep-mirror/primitiveFns.ts#makeBaseBoxBrep', selfhost: true, kind: 'brep-op', capabilities: ['makeRectangle', 'extrude'], module: 'sketching',\n args: '(xLength: number, yLength: number, zLength: number) -> Shape3D',\n geometryArgs: [],\n returnsResult: false,\n params: ['xLength', 'yLength', 'zLength'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n\n // 47 × skip(状态化草图/绘图 DSL 族)\n {\n name: 'sketchCircle', source: 'sketching/cannedSketches.js#sketchCircle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL(返回 Sketch 状态对象),skip',\n },\n {\n name: 'sketchEllipse', source: 'sketching/cannedSketches.js#sketchEllipse', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchFaceOffset', source: 'sketching/cannedSketches.js#sketchFaceOffset', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL(Face 偏移),skip',\n },\n {\n name: 'sketchHelix', source: 'sketching/cannedSketches.js#sketchHelix', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchParametricFunction', source: 'sketching/cannedSketches.js#sketchParametricFunction', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchPolysides', source: 'sketching/cannedSketches.js#sketchPolysides', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchRectangle', source: 'sketching/cannedSketches.js#sketchRectangle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'sketchRoundedRectangle', source: 'sketching/cannedSketches.js#sketchRoundedRectangle', kind: 'skip', module: 'sketching', reason: '状态化草图 DSL,skip',\n },\n {\n name: 'CompoundSketch', source: 'sketching/compoundSketch.js#CompoundSketch', kind: 'skip', module: 'sketching', reason: '复合草图状态类(kernel 引用),skip',\n },\n {\n name: 'drawFaceOutline', source: 'sketching/draw3d.js#drawFaceOutline', kind: 'skip', module: 'sketching', reason: '3D 面轮廓绘制 DSL,skip',\n },\n {\n name: 'drawProjection', source: 'sketching/draw3d.js#drawProjection', kind: 'skip', module: 'sketching', reason: '投影绘制 DSL,skip',\n },\n {\n name: 'drawingChamfer', source: 'sketching/drawFns.js#drawingChamfer', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'drawingCut', source: 'sketching/drawFns.js#drawingCut', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingFillet', source: 'sketching/drawFns.js#drawingFillet', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'drawingFuse', source: 'sketching/drawFns.js#drawingFuse', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingIntersect', source: 'sketching/drawFns.js#drawingIntersect', kind: 'skip', module: 'sketching', reason: '绘图 DSL 布尔(Drawing 状态对象),skip',\n },\n {\n name: 'drawingToSketchOnPlane', source: 'sketching/drawFns.js#drawingToSketchOnPlane', kind: 'skip', module: 'sketching', reason: 'Drawing → Sketch 状态迁移,skip',\n },\n {\n name: 'mirrorDrawing', source: 'sketching/drawFns.js#mirrorDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'rotateDrawing', source: 'sketching/drawFns.js#rotateDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'scaleDrawing', source: 'sketching/drawFns.js#scaleDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'translateDrawing', source: 'sketching/drawFns.js#translateDrawing', kind: 'skip', module: 'sketching', reason: '绘图 DSL 变换(Drawing 状态对象),skip',\n },\n {\n name: 'deserializeDrawing', source: 'sketching/drawing.js#deserializeDrawing', kind: 'skip', module: 'sketching', reason: '绘图序列化重建(状态对象),skip',\n },\n {\n name: 'drawCircle', source: 'sketching/drawingFactories.js#drawCircle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL(Drawing 状态对象),skip',\n },\n {\n name: 'drawEllipse', source: 'sketching/drawingFactories.js#drawEllipse', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL(Drawing 状态对象),skip',\n },\n {\n name: 'drawParametricFunction', source: 'sketching/drawingFactories.js#drawParametricFunction', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawPointsInterpolation', source: 'sketching/drawingFactories.js#drawPointsInterpolation', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawPolysides', source: 'sketching/drawingFactories.js#drawPolysides', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawRectangle', source: 'sketching/drawingFactories.js#drawRectangle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawRoundedRectangle', source: 'sketching/drawingFactories.js#drawRoundedRectangle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawSingleCircle', source: 'sketching/drawingFactories.js#drawSingleCircle', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawSingleEllipse', source: 'sketching/drawingFactories.js#drawSingleEllipse', kind: 'skip', module: 'sketching', reason: '绘图工厂 DSL,skip',\n },\n {\n name: 'drawText', source: 'sketching/drawingFactories.js#drawText', kind: 'skip', module: 'sketching', reason: '文本绘制 DSL,skip',\n },\n {\n name: 'draw', source: 'sketching/drawingPen.js#draw', kind: 'skip', module: 'sketching', reason: 'DrawingPen 状态入口(段落累积),skip',\n },\n {\n name: 'FaceSketcher', source: 'sketching/faceSketcher.js#FaceSketcher', kind: 'skip', module: 'sketching', reason: '面上草图状态类(kernel Face 引用),skip',\n },\n {\n name: 'Sketch', source: 'sketching/sketch.js#Sketch', kind: 'skip', module: 'sketching', reason: '草图状态类(kernel 草绘平面),skip',\n },\n {\n name: 'compoundSketchExtrude', source: 'sketching/sketchFns.js#compoundSketchExtrude', kind: 'skip', module: 'sketching', reason: '草图状态拉伸(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchFace', source: 'sketching/sketchFns.js#compoundSketchFace', kind: 'skip', module: 'sketching', reason: '草图状态取面(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchLoft', source: 'sketching/sketchFns.js#compoundSketchLoft', kind: 'skip', module: 'sketching', reason: '草图状态放样(CompoundSketch 入参),skip',\n },\n {\n name: 'compoundSketchRevolve', source: 'sketching/sketchFns.js#compoundSketchRevolve', kind: 'skip', module: 'sketching', reason: '草图状态旋转(CompoundSketch 入参),skip',\n },\n {\n name: 'sketchExtrude', source: 'sketching/sketchFns.js#sketchExtrude', kind: 'skip', module: 'sketching', reason: '草图状态拉伸(Sketch 入参),skip',\n },\n {\n name: 'sketchFace', source: 'sketching/sketchFns.js#sketchFace', kind: 'skip', module: 'sketching', reason: '草图状态取面(Sketch 入参),skip',\n },\n {\n name: 'sketchLoft', source: 'sketching/sketchFns.js#sketchLoft', kind: 'skip', module: 'sketching', reason: '草图状态放样(Sketch 数组入参),skip',\n },\n {\n name: 'sketchRevolve', source: 'sketching/sketchFns.js#sketchRevolve', kind: 'skip', module: 'sketching', reason: '草图状态旋转(Sketch 入参),skip',\n },\n {\n name: 'sketchSweep', source: 'sketching/sketchFns.js#sketchSweep', kind: 'skip', module: 'sketching', reason: '草图状态扫掠(Sketch + spine),skip',\n },\n {\n name: 'sketchWires', source: 'sketching/sketchFns.js#sketchWires', kind: 'skip', module: 'sketching', reason: '草图取线框(Sketch 入参),skip',\n },\n {\n name: 'Sketcher', source: 'sketching/sketcher.js#Sketcher', kind: 'skip', module: 'sketching', reason: '草图 DSL 状态类(kernel 句柄),skip',\n },\n {\n name: 'Sketches', source: 'sketching/sketches.js#Sketches', kind: 'skip', module: 'sketching', reason: '草图集合状态类(kernel 引用),skip',\n },\n\n // ──── P14 补批 11:topology 模块(302 = 96 type + 206 value;P13a 4 样本已登)────\n // topology 是 brepjs 建模核心面(primitive/boolean/transform/modifier/shape 查询)。\n // 本批按 surface 基线逐符号登记:类型全量 re-export;整件进出的几何 op 投 brep-op;\n // Shape→纯数据查询投 query;纯函数投 pure;子形状句柄(Face/Edge/Wire/Vertex)入参\n // 或句柄数组/状态机/宿主渲染 DSL 登记 skip(faijs Shape 面只能表达整件,理由见各条)。\n // 条目缺省 module='topology'(与 P13a 样本一致;generator moduleOf 缺省同值)。\n //\n // 95 × type(96 − P13a Bounds3D)\n { name: 'ComposedTransform', source: 'topology/api.js#ComposedTransform', kind: 'skip' },\n { name: 'MirrorOptions', source: 'topology/api.js#MirrorOptions', kind: 'skip' },\n { name: 'RotateOptions', source: 'topology/api.js#RotateOptions', kind: 'skip' },\n { name: 'ScaleOptions', source: 'topology/api.js#ScaleOptions', kind: 'skip' },\n { name: 'TransformOp', source: 'topology/api.js#TransformOp', kind: 'skip' },\n { name: 'BossOptions', source: 'topology/apiTypes.js#BossOptions', kind: 'skip' },\n { name: 'ChamferDistance', source: 'topology/apiTypes.js#ChamferDistance', kind: 'skip' },\n { name: 'DraftAngle', source: 'topology/apiTypes.js#DraftAngle', kind: 'skip' },\n { name: 'DraftOptions', source: 'topology/apiTypes.js#DraftOptions', kind: 'skip' },\n { name: 'DrawingLike', source: 'topology/apiTypes.js#DrawingLike', kind: 'skip' },\n { name: 'DrillOptions', source: 'topology/apiTypes.js#DrillOptions', kind: 'skip' },\n { name: 'FilletRadius', source: 'topology/apiTypes.js#FilletRadius', kind: 'skip' },\n { name: 'FinderFn', source: 'topology/apiTypes.js#FinderFn', kind: 'skip' },\n { name: 'MirrorJoinOptions', source: 'topology/apiTypes.js#MirrorJoinOptions', kind: 'skip' },\n { name: 'PocketOptions', source: 'topology/apiTypes.js#PocketOptions', kind: 'skip' },\n { name: 'RectangularPatternOptions', source: 'topology/apiTypes.js#RectangularPatternOptions', kind: 'skip' },\n { name: 'Shapeable', source: 'topology/apiTypes.js#Shapeable', kind: 'skip' },\n { name: 'WrappedMarker', source: 'topology/apiTypes.js#WrappedMarker', kind: 'skip' },\n { name: 'BatchBisectResult', source: 'topology/booleanBatchFns.js#BatchBisectResult', kind: 'skip' },\n { name: 'BatchBisectTelemetry', source: 'topology/booleanBatchFns.js#BatchBisectTelemetry', kind: 'skip' },\n { name: 'BooleanOptions', source: 'topology/booleanFns.js#BooleanOptions', kind: 'skip' },\n { name: 'BooleanPipelineStep', source: 'topology/booleanFns.js#BooleanPipelineStep', kind: 'skip' },\n { name: 'PipelineOp', source: 'topology/booleanFns.js#PipelineOp', kind: 'skip' },\n { name: 'ApproximateCurveOptions', source: 'topology/curveFns.js#ApproximateCurveOptions', kind: 'skip' },\n { name: 'InterpolateCurveOptions', source: 'topology/curveFns.js#InterpolateCurveOptions', kind: 'skip' },\n { name: 'EvolutionResult', source: 'topology/evolutionFns.js#EvolutionResult', kind: 'skip' },\n { name: 'PointProjectionResult', source: 'topology/faceFns.js#PointProjectionResult', kind: 'skip' },\n { name: 'UVBounds', source: 'topology/faceFns.js#UVBounds', kind: 'skip' },\n { name: 'AutoHealOptions', source: 'topology/healingFns.js#AutoHealOptions', kind: 'skip' },\n { name: 'HealingReport', source: 'topology/healingFns.js#HealingReport', kind: 'skip' },\n { name: 'HealingStepDiagnostic', source: 'topology/healingFns.js#HealingStepDiagnostic', kind: 'skip' },\n { name: 'HullOptions', source: 'topology/hullFns.js#HullOptions', kind: 'skip' },\n { name: 'ChamferRadius', source: 'topology/index.js#ChamferRadius', kind: 'skip' },\n { name: 'GenericTopo', source: 'topology/index.js#GenericTopo', kind: 'skip' },\n { name: 'RadiusOptions', source: 'topology/index.js#RadiusOptions', kind: 'skip' },\n { name: 'TopoEntity', source: 'topology/index.js#TopoEntity', kind: 'skip' },\n { name: 'MeshCacheContext', source: 'topology/meshCache.js#MeshCacheContext', kind: 'skip' },\n { name: 'EdgeMesh', source: 'topology/meshFns.js#EdgeMesh', kind: 'skip' },\n { name: 'LODMesh', source: 'topology/meshFns.js#LODMesh', kind: 'skip' },\n { name: 'MeshLevelFn', source: 'topology/meshFns.js#MeshLevelFn', kind: 'skip' },\n { name: 'MeshLODsOptions', source: 'topology/meshFns.js#MeshLODsOptions', kind: 'skip' },\n { name: 'MeshLODsProgressiveOptions', source: 'topology/meshFns.js#MeshLODsProgressiveOptions', kind: 'skip' },\n { name: 'MeshOptions', source: 'topology/meshFns.js#MeshOptions', kind: 'skip' },\n { name: 'MultiLODMesh', source: 'topology/meshFns.js#MultiLODMesh', kind: 'skip' },\n { name: 'ShapeMesh', source: 'topology/meshFns.js#ShapeMesh', kind: 'skip' },\n { name: 'Color', source: 'topology/metadata/colorFns.js#Color', kind: 'skip' },\n { name: 'ColorInput', source: 'topology/metadata/colorFns.js#ColorInput', kind: 'skip' },\n { name: 'MinkowskiOptions', source: 'topology/minkowskiFns.js#MinkowskiOptions', kind: 'skip' },\n { name: 'VariableFilletRadius', source: 'topology/modifierFns.js#VariableFilletRadius', kind: 'skip' },\n { name: 'PolyhedronOptions', source: 'topology/polyhedronFns.js#PolyhedronOptions', kind: 'skip' },\n { name: 'BoxOptions', source: 'topology/primitiveFns.js#BoxOptions', kind: 'skip' },\n { name: 'CircleOptions', source: 'topology/primitiveFns.js#CircleOptions', kind: 'skip' },\n { name: 'ConeOptions', source: 'topology/primitiveFns.js#ConeOptions', kind: 'skip' },\n { name: 'CylinderOptions', source: 'topology/primitiveFns.js#CylinderOptions', kind: 'skip' },\n { name: 'EllipseArcOptions', source: 'topology/primitiveFns.js#EllipseArcOptions', kind: 'skip' },\n { name: 'EllipseOptions', source: 'topology/primitiveFns.js#EllipseOptions', kind: 'skip' },\n { name: 'EllipsoidOptions', source: 'topology/primitiveFns.js#EllipsoidOptions', kind: 'skip' },\n { name: 'HelixOptions', source: 'topology/primitiveFns.js#HelixOptions', kind: 'skip' },\n { name: 'SphereOptions', source: 'topology/primitiveFns.js#SphereOptions', kind: 'skip' },\n { name: 'TorusOptions', source: 'topology/primitiveFns.js#TorusOptions', kind: 'skip' },\n { name: 'ShapeDescription', source: 'topology/shapeFns.js#ShapeDescription', kind: 'skip' },\n { name: 'BrokenDerivedFaceRef', source: 'topology/shapeRef/index.js#BrokenDerivedFaceRef', kind: 'skip' },\n { name: 'BrokenEdgeRef', source: 'topology/shapeRef/index.js#BrokenEdgeRef', kind: 'skip' },\n { name: 'BrokenReason', source: 'topology/shapeRef/index.js#BrokenReason', kind: 'skip' },\n { name: 'BrokenRef', source: 'topology/shapeRef/index.js#BrokenRef', kind: 'skip' },\n { name: 'BrokenVertexRef', source: 'topology/shapeRef/index.js#BrokenVertexRef', kind: 'skip' },\n { name: 'DerivedFaceHint', source: 'topology/shapeRef/index.js#DerivedFaceHint', kind: 'skip' },\n { name: 'DerivedFaceRef', source: 'topology/shapeRef/index.js#DerivedFaceRef', kind: 'skip' },\n { name: 'EdgeHint', source: 'topology/shapeRef/index.js#EdgeHint', kind: 'skip' },\n { name: 'EdgeRef', source: 'topology/shapeRef/index.js#EdgeRef', kind: 'skip' },\n { name: 'FaceScorer', source: 'topology/shapeRef/index.js#FaceScorer', kind: 'skip' },\n { name: 'GeometricHint', source: 'topology/shapeRef/index.js#GeometricHint', kind: 'skip' },\n { name: 'LineageRef', source: 'topology/shapeRef/index.js#LineageRef', kind: 'skip' },\n { name: 'LineageResolution', source: 'topology/shapeRef/index.js#LineageResolution', kind: 'skip' },\n { name: 'ResolvedDerivedFaceRef', source: 'topology/shapeRef/index.js#ResolvedDerivedFaceRef', kind: 'skip' },\n { name: 'ResolvedEdgeRef', source: 'topology/shapeRef/index.js#ResolvedEdgeRef', kind: 'skip' },\n { name: 'ResolvedEntity', source: 'topology/shapeRef/index.js#ResolvedEntity', kind: 'skip' },\n { name: 'ResolvedRef', source: 'topology/shapeRef/index.js#ResolvedRef', kind: 'skip' },\n { name: 'ResolvedVertexRef', source: 'topology/shapeRef/index.js#ResolvedVertexRef', kind: 'skip' },\n { name: 'RoleTable', source: 'topology/shapeRef/index.js#RoleTable', kind: 'skip' },\n { name: 'ShapeRef', source: 'topology/shapeRef/index.js#ShapeRef', kind: 'skip' },\n { name: 'VertexHint', source: 'topology/shapeRef/index.js#VertexHint', kind: 'skip' },\n { name: 'VertexRef', source: 'topology/shapeRef/index.js#VertexRef', kind: 'skip' },\n { name: 'SurfaceFromGridOptions', source: 'topology/surfaceFns.js#SurfaceFromGridOptions', kind: 'skip' },\n { name: 'SurfaceFromImageOptions', source: 'topology/surfaceFns.js#SurfaceFromImageOptions', kind: 'skip' },\n { name: 'BufferGeometryData', source: 'topology/threeHelpers.js#BufferGeometryData', kind: 'skip' },\n { name: 'BufferGeometryGroup', source: 'topology/threeHelpers.js#BufferGeometryGroup', kind: 'skip' },\n { name: 'GroupedBufferGeometryData', source: 'topology/threeHelpers.js#GroupedBufferGeometryData', kind: 'skip' },\n { name: 'LineGeometryData', source: 'topology/threeHelpers.js#LineGeometryData', kind: 'skip' },\n { name: 'LODGeometryData', source: 'topology/threeHelpers.js#LODGeometryData', kind: 'skip' },\n { name: 'LODGeometryLevel', source: 'topology/threeHelpers.js#LODGeometryLevel', kind: 'skip' },\n { name: 'Wrapped', source: 'topology/wrapperFns.js#Wrapped', kind: 'skip' },\n { name: 'Wrapped3D', source: 'topology/wrapperFns.js#Wrapped3D', kind: 'skip' },\n { name: 'WrappedCurve', source: 'topology/wrapperFns.js#WrappedCurve', kind: 'skip' },\n { name: 'WrappedFace', source: 'topology/wrapperFns.js#WrappedFace', kind: 'skip' },\n\n // ── topology value 登记(203 = 206 − P13a 的 torus/fuse/getBounds)──\n // brep-op:整件 Shape 进出(构造/变换/布尔/修饰,走 defineOp + borrow/adopt);\n // query:整件 Shape 进 → 纯数据出;pure:无 Shape 参数;skip:divergence 见 reason\n // (子形状句柄入参/句柄数组产物/宿主渲染/状态 DSL 等——faijs Shape 面只有整件值)。\n\n // primitiveFns:box/sphere/cylinder/cone/compound/solid 是 faijs 同名 op(§5.1 双形态\n // 或手写面已覆盖),生成层不重复投影 → skip;曲线/线框/面类构造产物是 Edge/Wire/Face\n // 子形状句柄,faijs Shape 面整件模型无法承载 → skip;ellipsoid 是纯数值整件构造 → brep-op;\n // box(§4.1 A)、cone(§4.1 P)与 cylinder(§4.3 A)自 P3/P4/P5 起由 skip → brep-op:\n // 投影到 brepjs 契约,但**不投 scriptFace**(faijs 侧由手写 dual-op 覆盖,生成模块\n // 符号为孤儿 by design)。\n {\n name: 'box', source: 'topology/primitiveFns.js#box', kind: 'skip',\n args: 'box(width: number, depth: number, height: number, options?: BoxOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (box dual-op, mesh+brep)',\n },\n {\n name: 'sphere', source: 'topology/primitiveFns.js#sphere', kind: 'skip',\n reason: 'faijs 同名 sphere(§5.1 双形态同 box),生成层不重复投影',\n },\n {\n name: 'cylinder', source: 'topology/primitiveFns.js#cylinder', kind: 'skip',\n args: 'cylinder(radius: number, height: number, options?: CylinderOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (cylinder dual-op, mesh+brep)',\n },\n {\n name: 'cone', source: 'topology/primitiveFns.js#cone', kind: 'skip',\n args: 'cone(radiusBottom: number, radiusTop: number, height: number, options?: ConeOptions): Shape',\n reason: 'overridden by handwritten api/primitives.ts (cone dual-op, mesh+brep)',\n },\n {\n name: 'ellipsoid', source: 'brep-mirror/primitiveFns.ts#ellipsoidBrep', selfhost: true, kind: 'brep-op', capabilities: ['makeEllipsoid', 'translate'],\n geometryArgs: [], returnsResult: false,\n args: 'ellipsoid(rx: number, ry: number, rz: number, options?: EllipsoidOptions): Shape',\n reason: '纯数值整件构造(rx/ry/rz → ValidSolid),brep-op',\n params: ['rx', 'ry', 'rz', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'unmodeled', reason: 'construct vocabulary pending Phase 3' },\n },\n {\n name: 'addHoles', source: 'topology/primitiveFns.js#addHoles', kind: 'skip',\n reason: 'Face + ClosedWire[] 子形状句柄入参,faijs Shape 面无法提供,skip',\n },\n {\n name: 'subFace', source: 'topology/primitiveFns.js#subFace', kind: 'skip',\n reason: 'Face/ClosedWire 子形状句柄入参,skip',\n },\n {\n name: 'offsetFace', source: 'topology/primitiveFns.js#offsetFace', kind: 'skip',\n reason: 'Face 子形状句柄入参,skip',\n },\n {\n name: 'sewShells', source: 'topology/primitiveFns.js#sewShells', kind: 'skip',\n reason: 'Face|Shell[] 句柄数组入参,skip',\n },\n {\n name: 'face', source: 'topology/primitiveFns.js#face', kind: 'skip',\n reason: 'ClosedWire 子形状入参 → Face 子形状产物,faijs 整件面不承载,skip',\n },\n {\n name: 'filledFace', source: 'topology/primitiveFns.js#filledFace', kind: 'skip',\n reason: 'ClosedWire 入参 → Face 子形状产物,skip',\n },\n {\n name: 'polygon', source: 'topology/primitiveFns.js#polygon', kind: 'skip',\n reason: '产生 Face 子形状产物(2D 面),faijs 整件面不承载,skip',\n },\n {\n name: 'solid', source: 'topology/primitiveFns.js#solid', kind: 'skip',\n reason: 'faijs 同名 solid(手写面已覆盖),且入参 Face|Shell[] 句柄数组,skip',\n },\n {\n name: 'compound', source: 'topology/primitiveFns.js#compound', kind: 'skip',\n reason: 'faijs 同名 compound(手写面已覆盖),且入参 AnyShape[] 句柄数组,skip',\n },\n {\n name: 'wire', source: 'topology/primitiveFns.js#wire', kind: 'skip',\n reason: 'Edge|Wire[] 句柄数组入参 → Wire 子形状产物,skip',\n },\n {\n name: 'wireLoop', source: 'topology/primitiveFns.js#wireLoop', kind: 'skip',\n reason: 'Edge|Wire[] 句柄数组入参 → ClosedWire 子形状产物,skip',\n },\n {\n name: 'line', source: 'topology/primitiveFns.js#line', kind: 'skip',\n reason: '2D 曲线基元(Vec3 → Edge 子形状产物),faijs 整件面不承载,skip',\n },\n {\n name: 'circle', source: 'topology/primitiveFns.js#circle', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'ellipse', source: 'topology/primitiveFns.js#ellipse', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'ellipseArc', source: 'topology/primitiveFns.js#ellipseArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'helix', source: 'topology/primitiveFns.js#helix', kind: 'skip',\n reason: '螺旋线(→ Wire 子形状产物),skip',\n },\n {\n name: 'bezier', source: 'topology/primitiveFns.js#bezier', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'bsplineApprox', source: 'topology/primitiveFns.js#bsplineApprox', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'tangentArc', source: 'topology/primitiveFns.js#tangentArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'threePointArc', source: 'topology/primitiveFns.js#threePointArc', kind: 'skip',\n reason: '2D 曲线基元(→ Edge 子形状产物),skip',\n },\n {\n name: 'vertex', source: 'topology/primitiveFns.js#vertex', kind: 'skip',\n reason: '点构造(→ Vertex 子形状产物),skip',\n },\n\n // api.js:整件进出的变换/布尔/修饰 op;faijs 同名(translate/scale/intersect/chamfer)skip;\n // rotate 因 faijs 已更名 rotate_euler(§5.1 D-ROTATE)而空出 → 投影 brep-op。\n {\n name: 'translate', source: 'topology/api.js#translate', kind: 'skip',\n reason: 'faijs 同名 translate(§5.1 双形态:对象形态手写面覆盖 + v:Vec3 位置形态并入),生成层不重复投影',\n },\n {\n name: 'rotate', source: 'brep-mirror/topologyFns.ts#rotateBrep', selfhost: true, kind: 'brep-op', capabilities: ['transform'],\n geometryArgs: [0], returnsResult: false,\n args: 'rotate(shape: Shape, angle: number, options?: { at?, axis? }): Shape',\n reason: 'faijs rotate 已更名 rotate_euler(faijs 面只导出 rotate_euler),上游轴角 rotate 空出 → brep-op 进脚本面'\n + '(§5.1 D-ROTATE / §4.7)。⚠️ cad.rotate 是 brep-only(compatOp 契约:mesh 模式/断链抛错,从不回退),'\n + '3d_editor UI 不得暴露;将来暴露前必须先补 mesh 实现。',\n params: ['shape', 'angle', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'scale', source: 'topology/api.js#scale', kind: 'skip',\n args: 'scale(shape: Shape, factor: number, options?: { center?: Vec3 }): Shape',\n reason: 'overridden by handwritten api/transform.ts (scale dual-op, mesh+brep)',\n },\n {\n name: 'mirror', source: 'brep-mirror/topologyFns.ts#mirrorBrep', selfhost: true, kind: 'brep-op', capabilities: ['mirror'],\n geometryArgs: [0], returnsResult: false,\n args: 'mirror(shape: Shape, options?: MirrorOptions): Shape',\n reason: 'faijs 无同名 mirror,整件反射 → brep-op',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'clone', source: 'brep-mirror/topologyFns.ts#cloneBrep', selfhost: true, kind: 'brep-op', capabilities: ['copyShape'],\n geometryArgs: [0], returnsResult: true,\n args: 'clone(shape: Shape): Shape',\n reason: 'faijs 用 copy(不同名),整件克隆(Result<T>)→ brep-op;纯 copyShape 调用、无 occt 特有 API(2026-09-26 从 engines:[occt] 白名单降级为 copyShape 能力路由,brepkit 已声明 copyShape)',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'applyMatrix', source: 'brep-mirror/topologyFns.ts#applyMatrixBrep', selfhost: true, kind: 'brep-op', capabilities: ['transform', 'generalTransform'],\n geometryArgs: [0], returnsResult: true,\n args: 'applyMatrix(shape: Shape, matrix: unknown): Shape',\n reason: 'faijs 用 applyTransform(不同名),整件矩阵变换 → brep-op',\n params: ['shape', 'matrix'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'transformCopy', source: 'topology/api.js#transformCopy', kind: 'skip',\n geometryArgs: [0], returnsResult: false,\n args: 'transformCopy(shape: Shape, composed: ComposedTransform): Shape',\n reason: 'scriptFace: ComposedTransform holds a kernel WASM handle — not constructible in .fai.js (no literal/params path), so the script-face op is dead. Covered by clone+translate/rotate chains and locate. TS library surface keeps the plain re-export (non-op).',\n params: ['shape', 'composed'], formClass: 'A',\n naming: { kind: 'identity' },\n },\n {\n name: 'locate', source: 'brep-mirror/topologyFns.ts#locateBrep', selfhost: true, kind: 'brep-op', capabilities: [\"composeTransform\",\"dispose\",\"hashCode\",\"locate\"],\n geometryArgs: [0], returnsResult: false,\n args: 'locate(shape: Shape, placement: unknown): Shape',\n reason: 'faijs 无同名,整件定位变换 → brep-op',\n params: ['shape', 'placement'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'identity' },\n },\n {\n name: 'composeTransforms', source: 'topology/api.js#composeTransforms', kind: 'skip',\n reason: '变换函数组合器(纯数据,无 Shape 参数)',\n },\n {\n name: 'cut', source: 'topology/api.js#cut', kind: 'skip',\n geometryArgs: [0, 1], returnsResult: true,\n args: 'cut(base: Shape, tool: Shape, options?: BooleanOptions): Shape',\n reason: 'overridden by handwritten boolean.ts:cut (Phase 3 roleTable propagation)',\n params: ['base', 'tool', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fuseAll', source: 'topology/api.js#fuseAll', kind: 'skip',\n reason: '入参 Shapeable<T>[](几何数组),brep-op 模板单柄借入不适用;faijs 用 union 变参,skip',\n },\n {\n name: 'cutAll', source: 'topology/api.js#cutAll', kind: 'skip',\n reason: '入参 Shapeable<Shape3D>[](几何数组),skip',\n },\n {\n name: 'intersect', source: 'topology/api.js#intersect', kind: 'skip',\n reason: '禁止投脚本面(§4.8):faijs 侧 cad.intersect 是 variadic、async、带 keepHidden 时间线副作用、roleTable '\n + '合流的 dual-op,mesh+brep 双实现;vendored 的 intersect 是二元同步 Result 契约,仅驻留 compat 面,不共面不投影。'\n + '任何想把上游 intersect 标为 brep-op / scriptFace 的改动,必须同时把 faijs 的 intersect 改名为 intersect_all'\n + '(含 UI ops 与存量迁移)——生成期守卫见 gen-l3-surface.ts(§4.8 触发条件)。',\n },\n {\n name: 'section', source: 'brep-mirror/booleanFns.ts#sectionBrep', selfhost: true, kind: 'brep-op',\n capabilities: [\"sectionByPlane\",\"makeCompound\"],\n geometryArgs: [0], returnsResult: true,\n args: 'section(shape: Shape, plane: PlaneInput): Shape',\n params: ['shape', 'plane'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'sectionToFace', source: 'topology/api.js#sectionToFace', kind: 'skip',\n reason: '返回 Face 子形状产物,faijs 整件面不承载,skip',\n },\n {\n name: 'split', source: 'brep-mirror/booleanFns.ts#splitBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n args: 'split(shape: Shape, tools: Shape[]): Shape',\n reason: 'faijs split 已更名 fai_split,上游工具切件 split 空出 → brep-op(§5.1 D-SPLIT;tools 暂登记几何首参,数组切件经 faijs 侧适配)',\n params: ['shape', 'tools'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'subdivide' },\n },\n {\n name: 'slice', source: 'topology/api.js#slice', kind: 'skip',\n reason: 'planes 数组入参且返回 AnyShape[](多产物),skip',\n },\n {\n name: 'fillet', source: 'topology/api.js#fillet', kind: 'skip',\n args: 'fillet(shape: Shape, edges?, radius | [r1,r2]): Shape',\n reason: 'overridden by handwritten api/fillet.ts (fillet dual-op, roleTable propagation)',\n },\n {\n name: 'chamfer', source: 'topology/api.js#chamfer', kind: 'skip',\n reason: 'faijs 同名 chamfer(§5.1 O-CHAMFER-1:role 取边已保留,上游 Edge 句柄取边形态待处置),生成层不重复投影',\n },\n {\n name: 'shell', source: 'brep-mirror/topologyFns.ts#shellBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n reason: 'faijs 侧 cad.shell 由手写中立 op 覆盖(api/shell.ts:选面走 FaceTopoRef,能力经 capabilities:[\"directEdit\"] 路由 ⇒ 相对 vendored 的 occt 平台版是能力升级,brepkit 的 L1 shell 亦可用)。本投影保留为引擎记录(capability-map),生成模块符号不直接进 cad 命名空间 by design(同 extrude / sweep 口径)。',\n args: 'shell(shape: Shape, faces?: Shape[], thickness: number): Shape',\n params: ['shape', 'faces', 'thickness'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'offset', source: 'brep-mirror/topologyFns.ts#offsetBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n args: 'offset(shape: Shape, distance: number): Shape',\n reason: 'faijs 无同名偏置 → brep-op',\n params: ['shape', 'distance'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'thicken', source: 'topology/api.js#thicken', kind: 'skip',\n reason: 'overridden by handwritten api/thicken.ts (平台 op engines:[occt]:入参取面/壳整件 Shape——cad.profile 产物即天然面来源;内部借入喂 vendored thicken,不再要求子形状句柄)',\n },\n {\n name: 'draft', source: 'topology/api.js#draft', kind: 'skip',\n reason: 'overridden by handwritten api/draft.ts (平台 op engines:[occt] —— 实证收窄:brepkit 的 L1 draft 对对称 box 破坏对称性、部分 ordinal 静默无操作;选面走 FaceTopoRef,中性面用点而非 face 引用,且 occt 侧只支持原点中性面)',\n },\n {\n name: 'heal', source: 'brep-mirror/healingFns.ts#healBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n args: 'heal(shape: Shape): Shape',\n reason: 'faijs 无同名整件修复 → brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'simplify', source: 'brep-mirror/healingFns.ts#simplifyBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n args: 'simplify(shape: Shape): Shape',\n reason: 'faijs 无同名整件简化 → brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'mesh', source: 'topology/api.js#mesh', kind: 'skip',\n reason: '返回宿主网格缓冲(ShapeMesh),faijs Shape 自带 mesh 链,宿主渲染数据不入 op 面,skip',\n },\n {\n name: 'meshEdges', source: 'topology/api.js#meshEdges', kind: 'skip',\n reason: '返回宿主边网格缓冲(EdgeMesh),skip',\n },\n {\n name: 'describe', source: 'topology/api.js#describe', kind: 'skip',\n reason: '返回 ShapeDescription 结构(宿主描述 DSL),faijs 以自身 Shape 元数据覆盖,skip',\n },\n {\n name: 'toBREP', source: 'topology/api.js#toBREP', kind: 'skip',\n reason: 'BREP 序列化(string 数据),faijs 无序列化消费面,skip',\n },\n {\n name: 'fromBREP', source: 'topology/api.js#fromBREP', kind: 'skip',\n reason: 'BREP 反序列化(string 入参 → AnyShape),faijs 以 load/asset 体系承担,skip',\n },\n {\n name: 'isValid', source: 'core:brep-mirror#isValid', kind: 'query', selfhost: true,\n geometryArgs: [0], returnsResult: false, returnType: 'boolean',\n args: 'isValid(shape: Shape): boolean(core selfhost)',\n reason: '整件合法性检查(Shape → boolean 纯数据),query',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n },\n {\n name: 'isEmpty', source: 'topology/api.js#isEmpty', kind: 'skip',\n geometryArgs: [0], returnsResult: false, returnType: 'boolean',\n args: 'isEmpty(shape: Shape): boolean',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n reason: 'core 引擎无等价方法(occt-wasm 无 isEmpty;getShapeType/isEqual 未进 L1),未平铺未公开(§5.5 第 2 条裁定删除)',\n },\n\n // shapeFns:整件 Shape 进出的查询/修饰;返回子形状句柄数组(get*/iter*)skip。\n {\n name: 'getSolids', source: 'topology/shapeFns.js#getSolids', kind: 'skip',\n reason: '返回 Solid[] 子形状句柄数组(多产物收养缺位),skip',\n },\n {\n name: 'getShells', source: 'topology/shapeFns.js#getShells', kind: 'skip',\n reason: '返回 Shell[] 子形状句柄数组,skip',\n },\n {\n name: 'getCompSolids', source: 'topology/shapeFns.js#getCompSolids', kind: 'skip',\n reason: '返回 CompSolid[] 子形状句柄数组,skip',\n },\n {\n name: 'getEdges', source: 'topology/shapeFns.js#getEdges', kind: 'skip',\n reason: '返回 Edge[] 子形状句柄数组,faijs 面以 EdgeTopoRef 引用体系表达边,skip',\n },\n {\n name: 'getFaces', source: 'topology/shapeFns.js#getFaces', kind: 'skip',\n reason: '返回 Face[] 子形状句柄数组,faijs 面以面引用体系表达,skip',\n },\n {\n name: 'getWires', source: 'topology/shapeFns.js#getWires', kind: 'skip',\n reason: '返回 Wire[] 子形状句柄数组,skip',\n },\n {\n name: 'getVertices', source: 'topology/shapeFns.js#getVertices', kind: 'skip',\n reason: '返回 Vertex[] 子形状句柄数组,skip',\n },\n {\n name: 'iterSolids', source: 'topology/shapeFns.js#iterSolids', kind: 'skip',\n reason: '迭代器(子形状句柄流),faijs 面以数组/引用体系表达,skip',\n },\n {\n name: 'iterShells', source: 'topology/shapeFns.js#iterShells', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterCompSolids', source: 'topology/shapeFns.js#iterCompSolids', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterEdges', source: 'topology/shapeFns.js#iterEdges', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterFaces', source: 'topology/shapeFns.js#iterFaces', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterWires', source: 'topology/shapeFns.js#iterWires', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'iterVertices', source: 'topology/shapeFns.js#iterVertices', kind: 'skip',\n reason: '迭代器(子形状句柄流),skip',\n },\n {\n name: 'resize', source: 'topology/shapeFns.js#resize', kind: 'skip',\n reason: '非等比 resize(含 edge finder),faijs 以 scale 双形态覆盖语义,skip',\n },\n {\n name: 'setShapeOrigin', source: 'topology/shapeFns.js#setShapeOrigin', kind: 'skip',\n reason: '原点元数据状态操作(内核 side table),skip',\n },\n {\n name: 'getFaceOrigins', source: 'topology/shapeFns.js#getFaceOrigins', kind: 'skip',\n reason: 'face 原点元数据表读取(子形状元数据),skip',\n },\n {\n name: 'invalidateShapeCache', source: 'topology/shapeFns.js#invalidateShapeCache', kind: 'skip',\n reason: '内核形状缓存失效(状态操作),skip',\n },\n {\n name: 'isEqualShape', source: 'topology/shapeFns.js#isEqualShape', kind: 'skip',\n geometryArgs: [0, 1], returnsResult: false, returnType: 'boolean',\n args: 'isEqualShape(a: Shape, b: Shape): boolean',\n params: ['a', 'b'], formClass: 'A',\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被比较形状' },\n { name: 'b', type: 'Shape', docs: '第二个被比较形状' },\n ],\n scriptFace: true,\n reason: 'core 引擎无等价方法(occt-wasm 无 isEmpty;getShapeType/isEqual 未进 L1),未平铺未公开(§5.5 第 2 条裁定删除)',\n },\n {\n name: 'isSameShape', source: 'core:brep-mirror#isSameShape', kind: 'query', selfhost: true,\n geometryArgs: [0, 1], returnsResult: false, returnType: 'boolean',\n args: 'isSameShape(a: Shape, b: Shape): boolean(core selfhost)',\n reason: '两整件同构比较(纯数据),query',\n params: ['a', 'b'], formClass: 'A',\n queryParams: [\n { name: 'a', type: 'Shape', docs: '第一个被比较形状' },\n { name: 'b', type: 'Shape', docs: '第二个被比较形状' },\n ],\n scriptFace: true,\n },\n {\n name: 'getHashCode', source: 'topology/shapeFns.js#getHashCode', kind: 'skip',\n reason: '内核句柄 hashCode(KernelShape 内部值),faijs Shape 有自身身份体系,skip',\n },\n {\n name: 'vertexPosition', source: 'topology/shapeFns.js#vertexPosition', kind: 'skip',\n reason: 'Vertex 子形状句柄入参,skip',\n },\n\n // adjacencyFns:子形状句柄导航(Face/Edge/Vertex 入参与返回句柄数组)→ 全 skip\n {\n name: 'adjacentFaces', source: 'topology/adjacencyFns.js#adjacentFaces', kind: 'skip',\n reason: '子形状导航(Face 入参 → Face[]),faijs 整件面不承载,skip',\n },\n {\n name: 'edgesOfFace', source: 'topology/adjacencyFns.js#edgesOfFace', kind: 'skip',\n reason: '子形状导航(Face → Edge[]),skip',\n },\n {\n name: 'facesOfEdge', source: 'topology/adjacencyFns.js#facesOfEdge', kind: 'skip',\n reason: '子形状导航(Edge → Face[]),skip',\n },\n {\n name: 'facesOfVertex', source: 'topology/adjacencyFns.js#facesOfVertex', kind: 'skip',\n reason: '子形状导航(Vertex → Face[]),skip',\n },\n {\n name: 'sharedEdges', source: 'topology/adjacencyFns.js#sharedEdges', kind: 'skip',\n reason: '子形状导航(Face×2 → Edge[]),skip',\n },\n {\n name: 'verticesOfEdge', source: 'topology/adjacencyFns.js#verticesOfEdge', kind: 'skip',\n reason: '子形状导航(Edge → Vertex[]),skip',\n },\n {\n name: 'verticesOfFace', source: 'topology/adjacencyFns.js#verticesOfFace', kind: 'skip',\n reason: '子形状导航(Face → Vertex[]),skip',\n },\n {\n name: 'wiresOfFace', source: 'topology/adjacencyFns.js#wiresOfFace', kind: 'skip',\n reason: '子形状导航(Face → Wire[]),skip',\n },\n\n // curveFns:入参 Edge|Wire 子形状句柄 → 全 skip(faijs 整件面无法提供边/线句柄)\n {\n name: 'getCurveType', source: 'topology/curveFns.js#getCurveType', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveStartPoint', source: 'topology/curveFns.js#curveStartPoint', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveEndPoint', source: 'topology/curveFns.js#curveEndPoint', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curvePointAt', source: 'topology/curveFns.js#curvePointAt', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveTangentAt', source: 'topology/curveFns.js#curveTangentAt', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveAxis', source: 'topology/curveFns.js#curveAxis', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveLength', source: 'topology/curveFns.js#curveLength', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveIsClosed', source: 'topology/curveFns.js#curveIsClosed', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curveIsPeriodic', source: 'topology/curveFns.js#curveIsPeriodic', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'curvePeriod', source: 'topology/curveFns.js#curvePeriod', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'getOrientation', source: 'topology/curveFns.js#getOrientation', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄,skip',\n },\n {\n name: 'flipOrientation', source: 'topology/curveFns.js#flipOrientation', kind: 'skip',\n reason: '入参 Edge|Wire 子形状句柄(翻转朝向),skip',\n },\n {\n name: 'interpolateCurve', source: 'topology/curveFns.js#interpolateCurve', kind: 'skip',\n reason: '点集 → Edge 子形状产物,skip',\n },\n {\n name: 'approximateCurve', source: 'topology/curveFns.js#approximateCurve', kind: 'skip',\n reason: '点集 → Edge 子形状产物,skip',\n },\n {\n name: 'offsetWire2D', source: 'topology/curveFns.js#offsetWire2D', kind: 'skip',\n reason: 'Wire 子形状入参 → Wire 产物(2D 制图体系),skip',\n },\n\n // faceFns:入参 Face 子形状句柄 → 全 skip\n {\n name: 'faceCenter', source: 'topology/faceFns.js#faceCenter', kind: 'skip',\n reason: 'faijs 无同名 op(§4.9):faceCenter 仅作为 api/engrave.ts 与 api/knurl.ts 的参数键(绝对坐标快照)存在,'\n + '不共面、不冲突。若将来要在 cad 面提供质心查询,契约应为 cad.faceCenter(shape, ordinal?)(入参是 faijs Shape + 面'\n + '序号,与 vendored 的 Face 入参不同),两面各持各的契约。',\n },\n {\n name: 'getSurfaceType', source: 'topology/faceFns.js#getSurfaceType', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceAxis', source: 'topology/faceFns.js#faceAxis', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceOrientation', source: 'topology/faceFns.js#faceOrientation', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'faceGeomType', source: 'topology/faceFns.js#faceGeomType', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'flipFaceOrientation', source: 'topology/faceFns.js#flipFaceOrientation', kind: 'skip',\n reason: '入参 Face 子形状句柄(翻转),skip',\n },\n {\n name: 'outerWire', source: 'topology/faceFns.js#outerWire', kind: 'skip',\n reason: 'Face → Wire 子形状产物,skip',\n },\n {\n name: 'innerWires', source: 'topology/faceFns.js#innerWires', kind: 'skip',\n reason: 'Face → Wire[] 句柄数组,skip',\n },\n {\n name: 'removeHolesFromFace', source: 'topology/faceFns.js#removeHolesFromFace', kind: 'skip',\n reason: 'overridden by handwritten api/feature-repair.ts (入参取整件面 Shape 的 BREP 槽位句柄;孔索引由 L1 适配器按「除外环外全部 wire」推导,不再要求子形状句柄)',\n },\n {\n name: 'pointOnSurface', source: 'topology/faceFns.js#pointOnSurface', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'normalAt', source: 'topology/faceFns.js#normalAt', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'uvBounds', source: 'topology/faceFns.js#uvBounds', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'uvCoordinates', source: 'topology/faceFns.js#uvCoordinates', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'projectPointOnFace', source: 'topology/faceFns.js#projectPointOnFace', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n {\n name: 'classifyPointOnFace', source: 'topology/faceFns.js#classifyPointOnFace', kind: 'skip',\n reason: '入参 Face 子形状句柄,skip',\n },\n\n // healingFns:整件修复 brep-op;face/wire 级修复与 shell 组装 skip\n {\n name: 'autoHeal', source: 'brep-mirror/healingFns.ts#autoHealBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true, outputs: ['shape'],\n args: 'autoHeal(shape: Shape, options?: AutoHealOptions): { shape: Shape, report }',\n reason: '整件自动修复(Result<Shape>),brep-op',\n params: ['shape', 'options'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fixShape', source: 'brep-mirror/healingFns.ts#fixShapeBrep', selfhost: true, kind: 'brep-op', capabilities: [\"fixShape\"],\n geometryArgs: [0], returnsResult: true,\n args: 'fixShape(shape: Shape): Shape',\n reason: '整件修复(Result<Shape>),brep-op',\n params: ['shape'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'healSolid', source: 'brep-mirror/healingFns.ts#healSolidBrep', selfhost: true, kind: 'brep-op', capabilities: ['healSolid'],\n geometryArgs: [0], returnsResult: true,\n args: 'healSolid(solid: Shape): Shape',\n reason: 'Solid 修复(Result<ValidSolid>),brep-op',\n params: ['solid'], formClass: 'A',\n scriptFace: true,\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n },\n {\n name: 'fixSelfIntersection', source: 'brep-mirror/healingFns.ts#fixSelfIntersectionBrep', selfhost: true, kind: 'brep-op', engines: ['occt'],\n geometryArgs: [0], returnsResult: true,\n args: 'fixSelfIntersection(shape: Shape): Shape',\n params: ['shape'], formClass: 'A',\n naming: { kind: 'kernel', newFaces: { via: 'byAdjacency' } },\n scriptFace: true,\n },\n {\n name: 'healFace', source: 'topology/healingFns.js#healFace', kind: 'skip',\n reason: 'Face 子形状句柄入参,skip',\n },\n {\n name: 'healWire', source: 'topology/healingFns.js#healWire', kind: 'skip',\n reason: 'Wire 子形状句柄入参,skip',\n },\n {\n name: 'solidFromShell', source: 'topology/healingFns.js#solidFromShell', kind: 'skip',\n reason: 'Shell 子形状句柄入参(closed shell → solid),skip',\n },\n\n // 布尔/批次/诊断 DSL(复合句柄/遥测),全 skip\n {\n name: 'booleanPipeline', source: 'topology/booleanFns.js#booleanPipeline', kind: 'skip',\n reason: '复合布尔管线 DSL(steps 数组 + 遥测),skip',\n },\n {\n name: 'cutAllBisect', source: 'topology/booleanBatchFns.js#cutAllBisect', kind: 'skip',\n reason: '批量二分布尔(tools[] + telemetry 复合结果),skip',\n },\n {\n name: 'fuseAllBisect', source: 'topology/booleanBatchFns.js#fuseAllBisect', kind: 'skip',\n reason: '批量二分布尔(shapes[] + telemetry 复合结果),skip',\n },\n {\n name: 'checkBoolean', source: 'topology/booleanDiagnosticFns.js#checkBoolean', kind: 'skip',\n reason: '布尔诊断(内部 kernel 校验返回 CheckBooleanResult),skip',\n },\n\n // evolutionFns:EvolutionResult 复合(shape + 演化遥测),全 skip\n {\n name: 'fuseWithEvolution', source: 'topology/evolutionFns.js#fuseWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(Result<EvolutionResult<Shape>> 复合产物),skip',\n },\n {\n name: 'cutWithEvolution', source: 'topology/evolutionFns.js#cutWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(复合产物),skip',\n },\n {\n name: 'intersectWithEvolution', source: 'topology/evolutionFns.js#intersectWithEvolution', kind: 'skip',\n reason: '演化遥测布尔(复合产物),skip',\n },\n {\n name: 'filletWithEvolution', source: 'topology/evolutionFns.js#filletWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(edges[] + 复合产物),skip',\n },\n {\n name: 'chamferWithEvolution', source: 'topology/evolutionFns.js#chamferWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(edges[] + 复合产物),skip',\n },\n {\n name: 'shellWithEvolution', source: 'topology/evolutionFns.js#shellWithEvolution', kind: 'skip',\n reason: '演化遥测修饰(复合产物),skip',\n },\n\n // modifierFns:per-edge 回调/变半径 → skip(faijs 以整件 + EdgeTopoRef 体系选择边)\n {\n name: 'variableFillet', source: 'topology/modifierFns.js#variableFillet', kind: 'skip',\n reason: '变半径圆角(per-edge 回调),faijs 边选择引用体系不同,skip',\n },\n\n // apiTypes/index.js:kernel 底层谓词/转换/反序列化 DSL → skip;纯守卫 pure\n {\n name: 'resolve', source: 'topology/apiTypes.js#resolve', kind: 'skip',\n reason: '上游 Shapeable 解包内部工具(Shapeable 包装层),skip',\n },\n {\n name: 'resolve3D', source: 'topology/apiTypes.js#resolve3D', kind: 'skip',\n reason: '上游 Shapeable 解包内部工具,skip',\n },\n {\n name: 'applyGlue', source: 'topology/index.js#applyGlue', kind: 'skip',\n reason: 'kernel 底层粘合 DSL(子形状操作),skip',\n },\n {\n name: 'asTopo', source: 'topology/index.js#asTopo', kind: 'skip',\n reason: 'KernelShape 类型转换底层工具,skip',\n },\n {\n name: 'cast', source: 'topology/index.js#cast', kind: 'skip',\n reason: 'KernelShape 句柄 cast 底层工具,skip',\n },\n {\n name: 'downcast', source: 'topology/index.js#downcast', kind: 'skip',\n reason: 'KernelShape 句柄 downcast 底层工具,skip',\n },\n {\n name: 'deserializeShape', source: 'topology/index.js#deserializeShape', kind: 'skip',\n reason: 'BREP 字节串 → AnyShape(序列化边界,与 fromBREP 同 skip),skip',\n },\n {\n name: 'iterTopo', source: 'topology/index.js#iterTopo', kind: 'skip',\n reason: '拓扑迭代器(子形状句柄流),skip',\n },\n {\n name: 'shapeType', source: 'topology/index.js#shapeType', kind: 'skip',\n reason: 'KernelShape 谓词(返回 TopAbs_ShapeEnum),faijs 以 ShapeKind 体系覆盖,skip',\n },\n {\n name: 'isCompSolid', source: 'topology/index.js#isCompSolid', kind: 'skip',\n reason: 'KernelShape 谓词,faijs 以 isCompound/ShapeKind 覆盖,skip',\n },\n {\n name: 'isNumber', source: 'topology/index.js#isNumber', kind: 'skip',\n reason: '纯类型守卫(无 Shape 参数)',\n },\n {\n name: 'isChamferRadius', source: 'topology/index.js#isChamferRadius', kind: 'skip',\n reason: '纯类型守卫(radius 联合判别,无 Shape 参数)',\n },\n {\n name: 'isFilletRadius', source: 'topology/index.js#isFilletRadius', kind: 'skip',\n reason: '纯类型守卫(radius 联合判别,无 Shape 参数)',\n },\n\n // chamferAngleFns:角-距倒角 DSL → skip(chamfer 同名处置见上)\n {\n name: 'chamferDistAngleShape', source: 'topology/chamferAngleFns.js#chamferDistAngleShape', kind: 'skip',\n reason: '角-距倒角 DSL(上游该名由 chamferDistAngle 别名,属 chamfer 处置 O-CHAMFER-1),skip',\n },\n\n // shapeRef/index.js:持久化形状引用/角色打分 DSL(kernel 引用 + 状态)→ 全 skip\n {\n name: 'createRef', source: 'topology/shapeRef/index.js#createRef', kind: 'skip',\n reason: '形状引用创建(role 表 + kernel 引用),faijs 以 EdgeTopoRef/ShapeSlot 体系覆盖,skip',\n },\n {\n name: 'resolveRef', source: 'topology/shapeRef/index.js#resolveRef', kind: 'skip',\n reason: '形状引用解析(kernel 引用),skip',\n },\n {\n name: 'resolveRefIn', source: 'topology/shapeRef/index.js#resolveRefIn', kind: 'skip',\n reason: '形状引用解析(句柄 + lineage),skip',\n },\n {\n name: 'resolveRefParams', source: 'topology/shapeRef/index.js#resolveRefParams', kind: 'skip',\n reason: '引用参数解析(内部),skip',\n },\n {\n name: 'captureHint', source: 'topology/shapeRef/index.js#captureHint', kind: 'skip',\n reason: '几何提示捕获(子形状哈希),skip',\n },\n {\n name: 'assignRoles', source: 'topology/shapeRef/index.js#assignRoles', kind: 'skip',\n reason: '角色表分配(kernel 状态 DSL),skip',\n },\n {\n name: 'updateRoles', source: 'topology/shapeRef/index.js#updateRoles', kind: 'skip',\n reason: '角色表更新(kernel 状态 DSL),skip',\n },\n {\n name: 'createEdgeRef', source: 'topology/shapeRef/index.js#createEdgeRef', kind: 'skip',\n reason: 'Edge 引用创建(kernel 引用 DSL),faijs 用 EdgeTopoRef,skip',\n },\n {\n name: 'resolveEdgeRef', source: 'topology/shapeRef/index.js#resolveEdgeRef', kind: 'skip',\n reason: 'Edge 引用解析(kernel 引用),skip',\n },\n {\n name: 'createVertexRef', source: 'topology/shapeRef/index.js#createVertexRef', kind: 'skip',\n reason: 'Vertex 引用创建(kernel 引用 DSL),skip',\n },\n {\n name: 'resolveVertexRef', source: 'topology/shapeRef/index.js#resolveVertexRef', kind: 'skip',\n reason: 'Vertex 引用解析(kernel 引用),skip',\n },\n {\n name: 'createDerivedFaceRef', source: 'topology/shapeRef/index.js#createDerivedFaceRef', kind: 'skip',\n reason: '派生 Face 引用创建(kernel 引用 DSL),skip',\n },\n {\n name: 'resolveDerivedFaceRef', source: 'topology/shapeRef/index.js#resolveDerivedFaceRef', kind: 'skip',\n reason: '派生 Face 引用解析(kernel 引用),skip',\n },\n {\n name: 'resolveLineageRef', source: 'topology/shapeRef/index.js#resolveLineageRef', kind: 'skip',\n reason: 'lineage 解析(kernel 引用),skip',\n },\n {\n name: 'isLineageRef', source: 'topology/shapeRef/index.js#isLineageRef', kind: 'skip',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isFaceRef', source: 'topology/shapeRef/index.js#isFaceRef', kind: 'skip',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isEdgeRef', source: 'topology/shapeRef/index.js#isEdgeRef', kind: 'skip',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isVertexRef', source: 'topology/shapeRef/index.js#isVertexRef', kind: 'skip',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'isDerivedFaceRef', source: 'topology/shapeRef/index.js#isDerivedFaceRef', kind: 'skip',\n reason: '纯类型守卫(引用判别,无 kernel 调用)',\n },\n {\n name: 'defaultScorer', source: 'topology/shapeRef/index.js#defaultScorer', kind: 'skip',\n reason: '引用打分器(内核几何求值),skip',\n },\n\n // wrapperFns:状态化类型包装 DSL → skip\n {\n name: 'shape', source: 'topology/wrapperFns.js#shape', kind: 'skip',\n reason: '上游类型包装 DSL(Wrapped* 状态对象),faijs 面为纯值模型,skip',\n },\n {\n name: 'BrepWrapperError', source: 'topology/wrapperFns.js#BrepWrapperError', kind: 'skip',\n reason: '包装层错误类(宿主 DSL),skip',\n },\n\n // mesh 宿主面(缓存/LOD/导出/three helpers)→ 全 skip\n {\n name: 'createMeshCache', source: 'topology/meshCache.js#createMeshCache', kind: 'skip',\n reason: '宿主网格缓存(状态对象),faijs Shape 自带网格链,skip',\n },\n {\n name: 'clearMeshCache', source: 'topology/meshCache.js#clearMeshCache', kind: 'skip',\n reason: '宿主网格缓存清空(状态操作),skip',\n },\n {\n name: 'meshLODs', source: 'topology/meshFns.js#meshLODs', kind: 'skip',\n reason: '宿主 LOD 网格(渲染数据),skip',\n },\n {\n name: 'meshLODsProgressive', source: 'topology/meshFns.js#meshLODsProgressive', kind: 'skip',\n reason: '宿主渐进 LOD(渲染数据),skip',\n },\n {\n name: 'meshMultiLOD', source: 'topology/meshFns.js#meshMultiLOD', kind: 'skip',\n reason: '宿主多 LOD(渲染数据),skip',\n },\n {\n name: 'exportIGES', source: 'topology/meshFns.js#exportIGES', kind: 'skip',\n reason: '宿主文件导出(IGES,host ports 边界),skip',\n },\n {\n name: 'exportSTEP', source: 'topology/meshFns.js#exportSTEP', kind: 'skip',\n reason: '宿主文件导出(STEP,host ports 边界),skip',\n },\n {\n name: 'exportSTL', source: 'topology/meshFns.js#exportSTL', kind: 'skip',\n reason: '宿主文件导出(STL,host ports 边界),skip',\n },\n {\n name: 'toBufferGeometryData', source: 'topology/threeHelpers.js#toBufferGeometryData', kind: 'skip',\n reason: 'three.js 宿主缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toGroupedBufferGeometryData', source: 'topology/threeHelpers.js#toGroupedBufferGeometryData', kind: 'skip',\n reason: 'three.js 宿主缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLineGeometryData', source: 'topology/threeHelpers.js#toLineGeometryData', kind: 'skip',\n reason: 'three.js 宿主线缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLODGeometryData', source: 'topology/threeHelpers.js#toLODGeometryData', kind: 'skip',\n reason: 'three.js 宿主 LOD 缓冲转换(渲染 DSL),skip',\n },\n {\n name: 'toLODGeometryLevels', source: 'topology/threeHelpers.js#toLODGeometryLevels', kind: 'skip',\n reason: 'three.js 宿主 LOD 层级转换(渲染 DSL),skip',\n },\n\n // metadata:颜色/面标签 元数据 DSL(子形状元数据)→ 全 skip\n {\n name: 'colorShape', source: 'topology/metadata/colorFns.js#colorShape', kind: 'skip',\n reason: '形状颜色元数据(宿主视觉面),skip',\n },\n {\n name: 'colorFaces', source: 'topology/metadata/colorFns.js#colorFaces', kind: 'skip',\n reason: '面颜色元数据(子形状 + 宿主视觉),skip',\n },\n {\n name: 'getShapeColor', source: 'topology/metadata/colorFns.js#getShapeColor', kind: 'skip',\n reason: '形状颜色读取(元数据表),skip',\n },\n {\n name: 'getFaceColor', source: 'topology/metadata/colorFns.js#getFaceColor', kind: 'skip',\n reason: '面颜色读取(子形状元数据),skip',\n },\n {\n name: 'tagFaces', source: 'topology/metadata/faceTagFns.js#tagFaces', kind: 'skip',\n reason: '面标签写入(子形状元数据 DSL),skip',\n },\n {\n name: 'findFacesByTag', source: 'topology/metadata/faceTagFns.js#findFacesByTag', kind: 'skip',\n reason: '按标签查面(子形状元数据 DSL),skip',\n },\n {\n name: 'getFaceTags', source: 'topology/metadata/faceTagFns.js#getFaceTags', kind: 'skip',\n reason: '面标签读取(子形状元数据),skip',\n },\n {\n name: 'setTagMetadata', source: 'topology/metadata/faceTagFns.js#setTagMetadata', kind: 'skip',\n reason: '标签元数据写入(状态 DSL),skip',\n },\n {\n name: 'getTagMetadata', source: 'topology/metadata/faceTagFns.js#getTagMetadata', kind: 'skip',\n reason: '标签元数据读取(状态 DSL),skip',\n },\n\n // surface 构建/查询:nurbs/网格曲面/位置查询 → skip(曲面/图像宿主 + 子形状入参)\n {\n name: 'fill', source: 'topology/surfaceBuilders.js#fill', kind: 'skip',\n reason: 'Wire 环绕曲面填充(子形状入参),skip',\n },\n {\n name: 'surfaceFromGrid', source: 'topology/surfaceFns.js#surfaceFromGrid', kind: 'skip',\n reason: '高度网格 → NURBS 曲面(Surface 子形状产物),skip',\n },\n {\n name: 'surfaceFromImage', source: 'topology/surfaceFns.js#surfaceFromImage', kind: 'skip',\n reason: '图像 → 曲面(Blob 宿主输入 + async),skip',\n },\n {\n name: 'positionOnCurve', source: 'topology/positionFns.js#positionOnCurve', kind: 'skip',\n reason: 'Edge 子形状入参(曲线位置),skip',\n },\n {\n name: 'getNurbsCurveData', source: 'topology/nurbsFns.js#getNurbsCurveData', kind: 'skip',\n reason: 'Edge 子形状入参 → NURBS 数据,skip',\n },\n {\n name: 'getNurbsSurfaceData', source: 'topology/nurbsFns.js#getNurbsSurfaceData', kind: 'skip',\n reason: 'Face 子形状入参 → NURBS 数据,skip',\n },\n\n // hull/minkowski/polyhedron:集合/点集构造 DSL → skip(数组入参/内部 kernel 形态)\n {\n name: 'hull', source: 'topology/hullFns.js#hull', kind: 'skip',\n reason: '凸包(点集/形状集数组入参 + 选项 DSL),skip',\n },\n {\n name: 'minkowski', source: 'topology/minkowskiFns.js#minkowski', kind: 'skip',\n reason: 'Minkowski 和(两形状 + 选项 DSL,内部 kernel 形态),skip',\n },\n {\n name: 'polyhedron', source: 'topology/polyhedronFns.js#polyhedron', kind: 'skip',\n reason: '多面体构造(面片选项 DSL,返回 ValidSolid 形态待核),skip',\n },\n\n // ──── P14 补批 12:kernel 模块(57 = 21 value + 36 type;D10 冻结 registry)────\n // kernel 是 L0 注册表面:D10 单实例 occt-wasm 由 faijs 侧装配并冻结`n // (2026-09-25 core-decouple 后 vendored registry 由宿主/测试自装配),\n // 只读/纯数据符号 re-export;registry 生命周期(init/with*/register*/tier/perf)与\n // KernelAdapter 对象谓词登记 skip(理由见各条);上游已剪除符号(BrepkitHandle、\n // PerformanceStats、BrepkitAdapter、init 系等)同样 skip——vendored 树无对应导出。\n //\n // 36 type:34 个 re-export(真身所在文件)+ 2 个 skip(vendored 无此类型)\n { name: 'BooleanDiagnostics', source: 'kernel/types.js#BooleanDiagnostics', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'BooleanIssue', source: 'kernel/types.js#BooleanIssue', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'BooleanOpType', source: 'kernel/types.js#BooleanOpType', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'CheckBooleanResult', source: 'kernel/types.js#CheckBooleanResult', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'NurbsCurveData', source: 'kernel/types.js#NurbsCurveData', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'NurbsSurfaceData', source: 'kernel/types.js#NurbsSurfaceData', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'ShapeEvolution', source: 'kernel/types.js#ShapeEvolution', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'ShapeOrientation', source: 'kernel/types.js#ShapeOrientation', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'ShapeType', source: 'kernel/types.js#ShapeType', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'SurfaceType', source: 'kernel/types.js#SurfaceType', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'ProjectionCapability', source: 'kernel/types.js#ProjectionCapability', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'ConstraintSketchCapability', source: 'kernel/types.js#ConstraintSketchCapability', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelAdapter', source: 'kernel/interfaces/index.js#KernelAdapter', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelCore', source: 'kernel/interfaces/index.js#KernelCore', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelBooleanOps', source: 'kernel/interfaces/index.js#KernelBooleanOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelBuilderOps', source: 'kernel/interfaces/index.js#KernelBuilderOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelCurveOps', source: 'kernel/interfaces/index.js#KernelCurveOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelEvolutionOps', source: 'kernel/interfaces/index.js#KernelEvolutionOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelIOOps', source: 'kernel/interfaces/index.js#KernelIOOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelMeasureOps', source: 'kernel/interfaces/index.js#KernelMeasureOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelMeshOps', source: 'kernel/interfaces/index.js#KernelMeshOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelModifierOps', source: 'kernel/interfaces/index.js#KernelModifierOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelPrimitiveOps', source: 'kernel/interfaces/index.js#KernelPrimitiveOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelRepairOps', source: 'kernel/interfaces/index.js#KernelRepairOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelSurfaceOps', source: 'kernel/interfaces/index.js#KernelSurfaceOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelSweepOps', source: 'kernel/interfaces/index.js#KernelSweepOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelTopologyOps', source: 'kernel/interfaces/index.js#KernelTopologyOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelTransformOps', source: 'kernel/interfaces/index.js#KernelTransformOps', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'KernelCapabilities', source: 'kernel/capabilities.js#KernelCapabilities', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'TessellationModel', source: 'kernel/capabilities.js#TessellationModel', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'QualityLevel', source: 'kernel/quality.js#QualityLevel', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'OcctKernelWasm', source: 'kernel/occtWasm/occtWasmTypes.js#OcctKernelWasm', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'OcctWasmHandle', source: 'kernel/occtWasm/occtWasmTypes.js#OcctWasmHandle', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n { name: 'OcctWasmModule', source: 'kernel/occtWasm/occtWasmTypes.js#OcctWasmModule', kind: 'skip', module: 'kernel', reason: '零引用死分片(§5.5 第 1 条):generated/kernel.ts 已随 brepjs 删除,无接收方(裁决 9)' },\n {\n name: 'BrepkitHandle', source: 'kernel/index.js#BrepkitHandle', kind: 'skip', module: 'kernel',\n reason: '上游 brepkit 句柄类型(faijs 以 OcctWasmHandle 承担),vendored 无此导出,skip',\n },\n {\n name: 'PerformanceStats', source: 'kernel/perfStats.js#PerformanceStats', kind: 'skip', module: 'kernel',\n reason: '性能统计类型,vendored perfStats 模块已剪除,skip',\n },\n\n // 21 value:4 个只读/纯数据 re-export;registry 生命周期与对象谓词 skip\n { name: 'DEFAULT_CAPABILITIES', source: 'kernel/capabilities.js#DEFAULT_CAPABILITIES', kind: 'skip', module: 'kernel', reason: 'kernel 能力常量表(纯数据)' },\n\n { name: 'EXACT_BREP_CAPABILITIES', source: 'kernel/capabilities.js#EXACT_BREP_CAPABILITIES', kind: 'skip', module: 'kernel', reason: 'kernel 能力常量表(纯数据)' },\n\n { name: 'currentQuality', source: 'kernel/quality.js#currentQuality', kind: 'skip', module: 'kernel', reason: '当前细分质量档读取(无 Shape 参数,纯读取)' },\n\n { name: 'getKernelCapabilities', source: 'kernel/index.js#getKernelCapabilities', kind: 'skip', module: 'kernel', reason: 'kernel 能力查询(返回 KernelCapabilities 纯数据)' },\n\n {\n name: 'getKernel', source: 'kernel/index.js#getKernel', kind: 'skip', module: 'kernel',\n reason: 'L0 kernel 读取器(D10:faijs 侧装配并冻结 vendored registry),不向 L3 用户面暴露,skip',\n },\n {\n name: 'registerKernel', source: 'kernel/index.js#registerKernel', kind: 'skip', module: 'kernel',\n reason: 'L0 kernel 注册(D10 冻结后禁止,faijs host 装配期专用),skip',\n },\n {\n name: 'supportsProjection', source: 'kernel/types.js#supportsProjection', kind: 'skip', module: 'kernel',\n reason: 'KernelAdapter 能力谓词(入参为内部 kernel 对象),faijs 面不可达,skip',\n },\n {\n name: 'supportsConstraintSketch', source: 'kernel/types.js#supportsConstraintSketch', kind: 'skip', module: 'kernel',\n reason: 'KernelAdapter 能力谓词(入参为内部 kernel 对象),faijs 面不可达,skip',\n },\n {\n name: 'OcctWasmAdapter', source: 'kernel/occtWasm/occtWasmAdapter.js#OcctWasmAdapter', kind: 'skip', module: 'kernel',\n reason: 'occt-wasm 宿主适配器类(faijs 侧装配期构造单实例,D10),skip',\n },\n {\n name: 'BrepkitAdapter', source: 'kernel/index.js#BrepkitAdapter', kind: 'skip', module: 'kernel',\n reason: '上游 brepkit 适配器(faijs 以 occt 面承担),vendored 无此导出,skip',\n },\n {\n name: 'init', source: 'kernel/index.js#init', kind: 'skip', module: 'kernel',\n reason: '上游 kernel 三档 init(D10 剪除;faijs host 注入 occt-wasm 单实例),skip',\n },\n {\n name: 'initFromOC', source: 'kernel/index.js#initFromOC', kind: 'skip', module: 'kernel',\n reason: '上游 kernel init(D10 剪除),skip',\n },\n {\n name: 'initFromManifold', source: 'kernel/index.js#initFromManifold', kind: 'skip', module: 'kernel',\n reason: '上游 manifold kernel init(D10 剪除),skip',\n },\n {\n name: 'prewarm', source: 'kernel/index.js#prewarm', kind: 'skip', module: 'kernel',\n reason: '上游 kernel 预热(D10 剪除),skip',\n },\n {\n name: 'withKernel', source: 'kernel/index.js#withKernel', kind: 'skip', module: 'kernel',\n reason: '上游运行时切 kernel(D10 剪除:registry 冻结、无运行时切换),skip',\n },\n {\n name: 'withQuality', source: 'kernel/index.js#withQuality', kind: 'skip', module: 'kernel',\n reason: '上游质量档切换(D10 剪除),skip',\n },\n {\n name: 'withTier', source: 'kernel/index.js#withTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 切换(D10 剪除),skip',\n },\n {\n name: 'getKernelTier', source: 'kernel/index.js#getKernelTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 读取(D10 剪除),skip',\n },\n {\n name: 'registerKernelTier', source: 'kernel/index.js#registerKernelTier', kind: 'skip', module: 'kernel',\n reason: '上游 tier 注册(D10 剪除),skip',\n },\n {\n name: 'getPerformanceStats', source: 'kernel/index.js#getPerformanceStats', kind: 'skip', module: 'kernel',\n reason: '上游性能统计读取(vendored 剪除),skip',\n },\n {\n name: 'resetPerformanceStats', source: 'kernel/index.js#resetPerformanceStats', kind: 'skip', module: 'kernel',\n reason: '上游性能统计重置(vendored 剪除),skip',\n },\n]\n"]}