interaqt 0.1.0 → 0.2.1

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 (329) hide show
  1. package/agent/.claude/agents/code-generation-handler.md +598 -0
  2. package/agent/.claude/agents/computation-generation-handler.md +290 -0
  3. package/agent/.claude/agents/implement-design-handler.md +179 -0
  4. package/agent/.claude/agents/permission-generation-handler.md +202 -0
  5. package/agent/.claude/agents/requirements-analysis-handler-bak.md +530 -0
  6. package/agent/.claude/agents/requirements-analysis-handler.md +720 -0
  7. package/agent/.claude/settings.local.json +46 -0
  8. package/agent/CLAUDE.md +72 -0
  9. package/dist/index.js +10508 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/runtime/ComputationSourceMap.d.ts +117 -0
  12. package/dist/runtime/ComputationSourceMap.d.ts.map +1 -0
  13. package/dist/runtime/Controller.d.ts +37 -26
  14. package/dist/runtime/Controller.d.ts.map +1 -1
  15. package/dist/runtime/ExternalSynchronizer.d.ts +6 -0
  16. package/dist/runtime/ExternalSynchronizer.d.ts.map +1 -0
  17. package/dist/runtime/MonoSystem.d.ts +29 -17
  18. package/dist/runtime/MonoSystem.d.ts.map +1 -1
  19. package/dist/runtime/Mysql.d.ts +2 -2
  20. package/dist/runtime/PGLite.d.ts +35 -0
  21. package/dist/runtime/PGLite.d.ts.map +1 -0
  22. package/dist/runtime/PostgreSQL.d.ts +2 -2
  23. package/dist/runtime/SQLite.d.ts +3 -3
  24. package/dist/runtime/SQLite.d.ts.map +1 -1
  25. package/dist/runtime/Scheduler.d.ts +28 -61
  26. package/dist/runtime/Scheduler.d.ts.map +1 -1
  27. package/dist/runtime/System.d.ts +18 -224
  28. package/dist/runtime/System.d.ts.map +1 -1
  29. package/dist/runtime/{ActivityCall.d.ts → activity/ActivityCall.d.ts} +6 -7
  30. package/dist/runtime/activity/ActivityCall.d.ts.map +1 -0
  31. package/dist/runtime/activity/ActivityManager.d.ts +44 -0
  32. package/dist/runtime/activity/ActivityManager.d.ts.map +1 -0
  33. package/dist/runtime/{InteractionCall.d.ts → activity/InteractionCall.d.ts} +28 -41
  34. package/dist/runtime/activity/InteractionCall.d.ts.map +1 -0
  35. package/dist/runtime/computations/Any.d.ts +71 -0
  36. package/dist/runtime/computations/Any.d.ts.map +1 -0
  37. package/dist/runtime/computations/Average.d.ts +69 -0
  38. package/dist/runtime/computations/Average.d.ts.map +1 -0
  39. package/dist/runtime/computations/Computation.d.ts +138 -0
  40. package/dist/runtime/computations/Computation.d.ts.map +1 -0
  41. package/dist/runtime/computations/Count.d.ts +73 -0
  42. package/dist/runtime/computations/Count.d.ts.map +1 -0
  43. package/dist/runtime/computations/Custom.d.ts +45 -0
  44. package/dist/runtime/computations/Custom.d.ts.map +1 -0
  45. package/dist/runtime/computations/Every.d.ts +74 -0
  46. package/dist/runtime/computations/Every.d.ts.map +1 -0
  47. package/dist/runtime/computations/MathResolver.d.ts +60 -0
  48. package/dist/runtime/computations/MathResolver.d.ts.map +1 -0
  49. package/dist/runtime/computations/RealTime.d.ts +66 -0
  50. package/dist/runtime/computations/RealTime.d.ts.map +1 -0
  51. package/dist/runtime/{computedDataHandles → computations}/StateMachine.d.ts +31 -22
  52. package/dist/runtime/computations/StateMachine.d.ts.map +1 -0
  53. package/dist/runtime/computations/Summation.d.ts +66 -0
  54. package/dist/runtime/computations/Summation.d.ts.map +1 -0
  55. package/dist/runtime/computations/Transform.d.ts +29 -0
  56. package/dist/runtime/computations/Transform.d.ts.map +1 -0
  57. package/dist/runtime/computations/TransitionFinder.d.ts +11 -0
  58. package/dist/runtime/computations/TransitionFinder.d.ts.map +1 -0
  59. package/dist/runtime/computations/WeightedSummation.d.ts +71 -0
  60. package/dist/runtime/computations/WeightedSummation.d.ts.map +1 -0
  61. package/dist/runtime/computations/index.d.ts +22 -0
  62. package/dist/runtime/computations/index.d.ts.map +1 -0
  63. package/dist/runtime/errors/ActivityErrors.d.ts +40 -0
  64. package/dist/runtime/errors/ActivityErrors.d.ts.map +1 -0
  65. package/dist/runtime/errors/ComputationErrors.d.ts +61 -0
  66. package/dist/runtime/errors/ComputationErrors.d.ts.map +1 -0
  67. package/dist/runtime/errors/ConditionErrors.d.ts +33 -0
  68. package/dist/runtime/errors/ConditionErrors.d.ts.map +1 -0
  69. package/dist/runtime/errors/FrameworkError.d.ts +77 -0
  70. package/dist/runtime/errors/FrameworkError.d.ts.map +1 -0
  71. package/dist/runtime/errors/InteractionErrors.d.ts +21 -0
  72. package/dist/runtime/errors/InteractionErrors.d.ts.map +1 -0
  73. package/dist/runtime/errors/SystemErrors.d.ts +16 -0
  74. package/dist/runtime/errors/SystemErrors.d.ts.map +1 -0
  75. package/dist/runtime/errors/index.d.ts +37 -0
  76. package/dist/runtime/errors/index.d.ts.map +1 -0
  77. package/dist/runtime/index.d.ts +9 -7
  78. package/dist/runtime/index.d.ts.map +1 -1
  79. package/dist/shared/Action.d.ts +38 -0
  80. package/dist/shared/Action.d.ts.map +1 -0
  81. package/dist/shared/Activity.d.ts +178 -0
  82. package/dist/shared/Activity.d.ts.map +1 -0
  83. package/dist/shared/Any.d.ts +82 -0
  84. package/dist/shared/Any.d.ts.map +1 -0
  85. package/dist/shared/Attributive.d.ts +92 -0
  86. package/dist/shared/Attributive.d.ts.map +1 -0
  87. package/dist/shared/Average.d.ts +59 -0
  88. package/dist/shared/Average.d.ts.map +1 -0
  89. package/dist/shared/BoolExp.d.ts +139 -63
  90. package/dist/shared/BoolExp.d.ts.map +1 -1
  91. package/dist/shared/Computation.d.ts +23 -0
  92. package/dist/shared/Computation.d.ts.map +1 -0
  93. package/dist/shared/Condition.d.ts +43 -0
  94. package/dist/shared/Condition.d.ts.map +1 -0
  95. package/dist/shared/Conditions.d.ts +38 -0
  96. package/dist/shared/Conditions.d.ts.map +1 -0
  97. package/dist/shared/Count.d.ts +77 -0
  98. package/dist/shared/Count.d.ts.map +1 -0
  99. package/dist/shared/Custom.d.ts +108 -0
  100. package/dist/shared/Custom.d.ts.map +1 -0
  101. package/dist/shared/Data.d.ts +121 -0
  102. package/dist/shared/Data.d.ts.map +1 -0
  103. package/dist/shared/DataAttributives.d.ts +38 -0
  104. package/dist/shared/DataAttributives.d.ts.map +1 -0
  105. package/dist/shared/Entity.d.ts +96 -0
  106. package/dist/shared/Entity.d.ts.map +1 -0
  107. package/dist/shared/Event.d.ts +36 -0
  108. package/dist/shared/Event.d.ts.map +1 -0
  109. package/dist/shared/Every.d.ts +85 -0
  110. package/dist/shared/Every.d.ts.map +1 -0
  111. package/dist/shared/Gateway.d.ts +36 -0
  112. package/dist/shared/Gateway.d.ts.map +1 -0
  113. package/dist/shared/Interaction.d.ts +108 -0
  114. package/dist/shared/Interaction.d.ts.map +1 -0
  115. package/dist/shared/Payload.d.ts +39 -0
  116. package/dist/shared/Payload.d.ts.map +1 -0
  117. package/dist/shared/PayloadItem.d.ts +85 -0
  118. package/dist/shared/PayloadItem.d.ts.map +1 -0
  119. package/dist/shared/Property.d.ts +83 -0
  120. package/dist/shared/Property.d.ts.map +1 -0
  121. package/dist/shared/RealDictionary.d.ts +94 -0
  122. package/dist/shared/RealDictionary.d.ts.map +1 -0
  123. package/dist/shared/RealTime.d.ts +66 -0
  124. package/dist/shared/RealTime.d.ts.map +1 -0
  125. package/dist/shared/RefContainer.d.ts +89 -0
  126. package/dist/shared/RefContainer.d.ts.map +1 -0
  127. package/dist/shared/Relation.d.ts +140 -0
  128. package/dist/shared/Relation.d.ts.map +1 -0
  129. package/dist/shared/SideEffect.d.ts +45 -0
  130. package/dist/shared/SideEffect.d.ts.map +1 -0
  131. package/dist/shared/StateMachine.d.ts +55 -0
  132. package/dist/shared/StateMachine.d.ts.map +1 -0
  133. package/dist/shared/StateNode.d.ts +45 -0
  134. package/dist/shared/StateNode.d.ts.map +1 -0
  135. package/dist/shared/StateTransfer.d.ts +63 -0
  136. package/dist/shared/StateTransfer.d.ts.map +1 -0
  137. package/dist/shared/Summation.d.ts +59 -0
  138. package/dist/shared/Summation.d.ts.map +1 -0
  139. package/dist/shared/Transform.d.ts +54 -0
  140. package/dist/shared/Transform.d.ts.map +1 -0
  141. package/dist/shared/User.d.ts +10 -0
  142. package/dist/shared/User.d.ts.map +1 -0
  143. package/dist/shared/WeightedSummation.d.ts +82 -0
  144. package/dist/shared/WeightedSummation.d.ts.map +1 -0
  145. package/dist/shared/index.d.ts +35 -9
  146. package/dist/shared/index.d.ts.map +1 -1
  147. package/dist/shared/init.d.ts +3 -0
  148. package/dist/shared/init.d.ts.map +1 -0
  149. package/dist/shared/interfaces.d.ts +72 -0
  150. package/dist/shared/interfaces.d.ts.map +1 -0
  151. package/dist/shared/types.d.ts +77 -0
  152. package/dist/shared/types.d.ts.map +1 -0
  153. package/dist/shared/utils.d.ts +16 -10
  154. package/dist/shared/utils.d.ts.map +1 -1
  155. package/dist/storage/erstorage/AttributeInfo.d.ts +8 -3
  156. package/dist/storage/erstorage/AttributeInfo.d.ts.map +1 -1
  157. package/dist/storage/erstorage/AttributeQuery.d.ts +4 -3
  158. package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -1
  159. package/dist/storage/erstorage/EntityQueryHandle.d.ts +18 -17
  160. package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -1
  161. package/dist/storage/erstorage/EntityToTableMap.d.ts +27 -5
  162. package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -1
  163. package/dist/storage/erstorage/FilteredEntityManager.d.ts +70 -0
  164. package/dist/storage/erstorage/FilteredEntityManager.d.ts.map +1 -0
  165. package/dist/storage/erstorage/LinkInfo.d.ts +10 -3
  166. package/dist/storage/erstorage/LinkInfo.d.ts.map +1 -1
  167. package/dist/storage/erstorage/MatchExp.d.ts +19 -9
  168. package/dist/storage/erstorage/MatchExp.d.ts.map +1 -1
  169. package/dist/storage/erstorage/MergedItemProcessor.d.ts +25 -0
  170. package/dist/storage/erstorage/MergedItemProcessor.d.ts.map +1 -0
  171. package/dist/storage/erstorage/Modifier.d.ts +1 -1
  172. package/dist/storage/erstorage/NewRecordData.d.ts +16 -9
  173. package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -1
  174. package/dist/storage/erstorage/RecordInfo.d.ts +11 -2
  175. package/dist/storage/erstorage/RecordInfo.d.ts.map +1 -1
  176. package/dist/storage/erstorage/RecordQuery.d.ts +9 -8
  177. package/dist/storage/erstorage/RecordQuery.d.ts.map +1 -1
  178. package/dist/storage/erstorage/RecordQueryAgent.d.ts +26 -13
  179. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
  180. package/dist/storage/erstorage/Setup.d.ts +49 -11
  181. package/dist/storage/erstorage/Setup.d.ts.map +1 -1
  182. package/dist/storage/erstorage/util.d.ts.map +1 -1
  183. package/package.json +44 -20
  184. package/README.md +0 -53
  185. package/dist/runtime/ActivityCall.d.ts.map +0 -1
  186. package/dist/runtime/ActivityCall.js +0 -379
  187. package/dist/runtime/ActivityCall.js.map +0 -1
  188. package/dist/runtime/Controller.js +0 -225
  189. package/dist/runtime/Controller.js.map +0 -1
  190. package/dist/runtime/InteractionCall.d.ts.map +0 -1
  191. package/dist/runtime/InteractionCall.js +0 -385
  192. package/dist/runtime/InteractionCall.js.map +0 -1
  193. package/dist/runtime/MonoSystem.js +0 -331
  194. package/dist/runtime/MonoSystem.js.map +0 -1
  195. package/dist/runtime/Mysql.js +0 -171
  196. package/dist/runtime/Mysql.js.map +0 -1
  197. package/dist/runtime/PostgreSQL.js +0 -172
  198. package/dist/runtime/PostgreSQL.js.map +0 -1
  199. package/dist/runtime/SQLite.js +0 -146
  200. package/dist/runtime/SQLite.js.map +0 -1
  201. package/dist/runtime/Scheduler.js +0 -457
  202. package/dist/runtime/Scheduler.js.map +0 -1
  203. package/dist/runtime/System.js +0 -90
  204. package/dist/runtime/System.js.map +0 -1
  205. package/dist/runtime/asyncInteractionContext.js +0 -3
  206. package/dist/runtime/asyncInteractionContext.js.map +0 -1
  207. package/dist/runtime/boolExpression.js +0 -43
  208. package/dist/runtime/boolExpression.js.map +0 -1
  209. package/dist/runtime/computedDataHandles/Any.d.ts +0 -52
  210. package/dist/runtime/computedDataHandles/Any.d.ts.map +0 -1
  211. package/dist/runtime/computedDataHandles/Any.js +0 -152
  212. package/dist/runtime/computedDataHandles/Any.js.map +0 -1
  213. package/dist/runtime/computedDataHandles/Computation.d.ts +0 -108
  214. package/dist/runtime/computedDataHandles/Computation.d.ts.map +0 -1
  215. package/dist/runtime/computedDataHandles/Computation.js +0 -49
  216. package/dist/runtime/computedDataHandles/Computation.js.map +0 -1
  217. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts +0 -42
  218. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts.map +0 -1
  219. package/dist/runtime/computedDataHandles/ComputedDataHandle.js +0 -4
  220. package/dist/runtime/computedDataHandles/ComputedDataHandle.js.map +0 -1
  221. package/dist/runtime/computedDataHandles/Count.d.ts +0 -45
  222. package/dist/runtime/computedDataHandles/Count.d.ts.map +0 -1
  223. package/dist/runtime/computedDataHandles/Count.js +0 -85
  224. package/dist/runtime/computedDataHandles/Count.js.map +0 -1
  225. package/dist/runtime/computedDataHandles/Every.d.ts +0 -56
  226. package/dist/runtime/computedDataHandles/Every.d.ts.map +0 -1
  227. package/dist/runtime/computedDataHandles/Every.js +0 -178
  228. package/dist/runtime/computedDataHandles/Every.js.map +0 -1
  229. package/dist/runtime/computedDataHandles/StateMachine.d.ts.map +0 -1
  230. package/dist/runtime/computedDataHandles/StateMachine.js +0 -180
  231. package/dist/runtime/computedDataHandles/StateMachine.js.map +0 -1
  232. package/dist/runtime/computedDataHandles/Transform.d.ts +0 -26
  233. package/dist/runtime/computedDataHandles/Transform.d.ts.map +0 -1
  234. package/dist/runtime/computedDataHandles/Transform.js +0 -106
  235. package/dist/runtime/computedDataHandles/Transform.js.map +0 -1
  236. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts +0 -57
  237. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts.map +0 -1
  238. package/dist/runtime/computedDataHandles/TransitionFinder.js +0 -40
  239. package/dist/runtime/computedDataHandles/TransitionFinder.js.map +0 -1
  240. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts +0 -57
  241. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts.map +0 -1
  242. package/dist/runtime/computedDataHandles/WeightedSummation.js +0 -146
  243. package/dist/runtime/computedDataHandles/WeightedSummation.js.map +0 -1
  244. package/dist/runtime/computedDataHandles/index.d.ts +0 -7
  245. package/dist/runtime/computedDataHandles/index.d.ts.map +0 -1
  246. package/dist/runtime/computedDataHandles/index.js +0 -7
  247. package/dist/runtime/computedDataHandles/index.js.map +0 -1
  248. package/dist/runtime/index.js +0 -15
  249. package/dist/runtime/index.js.map +0 -1
  250. package/dist/runtime/server.d.ts +0 -35
  251. package/dist/runtime/server.d.ts.map +0 -1
  252. package/dist/runtime/server.js +0 -171
  253. package/dist/runtime/server.js.map +0 -1
  254. package/dist/runtime/types/boolExpression.js +0 -6
  255. package/dist/runtime/types/boolExpression.js.map +0 -1
  256. package/dist/runtime/util.js +0 -39
  257. package/dist/runtime/util.js.map +0 -1
  258. package/dist/shared/BoolExp.js +0 -252
  259. package/dist/shared/BoolExp.js.map +0 -1
  260. package/dist/shared/activity/Activity.d.ts +0 -465
  261. package/dist/shared/activity/Activity.d.ts.map +0 -1
  262. package/dist/shared/activity/Activity.js +0 -264
  263. package/dist/shared/activity/Activity.js.map +0 -1
  264. package/dist/shared/activity/Condition.d.ts +0 -75
  265. package/dist/shared/activity/Condition.d.ts.map +0 -1
  266. package/dist/shared/activity/Condition.js +0 -51
  267. package/dist/shared/activity/Condition.js.map +0 -1
  268. package/dist/shared/activity/Data.d.ts +0 -115
  269. package/dist/shared/activity/Data.d.ts.map +0 -1
  270. package/dist/shared/activity/Data.js +0 -89
  271. package/dist/shared/activity/Data.js.map +0 -1
  272. package/dist/shared/attributive.d.ts +0 -93
  273. package/dist/shared/attributive.d.ts.map +0 -1
  274. package/dist/shared/attributive.js +0 -59
  275. package/dist/shared/attributive.js.map +0 -1
  276. package/dist/shared/computed.d.ts +0 -607
  277. package/dist/shared/computed.d.ts.map +0 -1
  278. package/dist/shared/computed.js +0 -202
  279. package/dist/shared/computed.js.map +0 -1
  280. package/dist/shared/createClass.d.ts +0 -102
  281. package/dist/shared/createClass.d.ts.map +0 -1
  282. package/dist/shared/createClass.js +0 -276
  283. package/dist/shared/createClass.js.map +0 -1
  284. package/dist/shared/dictionary/Dictionary.d.ts +0 -40
  285. package/dist/shared/dictionary/Dictionary.d.ts.map +0 -1
  286. package/dist/shared/dictionary/Dictionary.js +0 -51
  287. package/dist/shared/dictionary/Dictionary.js.map +0 -1
  288. package/dist/shared/entity/Entity.d.ts +0 -149
  289. package/dist/shared/entity/Entity.d.ts.map +0 -1
  290. package/dist/shared/entity/Entity.js +0 -226
  291. package/dist/shared/entity/Entity.js.map +0 -1
  292. package/dist/shared/index.js +0 -11
  293. package/dist/shared/index.js.map +0 -1
  294. package/dist/shared/user/User.d.ts +0 -21
  295. package/dist/shared/user/User.d.ts.map +0 -1
  296. package/dist/shared/user/User.js +0 -11
  297. package/dist/shared/user/User.js.map +0 -1
  298. package/dist/shared/utils.js +0 -19
  299. package/dist/shared/utils.js.map +0 -1
  300. package/dist/storage/erstorage/AttributeInfo.js +0 -147
  301. package/dist/storage/erstorage/AttributeInfo.js.map +0 -1
  302. package/dist/storage/erstorage/AttributeQuery.js +0 -190
  303. package/dist/storage/erstorage/AttributeQuery.js.map +0 -1
  304. package/dist/storage/erstorage/EntityQueryHandle.js +0 -78
  305. package/dist/storage/erstorage/EntityQueryHandle.js.map +0 -1
  306. package/dist/storage/erstorage/EntityToTableMap.js +0 -262
  307. package/dist/storage/erstorage/EntityToTableMap.js.map +0 -1
  308. package/dist/storage/erstorage/LinkInfo.js +0 -89
  309. package/dist/storage/erstorage/LinkInfo.js.map +0 -1
  310. package/dist/storage/erstorage/MatchExp.js +0 -211
  311. package/dist/storage/erstorage/MatchExp.js.map +0 -1
  312. package/dist/storage/erstorage/Modifier.js +0 -24
  313. package/dist/storage/erstorage/Modifier.js.map +0 -1
  314. package/dist/storage/erstorage/NewRecordData.js +0 -178
  315. package/dist/storage/erstorage/NewRecordData.js.map +0 -1
  316. package/dist/storage/erstorage/RecordInfo.js +0 -111
  317. package/dist/storage/erstorage/RecordInfo.js.map +0 -1
  318. package/dist/storage/erstorage/RecordQuery.js +0 -158
  319. package/dist/storage/erstorage/RecordQuery.js.map +0 -1
  320. package/dist/storage/erstorage/RecordQueryAgent.js +0 -1130
  321. package/dist/storage/erstorage/RecordQueryAgent.js.map +0 -1
  322. package/dist/storage/erstorage/Setup.js +0 -400
  323. package/dist/storage/erstorage/Setup.js.map +0 -1
  324. package/dist/storage/erstorage/util.js +0 -25
  325. package/dist/storage/erstorage/util.js.map +0 -1
  326. package/dist/storage/index.js +0 -13
  327. package/dist/storage/index.js.map +0 -1
  328. package/dist/storage/utils.js +0 -48
  329. package/dist/storage/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/runtime/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,SAAc,EAAE,OAAe;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,wBAAwB;QACxB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAkB,EAAE,MAAyC;IACnF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9F,CAAC;AAGD,MAAM,UAAU,OAAO,CAAC,GAAU,EAAE,GAAW;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,EAA8B;IAC/D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,KAAU,EAAE,KAAkC;IAC9E,KAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAU,EAAE,MAAmC;IAC3E,KAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IACpC,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAO,KAAU,EAAE,KAAiC;IACzF,KAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,MAAM,KAAI,IAAI;YAAE,OAAO,MAAM,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC"}
