@scriptc/compiler 0.3.4 → 0.3.6

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 (316) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +409 -42
  2. package/dist/backend/llvm/array-search.js +1 -1
  3. package/dist/backend/llvm/array-search.js.map +1 -1
  4. package/dist/backend/llvm/call-lifetimes.d.ts +6 -0
  5. package/dist/backend/llvm/call-lifetimes.js +19 -0
  6. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  7. package/dist/backend/llvm/constant-callbacks.d.ts +2 -21
  8. package/dist/backend/llvm/constant-callbacks.js +36 -219
  9. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  10. package/dist/backend/llvm/constant-callbacks.test.js +22 -0
  11. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  12. package/dist/backend/llvm/dense-array-access.d.ts +9 -0
  13. package/dist/backend/llvm/dense-array-access.js +27 -1
  14. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  15. package/dist/backend/llvm/dyn.d.ts +6 -0
  16. package/dist/backend/llvm/dyn.js +71 -7
  17. package/dist/backend/llvm/dyn.js.map +1 -1
  18. package/dist/backend/llvm/emitter.d.ts +120 -2
  19. package/dist/backend/llvm/emitter.js +820 -142
  20. package/dist/backend/llvm/emitter.js.map +1 -1
  21. package/dist/backend/llvm/expr-async.js +17 -7
  22. package/dist/backend/llvm/expr-async.js.map +1 -1
  23. package/dist/backend/llvm/expr-bytes.js +1 -1
  24. package/dist/backend/llvm/expr-callbacks.d.ts +11 -0
  25. package/dist/backend/llvm/expr-callbacks.js +53 -0
  26. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  27. package/dist/backend/llvm/expr-calls.js +88 -2
  28. package/dist/backend/llvm/expr-calls.js.map +1 -1
  29. package/dist/backend/llvm/expr-containers.js +50 -27
  30. package/dist/backend/llvm/expr-containers.js.map +1 -1
  31. package/dist/backend/llvm/expr-dispatch.js +1 -0
  32. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  33. package/dist/backend/llvm/expr-dynamic.js +25 -1
  34. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  35. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  36. package/dist/backend/llvm/expr-primitives.js +20 -1
  37. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  38. package/dist/backend/llvm/expr-stream-bridges.js +4 -0
  39. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  40. package/dist/backend/llvm/integer-clones.d.ts +103 -0
  41. package/dist/backend/llvm/integer-clones.js +1336 -0
  42. package/dist/backend/llvm/integer-clones.js.map +1 -0
  43. package/dist/backend/llvm/integer-clones.test.d.ts +1 -0
  44. package/dist/backend/llvm/integer-clones.test.js +219 -0
  45. package/dist/backend/llvm/integer-clones.test.js.map +1 -0
  46. package/dist/backend/llvm/lib-datagram.js +14 -0
  47. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  48. package/dist/backend/llvm/lib-dispatch.js +32 -1
  49. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  50. package/dist/backend/llvm/lib-filesystem.js +61 -1
  51. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  52. package/dist/backend/llvm/lib-network.js +21 -3
  53. package/dist/backend/llvm/lib-network.js.map +1 -1
  54. package/dist/backend/llvm/lib-process.js +34 -0
  55. package/dist/backend/llvm/lib-process.js.map +1 -1
  56. package/dist/backend/llvm/lib-shared.js +77 -2
  57. package/dist/backend/llvm/lib-shared.js.map +1 -1
  58. package/dist/backend/llvm/lib-test.js +16 -3
  59. package/dist/backend/llvm/lib-test.js.map +1 -1
  60. package/dist/backend/llvm/lib-tls.js +6 -0
  61. package/dist/backend/llvm/lib-tls.js.map +1 -1
  62. package/dist/backend/llvm/local-array-reads.js +1 -1
  63. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  64. package/dist/backend/llvm/map-entry-fusion.d.ts +28 -0
  65. package/dist/backend/llvm/map-entry-fusion.js +233 -0
  66. package/dist/backend/llvm/map-entry-fusion.js.map +1 -0
  67. package/dist/backend/llvm/map-entry-fusion.test.d.ts +1 -0
  68. package/dist/backend/llvm/map-entry-fusion.test.js +183 -0
  69. package/dist/backend/llvm/map-entry-fusion.test.js.map +1 -0
  70. package/dist/backend/llvm/map-number-lookup.d.ts +2 -0
  71. package/dist/backend/llvm/map-number-lookup.js +1 -1
  72. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  73. package/dist/backend/llvm/map-number-lookup.test.js +10 -11
  74. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  75. package/dist/backend/llvm/map-read-lifetimes.d.ts +2 -0
  76. package/dist/backend/llvm/map-read-lifetimes.js +3 -0
  77. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  78. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  79. package/dist/backend/llvm/nullable-unions.d.ts +6 -3
  80. package/dist/backend/llvm/nullable-unions.js +2 -0
  81. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  82. package/dist/backend/llvm/publish.d.ts +16 -0
  83. package/dist/backend/llvm/publish.js +81 -10
  84. package/dist/backend/llvm/publish.js.map +1 -1
  85. package/dist/backend/llvm/publish.test.d.ts +1 -0
  86. package/dist/backend/llvm/publish.test.js +94 -0
  87. package/dist/backend/llvm/publish.test.js.map +1 -0
  88. package/dist/backend/llvm/record-results.d.ts +1 -1
  89. package/dist/backend/llvm/record-results.js +78 -4
  90. package/dist/backend/llvm/record-results.js.map +1 -1
  91. package/dist/backend/llvm/record-sources.d.ts +7 -0
  92. package/dist/backend/llvm/record-sources.js +14 -0
  93. package/dist/backend/llvm/record-sources.js.map +1 -0
  94. package/dist/backend/llvm/reference-writes.js +1 -0
  95. package/dist/backend/llvm/reference-writes.js.map +1 -1
  96. package/dist/backend/llvm/shapes.d.ts +12 -3
  97. package/dist/backend/llvm/shapes.js +23 -14
  98. package/dist/backend/llvm/shapes.js.map +1 -1
  99. package/dist/backend/llvm/shapes.test.js +5 -3
  100. package/dist/backend/llvm/shapes.test.js.map +1 -1
  101. package/dist/backend/llvm/speculative-integers.d.ts +74 -0
  102. package/dist/backend/llvm/speculative-integers.js +571 -0
  103. package/dist/backend/llvm/speculative-integers.js.map +1 -0
  104. package/dist/backend/llvm/speculative-integers.test.d.ts +1 -0
  105. package/dist/backend/llvm/speculative-integers.test.js +148 -0
  106. package/dist/backend/llvm/speculative-integers.test.js.map +1 -0
  107. package/dist/backend/llvm/string-lifetimes.test.js +75 -1
  108. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  109. package/dist/backend/llvm/walkers.d.ts +17 -0
  110. package/dist/backend/llvm/walkers.js +123 -0
  111. package/dist/backend/llvm/walkers.js.map +1 -1
  112. package/dist/backend/may-throw.js +2 -0
  113. package/dist/backend/may-throw.js.map +1 -1
  114. package/dist/backend/native/contracts.d.ts +2 -1
  115. package/dist/backend/native/executable.js +6 -1
  116. package/dist/backend/native/executable.js.map +1 -1
  117. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  118. package/dist/backend/native/runtime-inputs.js +1 -0
  119. package/dist/backend/native/runtime-inputs.js.map +1 -1
  120. package/dist/backend/runtime-abi.d.ts +2 -2
  121. package/dist/backend/runtime-abi.js +2 -2
  122. package/dist/backend/runtime-pack-targets.test.js +1 -1
  123. package/dist/backend/runtime-pack.d.ts +7 -3
  124. package/dist/backend/runtime-pack.js +12 -6
  125. package/dist/backend/runtime-pack.js.map +1 -1
  126. package/dist/backend/runtime-pack.test.js +16 -7
  127. package/dist/backend/runtime-pack.test.js.map +1 -1
  128. package/dist/contracts/check.js +1 -0
  129. package/dist/contracts/check.js.map +1 -1
  130. package/dist/coverage/surface-manifest.js +3 -3
  131. package/dist/coverage/surface-manifest.js.map +1 -1
  132. package/dist/diagnostics/diagnostic.d.ts +1 -1
  133. package/dist/diagnostics/diagnostic.js +6 -2
  134. package/dist/diagnostics/diagnostic.js.map +1 -1
  135. package/dist/frontend/lowering/builtin-calls.js +13 -0
  136. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  137. package/dist/frontend/lowering/builtins/callable-aliases.js +82 -8
  138. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  139. package/dist/frontend/lowering/builtins/child-process-async.d.ts +8 -6
  140. package/dist/frontend/lowering/builtins/child-process-async.js +45 -29
  141. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  142. package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
  143. package/dist/frontend/lowering/builtins/compression.js +145 -30
  144. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  145. package/dist/frontend/lowering/builtins/crypto.js +12 -1
  146. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  147. package/dist/frontend/lowering/builtins/errors.js +5 -3
  148. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  149. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +6 -0
  150. package/dist/frontend/lowering/builtins/filesystem-calls.js +16 -0
  151. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  152. package/dist/frontend/lowering/builtins/filesystem.d.ts +8 -0
  153. package/dist/frontend/lowering/builtins/filesystem.js +199 -2
  154. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  155. package/dist/frontend/lowering/builtins/fs-streams.d.ts +26 -0
  156. package/dist/frontend/lowering/builtins/fs-streams.js +131 -0
  157. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -0
  158. package/dist/frontend/lowering/builtins/hash-stream.d.ts +12 -0
  159. package/dist/frontend/lowering/builtins/hash-stream.js +80 -0
  160. package/dist/frontend/lowering/builtins/hash-stream.js.map +1 -0
  161. package/dist/frontend/lowering/builtins/module-calls.js +17 -3
  162. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  163. package/dist/frontend/lowering/builtins/process.js +9 -2
  164. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  165. package/dist/frontend/lowering/builtins/readline.d.ts +45 -13
  166. package/dist/frontend/lowering/builtins/readline.js +812 -47
  167. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  168. package/dist/frontend/lowering/builtins/workers.d.ts +4 -0
  169. package/dist/frontend/lowering/builtins/workers.js +58 -0
  170. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  171. package/dist/frontend/lowering/class-dynamic-dispatch.js +150 -8
  172. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  173. package/dist/frontend/lowering/class-protocols.d.ts +55 -0
  174. package/dist/frontend/lowering/class-protocols.js +735 -0
  175. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  176. package/dist/frontend/lowering/containers/array-from-async.d.ts +18 -0
  177. package/dist/frontend/lowering/containers/array-from-async.js +282 -0
  178. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -0
  179. package/dist/frontend/lowering/containers/bytes.js +33 -12
  180. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  181. package/dist/frontend/lowering/containers/collection-grouping.js +2 -1
  182. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  183. package/dist/frontend/lowering/containers/collection-methods.js +27 -23
  184. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  185. package/dist/frontend/lowering/devirtualize.js +20 -7
  186. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  187. package/dist/frontend/lowering/divergences.js +188 -15
  188. package/dist/frontend/lowering/divergences.js.map +1 -1
  189. package/dist/frontend/lowering/lower-calls.js +129 -25
  190. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  191. package/dist/frontend/lowering/lower-classes.js +46 -1
  192. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  193. package/dist/frontend/lowering/lower-dgram.js +55 -15
  194. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  195. package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -1
  196. package/dist/frontend/lowering/lower-event-emitter.js +88 -1
  197. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  198. package/dist/frontend/lowering/lower-exprs.d.ts +4 -0
  199. package/dist/frontend/lowering/lower-exprs.js +239 -71
  200. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  201. package/dist/frontend/lowering/lower-inspect.js +49 -3
  202. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  203. package/dist/frontend/lowering/lower-mock.d.ts +11 -1
  204. package/dist/frontend/lowering/lower-mock.js +377 -61
  205. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  206. package/dist/frontend/lowering/lower-modules.js +1 -0
  207. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  208. package/dist/frontend/lowering/lower-server.d.ts +2 -1
  209. package/dist/frontend/lowering/lower-server.js +234 -21
  210. package/dist/frontend/lowering/lower-server.js.map +1 -1
  211. package/dist/frontend/lowering/lower-stmts.js +60 -13
  212. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  213. package/dist/frontend/lowering/lower-stream.d.ts +1 -3
  214. package/dist/frontend/lowering/lower-stream.js +325 -20
  215. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  216. package/dist/frontend/lowering/lower-test.js +147 -48
  217. package/dist/frontend/lowering/lower-test.js.map +1 -1
  218. package/dist/frontend/lowering/lowerer.d.ts +13 -1
  219. package/dist/frontend/lowering/lowerer.js +10 -2
  220. package/dist/frontend/lowering/lowerer.js.map +1 -1
  221. package/dist/frontend/lowering/null-prototype.d.ts +13 -0
  222. package/dist/frontend/lowering/null-prototype.js +33 -0
  223. package/dist/frontend/lowering/null-prototype.js.map +1 -0
  224. package/dist/frontend/lowering/record-sources.d.ts +15 -0
  225. package/dist/frontend/lowering/record-sources.js +46 -0
  226. package/dist/frontend/lowering/record-sources.js.map +1 -0
  227. package/dist/frontend/lowering/surfaces.d.ts +3 -3
  228. package/dist/frontend/lowering/surfaces.js +59 -5
  229. package/dist/frontend/lowering/surfaces.js.map +1 -1
  230. package/dist/frontend/mock-shapes.d.ts +5 -0
  231. package/dist/frontend/mock-shapes.js +27 -2
  232. package/dist/frontend/mock-shapes.js.map +1 -1
  233. package/dist/frontend/program.js +5 -4
  234. package/dist/frontend/program.js.map +1 -1
  235. package/dist/frontend/type-mapper.d.ts +3 -0
  236. package/dist/frontend/type-mapper.js +148 -4
  237. package/dist/frontend/type-mapper.js.map +1 -1
  238. package/dist/index.js +18 -8
  239. package/dist/index.js.map +1 -1
  240. package/dist/ir/analysis.d.ts +10 -0
  241. package/dist/ir/analysis.js +35 -0
  242. package/dist/ir/analysis.js.map +1 -1
  243. package/dist/ir/analysis.test.js +69 -1
  244. package/dist/ir/analysis.test.js.map +1 -1
  245. package/dist/ir/builtin-effects.js +72 -0
  246. package/dist/ir/builtin-effects.js.map +1 -1
  247. package/dist/ir/builtin-signatures.d.ts +1 -1
  248. package/dist/ir/builtin-signatures.js +258 -13
  249. package/dist/ir/builtin-signatures.js.map +1 -1
  250. package/dist/ir/capture-values.d.ts +107 -0
  251. package/dist/ir/capture-values.js +850 -0
  252. package/dist/ir/capture-values.js.map +1 -0
  253. package/dist/ir/capture-values.test.d.ts +1 -0
  254. package/dist/ir/capture-values.test.js +268 -0
  255. package/dist/ir/capture-values.test.js.map +1 -0
  256. package/dist/ir/field-values.d.ts +16 -0
  257. package/dist/ir/field-values.js +128 -0
  258. package/dist/ir/field-values.js.map +1 -0
  259. package/dist/ir/field-values.test.d.ts +1 -0
  260. package/dist/ir/field-values.test.js +160 -0
  261. package/dist/ir/field-values.test.js.map +1 -0
  262. package/dist/ir/final-fields.d.ts +4 -1
  263. package/dist/ir/final-fields.js +11 -3
  264. package/dist/ir/final-fields.js.map +1 -1
  265. package/dist/ir/function-references.test.js +2 -1
  266. package/dist/ir/function-references.test.js.map +1 -1
  267. package/dist/ir/init-only-globals.d.ts +16 -0
  268. package/dist/ir/init-only-globals.js +121 -0
  269. package/dist/ir/init-only-globals.js.map +1 -0
  270. package/dist/ir/init-only-globals.test.d.ts +1 -0
  271. package/dist/ir/init-only-globals.test.js +115 -0
  272. package/dist/ir/init-only-globals.test.js.map +1 -0
  273. package/dist/ir/initializer-bindings.d.ts +18 -1
  274. package/dist/ir/initializer-bindings.js +91 -1
  275. package/dist/ir/initializer-bindings.js.map +1 -1
  276. package/dist/ir/initializer-bindings.test.js +57 -2
  277. package/dist/ir/initializer-bindings.test.js.map +1 -1
  278. package/dist/ir/int32-slots.d.ts +22 -0
  279. package/dist/ir/int32-slots.js +398 -13
  280. package/dist/ir/int32-slots.js.map +1 -1
  281. package/dist/ir/int32-slots.test.js +119 -8
  282. package/dist/ir/int32-slots.test.js.map +1 -1
  283. package/dist/ir/integer-loop-facts.d.ts +27 -1
  284. package/dist/ir/integer-loop-facts.js +239 -7
  285. package/dist/ir/integer-loop-facts.js.map +1 -1
  286. package/dist/ir/integer-ranges.d.ts +8 -5
  287. package/dist/ir/integer-ranges.js +147 -59
  288. package/dist/ir/integer-ranges.js.map +1 -1
  289. package/dist/ir/integer-ranges.test.js +285 -7
  290. package/dist/ir/integer-ranges.test.js.map +1 -1
  291. package/dist/ir/ir.d.ts +22 -1
  292. package/dist/ir/ir.js +4 -0
  293. package/dist/ir/ir.js.map +1 -1
  294. package/dist/ir/property-bags.d.ts +14 -0
  295. package/dist/ir/property-bags.js +121 -0
  296. package/dist/ir/property-bags.js.map +1 -0
  297. package/dist/ir/receiver-readers.d.ts +21 -0
  298. package/dist/ir/receiver-readers.js +217 -0
  299. package/dist/ir/receiver-readers.js.map +1 -0
  300. package/dist/ir/runtime-features.d.ts +3 -1
  301. package/dist/ir/runtime-features.js +102 -7
  302. package/dist/ir/runtime-features.js.map +1 -1
  303. package/dist/ir/runtime-features.test.js +62 -0
  304. package/dist/ir/runtime-features.test.js.map +1 -1
  305. package/dist/ir/traverse.js +4 -0
  306. package/dist/ir/traverse.js.map +1 -1
  307. package/dist/ir/validate.js +71 -3
  308. package/dist/ir/validate.js.map +1 -1
  309. package/dist/ir/validate.test.js +59 -0
  310. package/dist/ir/validate.test.js.map +1 -1
  311. package/dist/library/int-infer.js +3 -0
  312. package/dist/library/int-infer.js.map +1 -1
  313. package/dist/library/ir-policy.js +5 -0
  314. package/dist/library/ir-policy.js.map +1 -1
  315. package/package.json +20 -20
  316. package/surface-manifest.json +57 -19