@@ -1,252 +0,0 @@
1
- import { parse as parseStr } from 'acorn';
2
- import { assert, indexBy } from "./utils.js";
3
- import { createClass } from "./createClass.js";
4
- export class BoolExp {
5
- static atom(data) {
6
- return new BoolExp({ type: 'atom', data });
7
- }
8
- static and(...atomValues) {
9
- const atomValueWithoutUndefined = atomValues.filter(v => !!v);
10
- const [first, ...rest] = atomValueWithoutUndefined;
11
- return rest.reduce((acc, cur) => acc.and(cur), BoolExp.atom(first));
12
- }
13
- static or(...atomValues) {
14
- const atomValueWithoutUndefined = atomValues.filter(v => !!v);
15
- const [first, ...rest] = atomValueWithoutUndefined;
16
- return rest.reduce((acc, cur) => acc.or(cur), BoolExp.atom(first));
17
- }
18
- constructor(raw) {
19
- this.raw = raw;
20
- if (!raw) {
21
- debugger;
22
- }
23
- }
24
- isAtom() {
25
- return this.raw.type === 'atom';
26
- }
27
- get left() {
28
- return new BoolExp(this.raw.left);
29
- }
30
- get right() {
31
- return this.raw.right ? new BoolExp(this.raw.right) : undefined;
32
- }
33
- get data() {
34
- return this.raw.data;
35
- }
36
- // 支持序列化和反序列化
37
- toValue() {
38
- return this.raw;
39
- }
40
- static fromValue(value) {
41
- return new BoolExp(value);
42
- }
43
- isExpression() {
44
- return this.raw.type === 'expression';
45
- }
46
- and(atomValueOrExp) {
47
- return new BoolExp({
48
- type: 'expression',
49
- operator: 'and',
50
- left: this.raw,
51
- right: atomValueOrExp instanceof BoolExp ?
52
- atomValueOrExp.raw :
53
- (atomValueOrExp.type === 'atom' || atomValueOrExp.type === 'expression') ?
54
- atomValueOrExp :
55
- { type: 'atom', data: atomValueOrExp }
56
- });
57
- }
58
- isAnd() {
59
- return this.raw.operator === 'and';
60
- }
61
- isOr() {
62
- return this.raw.operator === 'or';
63
- }
64
- isNot() {
65
- return this.raw.operator === 'not';
66
- }
67
- or(atomValueOrExp) {
68
- return new BoolExp({
69
- type: 'expression',
70
- operator: 'or',
71
- left: this.raw,
72
- right: (atomValueOrExp instanceof BoolExp) ? atomValueOrExp.raw : { type: 'atom', data: atomValueOrExp }
73
- });
74
- }
75
- // 取反
76
- not() {
77
- return new BoolExp({
78
- type: 'expression',
79
- operator: 'not',
80
- left: this.raw,
81
- });
82
- }
83
- map(fn, context = []) {
84
- if (this.isExpression()) {
85
- const newLeft = this.left.map(fn, ['left']);
86
- if (this.isNot()) {
87
- return newLeft.not();
88
- }
89
- else {
90
- const newRight = this.right.map(fn, ['right']);
91
- return this.isAnd() ? newLeft.and(newRight) : newLeft.or(newRight);
92
- }
93
- }
94
- else {
95
- const newAtomData = fn(this, context);
96
- // 可以返回一个新的 expression
97
- return newAtomData instanceof BoolExp ? newAtomData : BoolExp.atom(newAtomData);
98
- }
99
- }
100
- find(matchFn, context) {
101
- if (this.isAtom()) {
102
- const matched = matchFn(this.data, context);
103
- if (matched) {
104
- return this.data;
105
- }
106
- }
107
- else {
108
- const leftMatched = this.left.find(matchFn, context.concat(this));
109
- if (leftMatched) {
110
- return leftMatched;
111
- }
112
- if (this.right) {
113
- return this.right.find(matchFn, context.concat(this));
114
- }
115
- }
116
- }
117
- evaluate(atomHandle, stack = [], inverse = false) {
118
- const currentStack = stack.concat(this.raw);
119
- if (this.isAtom()) {
120
- const data = this.raw.data;
121
- const result = atomHandle(data);
122
- const error = { data, inverse, stack, error: 'atom evaluate error' };
123
- return (result && !inverse || !result && inverse) ? true : error;
124
- }
125
- if (this.isOr()) {
126
- const leftResult = this.left.evaluate(atomHandle, currentStack);
127
- if (leftResult === true)
128
- return true;
129
- return this.right.evaluate(atomHandle, currentStack);
130
- }
131
- if (this.isAnd()) {
132
- const leftResult = this.left.evaluate(atomHandle, currentStack);
133
- if (leftResult !== true)
134
- return leftResult;
135
- return this.right.evaluate(atomHandle, currentStack);
136
- }
137
- if (this.isNot()) {
138
- return this.left.evaluate(atomHandle, currentStack, !inverse);
139
- }
140
- assert(false, `invalid bool expression type: ${JSON.stringify(this.raw)}`);
141
- return true;
142
- }
143
- async evaluateAsync(atomHandle, stack = [], inverse = false) {
144
- const currentStack = stack.concat(this.raw);
145
- if (this.isAtom()) {
146
- const data = this.raw.data;
147
- const result = await atomHandle(data);
148
- const error = { data, inverse, stack, error: 'atom evaluate error' };
149
- return (result && !inverse || !result && inverse) ? true : error;
150
- }
151
- if (this.isOr()) {
152
- const leftResult = await this.left.evaluateAsync(atomHandle, currentStack);
153
- if (leftResult === true)
154
- return true;
155
- return this.right.evaluateAsync(atomHandle, currentStack);
156
- }
157
- if (this.isAnd()) {
158
- const leftResult = await this.left.evaluateAsync(atomHandle, currentStack);
159
- if (leftResult !== true)
160
- return leftResult;
161
- return this.right.evaluateAsync(atomHandle, currentStack);
162
- }
163
- if (this.isNot()) {
164
- return this.left.evaluateAsync(atomHandle, currentStack, !inverse);
165
- }
166
- assert(false, `invalid bool expression type: ${JSON.stringify(this.raw)}`);
167
- return true;
168
- }
169
- }
170
- const OperatorNames = {
171
- '&&': 'and',
172
- '||': 'or',
173
- '!': 'not'
174
- };
175
- function defaultParse(key) {
176
- return { key };
177
- }
178
- function astNodeToBoolExpressionNode(astNode, optionsByName, parseAtomNameToObject) {
179
- if (astNode.type === "LogicalExpression") {
180
- return {
181
- type: 'expression',
182
- operator: OperatorNames[astNode.operator],
183
- left: astNodeToBoolExpressionNode(astNode.left, optionsByName, parseAtomNameToObject),
184
- right: astNodeToBoolExpressionNode(astNode.right, optionsByName, parseAtomNameToObject)
185
- };
186
- }
187
- if (astNode.type === "Identifier") {
188
- return {
189
- type: 'atom',
190
- data: parseAtomNameToObject(astNode.name)
191
- };
192
- }
193
- if (astNode.type === "UnaryExpression") {
194
- return {
195
- type: 'expression',
196
- operator: 'not',
197
- left: astNodeToBoolExpressionNode(astNode.argument, optionsByName, parseAtomNameToObject),
198
- };
199
- }
200
- throw new Error('unknown ast node type');
201
- }
202
- export function parse(exp, options = [], parseAtomNameToObject = defaultParse) {
203
- const optionsByName = indexBy(options, 'name');
204
- const ast = parseStr(exp, { ecmaVersion: 2020 });
205
- return new BoolExp(astNodeToBoolExpressionNode(ast.body[0].expression, optionsByName, parseAtomNameToObject));
206
- }
207
- export const BoolAtomData = createClass({
208
- name: 'BoolAtomData',
209
- public: {
210
- type: {
211
- type: 'string',
212
- required: true,
213
- collection: false,
214
- defaultValue: () => 'atom'
215
- },
216
- data: {
217
- type: {},
218
- instanceType: {},
219
- required: true,
220
- collection: false,
221
- }
222
- }
223
- });
224
- export const BoolExpressionData = createClass({
225
- name: 'BoolExpressionData',
226
- public: {
227
- type: {
228
- type: 'string',
229
- required: true,
230
- collection: false,
231
- defaultValue: () => 'expression'
232
- },
233
- operator: {
234
- type: 'string',
235
- required: true,
236
- collection: false,
237
- options: ['and', 'or', 'not'],
238
- defaultValue: () => 'and'
239
- },
240
- left: {
241
- instanceType: {},
242
- required: true,
243
- collection: false,
244
- },
245
- right: {
246
- instanceType: {},
247
- required: false,
248
- collection: false,
249
- }
250
- }
251
- });
252
- //# sourceMappingURL=BoolExp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoolExp.js","sourceRoot":"","sources":["../../src/shared/BoolExp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,IAAI,QAAQ,EAAC,MAAM,OAAO,CAAA;AACxE,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAC,WAAW,EAA+D,MAAM,kBAAkB,CAAC;AAyB3G,MAAM,OAAO,OAAO;IACT,MAAM,CAAC,IAAI,CAAI,IAAO;QACzB,OAAO,IAAI,OAAO,CAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;IACM,MAAM,CAAC,GAAG,CAAI,GAAG,UAAc;QAClC,MAAM,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,yBAAyB,CAAA;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvE,CAAC;IACM,MAAM,CAAC,EAAE,CAAI,GAAG,UAAc;QACjC,MAAM,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,yBAAyB,CAAA;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,YAAmB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,QAAQ,CAAA;QACZ,CAAC;IACL,CAAC;IACD,MAAM;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAA;IACnC,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,OAAO,CAAK,IAAI,CAAC,GAAgC,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,KAAK;QACL,OAAQ,IAAI,CAAC,GAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAK,IAAI,CAAC,GAAgC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnI,CAAC;IACD,IAAI,IAAI;QACJ,OAAQ,IAAI,CAAC,GAAmB,CAAC,IAAI,CAAA;IACzC,CAAC;IACD,aAAa;IACb,OAAO;QACH,OAAO,IAAI,CAAC,GAAkB,CAAA;IAClC,CAAC;IACD,MAAM,CAAC,SAAS,CAAI,KAAyB;QACzC,OAAO,IAAI,OAAO,CAAI,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAA;IACzC,CAAC;IACD,GAAG,CAAC,cAAmB;QACnB,OAAO,IAAI,OAAO,CAAI;YAClB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,KAAK,EAAE,cAAc,YAAY,OAAO,CAAC,CAAC;gBACtC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;oBACtE,cAAc,CAAA,CAAC;oBACf,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAC;SAChD,CAAC,CAAA;IACN,CAAC;IACD,KAAK;QACD,OAAQ,IAAI,CAAC,GAAgC,CAAC,QAAQ,KAAK,KAAK,CAAA;IACpE,CAAC;IACD,IAAI;QACA,OAAQ,IAAI,CAAC,GAAgC,CAAC,QAAQ,KAAK,IAAI,CAAA;IACnE,CAAC;IACD,KAAK;QACD,OAAQ,IAAI,CAAC,GAAgC,CAAC,QAAQ,KAAK,KAAK,CAAA;IACpE,CAAC;IACD,EAAE,CAAC,cAAmB;QAClB,OAAO,IAAI,OAAO,CAAI;YAClB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,KAAK,EAAE,CAAC,cAAc,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAC;SAC1G,CAAC,CAAA;IACN,CAAC;IACD,KAAK;IACL,GAAG;QACC,OAAO,IAAI,OAAO,CAAI;YAClB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI,CAAC,GAAG;SACjB,CAAC,CAAA;IACN,CAAC;IACD,GAAG,CAAI,EAAe,EAAG,UAAmB,EAAE;QAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC3C,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC/C,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;YACtE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACrC,sBAAsB;YACtB,OAAO,WAAW,YAAY,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAI,WAAW,CAAC,CAAA;QACtF,CAAC;IACL,CAAC;IACD,IAAI,CAAC,OAA+C,EAAE,OAAc;QAChE,IAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC,IAAI,CAAA;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,WAAW,CAAA;YACtB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,UAAyB,EAAE,QAAe,EAAE,EAAE,UAAmB,KAAK;QAE3E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAI,IAAI,CAAC,GAAmB,CAAC,IAAI,CAAA;YAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;YACpE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC/D,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YACpC,OAAO,IAAI,CAAC,KAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC/D,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,UAAU,CAAA;YAE1C,OAAO,IAAI,CAAC,KAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAA;IACf,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,UAAyB,EAAE,QAAe,EAAE,EAAE,UAAmB,KAAK;QAEtF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAI,IAAI,CAAC,GAAmB,CAAC,IAAI,CAAA;YAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;YACpE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC1E,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YACpC,OAAO,IAAI,CAAC,KAAM,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC1E,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,UAAU,CAAA;YAE1C,OAAO,IAAI,CAAC,KAAM,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,CAAA;QACtE,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAMD,MAAM,aAAa,GAAG;IAClB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,KAAK;CACb,CAAA;AAGD,SAAS,YAAY,CAAC,GAAU;IAC5B,OAAO,EAAC,GAAG,EAAC,CAAA;AAChB,CAAC;AAED,SAAS,2BAA2B,CAAI,OAAmB,EAAE,aAAgC,EAAE,qBAAgD;IAC3I,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACvC,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAsC,CAAC;YACvE,IAAI,EAAE,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,CAAC;YACrF,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,qBAAqB,CAAC;SAC9D,CAAA;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5C,CAAA;IACL,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAI,iBAAiB,EAAE,CAAC;QACpC,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,qBAAqB,CAAC;SAC5F,CAAA;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,GAAW,EAAE,UAAiB,EAAE,EAAE,wBAAmD,YAAY;IACtH,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAA;IAC9C,OAAO,IAAI,OAAO,CACd,2BAA2B,CAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyB,CAAC,UAAU,EAAE,aAAa,EAAE,qBAAqB,CAAC,CACxH,CAAA;AACL,CAAC;AAqBD,MAAM,CAAC,MAAO,YAAY,GAA0B,WAAW,CAAC;IAC5D,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;SAC7B;QACD,IAAI,EAAE;YACF,IAAI,EAAE,EAAwC;YAC9C,YAAY,EAAE,EAAuD;YACrE,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SACpB;KACJ;CACJ,CAAC,CAAA;AAWF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY;SACnC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;YAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;SAC5B;QACD,IAAI,EAAE;YACF,YAAY,EAAE,EAAkG;YAChH,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SACpB;QACD,KAAK,EAAE;YACH,YAAY,EAAE,EAAkG;YAChH,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SACpB;KACJ;CACJ,CAAC,CAAA"}