@@ -1 +1 @@
1
- {"version":3,"file":"record-results.js","sourceRoot":"","sources":["../../../src/backend/llvm/record-results.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-results.js","sourceRoot":"","sources":["../../../src/backend/llvm/record-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,IAAI,GAQL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;+EAC+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,GAAG,mBAAmB,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;+DAC+D;AAC/D,MAAM,UAAU,iBAAiB,CAC/B,KAAgC,EAChC,MAAyB;IAEzB,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,CAAC,KAAK,CAAC,UAAU;QACjB,CAAC,KAAK,CAAC,KAAK;QACZ,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CACvF,CACF,CAAC;AACJ,CAAC;AAED;2DAC2D;AAC3D,MAAM,UAAU,qBAAqB,CACnC,CAAiC,EACjC,KAAgC;IAEhC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;0CAE0C;AAC1C,MAAM,UAAU,qBAAqB,CACnC,GAA2B,EAC3B,IAA4B,EAC5B,MAAe,EACf,eAAwB,EACxB,MAAyB;IAEzB,IACE,CAAC,GAAG;QACJ,CAAC,IAAI;QACL,MAAM;QACN,eAAe;QACf,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,aAAa,KAAK,SAAS;QAC/B,GAAG,CAAC,eAAe;QACnB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,SAAS;QACd,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CACf,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;YAC1B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAC1C;QAED,OAAO,KAAK,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7F,CAAC;AAED;;8CAE8C;AAC9C,MAAM,UAAU,4BAA4B,CAAC,GAAe,EAAE,IAAgB;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,CAAC,IAAY,EAAW,EAAE,CAC9B,CAAC,CACC,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI;YACzB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CACxB;QACH,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;4EAK4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,GAAa;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAClC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EACvD,GAAG,CAAC,OAAO,IAAI,EAAE,CAClB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE,CAC3C,qBAAqB,CACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACjB,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,cAAc,CAAC,EACrC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EACf,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAClB,MAAM,CACP,CAAC;IACJ,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,SAAS;QAC5B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;YACrB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IACE,IAAI,CAAC,IAAI,KAAK,WAAW;oBACzB,IAAI,CAAC,IAAI,KAAK,cAAc;oBAC5B,IAAI,CAAC,IAAI,KAAK,iBAAiB;oBAE/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CACzC,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,GAAG,CAAC,GAAG,KAAK,SAAS;QACrB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC,aAAa,CAAC,GAAG;QAClB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAA2B,EAAW,EAAE;QACvE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,qBAAqB,CAC1B,KAAK,EACL,MAAM,CAAC,GAAG,CAAE,KAAK,CAAC,IAAoC,CAAC,OAAO,CAAC,CAChE,CAAC;YACJ,KAAK,KAAK;gBACR,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvE,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,GAAW,EAAY,EAAE;QACpD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAClC,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,GAAG;oBACR,OAAO,EAAG,KAAK,CAAC,IAAoC,CAAC,OAAO;oBAC5D,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;iBACrB,CAAC,CAAC,CAAC;YACN,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,OAAO,GAAI,KAAK,CAAC,IAAoC,CAAC,OAAO,CAAC;gBACpE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACjD,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,GAAG;oBACR,OAAO;oBACP,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,GAAG,EAAE,KAAK;wBACV,OAAO;wBACP,KAAK,EAAE,KAAK,CAAC,IAAI;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf;oBACD,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC,CAAC,CAAC;YACN,CAAC;YACD,KAAK,MAAM;gBACT,OAAO;oBACL;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;4BACrC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;4BAC1B,IAAI,EAAE,IAAI;4BACV,GAAG,EAAE,KAAK,CAAC,GAAG;yBACf;wBACD,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf;iBACF,CAAC;YACJ,KAAK,KAAK;gBACR,OAAO;oBACL;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,cAAc;4BACzC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;4BAC1B,IAAI,EAAE,IAAI;4BACV,GAAG,EAAE,KAAK,CAAC,GAAG;yBACf;wBACD,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf;iBACF,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO;oBACL;wBACE,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;wBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;wBAC7B,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf;iBACF,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IACF,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,UAAU,GAAG,CAAC,KAAa,EAAe,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,SAAS,CAAC,KAAK,EAAE;YACf,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACV,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;oBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAwB,EAAW,EAAE,CACpE,CAAC,SAAS,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YACV,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,QAAQ,CAAC;gBACd,KAAK,YAAY,CAAC;gBAClB,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7B,KAAK,SAAS;oBACZ,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/C;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YACV,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7B;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACL,MAAM,MAAM,GAAG,CAAC,KAAa,EAAW,EAAE,CACxC,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,0EAA0E;IAC1E,qBAAqB;IACrB,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,GAAgB,EAAW,EAAE;QAC7D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;wBAAE,SAAS;oBAClC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;oBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;wBACpC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC;4BAAE,OAAO,KAAK,CAAC;oBACzD,SAAS,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE;wBACpB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;4BACV,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gCAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACrC,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,SAAS;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1F;gBACE,6DAA6D;gBAC7D,gCAAgC;gBAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC7C,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS;YACzF,OAAO,KAAK,CAAC;QACf,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;QAC1B,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7E,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,EAAE,IAAI,UAAU;QAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAW,EAAE;QAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;YAChC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACV,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;gBACtD,OAAO,EAAE,CAAC;gBACV,0CAA0C;gBAC1C,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACzF,CAAC;SACF,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,UAAU;YACzB,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,MAAM,GAAG,GAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;YACtC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;gBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;gBACrF,CAAC,CAAC,CAAC;SACR,CAAC,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,IAAI;YACP,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAClE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7E,UAAU,EAAE,IAAI;YAChB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACxF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { IrRecordShape } from "../../ir/ir.js";
2
+ /** Field names in declaration order (the order the record serializes),
3
+ * followed by fields the declaration order omits (internal '%'-fields). */
4
+ export declare function recordSourceFieldOrder(shape: IrRecordShape): string[];
5
+ /** Closed declared-field layouts: the shapes a checked conversion can keep
6
+ * an undeclared-key source for. */
7
+ export declare function recordMayKeepSource(shape: IrRecordShape): boolean;
@@ -0,0 +1,14 @@
1
+ /** Field names in declaration order (the order the record serializes),
2
+ * followed by fields the declaration order omits (internal '%'-fields). */
3
+ export function recordSourceFieldOrder(shape) {
4
+ const declared = new Set(shape.fields.map((f) => f.name));
5
+ const order = (shape.declaredOrder ?? []).filter((name) => declared.has(name));
6
+ const listed = new Set(order);
7
+ return [...order, ...shape.fields.map((f) => f.name).filter((name) => !listed.has(name))];
8
+ }
9
+ /** Closed declared-field layouts: the shapes a checked conversion can keep
10
+ * an undeclared-key source for. */
11
+ export function recordMayKeepSource(shape) {
12
+ return !shape.tuple && !shape.indexValue && shape.fields.length > 0;
13
+ }
14
+ //# sourceMappingURL=record-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-sources.js","sourceRoot":"","sources":["../../../src/backend/llvm/record-sources.ts"],"names":[],"mappings":"AAOA;2EAC2E;AAC3E,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;mCACmC;AACnC,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACtE,CAAC"}
@@ -552,6 +552,7 @@ export class ReferenceWrites {
552
552
  case "recordHas":
553
553
  case "recordKeyGet":
554
554
  case "recordOvfHas":
555
+ case "recordNullProto":
555
556
  case "recordOvfKeys":
556
557
  case "fieldAbsent":
557
558
  case "unionDisc":
@@ -1 +1 @@
1
- {"version":3,"file":"reference-writes.js","sourceRoot":"","sources":["../../../src/backend/llvm/reference-writes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-writes.js","sourceRoot":"","sources":["../../../src/backend/llvm/reference-writes.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,11 @@ export interface ShapeHost {
15
15
  classRootOf?(className: string): string | undefined;
16
16
  /** Request the shared OOM abort helper (@sc_oom) — emitted once. */
17
17
  needOom(): void;
18
+ /** The immutable ScrMapOps descriptor (scr_map.h) of a Map or Set type:
19
+ * a module constant holding the LLVM operands { key retain, key release,
20
+ * key trace, value retain, value release, value trace, union key kinds },
21
+ * or `null` when every operand is null. */
22
+ mapOps(operands: readonly string[]): string;
18
23
  /** The target C ABI's `size_t` / refcount integer type. */
19
24
  readonly sizeType: "i32" | "i64";
20
25
  /** Byte offset from an object pointer back to ScrCycHdr.buf. */
@@ -98,8 +103,8 @@ export declare function emitNullableRetainWrappers(host: ShapeHost): string[];
98
103
  * Families with a mirrored fast path call the inline helper instead. */
99
104
  export declare function releaseSym(host: ShapeHost, t: IrType): string;
100
105
  /** How a runtime family decides whether an object carries a ScrCycHdr:
101
- * never, always, or per object through the trace slots its C release
102
- * tests (`a->cyc`, `m->key_trace || m->val_trace`). */
106
+ * never, always, or per object through the header flag its C release
107
+ * tests (`a->cyc`, `m->traced`). */
103
108
  type RcCycle = "none" | "always" | "arr" | "map";
104
109
  interface InlineRcFamily {
105
110
  readonly cycle: RcCycle;
@@ -121,7 +126,8 @@ interface InlineRcFamily {
121
126
  *
122
127
  * The dyn release buffers a surviving value by kind (scr_dyn_release):
123
128
  * the fast path decides the always and never cases and calls
124
- * scr_dyn_release_survivor for kinds whose candidacy is per value.
129
+ * scr_dyn_release_survivor for kinds whose candidacy is per value,
130
+ * including arrays and objects of intact documents (ScrDynRegion).
125
131
  *
126
132
  * Releases stay plain calls for:
127
133
  * - arr: array releases are the most numerous release sites and the
@@ -217,6 +223,9 @@ export type MapKeyAccess = "f64" | "bool" | "str" | "ref";
217
223
  export declare function mapKeyAccess(key: IrType): MapKeyAccess;
218
224
  export declare function mapKeyLlType(access: MapKeyAccess): "double" | "i1" | "ptr";
219
225
  export declare function mapKeyParamType(access: MapKeyAccess): string;
226
+ /** The byte offset of ScrMap.flags (scr_map.h), whose SCR_MAP_NULL_PROTO
227
+ * bit marks a null-prototype record's overflow map. */
228
+ export declare function mapFlagsOffset(sizeType: "i32" | "i64"): number;
220
229
  /** The ScrMapKeyKind / ScrMapValKind constants for scr_map_new. */
221
230
  export declare function mapKeyKindNum(key: IrType, unionArms?: IrType[]): number;
222
231
  export declare function mapValKindNum(value: IrType): number;
@@ -140,7 +140,8 @@ export function releaseSym(host, t) {
140
140
  *
141
141
  * The dyn release buffers a surviving value by kind (scr_dyn_release):
142
142
  * the fast path decides the always and never cases and calls
143
- * scr_dyn_release_survivor for kinds whose candidacy is per value.
143
+ * scr_dyn_release_survivor for kinds whose candidacy is per value,
144
+ * including arrays and objects of intact documents (ScrDynRegion).
144
145
  *
145
146
  * Releases stay plain calls for:
146
147
  * - arr: array releases are the most numerous release sites and the
@@ -304,7 +305,7 @@ export function inlineRcDecls(host) {
304
305
  return [...decls];
305
306
  }
306
307
  /** Branch to `yes` when a per-object family's object carries a cycle
307
- * header (its C retain/release trace-slot test), else to `no`. */
308
+ * header (the C retain/release header test), else to `no`. */
308
309
  function rcHeaderTest(cycle, yes, no) {
309
310
  if (cycle === "arr") {
310
311
  return [
@@ -315,13 +316,9 @@ function rcHeaderTest(cycle, yes, no) {
315
316
  ];
316
317
  }
317
318
  return [
318
- ` %vtracep = getelementptr inbounds %ScrMapRc, ptr %o, i32 0, i32 5 ; val_trace`,
319
- ` %vtrace = load ptr, ptr %vtracep`,
320
- ` %ktracep = getelementptr inbounds %ScrMapRc, ptr %o, i32 0, i32 8 ; key_trace`,
321
- ` %ktrace = load ptr, ptr %ktracep`,
322
- ` %vheadered = icmp ne ptr %vtrace, null`,
323
- ` %kheadered = icmp ne ptr %ktrace, null`,
324
- ` %headered = or i1 %vheadered, %kheadered`,
319
+ ` %tracedp = getelementptr inbounds %ScrMapRc, ptr %o, i32 0, i32 3 ; traced`,
320
+ ` %traced = load i8, ptr %tracedp`,
321
+ ` %headered = icmp ne i8 %traced, 0`,
325
322
  ` br i1 %headered, label %${yes}, label %${no}`,
326
323
  ];
327
324
  }
@@ -386,12 +383,19 @@ function releaseHelper(host, family, row) {
386
383
  : family === "dyn"
387
384
  ? [
388
385
  // scr_dyn_release buffers a surviving value by kind: always for
389
- // arrays, objects, functions and proxies, per value for capsules
390
- // and handles (scr_dyn_release_survivor), never for scalars.
386
+ // functions and proxies, per value for arrays and objects (not
387
+ // while their document is intact, ScrDynRegion), capsules and
388
+ // handles (scr_dyn_release_survivor), never for scalars. An
389
+ // array or object already in a candidate buffer stays inline.
391
390
  ` %kp = getelementptr i8, ptr %o, ${S} ${S === "i64" ? 8 : 4} ; ScrDyn.kind`,
392
391
  ` %kind = load i32, ptr %kp`,
393
392
  // SCR_DYN_ARR 4, OBJ 5, FUNC 8, PROXY 13; HANDLE 9, TYPED_REF 12.
394
- ` switch i32 %kind, label %done [ i32 4, label %root i32 5, label %root i32 8, label %root i32 13, label %root i32 9, label %survivor i32 12, label %survivor ]`,
393
+ ` switch i32 %kind, label %done [ i32 4, label %container i32 5, label %container i32 8, label %root i32 13, label %root i32 9, label %survivor i32 12, label %survivor ]`,
394
+ `container:`,
395
+ ` %cbufp = getelementptr i8, ptr %o, ${S} -${host.cycleBufOffset}`,
396
+ ` %cbuf = load i32, ptr %cbufp`,
397
+ ` %cqueued = icmp slt i32 %cbuf, 0`,
398
+ ` br i1 %cqueued, label %done, label %survivor`,
395
399
  `survivor:`,
396
400
  ` call void @scr_dyn_release_survivor(ptr %o)`,
397
401
  ` br label %done`,
@@ -709,6 +713,11 @@ export function mapKeyLlType(access) {
709
713
  export function mapKeyParamType(access) {
710
714
  return access === "bool" ? "i1 zeroext" : mapKeyLlType(access);
711
715
  }
716
+ /** The byte offset of ScrMap.flags (scr_map.h), whose SCR_MAP_NULL_PROTO
717
+ * bit marks a null-prototype record's overflow map. */
718
+ export function mapFlagsOffset(sizeType) {
719
+ return (sizeType === "i64" ? 8 : 4) + 3;
720
+ }
712
721
  /** The ScrMapKeyKind / ScrMapValKind constants for scr_map_new. */
713
722
  export function mapKeyKindNum(key, unionArms) {
714
723
  if (key.kind === "dyn")
@@ -1106,12 +1115,12 @@ export function emitRecordShapes(host, mod) {
1106
1115
  if (shape.indexValue) {
1107
1116
  // The overflow map (string-keyed): value handling is type-directed
1108
1117
  // exactly like shapes.ts's overflowNewC.
1109
- host.declare(`declare ptr @scr_map_new(i32, i32, ptr, ptr, ptr)`);
1118
+ host.declare(`declare ptr @scr_map_new(i32, i32, ptr)`);
1110
1119
  const v = shape.indexValue;
1111
1120
  const valKind = v.kind === "f64" ? 0 : v.kind === "bool" ? 1 : 2;
1112
1121
  const rc = valKind === 2 ? vAdapters(host, v) : { retain: "null", release: "null" };
1113
1122
  const trace = valKind === 2 ? traceArg(host, v) : "null";
1114
- nw.push(` %ovf = call ptr @scr_map_new(i32 1, i32 ${valKind}, ptr ${rc.retain}, ptr ${rc.release}, ptr ${trace})`, ` %ovfp = getelementptr inbounds %${struct}, ptr %o, i64 0, i32 ${shape.fields.length + 1}`, ` store ptr %ovf, ptr %ovfp`);
1123
+ nw.push(` %ovf = call ptr @scr_map_new(i32 1, i32 ${valKind}, ptr ${host.mapOps(["null", "null", "null", rc.retain, rc.release, trace, "null"])})`, ` %ovfp = getelementptr inbounds %${struct}, ptr %o, i64 0, i32 ${shape.fields.length + 1}`, ` store ptr %ovf, ptr %ovfp`);
1115
1124
  }
1116
1125
  nw.push(` ret ptr %o`, `}`, ``);
1117
1126
  defs.push(...nw);
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../../src/backend/llvm/shapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../../../src/backend/llvm/shapes.ts"],"names":[],"mappings":"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"}